@cqa-lib/cqa-ui 1.1.189 → 1.1.190

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/esm2020/lib/add-prerequisite-cases-section/add-prerequisite-cases-section.component.mjs +1 -1
  2. package/esm2020/lib/button/button.component.mjs +3 -3
  3. package/esm2020/lib/compare-runs/compare-runs.component.mjs +1 -1
  4. package/esm2020/lib/custom-textarea/custom-textarea.component.mjs +3 -6
  5. package/esm2020/lib/dashboards/dashboard-header/dashboard-header.component.mjs +1 -1
  6. package/esm2020/lib/dynamic-select/dynamic-select-field.component.mjs +58 -3
  7. package/esm2020/lib/filters/dynamic-filter/dynamic-filter.component.mjs +1 -1
  8. package/esm2020/lib/step-builder/step-builder-action/step-builder-action.component.mjs +1 -1
  9. package/esm2020/lib/step-builder/step-builder-ai-agent/step-builder-ai-agent.component.mjs +1 -1
  10. package/esm2020/lib/step-builder/step-builder-api/step-builder-api.component.mjs +3 -2
  11. package/esm2020/lib/step-builder/step-builder-condition/step-builder-condition.component.mjs +1 -1
  12. package/esm2020/lib/step-builder/step-builder-custom-code/step-builder-custom-code.component.mjs +1 -1
  13. package/esm2020/lib/step-builder/step-builder-database/step-builder-database.component.mjs +1 -1
  14. package/esm2020/lib/step-builder/step-builder-document/step-builder-document.component.mjs +1 -1
  15. package/esm2020/lib/step-builder/step-builder-document-generation-template-step/step-builder-document-generation-template-step.component.mjs +1 -1
  16. package/esm2020/lib/step-builder/step-builder-loop/step-builder-loop.component.mjs +1 -1
  17. package/esm2020/lib/test-case-details/api-edit-step/api-edit-step.component.mjs +1122 -0
  18. package/esm2020/lib/test-case-details/api-step/api-step.component.mjs +48 -9
  19. package/esm2020/lib/test-case-details/condition-step/condition-step.component.mjs +1 -1
  20. package/esm2020/lib/test-case-details/custom-edit-step/custom-edit-step.component.mjs +1 -1
  21. package/esm2020/lib/test-case-details/element-popup/element-popup.component.mjs +1 -1
  22. package/esm2020/lib/test-case-details/loop-step/loop-step.component.mjs +1 -1
  23. package/esm2020/lib/test-case-details/step-details-drawer/step-details-drawer.component.mjs +1 -1
  24. package/esm2020/lib/ui-kit.module.mjs +6 -1
  25. package/esm2020/public-api.mjs +2 -1
  26. package/fesm2015/cqa-lib-cqa-ui.mjs +1370 -120
  27. package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
  28. package/fesm2020/cqa-lib-cqa-ui.mjs +1320 -113
  29. package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
  30. package/lib/custom-textarea/custom-textarea.component.d.ts +1 -2
  31. package/lib/dynamic-select/dynamic-select-field.component.d.ts +13 -1
  32. package/lib/test-case-details/api-edit-step/api-edit-step.component.d.ts +346 -0
  33. package/lib/test-case-details/api-step/api-step.component.d.ts +18 -2
  34. package/lib/ui-kit.module.d.ts +35 -34
  35. package/package.json +1 -1
  36. package/public-api.d.ts +1 -0
  37. package/src/lib/assets/images/delete.svg +3 -0
  38. package/styles.css +1 -1
@@ -18,7 +18,6 @@ export declare class CustomTextareaComponent implements OnChanges {
18
18
  resize: 'none' | 'both' | 'horizontal' | 'vertical';
19
19
  textareaInlineStyle?: string;
20
20
  labelInlineStyle?: string;
21
- customClass: string;
22
21
  valueChange: EventEmitter<string>;
23
22
  blurred: EventEmitter<FocusEvent>;
24
23
  focused: EventEmitter<FocusEvent>;
@@ -35,6 +34,6 @@ export declare class CustomTextareaComponent implements OnChanges {
35
34
  get textareaStyles(): string;
36
35
  get labelStyles(): string;
37
36
  static ɵfac: i0.ɵɵFactoryDeclaration<CustomTextareaComponent, never>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<CustomTextareaComponent, "cqa-custom-textarea", never, { "label": "label"; "placeholder": "placeholder"; "value": "value"; "disabled": "disabled"; "errors": "errors"; "required": "required"; "ariaLabel": "ariaLabel"; "size": "size"; "fullWidth": "fullWidth"; "maxLength": "maxLength"; "showCharCount": "showCharCount"; "rows": "rows"; "cols": "cols"; "resize": "resize"; "textareaInlineStyle": "textareaInlineStyle"; "labelInlineStyle": "labelInlineStyle"; "customClass": "customClass"; }, { "valueChange": "valueChange"; "blurred": "blurred"; "focused": "focused"; }, never, never>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<CustomTextareaComponent, "cqa-custom-textarea", never, { "label": "label"; "placeholder": "placeholder"; "value": "value"; "disabled": "disabled"; "errors": "errors"; "required": "required"; "ariaLabel": "ariaLabel"; "size": "size"; "fullWidth": "fullWidth"; "maxLength": "maxLength"; "showCharCount": "showCharCount"; "rows": "rows"; "cols": "cols"; "resize": "resize"; "textareaInlineStyle": "textareaInlineStyle"; "labelInlineStyle": "labelInlineStyle"; }, { "valueChange": "valueChange"; "blurred": "blurred"; "focused": "focused"; }, never, never>;
39
38
  }
40
39
  export {};
@@ -51,11 +51,14 @@ export interface DynamicSelectFieldConfig {
51
51
  onLoadMore?: (query?: string) => void;
52
52
  /** Optional regex pattern or function to highlight parts of option text. */
53
53
  highlightPattern?: RegExp | string | ((text: string) => string);
54
+ /** When true (and searchable), allows adding the current search text as a new option via an "Add '<value>'" choice. */
55
+ allowCustomValue?: boolean;
54
56
  options: SelectOption[];
55
57
  isCompareRuns?: boolean;
56
58
  }
57
59
  export declare class DynamicSelectFieldComponent implements OnInit, OnChanges {
58
60
  readonly SELECT_ALL_VALUE: string;
61
+ readonly ADD_CUSTOM_VALUE_PREFIX: string;
59
62
  form: FormGroup;
60
63
  config: DynamicSelectFieldConfig;
61
64
  selectionChange: EventEmitter<{
@@ -74,6 +77,11 @@ export declare class DynamicSelectFieldComponent implements OnInit, OnChanges {
74
77
  key: string;
75
78
  query: string;
76
79
  }>;
80
+ /** Emits when the user chooses to add a custom value (allowCustomValue: true). Consumer should add the value to options and set the control value. */
81
+ addCustomValue: EventEmitter<{
82
+ key: string;
83
+ value: string;
84
+ }>;
77
85
  selectRef?: MatSelect;
78
86
  hostEl?: ElementRef<HTMLElement>;
79
87
  searchTextByKey: Record<string, string>;
@@ -118,6 +126,10 @@ export declare class DynamicSelectFieldComponent implements OnInit, OnChanges {
118
126
  /** Programmatically close the select panel if open */
119
127
  closePanel(): void;
120
128
  filteredOptions(c: DynamicSelectFieldConfig): SelectOption[];
129
+ /** When allowCustomValue is true and the user has typed a value that is not in options, returns that value for the "Add" option. */
130
+ get customValueToAdd(): string | null;
131
+ get showAddCustomOption(): boolean;
132
+ get addCustomSentinelValue(): string;
121
133
  onSelectionChange(event: MatSelectChange, select: MatSelect): void;
122
134
  handleDocumentClick(event: MouseEvent): void;
123
135
  /**
@@ -135,5 +147,5 @@ export declare class DynamicSelectFieldComponent implements OnInit, OnChanges {
135
147
  get hasHighlighting(): boolean;
136
148
  private setupLoadMoreObserver;
137
149
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicSelectFieldComponent, never>;
138
- static ɵcmp: i0.ɵɵComponentDeclaration<DynamicSelectFieldComponent, "cqa-dynamic-select", never, { "form": "form"; "config": "config"; }, { "selectionChange": "selectionChange"; "selectClick": "selectClick"; "searchChange": "searchChange"; "loadMore": "loadMore"; }, never, never>;
150
+ static ɵcmp: i0.ɵɵComponentDeclaration<DynamicSelectFieldComponent, "cqa-dynamic-select", never, { "form": "form"; "config": "config"; }, { "selectionChange": "selectionChange"; "selectClick": "selectClick"; "searchChange": "searchChange"; "loadMore": "loadMore"; "addCustomValue": "addCustomValue"; }, never, never>;
139
151
  }
@@ -0,0 +1,346 @@
1
+ import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
+ import { FormArray, FormBuilder, FormControl, FormGroup } from '@angular/forms';
3
+ import { DynamicSelectFieldConfig, SelectOption } from '../../dynamic-select/dynamic-select-field.component';
4
+ import * as i0 from "@angular/core";
5
+ export declare const API_EDIT_STEP_LABELS: {
6
+ readonly REQUEST_DETAILS: "Request Details";
7
+ readonly STORE_RESPONSE: "Store Response";
8
+ readonly VALIDATION: "Validation";
9
+ };
10
+ export declare type ApiEditPayloadTab = 'headers' | 'body' | 'params' | 'scripts';
11
+ /** Which body content block is visible: headers (tabs) or import cURL textarea. */
12
+ export declare type ApiEditBodyView = 'headers' | 'import-curl';
13
+ export interface ApiEditHeaderRow {
14
+ name: string;
15
+ type: string;
16
+ value: string;
17
+ }
18
+ /** Payload emitted when user clicks Send Request (environment, method, url, headers). */
19
+ export interface ApiEditSendRequestPayload {
20
+ environment: string;
21
+ method: string;
22
+ url: string;
23
+ headers: ApiEditHeaderRow[];
24
+ }
25
+ /** Step 1 request + body payload. */
26
+ export interface ApiEditStep1Payload {
27
+ environment: string;
28
+ method: string;
29
+ url: string;
30
+ headers: ApiEditHeaderRow[];
31
+ activePayloadTab: ApiEditPayloadTab;
32
+ payloadType: 'raw' | 'x-www-form-urlencoded' | 'form-data';
33
+ payloadFormat: string;
34
+ payloadText: string;
35
+ keyValueRows: {
36
+ key: string;
37
+ value: string;
38
+ }[];
39
+ keyTypeValueRows: {
40
+ key: string;
41
+ type: string;
42
+ value: string;
43
+ }[];
44
+ }
45
+ /** Step 2 store-response payload. */
46
+ export interface ApiEditStep2Payload {
47
+ variableName: string;
48
+ }
49
+ /** Response body verification row. */
50
+ export interface ApiEditResponseBodyVerificationRow {
51
+ jsonPath: string;
52
+ verification: string;
53
+ dataType: string;
54
+ expectedValue: string;
55
+ }
56
+ /** Status verification row. */
57
+ export interface ApiEditStatusVerificationRow {
58
+ verification: string;
59
+ expectedValue: string;
60
+ }
61
+ /** Step 3 validation payload. */
62
+ export interface ApiEditStep3Payload {
63
+ activeResponseVerificationTab: 'response-body' | 'status';
64
+ responseBodyVerifications: ApiEditResponseBodyVerificationRow[];
65
+ statusVerifications: ApiEditStatusVerificationRow[];
66
+ }
67
+ /** Full payload emitted when user clicks Create (all steps’ data). */
68
+ export interface ApiEditCreatePayload {
69
+ step1: ApiEditStep1Payload;
70
+ step2: ApiEditStep2Payload;
71
+ step3: ApiEditStep3Payload;
72
+ }
73
+ /** Environment option: either a string (display = value) or an object with id, name, value, label. */
74
+ export declare type EnvironmentOptionInput = string | SelectOption;
75
+ export declare class ApiEditStepComponent implements OnChanges, OnInit, AfterViewInit, OnDestroy {
76
+ private readonly fb;
77
+ private readonly cdr;
78
+ initialMethod?: string;
79
+ initialEnvironment?: string;
80
+ initialStep?: number;
81
+ initialUrl?: string;
82
+ initialPayloadTab?: ApiEditPayloadTab;
83
+ initialHeaders?: ApiEditHeaderRow[];
84
+ initialResponsePreview?: string;
85
+ /** Emits the cURL string when user clicks Import (value from the textarea control). */
86
+ importCurl: EventEmitter<string>;
87
+ /** Emits when user cancels the Import cURL panel (clicks Cancel). */
88
+ importCurlCancel: EventEmitter<void>;
89
+ /** Emits when user clicks Send Request, with environment, method, url, and headers. */
90
+ sendRequest: EventEmitter<ApiEditSendRequestPayload>;
91
+ back: EventEmitter<void>;
92
+ next: EventEmitter<void>;
93
+ /** Emits when user clicks Create with all entered details: step1 (environment, HTTP method, URL, headers, body), step2 (variable name), step3 (verifications). */
94
+ create: EventEmitter<ApiEditCreatePayload>;
95
+ /** Emits whenever headers change (add, remove, or edit) so the parent can reflect them in the canvas/controls. */
96
+ headersChange: EventEmitter<ApiEditHeaderRow[]>;
97
+ /** Form control for Import cURL textarea; value is emitted when user clicks Import. */
98
+ readonly importCurlControl: FormControl;
99
+ variableName: string;
100
+ variableNameError: string;
101
+ /** Controls which body content is visible: headers (default) or import-curl. */
102
+ bodyView: ApiEditBodyView;
103
+ readonly stepLabels: ({
104
+ index: number;
105
+ label: "Request Details";
106
+ } | {
107
+ index: number;
108
+ label: "Store Response";
109
+ } | {
110
+ index: number;
111
+ label: "Validation";
112
+ })[];
113
+ currentStep: number;
114
+ /** The label for the current step only (used when showing a single step in the indicator). */
115
+ get activeStepLabel(): {
116
+ index: number;
117
+ label: string;
118
+ } | undefined;
119
+ private readonly minStep;
120
+ private readonly maxStep;
121
+ /** Percentage to translate the step strip (0, -33.333, -66.666) for CSS transition. */
122
+ get stripTranslatePercent(): number;
123
+ setStep(step: number): void;
124
+ private applyInitialStep;
125
+ /** HTTP method options: array of strings or objects with id, name, value, label (passed from parent). */
126
+ httpMethodOptions: EnvironmentOptionInput[];
127
+ /** Form for HTTP method select (cqa-dynamic-select) */
128
+ methodForm: FormGroup;
129
+ /** Config for method dropdown (updated when httpMethodOptions changes to avoid new reference every CD) */
130
+ methodSelectConfig: DynamicSelectFieldConfig;
131
+ private updateMethodSelectConfig;
132
+ private getMethodValues;
133
+ /** Form for environment select (cqa-dynamic-select) */
134
+ environmentForm: FormGroup;
135
+ /** Environment options: array of strings or objects with id, name, value, label (passed from parent). */
136
+ environmentOptions: EnvironmentOptionInput[];
137
+ /** Config for environment dropdown (updated when environmentOptions changes to avoid new reference every CD) */
138
+ environmentSelectConfig: DynamicSelectFieldConfig;
139
+ private static toSelectOption;
140
+ private static getOptionValue;
141
+ private updateEnvironmentSelectConfig;
142
+ private getEnvironmentValues;
143
+ /** Current HTTP method (from form or default: first of httpMethodOptions). Treats empty string as unset. */
144
+ get selectedMethod(): string;
145
+ set selectedMethod(v: string);
146
+ /** True when the selected HTTP method is GET, HEAD, or DELETE (no request body). */
147
+ get isMethodWithoutBody(): boolean;
148
+ /** Cached environment value from last selection (so Create payload has the selected value). */
149
+ private currentEnvironmentValue;
150
+ /** Cached HTTP method from last selection (so Create payload has the selected value). */
151
+ private currentMethodValue;
152
+ /** Current environment (from form or default: first of environmentOptions). Treats empty string as unset. */
153
+ get selectedEnvironment(): string;
154
+ set selectedEnvironment(v: string);
155
+ /** Called when user selects an environment; keeps currentEnvironmentValue in sync for create payload. */
156
+ onEnvironmentSelectionChange(event: {
157
+ key: string;
158
+ value: unknown;
159
+ }): void;
160
+ /** Called when user selects an HTTP method; keeps currentMethodValue in sync for create payload. */
161
+ onMethodSelectionChange(event: {
162
+ key: string;
163
+ value: unknown;
164
+ }): void;
165
+ url: string;
166
+ readonly payloadTabs: {
167
+ value: ApiEditPayloadTab;
168
+ label: string;
169
+ }[];
170
+ activePayloadTab: ApiEditPayloadTab;
171
+ /** Step 3: Response verification tabs */
172
+ readonly responseVerificationTabs: {
173
+ value: 'response-body' | 'status';
174
+ label: string;
175
+ }[];
176
+ activeResponseVerificationTab: 'response-body' | 'status';
177
+ /** Payload type for Body/Params/Scripts: raw, x-www-form-urlencoded, form-data */
178
+ payloadType: 'raw' | 'x-www-form-urlencoded' | 'form-data';
179
+ /** Segment options for payload type (used by cqa-segment-control) */
180
+ readonly payloadTypeSegments: {
181
+ label: string;
182
+ value: string;
183
+ }[];
184
+ onPayloadTypeChange(val: string): void;
185
+ /** Form for Format select (Body/Params/Scripts) */
186
+ payloadFormatForm: FormGroup;
187
+ /** Format options: array of strings or objects (passed from parent). Falls back to JSON, XML, HTML, Text when empty. */
188
+ formatOptions: EnvironmentOptionInput[];
189
+ initialFormat?: string;
190
+ private static readonly DEFAULT_FORMAT_OPTIONS;
191
+ /** Config for Format dropdown (updated when formatOptions changes, like Method dropdown) */
192
+ payloadFormatSelectConfig: DynamicSelectFieldConfig;
193
+ private updatePayloadFormatSelectConfig;
194
+ private getFormatValues;
195
+ /** Payload text area value for Body/Params/Scripts */
196
+ payloadText: string;
197
+ /** JSON parse error when format is JSON and payload is invalid; null when valid or not JSON. */
198
+ payloadJsonError: {
199
+ line: number;
200
+ column: number;
201
+ message: string;
202
+ excerpt: string;
203
+ caretOffset: number;
204
+ } | null;
205
+ /** Line numbers for payload textarea (1, 2, 3, ...) based on current line count. */
206
+ get payloadLineNumbers(): number[];
207
+ /** Whether current payload format is JSON (so we validate and show JSON editor behavior). */
208
+ get isPayloadFormatJson(): boolean;
209
+ /** Error messages for the payload textarea (red border + bottom line). */
210
+ get payloadJsonErrors(): string[];
211
+ /** Tooltip content for the line-level error icon (parse error on line X, excerpt, caret, message). */
212
+ get payloadJsonErrorTooltip(): string;
213
+ onPayloadTextChange(value: string): void;
214
+ onPayloadInput(event: Event): void;
215
+ onPayloadKeydown(event: KeyboardEvent): void;
216
+ /** Validate payload when format is JSON; sets payloadJsonError or clears it. */
217
+ validatePayloadJson(): void;
218
+ private extractPositionFromJsonError;
219
+ private positionToLineColumn;
220
+ private normalizeJsonErrorMessage;
221
+ payloadEditorWithLinesRef?: ElementRef<HTMLElement>;
222
+ payloadTextareaRef?: ElementRef<HTMLTextAreaElement>;
223
+ private static readonly DEFAULT_HEADER_NAME_OPTIONS;
224
+ /** Header name options: array of strings or objects with id, name, value, label (passed from parent). Falls back to built-in list when empty. */
225
+ headerNameOptions: EnvironmentOptionInput[];
226
+ /** Form array for header rows; each item is FormGroup({ name, value }) for cqa-dynamic-select and value input */
227
+ headersFormArray: FormArray;
228
+ /** Typed accessor for template (FormArray.controls is AbstractControl[]) */
229
+ get headerRows(): FormGroup[];
230
+ /** Config for header name dropdown (updated when headerNameOptions changes to avoid new reference every CD) */
231
+ headerNameSelectConfig: DynamicSelectFieldConfig;
232
+ private updateHeaderNameSelectConfig;
233
+ /** Collects distinct non-empty header names currently in the headers form (for dynamic options). */
234
+ private getCurrentHeaderNamesFromForm;
235
+ private readonly defaultHeaders;
236
+ /** Form array for key-value rows (Body payload); each item is FormGroup({ key, value }) */
237
+ keyValueFormArray: FormArray;
238
+ get keyValueRows(): FormGroup[];
239
+ /** Form array for key-type-value rows; each item is FormGroup({ key, type, value }) */
240
+ keyTypeValueFormArray: FormArray;
241
+ get keyTypeValueRows(): FormGroup[];
242
+ /** Config for Type dropdown in key-type-value rows (Text, File) */
243
+ readonly keyTypeValueTypeSelectConfig: DynamicSelectFieldConfig;
244
+ /** Form array for response body verification rows; each item is FormGroup({ jsonPath, verification, dataType, expectedValue }) */
245
+ verificationFormArray: FormArray;
246
+ get verificationRows(): FormGroup[];
247
+ /** Verification options: array of strings or objects (passed from parent). Falls back to built-in list when empty. */
248
+ verificationOptions: EnvironmentOptionInput[];
249
+ private static readonly DEFAULT_VERIFICATION_OPTIONS;
250
+ /** Config for Verification dropdown (updated when verificationOptions changes, like Method dropdown) */
251
+ verificationSelectConfig: DynamicSelectFieldConfig;
252
+ private updateVerificationSelectConfig;
253
+ private getVerificationValues;
254
+ private getDefaultVerification;
255
+ /** Data Type options: array of strings or objects (passed from parent). Falls back to built-in list when empty. */
256
+ verificationDataTypeOptions: EnvironmentOptionInput[];
257
+ private static readonly DEFAULT_DATA_TYPE_OPTIONS;
258
+ /** Config for Data Type dropdown (updated when verificationDataTypeOptions changes, like Method dropdown) */
259
+ verificationDataTypeSelectConfig: DynamicSelectFieldConfig;
260
+ private updateVerificationDataTypeSelectConfig;
261
+ private getDataTypeValues;
262
+ private getDefaultDataType;
263
+ /** Config for Expected Value when Data Type is Boolean (true/false dropdown) */
264
+ readonly verificationExpectedValueBooleanSelectConfig: DynamicSelectFieldConfig;
265
+ /** Form array for Status tab verification rows; each item is FormGroup({ verification, expectedValue }) */
266
+ statusVerificationFormArray: FormArray;
267
+ get statusVerificationRows(): FormGroup[];
268
+ /** Config for Status tab Verification dropdown (Equals, Not equal, Less than, Greater than) */
269
+ /** Status tab Verification options (Equals, Not equal, etc.). Falls back to built-in list when empty. */
270
+ statusVerificationOptions: EnvironmentOptionInput[];
271
+ private static readonly DEFAULT_STATUS_VERIFICATION_OPTIONS;
272
+ /** Config for Status tab Verification dropdown (updated when statusVerificationOptions changes). */
273
+ statusVerificationSelectConfig: DynamicSelectFieldConfig;
274
+ private updateStatusVerificationSelectConfig;
275
+ private getStatusVerificationValues;
276
+ private getDefaultStatusVerification;
277
+ responsePreview: string;
278
+ private methodChangesSub?;
279
+ private formatChangesSub?;
280
+ private headerNameOptionsChangesSub?;
281
+ private environmentFormChangesSub?;
282
+ private methodFormChangesSub?;
283
+ constructor(fb: FormBuilder, cdr: ChangeDetectorRef);
284
+ ngOnInit(): void;
285
+ ngAfterViewInit(): void;
286
+ ngOnDestroy(): void;
287
+ /** Sync line numbers column scroll with payload textarea scroll (Postman-style). */
288
+ private setupPayloadTextareaScrollSync;
289
+ private buildKeyValueFormArray;
290
+ private buildKeyTypeValueFormArray;
291
+ private buildVerificationFormArray;
292
+ private buildStatusVerificationFormArray;
293
+ private buildHeadersFormArray;
294
+ /** Handler: show import cURL panel (called when user clicks "Import API cURL"). */
295
+ openImportCurlPanel(): void;
296
+ /** Handler: emit cURL value from control and close panel. Called when user clicks Import button. */
297
+ onImportCurlConfirm(): void;
298
+ /** Handler: emit cancel and close panel. Called when user clicks Cancel in import cURL panel. */
299
+ onCancelImportCurl(): void;
300
+ /** Handler: show headers section (called from Cancel or after Import in import panel). */
301
+ closeImportCurlPanel(): void;
302
+ onSendRequest(): void;
303
+ onVariableNameChange(): void;
304
+ onBack(): void;
305
+ onNext(): void;
306
+ setPayloadTab(value: ApiEditPayloadTab): void;
307
+ setResponseVerificationTab(value: 'response-body' | 'status'): void;
308
+ addHeader(): void;
309
+ removeHeader(index: number): void;
310
+ /** When user adds a custom header name via the dropdown "Add '…'" option, set the control value. */
311
+ onHeaderNameAddCustomValue(event: {
312
+ key: string;
313
+ value: string;
314
+ }, row: FormGroup): void;
315
+ trackByHeader(index: number): number;
316
+ addKeyValueRow(): void;
317
+ removeKeyValueRow(index: number): void;
318
+ trackByKeyValue(index: number): number;
319
+ addKeyTypeValueRow(): void;
320
+ removeKeyTypeValueRow(index: number): void;
321
+ trackByKeyTypeValue(index: number): number;
322
+ addVerificationRow(): void;
323
+ removeVerificationRow(index: number): void;
324
+ trackByVerification(index: number): number;
325
+ /** When Data Type changes in Response Body verification, reset Expected Value for that row. */
326
+ onVerificationDataTypeChange(row: FormGroup, event: {
327
+ key: string;
328
+ value: unknown;
329
+ }): void;
330
+ addStatusVerificationRow(): void;
331
+ removeStatusVerificationRow(index: number): void;
332
+ trackByStatusVerification(index: number): number;
333
+ /** Emit all entered details (environment, HTTP method, URL, headers, body, step2 variable, step3 verifications) when user clicks Create. */
334
+ onCreate(): void;
335
+ /** Minimal payload when getCreatePayload throws (so create always emits). */
336
+ private getCreatePayloadFallback;
337
+ /** Normalize form control value to string (handles object or string). */
338
+ private static getControlValue;
339
+ /** Build full create payload: environment, HTTP method, URL, headers, body (step1), variable name (step2), verifications (step3). */
340
+ private getCreatePayload;
341
+ /** Current header rows from form (for consumers that read headers) */
342
+ get headers(): ApiEditHeaderRow[];
343
+ ngOnChanges(changes: SimpleChanges): void;
344
+ static ɵfac: i0.ɵɵFactoryDeclaration<ApiEditStepComponent, never>;
345
+ static ɵcmp: i0.ɵɵComponentDeclaration<ApiEditStepComponent, "cqa-api-edit-step", never, { "initialMethod": "initialMethod"; "initialEnvironment": "initialEnvironment"; "initialStep": "initialStep"; "initialUrl": "initialUrl"; "initialPayloadTab": "initialPayloadTab"; "initialHeaders": "initialHeaders"; "initialResponsePreview": "initialResponsePreview"; "httpMethodOptions": "httpMethodOptions"; "environmentOptions": "environmentOptions"; "formatOptions": "formatOptions"; "initialFormat": "initialFormat"; "headerNameOptions": "headerNameOptions"; "verificationOptions": "verificationOptions"; "verificationDataTypeOptions": "verificationDataTypeOptions"; "statusVerificationOptions": "statusVerificationOptions"; }, { "importCurl": "importCurl"; "importCurlCancel": "importCurlCancel"; "sendRequest": "sendRequest"; "back": "back"; "next": "next"; "create": "create"; "headersChange": "headersChange"; }, never, never>;
346
+ }
@@ -1,7 +1,11 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
1
+ import { ElementRef, EventEmitter, OnInit } from '@angular/core';
2
+ import { OverlayContainer } from '@angular/cdk/overlay';
2
3
  import { ApiStepConfig } from '../test-case-step.models';
4
+ import { EnvironmentOptionInput } from '../api-edit-step/api-edit-step.component';
3
5
  import * as i0 from "@angular/core";
4
6
  export declare class TestCaseApiStepComponent implements OnInit {
7
+ private readonly overlayContainer;
8
+ editModalBackdropRef?: ElementRef<HTMLElement>;
5
9
  config: ApiStepConfig;
6
10
  stepNumber: number | string;
7
11
  method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
@@ -17,6 +21,12 @@ export declare class TestCaseApiStepComponent implements OnInit {
17
21
  isInsideLoop: boolean;
18
22
  expanded: boolean;
19
23
  isReorder: boolean;
24
+ /** Environment options for the API edit step dropdown: strings or { id, name, value, label }. Passed to cqa-api-edit-step. */
25
+ environmentOptions?: EnvironmentOptionInput[];
26
+ /** HTTP method options for the API edit step dropdown: strings or { id, name, value, label }. Passed to cqa-api-edit-step. */
27
+ httpMethodOptions?: EnvironmentOptionInput[];
28
+ /** Header name options for the API edit step (e.g. for header dropdown): strings or { id, name, value, label }. Passed to cqa-api-edit-step. */
29
+ headerNameOptions?: EnvironmentOptionInput[];
20
30
  edit: EventEmitter<void>;
21
31
  link: EventEmitter<void>;
22
32
  duplicate: EventEmitter<void>;
@@ -31,7 +41,13 @@ export declare class TestCaseApiStepComponent implements OnInit {
31
41
  ngOnInit(): void;
32
42
  getDisplayText(): string;
33
43
  onToggleExpanded(): void;
44
+ editModalOpen: boolean;
45
+ constructor(overlayContainer: OverlayContainer);
34
46
  onEdit(): void;
47
+ closeEditModal(): void;
48
+ /** Attach overlay container to modal backdrop so select panels position below trigger (same stacking context). */
49
+ private attachOverlayToModalBackdrop;
50
+ private detachOverlayFromModalBackdrop;
35
51
  onLink(): void;
36
52
  onDuplicate(): void;
37
53
  onDelete(): void;
@@ -39,5 +55,5 @@ export declare class TestCaseApiStepComponent implements OnInit {
39
55
  onViewDetails(): void;
40
56
  onSelectionChange(checked: boolean): void;
41
57
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseApiStepComponent, never>;
42
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseApiStepComponent, "cqa-test-case-api-step", never, { "config": "config"; "stepNumber": "stepNumber"; "method": "method"; "endpoint": "endpoint"; "description": "description"; "baseUrl": "baseUrl"; "headersCount": "headersCount"; "hasBody": "hasBody"; "saveTo": "saveTo"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideLoop": "isInsideLoop"; "expanded": "expanded"; "isReorder": "isReorder"; }, { "edit": "edit"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; "toggleExpanded": "toggleExpanded"; }, never, never>;
58
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseApiStepComponent, "cqa-test-case-api-step", never, { "config": "config"; "stepNumber": "stepNumber"; "method": "method"; "endpoint": "endpoint"; "description": "description"; "baseUrl": "baseUrl"; "headersCount": "headersCount"; "hasBody": "hasBody"; "saveTo": "saveTo"; "selected": "selected"; "disabled": "disabled"; "isNested": "isNested"; "isInsideLoop": "isInsideLoop"; "expanded": "expanded"; "isReorder": "isReorder"; "environmentOptions": "environmentOptions"; "httpMethodOptions": "httpMethodOptions"; "headerNameOptions": "headerNameOptions"; }, { "edit": "edit"; "link": "link"; "duplicate": "duplicate"; "delete": "delete"; "moreOptions": "moreOptions"; "viewDetails": "viewDetails"; "selectionChange": "selectionChange"; "toggleExpanded": "toggleExpanded"; }, never, never>;
43
59
  }
@@ -93,42 +93,43 @@ import * as i90 from "./item-list/item-list.component";
93
93
  import * as i91 from "./test-case-details/test-data-modal/test-data-modal.component";
94
94
  import * as i92 from "./test-case-details/create-step-group/create-step-group.component";
95
95
  import * as i93 from "./test-case-details/delete-steps/delete-steps.component";
96
- import * as i94 from "./live-conversation/live-conversation.component";
97
- import * as i95 from "./step-builder/step-builder-action/step-builder-action.component";
98
- import * as i96 from "./step-builder/step-builder-loop/step-builder-loop.component";
99
- import * as i97 from "./test-case-details/element-popup/element-popup.component";
100
- import * as i98 from "./step-builder/step-builder-condition/step-builder-condition.component";
101
- import * as i99 from "./step-builder/step-builder-database/step-builder-database.component";
102
- import * as i100 from "./step-builder/step-builder-ai-agent/step-builder-ai-agent.component";
103
- import * as i101 from "./step-builder/step-builder-custom-code/step-builder-custom-code.component";
104
- import * as i102 from "./step-builder/step-builder-record-step/step-builder-record-step.component";
105
- import * as i103 from "./step-builder/step-builder-document-generation-template-step/step-builder-document-generation-template-step.component";
106
- import * as i104 from "./test-case-details/element-list/element-list.component";
107
- import * as i105 from "./step-builder/step-builder-document/step-builder-document.component";
108
- import * as i106 from "./step-builder/step-builder-api/step-builder-api.component";
109
- import * as i107 from "./test-case-details/step-details-drawer/step-details-drawer.component";
110
- import * as i108 from "@angular/common";
111
- import * as i109 from "@angular/forms";
112
- import * as i110 from "@angular/material/icon";
113
- import * as i111 from "@angular/material/menu";
114
- import * as i112 from "@angular/material/button";
115
- import * as i113 from "@angular/material/form-field";
116
- import * as i114 from "@angular/material/select";
117
- import * as i115 from "@angular/material/core";
118
- import * as i116 from "@angular/material/checkbox";
119
- import * as i117 from "@angular/material/radio";
120
- import * as i118 from "@angular/material/slide-toggle";
121
- import * as i119 from "@angular/material/datepicker";
122
- import * as i120 from "@angular/material/progress-spinner";
123
- import * as i121 from "@angular/material/tooltip";
124
- import * as i122 from "@angular/material/dialog";
125
- import * as i123 from "@angular/cdk/overlay";
126
- import * as i124 from "@angular/cdk/portal";
127
- import * as i125 from "ngx-typed-js";
128
- import * as i126 from "ngx-drag-drop";
96
+ import * as i94 from "./test-case-details/api-edit-step/api-edit-step.component";
97
+ import * as i95 from "./live-conversation/live-conversation.component";
98
+ import * as i96 from "./step-builder/step-builder-action/step-builder-action.component";
99
+ import * as i97 from "./step-builder/step-builder-loop/step-builder-loop.component";
100
+ import * as i98 from "./test-case-details/element-popup/element-popup.component";
101
+ import * as i99 from "./step-builder/step-builder-condition/step-builder-condition.component";
102
+ import * as i100 from "./step-builder/step-builder-database/step-builder-database.component";
103
+ import * as i101 from "./step-builder/step-builder-ai-agent/step-builder-ai-agent.component";
104
+ import * as i102 from "./step-builder/step-builder-custom-code/step-builder-custom-code.component";
105
+ import * as i103 from "./step-builder/step-builder-record-step/step-builder-record-step.component";
106
+ import * as i104 from "./step-builder/step-builder-document-generation-template-step/step-builder-document-generation-template-step.component";
107
+ import * as i105 from "./test-case-details/element-list/element-list.component";
108
+ import * as i106 from "./step-builder/step-builder-document/step-builder-document.component";
109
+ import * as i107 from "./step-builder/step-builder-api/step-builder-api.component";
110
+ import * as i108 from "./test-case-details/step-details-drawer/step-details-drawer.component";
111
+ import * as i109 from "@angular/common";
112
+ import * as i110 from "@angular/forms";
113
+ import * as i111 from "@angular/material/icon";
114
+ import * as i112 from "@angular/material/menu";
115
+ import * as i113 from "@angular/material/button";
116
+ import * as i114 from "@angular/material/form-field";
117
+ import * as i115 from "@angular/material/select";
118
+ import * as i116 from "@angular/material/core";
119
+ import * as i117 from "@angular/material/checkbox";
120
+ import * as i118 from "@angular/material/radio";
121
+ import * as i119 from "@angular/material/slide-toggle";
122
+ import * as i120 from "@angular/material/datepicker";
123
+ import * as i121 from "@angular/material/progress-spinner";
124
+ import * as i122 from "@angular/material/tooltip";
125
+ import * as i123 from "@angular/material/dialog";
126
+ import * as i124 from "@angular/cdk/overlay";
127
+ import * as i125 from "@angular/cdk/portal";
128
+ import * as i126 from "ngx-typed-js";
129
+ import * as i127 from "ngx-drag-drop";
129
130
  export declare class UiKitModule {
130
131
  constructor(iconRegistry: MatIconRegistry);
131
132
  static ɵfac: i0.ɵɵFactoryDeclaration<UiKitModule, never>;
132
- static ɵmod: i0.ɵɵNgModuleDeclaration<UiKitModule, [typeof i1.ButtonComponent, typeof i2.SearchBarComponent, typeof i3.SegmentControlComponent, typeof i4.DialogComponent, typeof i5.DynamicTableComponent, typeof i6.DynamicCellTemplateDirective, typeof i6.DynamicHeaderTemplateDirective, typeof i7.DynamicCellContainerDirective, typeof i8.PaginationComponent, typeof i9.ActionMenuButtonComponent, typeof i10.OtherButtonComponent, typeof i11.DynamicFilterComponent, typeof i12.DaterangepickerDirective, typeof i13.DaterangepickerComponent, typeof i14.ColumnVisibilityComponent, typeof i15.TableActionToolbarComponent, typeof i16.MetricsCardComponent, typeof i17.MetricsBlockComponent, typeof i18.ChartCardComponent, typeof i19.ProgressTextCardComponent, typeof i20.DashboardHeaderComponent, typeof i21.CoverageModuleCardComponent, typeof i22.TestDistributionCardComponent, typeof i23.FailedTestCasesCardComponent, typeof i24.DynamicSelectFieldComponent, typeof i25.AddPrerequisiteCasesSectionComponent, typeof i26.SelectedFiltersComponent, typeof i27.InsightCardComponent, typeof i28.BadgeComponent, typeof i29.DropdownButtonComponent, typeof i30.HeatErrorMapCellComponent, typeof i31.EmptyStateComponent, typeof i32.TableTemplateComponent, typeof i33.FullTableLoaderComponent, typeof i34.TableDataLoaderComponent, typeof i35.BasicStepComponent, typeof i36.StepRendererComponent, typeof i37.StepGroupComponent, typeof i38.LoopStepComponent, typeof i39.ConditionStepComponent, typeof i40.FailedStepComponent, typeof i41.UpdatedFailedStepComponent, typeof i42.ViewMoreFailedStepButtonComponent, typeof i43.SelfHealAnalysisComponent, typeof i44.AIAgentStepComponent, typeof i45.AIActionStepComponent, typeof i46.ApiStepComponent, typeof i47.FileDownloadStepComponent, typeof i48.DocumentVerificationStepComponent, typeof i49.LiveExecutionStepComponent, typeof i50.MainStepCollapseComponent, typeof i51.VisualComparisonComponent, typeof i52.SimulatorComponent, typeof i53.ConsoleAlertComponent, typeof i54.AiDebugAlertComponent, typeof i55.NetworkRequestComponent, typeof i56.RunHistoryCardComponent, typeof i57.VisualDifferenceModalComponent, typeof i58.ConfigurationCardComponent, typeof i59.CompareRunsComponent, typeof i60.IterationsLoopComponent, typeof i61.FailedStepCardComponent, typeof i62.CustomInputComponent, typeof i63.CustomTextareaComponent, typeof i64.CustomToggleComponent, typeof i65.FileUploadComponent, typeof i66.AiReasoningComponent, typeof i67.ExecutionResultModalComponent, typeof i68.ErrorModalComponent, typeof i69.ProgressIndicatorComponent, typeof i70.StepProgressCardComponent, typeof i71.StepStatusCardComponent, typeof i72.DbVerificationStepComponent, typeof i73.DbQueryExecutionItemComponent, typeof i74.TestCaseNormalStepComponent, typeof i75.TestCaseLoopStepComponent, typeof i76.TestCaseConditionStepComponent, typeof i77.TestCaseStepGroupComponent, typeof i78.TestCaseDetailsRendererComponent, typeof i79.TestCaseApiStepComponent, typeof i80.TestCaseDatabaseStepComponent, typeof i81.TestCaseAiAgentStepComponent, typeof i82.TestCaseAiVerifyStepComponent, typeof i83.TestCaseUploadStepComponent, typeof i84.TestCaseScreenshotStepComponent, typeof i85.TestCaseScrollStepComponent, typeof i86.TestCaseVerifyUrlStepComponent, typeof i87.TestCaseRestoreSessionStepComponent, typeof i88.TestCaseCustomCodeStepComponent, typeof i89.CustomEditStepComponent, typeof i90.ItemListComponent, typeof i91.TestDataModalComponent, typeof i92.CreateStepGroupComponent, typeof i93.DeleteStepsComponent, typeof i94.LiveConversationComponent, typeof i95.StepBuilderActionComponent, typeof i96.StepBuilderLoopComponent, typeof i97.ElementPopupComponent, typeof i98.StepBuilderConditionComponent, typeof i99.StepBuilderDatabaseComponent, typeof i100.StepBuilderAiAgentComponent, typeof i101.StepBuilderCustomCodeComponent, typeof i102.StepBuilderRecordStepComponent, typeof i103.StepBuilderDocumentGenerationTemplateStepComponent, typeof i104.ElementListComponent, typeof i105.StepBuilderDocumentComponent, typeof i106.StepBuilderApiComponent, typeof i107.StepDetailsDrawerComponent], [typeof i108.CommonModule, typeof i109.FormsModule, typeof i109.ReactiveFormsModule, typeof i110.MatIconModule, typeof i111.MatMenuModule, typeof i112.MatButtonModule, typeof i113.MatFormFieldModule, typeof i114.MatSelectModule, typeof i115.MatOptionModule, typeof i116.MatCheckboxModule, typeof i117.MatRadioModule, typeof i118.MatSlideToggleModule, typeof i119.MatDatepickerModule, typeof i115.MatNativeDateModule, typeof i120.MatProgressSpinnerModule, typeof i121.MatTooltipModule, typeof i122.MatDialogModule, typeof i123.OverlayModule, typeof i124.PortalModule, typeof i125.NgxTypedJsModule, typeof i126.DndModule], [typeof i1.ButtonComponent, typeof i2.SearchBarComponent, typeof i3.SegmentControlComponent, typeof i4.DialogComponent, typeof i5.DynamicTableComponent, typeof i6.DynamicCellTemplateDirective, typeof i6.DynamicHeaderTemplateDirective, typeof i7.DynamicCellContainerDirective, typeof i8.PaginationComponent, typeof i9.ActionMenuButtonComponent, typeof i10.OtherButtonComponent, typeof i11.DynamicFilterComponent, typeof i12.DaterangepickerDirective, typeof i13.DaterangepickerComponent, typeof i14.ColumnVisibilityComponent, typeof i15.TableActionToolbarComponent, typeof i16.MetricsCardComponent, typeof i18.ChartCardComponent, typeof i19.ProgressTextCardComponent, typeof i20.DashboardHeaderComponent, typeof i21.CoverageModuleCardComponent, typeof i22.TestDistributionCardComponent, typeof i23.FailedTestCasesCardComponent, typeof i24.DynamicSelectFieldComponent, typeof i25.AddPrerequisiteCasesSectionComponent, typeof i26.SelectedFiltersComponent, typeof i27.InsightCardComponent, typeof i28.BadgeComponent, typeof i29.DropdownButtonComponent, typeof i30.HeatErrorMapCellComponent, typeof i31.EmptyStateComponent, typeof i32.TableTemplateComponent, typeof i33.FullTableLoaderComponent, typeof i34.TableDataLoaderComponent, typeof i35.BasicStepComponent, typeof i36.StepRendererComponent, typeof i37.StepGroupComponent, typeof i38.LoopStepComponent, typeof i39.ConditionStepComponent, typeof i40.FailedStepComponent, typeof i41.UpdatedFailedStepComponent, typeof i42.ViewMoreFailedStepButtonComponent, typeof i43.SelfHealAnalysisComponent, typeof i44.AIAgentStepComponent, typeof i45.AIActionStepComponent, typeof i46.ApiStepComponent, typeof i47.FileDownloadStepComponent, typeof i48.DocumentVerificationStepComponent, typeof i49.LiveExecutionStepComponent, typeof i50.MainStepCollapseComponent, typeof i51.VisualComparisonComponent, typeof i52.SimulatorComponent, typeof i53.ConsoleAlertComponent, typeof i54.AiDebugAlertComponent, typeof i55.NetworkRequestComponent, typeof i56.RunHistoryCardComponent, typeof i57.VisualDifferenceModalComponent, typeof i58.ConfigurationCardComponent, typeof i59.CompareRunsComponent, typeof i60.IterationsLoopComponent, typeof i61.FailedStepCardComponent, typeof i62.CustomInputComponent, typeof i63.CustomTextareaComponent, typeof i64.CustomToggleComponent, typeof i65.FileUploadComponent, typeof i66.AiReasoningComponent, typeof i67.ExecutionResultModalComponent, typeof i68.ErrorModalComponent, typeof i69.ProgressIndicatorComponent, typeof i70.StepProgressCardComponent, typeof i71.StepStatusCardComponent, typeof i72.DbVerificationStepComponent, typeof i73.DbQueryExecutionItemComponent, typeof i74.TestCaseNormalStepComponent, typeof i75.TestCaseLoopStepComponent, typeof i76.TestCaseConditionStepComponent, typeof i77.TestCaseStepGroupComponent, typeof i78.TestCaseDetailsRendererComponent, typeof i79.TestCaseApiStepComponent, typeof i80.TestCaseDatabaseStepComponent, typeof i81.TestCaseAiAgentStepComponent, typeof i83.TestCaseUploadStepComponent, typeof i84.TestCaseScreenshotStepComponent, typeof i85.TestCaseScrollStepComponent, typeof i86.TestCaseVerifyUrlStepComponent, typeof i87.TestCaseRestoreSessionStepComponent, typeof i88.TestCaseCustomCodeStepComponent, typeof i89.CustomEditStepComponent, typeof i90.ItemListComponent, typeof i91.TestDataModalComponent, typeof i92.CreateStepGroupComponent, typeof i93.DeleteStepsComponent, typeof i94.LiveConversationComponent, typeof i95.StepBuilderActionComponent, typeof i96.StepBuilderLoopComponent, typeof i97.ElementPopupComponent, typeof i98.StepBuilderConditionComponent, typeof i99.StepBuilderDatabaseComponent, typeof i100.StepBuilderAiAgentComponent, typeof i101.StepBuilderCustomCodeComponent, typeof i102.StepBuilderRecordStepComponent, typeof i103.StepBuilderDocumentGenerationTemplateStepComponent, typeof i106.StepBuilderApiComponent, typeof i104.ElementListComponent, typeof i105.StepBuilderDocumentComponent, typeof i107.StepDetailsDrawerComponent]>;
133
+ static ɵmod: i0.ɵɵNgModuleDeclaration<UiKitModule, [typeof i1.ButtonComponent, typeof i2.SearchBarComponent, typeof i3.SegmentControlComponent, typeof i4.DialogComponent, typeof i5.DynamicTableComponent, typeof i6.DynamicCellTemplateDirective, typeof i6.DynamicHeaderTemplateDirective, typeof i7.DynamicCellContainerDirective, typeof i8.PaginationComponent, typeof i9.ActionMenuButtonComponent, typeof i10.OtherButtonComponent, typeof i11.DynamicFilterComponent, typeof i12.DaterangepickerDirective, typeof i13.DaterangepickerComponent, typeof i14.ColumnVisibilityComponent, typeof i15.TableActionToolbarComponent, typeof i16.MetricsCardComponent, typeof i17.MetricsBlockComponent, typeof i18.ChartCardComponent, typeof i19.ProgressTextCardComponent, typeof i20.DashboardHeaderComponent, typeof i21.CoverageModuleCardComponent, typeof i22.TestDistributionCardComponent, typeof i23.FailedTestCasesCardComponent, typeof i24.DynamicSelectFieldComponent, typeof i25.AddPrerequisiteCasesSectionComponent, typeof i26.SelectedFiltersComponent, typeof i27.InsightCardComponent, typeof i28.BadgeComponent, typeof i29.DropdownButtonComponent, typeof i30.HeatErrorMapCellComponent, typeof i31.EmptyStateComponent, typeof i32.TableTemplateComponent, typeof i33.FullTableLoaderComponent, typeof i34.TableDataLoaderComponent, typeof i35.BasicStepComponent, typeof i36.StepRendererComponent, typeof i37.StepGroupComponent, typeof i38.LoopStepComponent, typeof i39.ConditionStepComponent, typeof i40.FailedStepComponent, typeof i41.UpdatedFailedStepComponent, typeof i42.ViewMoreFailedStepButtonComponent, typeof i43.SelfHealAnalysisComponent, typeof i44.AIAgentStepComponent, typeof i45.AIActionStepComponent, typeof i46.ApiStepComponent, typeof i47.FileDownloadStepComponent, typeof i48.DocumentVerificationStepComponent, typeof i49.LiveExecutionStepComponent, typeof i50.MainStepCollapseComponent, typeof i51.VisualComparisonComponent, typeof i52.SimulatorComponent, typeof i53.ConsoleAlertComponent, typeof i54.AiDebugAlertComponent, typeof i55.NetworkRequestComponent, typeof i56.RunHistoryCardComponent, typeof i57.VisualDifferenceModalComponent, typeof i58.ConfigurationCardComponent, typeof i59.CompareRunsComponent, typeof i60.IterationsLoopComponent, typeof i61.FailedStepCardComponent, typeof i62.CustomInputComponent, typeof i63.CustomTextareaComponent, typeof i64.CustomToggleComponent, typeof i65.FileUploadComponent, typeof i66.AiReasoningComponent, typeof i67.ExecutionResultModalComponent, typeof i68.ErrorModalComponent, typeof i69.ProgressIndicatorComponent, typeof i70.StepProgressCardComponent, typeof i71.StepStatusCardComponent, typeof i72.DbVerificationStepComponent, typeof i73.DbQueryExecutionItemComponent, typeof i74.TestCaseNormalStepComponent, typeof i75.TestCaseLoopStepComponent, typeof i76.TestCaseConditionStepComponent, typeof i77.TestCaseStepGroupComponent, typeof i78.TestCaseDetailsRendererComponent, typeof i79.TestCaseApiStepComponent, typeof i80.TestCaseDatabaseStepComponent, typeof i81.TestCaseAiAgentStepComponent, typeof i82.TestCaseAiVerifyStepComponent, typeof i83.TestCaseUploadStepComponent, typeof i84.TestCaseScreenshotStepComponent, typeof i85.TestCaseScrollStepComponent, typeof i86.TestCaseVerifyUrlStepComponent, typeof i87.TestCaseRestoreSessionStepComponent, typeof i88.TestCaseCustomCodeStepComponent, typeof i89.CustomEditStepComponent, typeof i90.ItemListComponent, typeof i91.TestDataModalComponent, typeof i92.CreateStepGroupComponent, typeof i93.DeleteStepsComponent, typeof i94.ApiEditStepComponent, typeof i95.LiveConversationComponent, typeof i96.StepBuilderActionComponent, typeof i97.StepBuilderLoopComponent, typeof i98.ElementPopupComponent, typeof i99.StepBuilderConditionComponent, typeof i100.StepBuilderDatabaseComponent, typeof i101.StepBuilderAiAgentComponent, typeof i102.StepBuilderCustomCodeComponent, typeof i103.StepBuilderRecordStepComponent, typeof i104.StepBuilderDocumentGenerationTemplateStepComponent, typeof i105.ElementListComponent, typeof i106.StepBuilderDocumentComponent, typeof i107.StepBuilderApiComponent, typeof i108.StepDetailsDrawerComponent], [typeof i109.CommonModule, typeof i110.FormsModule, typeof i110.ReactiveFormsModule, typeof i111.MatIconModule, typeof i112.MatMenuModule, typeof i113.MatButtonModule, typeof i114.MatFormFieldModule, typeof i115.MatSelectModule, typeof i116.MatOptionModule, typeof i117.MatCheckboxModule, typeof i118.MatRadioModule, typeof i119.MatSlideToggleModule, typeof i120.MatDatepickerModule, typeof i116.MatNativeDateModule, typeof i121.MatProgressSpinnerModule, typeof i122.MatTooltipModule, typeof i123.MatDialogModule, typeof i124.OverlayModule, typeof i125.PortalModule, typeof i126.NgxTypedJsModule, typeof i127.DndModule], [typeof i1.ButtonComponent, typeof i2.SearchBarComponent, typeof i3.SegmentControlComponent, typeof i4.DialogComponent, typeof i5.DynamicTableComponent, typeof i6.DynamicCellTemplateDirective, typeof i6.DynamicHeaderTemplateDirective, typeof i7.DynamicCellContainerDirective, typeof i8.PaginationComponent, typeof i9.ActionMenuButtonComponent, typeof i10.OtherButtonComponent, typeof i11.DynamicFilterComponent, typeof i12.DaterangepickerDirective, typeof i13.DaterangepickerComponent, typeof i14.ColumnVisibilityComponent, typeof i15.TableActionToolbarComponent, typeof i16.MetricsCardComponent, typeof i18.ChartCardComponent, typeof i19.ProgressTextCardComponent, typeof i20.DashboardHeaderComponent, typeof i21.CoverageModuleCardComponent, typeof i22.TestDistributionCardComponent, typeof i23.FailedTestCasesCardComponent, typeof i24.DynamicSelectFieldComponent, typeof i25.AddPrerequisiteCasesSectionComponent, typeof i26.SelectedFiltersComponent, typeof i27.InsightCardComponent, typeof i28.BadgeComponent, typeof i29.DropdownButtonComponent, typeof i30.HeatErrorMapCellComponent, typeof i31.EmptyStateComponent, typeof i32.TableTemplateComponent, typeof i33.FullTableLoaderComponent, typeof i34.TableDataLoaderComponent, typeof i35.BasicStepComponent, typeof i36.StepRendererComponent, typeof i37.StepGroupComponent, typeof i38.LoopStepComponent, typeof i39.ConditionStepComponent, typeof i40.FailedStepComponent, typeof i41.UpdatedFailedStepComponent, typeof i42.ViewMoreFailedStepButtonComponent, typeof i43.SelfHealAnalysisComponent, typeof i44.AIAgentStepComponent, typeof i45.AIActionStepComponent, typeof i46.ApiStepComponent, typeof i47.FileDownloadStepComponent, typeof i48.DocumentVerificationStepComponent, typeof i49.LiveExecutionStepComponent, typeof i50.MainStepCollapseComponent, typeof i51.VisualComparisonComponent, typeof i52.SimulatorComponent, typeof i53.ConsoleAlertComponent, typeof i54.AiDebugAlertComponent, typeof i55.NetworkRequestComponent, typeof i56.RunHistoryCardComponent, typeof i57.VisualDifferenceModalComponent, typeof i58.ConfigurationCardComponent, typeof i59.CompareRunsComponent, typeof i60.IterationsLoopComponent, typeof i61.FailedStepCardComponent, typeof i62.CustomInputComponent, typeof i63.CustomTextareaComponent, typeof i64.CustomToggleComponent, typeof i65.FileUploadComponent, typeof i66.AiReasoningComponent, typeof i67.ExecutionResultModalComponent, typeof i68.ErrorModalComponent, typeof i69.ProgressIndicatorComponent, typeof i70.StepProgressCardComponent, typeof i71.StepStatusCardComponent, typeof i72.DbVerificationStepComponent, typeof i73.DbQueryExecutionItemComponent, typeof i74.TestCaseNormalStepComponent, typeof i75.TestCaseLoopStepComponent, typeof i76.TestCaseConditionStepComponent, typeof i77.TestCaseStepGroupComponent, typeof i78.TestCaseDetailsRendererComponent, typeof i79.TestCaseApiStepComponent, typeof i80.TestCaseDatabaseStepComponent, typeof i81.TestCaseAiAgentStepComponent, typeof i83.TestCaseUploadStepComponent, typeof i84.TestCaseScreenshotStepComponent, typeof i85.TestCaseScrollStepComponent, typeof i86.TestCaseVerifyUrlStepComponent, typeof i87.TestCaseRestoreSessionStepComponent, typeof i88.TestCaseCustomCodeStepComponent, typeof i89.CustomEditStepComponent, typeof i90.ItemListComponent, typeof i91.TestDataModalComponent, typeof i92.CreateStepGroupComponent, typeof i93.DeleteStepsComponent, typeof i94.ApiEditStepComponent, typeof i95.LiveConversationComponent, typeof i96.StepBuilderActionComponent, typeof i97.StepBuilderLoopComponent, typeof i98.ElementPopupComponent, typeof i99.StepBuilderConditionComponent, typeof i100.StepBuilderDatabaseComponent, typeof i101.StepBuilderAiAgentComponent, typeof i102.StepBuilderCustomCodeComponent, typeof i103.StepBuilderRecordStepComponent, typeof i104.StepBuilderDocumentGenerationTemplateStepComponent, typeof i107.StepBuilderApiComponent, typeof i105.ElementListComponent, typeof i106.StepBuilderDocumentComponent, typeof i108.StepDetailsDrawerComponent]>;
133
134
  static ɵinj: i0.ɵɵInjectorDeclaration<UiKitModule>;
134
135
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cqa-lib/cqa-ui",
3
- "version": "1.1.189",
3
+ "version": "1.1.190",
4
4
  "description": "UI Kit library for Angular 13.4",
5
5
  "keywords": [
6
6
  "angular",
package/public-api.d.ts CHANGED
@@ -112,6 +112,7 @@ export * from './lib/test-case-details/test-data-modal/test-data-modal-ref';
112
112
  export * from './lib/test-case-details/test-data-modal/test-data-modal-data';
113
113
  export * from './lib/test-case-details/create-step-group/create-step-group.component';
114
114
  export * from './lib/test-case-details/delete-steps/delete-steps.component';
115
+ export * from './lib/test-case-details/api-edit-step/api-edit-step.component';
115
116
  export * from './lib/test-case-details/test-case-step.models';
116
117
  export * from './lib/live-conversation/live-conversation.component';
117
118
  export * from './lib/step-builder/step-builder-action/step-builder-action.component';
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true">
2
+ <path d="M10.6663 6V12.6667H5.33301V6H10.6663ZM9.66634 2H6.33301L5.66634 2.66667H3.33301V4H12.6663V2.66667H10.333L9.66634 2ZM11.9997 4.66667H3.99967V12.6667C3.99967 13.4 4.59967 14 5.33301 14H10.6663C11.3997 14 11.9997 13.4 11.9997 12.6667V4.66667Z" fill="currentColor"/>
3
+ </svg>