@cqa-lib/cqa-ui 1.1.220 → 1.1.221

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.
@@ -12406,6 +12406,213 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
12406
12406
  type: Input
12407
12407
  }] } });
12408
12408
 
12409
+ class JumpToStepModalComponent {
12410
+ constructor() {
12411
+ /** Whether the modal is open */
12412
+ this.isOpen = false;
12413
+ /** Modal title */
12414
+ this.title = 'Jump to Step';
12415
+ /** List of step items to display */
12416
+ this.items = [];
12417
+ /** Search placeholder text */
12418
+ this.searchPlaceholder = 'Search steps by name or number...';
12419
+ /** Search Empty State text */
12420
+ this.searchEmptyStateLabel = 'No steps found';
12421
+ /** Current search value */
12422
+ this.searchValue = '';
12423
+ /** Whether search is enabled */
12424
+ this.enableSearch = true;
12425
+ /** Filtered items based on search */
12426
+ this.filteredItems = [];
12427
+ /** Emitted when modal should be closed */
12428
+ this.onClose = new EventEmitter();
12429
+ /** Emitted when search value changes */
12430
+ this.onSearch = new EventEmitter();
12431
+ /** Emitted when a step item is selected */
12432
+ this.onSelect = new EventEmitter();
12433
+ }
12434
+ ngOnChanges(changes) {
12435
+ if (changes['items'] || changes['searchValue']) {
12436
+ this.updateFilteredItems();
12437
+ }
12438
+ }
12439
+ updateFilteredItems() {
12440
+ if (!this.items || this.items.length === 0) {
12441
+ this.filteredItems = [];
12442
+ return;
12443
+ }
12444
+ if (!this.searchValue || this.searchValue.trim() === '') {
12445
+ this.filteredItems = [...this.items];
12446
+ return;
12447
+ }
12448
+ const searchTerm = this.searchValue.toLowerCase().trim();
12449
+ this.filteredItems = this.items.filter(item => {
12450
+ const stepNumberMatch = String(item.stepNumber).toLowerCase().includes(searchTerm);
12451
+ const descriptionMatch = item.description.toLowerCase().includes(searchTerm);
12452
+ return stepNumberMatch || descriptionMatch;
12453
+ });
12454
+ }
12455
+ onSearchValueChange(value) {
12456
+ this.searchValue = value;
12457
+ this.updateFilteredItems();
12458
+ this.onSearch.emit(value);
12459
+ }
12460
+ onItemClick(item) {
12461
+ this.onSelect.emit(item);
12462
+ }
12463
+ onBackdropClick(event) {
12464
+ const target = event.target;
12465
+ const currentTarget = event.currentTarget;
12466
+ if (target === currentTarget || target.classList.contains('modal-backdrop')) {
12467
+ this.handleClose();
12468
+ }
12469
+ }
12470
+ handleClose() {
12471
+ this.onClose.emit();
12472
+ }
12473
+ getStatusBadgeClasses(status) {
12474
+ const baseClasses = 'cqa-inline-flex cqa-items-center cqa-justify-center cqa-rounded-[6px] cqa-text-xs cqa-font-medium cqa-py-[4px] cqa-px-3';
12475
+ switch (status) {
12476
+ case 'passed':
12477
+ return `${baseClasses} cqa-bg-green-100 cqa-text-green-800`;
12478
+ case 'current':
12479
+ return `${baseClasses} cqa-bg-blue-100 cqa-text-blue-800`;
12480
+ case 'pending':
12481
+ return `${baseClasses} cqa-bg-gray-100 cqa-text-gray-800`;
12482
+ case 'failed':
12483
+ return `${baseClasses} cqa-bg-red-100 cqa-text-red-800`;
12484
+ case 'running':
12485
+ return `${baseClasses} cqa-bg-blue-100 cqa-text-blue-800`;
12486
+ case 'skipped':
12487
+ return `${baseClasses} cqa-bg-gray-100 cqa-text-gray-800`;
12488
+ default:
12489
+ return `${baseClasses} cqa-bg-gray-100 cqa-text-gray-800`;
12490
+ }
12491
+ }
12492
+ get hasItems() {
12493
+ return this.filteredItems && this.filteredItems.length > 0;
12494
+ }
12495
+ get itemsCount() {
12496
+ return this.filteredItems ? this.filteredItems.length : 0;
12497
+ }
12498
+ /** Convert stepNumber to string for the badge label (String() is not available in templates) */
12499
+ toLabel(value) {
12500
+ return '' + value;
12501
+ }
12502
+ trackByItemId(index, item) {
12503
+ return item.id;
12504
+ }
12505
+ }
12506
+ JumpToStepModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: JumpToStepModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12507
+ JumpToStepModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: JumpToStepModalComponent, selector: "cqa-jump-to-step-modal", inputs: { isOpen: "isOpen", title: "title", items: "items", searchPlaceholder: "searchPlaceholder", searchEmptyStateLabel: "searchEmptyStateLabel", searchValue: "searchValue", enableSearch: "enableSearch" }, outputs: { onClose: "onClose", onSearch: "onSearch", onSelect: "onSelect" }, host: { classAttribute: "cqa-ui-root" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"isOpen\"\n class=\"modal-backdrop cqa-fixed cqa-inset-0 cqa-bg-black cqa-bg-opacity-50 cqa-z-50 cqa-flex cqa-items-center cqa-justify-center cqa-p-4\"\n (click)=\"onBackdropClick($event)\">\n <div\n class=\"cqa-rounded-lg cqa-bg-white cqa-shadow-lg cqa-w-full cqa-max-w-[500px] cqa-overflow-hidden cqa-flex cqa-flex-col\"\n style=\"box-shadow: 0px 8px 8px -4px #10182808; max-height: 90vh;\"\n (click)=\"$event.stopPropagation()\">\n\n <!-- Header -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-between cqa-px-6 cqa-pt-6 cqa-pb-4\">\n <h2 class=\"cqa-text-base cqa-font-semibold cqa-text-[#0A0A0A] cqa-leading-[24px] cqa-font-inter\">\n {{ title }}\n </h2>\n <button\n type=\"button\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-6 cqa-h-6 cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer cqa-text-gray-500 hover:cqa-text-gray-700 cqa-transition-colors\"\n (click)=\"handleClose()\"\n aria-label=\"Close modal\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[20px] !cqa-block !cqa-leading-none\">close</mat-icon>\n </button>\n </div>\n\n\n <!-- Search Bar -->\n <div *ngIf=\"enableSearch\" class=\"cqa-px-6 cqa-pb-4\">\n <cqa-search-bar\n [placeholder]=\"searchPlaceholder\"\n [value]=\"searchValue\"\n [fullWidth]=\"true\"\n (valueChange)=\"onSearchValueChange($event)\">\n </cqa-search-bar>\n </div>\n\n <!-- Divider below search -->\n <div class=\"cqa--mx-2 cqa-w-[calc(100%+1rem)] cqa-flex-shrink-0\">\n <div class=\"cqa-h-px cqa-w-full cqa-bg-[#E5E7EB]\" role=\"presentation\"></div>\n </div>\n\n <!-- Steps List -->\n <div class=\"cqa-flex-1 cqa-overflow-y-auto cqa-overflow-x-hidden cqa-px-6 cqa-pt-2\" style=\"scrollbar-width: thin;\">\n <!-- Empty State -->\n <div *ngIf=\"!hasItems\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-justify-center cqa-py-12 cqa-text-center\">\n <p class=\"cqa-text-sm cqa-text-gray-500 cqa-font-inter\">\n {{searchEmptyStateLabel || 'No Data found.'}}\n </p>\n </div>\n\n <!-- Steps List -->\n <div *ngIf=\"hasItems\" class=\"cqa-flex cqa-flex-col\">\n <button\n *ngFor=\"let item of filteredItems; trackBy: trackByItemId\"\n type=\"button\"\n class=\"cqa-flex cqa-items-center cqa-gap-3 cqa-px-3 cqa-py-3 cqa-w-full cqa-text-left cqa-border-0 cqa-bg-transparent hover:cqa-bg-gray-50 cqa-cursor-pointer cqa-transition-colors cqa-rounded-md cqa-min-w-0\"\n (click)=\"onItemClick(item)\">\n\n <!-- Step Number Badge -->\n <span class=\"cqa-inline-flex cqa-items-center cqa-justify-center cqa-rounded-[6px] cqa-text-xs cqa-font-medium cqa-py-[4px] cqa-px-[10px] cqa-flex-shrink-0 cqa-border cqa-border-solid cqa-border-[#E2E8F0] cqa-text-[#3F43EE] cqa-bg-[#F8F9FF]\"\n style=\"min-width: 32px;\">\n {{ item.stepNumber }}\n </span>\n\n <!-- Step Description -->\n <span class=\"cqa-flex-1 cqa-text-sm cqa-text-[#0A0A0A] cqa-font-inter cqa-font-normal cqa-leading-[20px] cqa-min-w-0 cqa-truncate\">\n {{ item.description }}\n </span>\n\n <!-- Status Badge -->\n <span class=\"cqa-flex-shrink-0\" [ngClass]=\"getStatusBadgeClasses(item.status)\">\n {{ item.status }}\n </span>\n\n <!-- Right Arrow Icon-->\n <!-- <span class=\"cqa-flex cqa-items-center cqa-justify-center cqa-flex-shrink-0\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 4L10 8L6 12\" stroke=\"#9CA3AF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </span> -->\n </button>\n </div>\n </div>\n\n <!-- Footer -->\n <div *ngIf=\"hasItems\" class=\"cqa-px-6 cqa-pb-5 cqa-pt-3\">\n <p class=\"cqa-text-xs cqa-text-[#6B7280] cqa-font-inter cqa-font-normal\">\n {{ itemsCount }} {{ itemsCount === 1 ? 'step' : 'steps' }} found\n </p>\n </div>\n </div>\n</div>\n", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: SearchBarComponent, selector: "cqa-search-bar", inputs: ["placeholder", "value", "disabled", "showClear", "ariaLabel", "autoFocus", "size", "fullWidth"], outputs: ["valueChange", "search", "cleared"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
12508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: JumpToStepModalComponent, decorators: [{
12509
+ type: Component,
12510
+ args: [{ selector: 'cqa-jump-to-step-modal', host: { class: 'cqa-ui-root' }, template: "<div *ngIf=\"isOpen\"\n class=\"modal-backdrop cqa-fixed cqa-inset-0 cqa-bg-black cqa-bg-opacity-50 cqa-z-50 cqa-flex cqa-items-center cqa-justify-center cqa-p-4\"\n (click)=\"onBackdropClick($event)\">\n <div\n class=\"cqa-rounded-lg cqa-bg-white cqa-shadow-lg cqa-w-full cqa-max-w-[500px] cqa-overflow-hidden cqa-flex cqa-flex-col\"\n style=\"box-shadow: 0px 8px 8px -4px #10182808; max-height: 90vh;\"\n (click)=\"$event.stopPropagation()\">\n\n <!-- Header -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-between cqa-px-6 cqa-pt-6 cqa-pb-4\">\n <h2 class=\"cqa-text-base cqa-font-semibold cqa-text-[#0A0A0A] cqa-leading-[24px] cqa-font-inter\">\n {{ title }}\n </h2>\n <button\n type=\"button\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-6 cqa-h-6 cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer cqa-text-gray-500 hover:cqa-text-gray-700 cqa-transition-colors\"\n (click)=\"handleClose()\"\n aria-label=\"Close modal\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[20px] !cqa-block !cqa-leading-none\">close</mat-icon>\n </button>\n </div>\n\n\n <!-- Search Bar -->\n <div *ngIf=\"enableSearch\" class=\"cqa-px-6 cqa-pb-4\">\n <cqa-search-bar\n [placeholder]=\"searchPlaceholder\"\n [value]=\"searchValue\"\n [fullWidth]=\"true\"\n (valueChange)=\"onSearchValueChange($event)\">\n </cqa-search-bar>\n </div>\n\n <!-- Divider below search -->\n <div class=\"cqa--mx-2 cqa-w-[calc(100%+1rem)] cqa-flex-shrink-0\">\n <div class=\"cqa-h-px cqa-w-full cqa-bg-[#E5E7EB]\" role=\"presentation\"></div>\n </div>\n\n <!-- Steps List -->\n <div class=\"cqa-flex-1 cqa-overflow-y-auto cqa-overflow-x-hidden cqa-px-6 cqa-pt-2\" style=\"scrollbar-width: thin;\">\n <!-- Empty State -->\n <div *ngIf=\"!hasItems\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-justify-center cqa-py-12 cqa-text-center\">\n <p class=\"cqa-text-sm cqa-text-gray-500 cqa-font-inter\">\n {{searchEmptyStateLabel || 'No Data found.'}}\n </p>\n </div>\n\n <!-- Steps List -->\n <div *ngIf=\"hasItems\" class=\"cqa-flex cqa-flex-col\">\n <button\n *ngFor=\"let item of filteredItems; trackBy: trackByItemId\"\n type=\"button\"\n class=\"cqa-flex cqa-items-center cqa-gap-3 cqa-px-3 cqa-py-3 cqa-w-full cqa-text-left cqa-border-0 cqa-bg-transparent hover:cqa-bg-gray-50 cqa-cursor-pointer cqa-transition-colors cqa-rounded-md cqa-min-w-0\"\n (click)=\"onItemClick(item)\">\n\n <!-- Step Number Badge -->\n <span class=\"cqa-inline-flex cqa-items-center cqa-justify-center cqa-rounded-[6px] cqa-text-xs cqa-font-medium cqa-py-[4px] cqa-px-[10px] cqa-flex-shrink-0 cqa-border cqa-border-solid cqa-border-[#E2E8F0] cqa-text-[#3F43EE] cqa-bg-[#F8F9FF]\"\n style=\"min-width: 32px;\">\n {{ item.stepNumber }}\n </span>\n\n <!-- Step Description -->\n <span class=\"cqa-flex-1 cqa-text-sm cqa-text-[#0A0A0A] cqa-font-inter cqa-font-normal cqa-leading-[20px] cqa-min-w-0 cqa-truncate\">\n {{ item.description }}\n </span>\n\n <!-- Status Badge -->\n <span class=\"cqa-flex-shrink-0\" [ngClass]=\"getStatusBadgeClasses(item.status)\">\n {{ item.status }}\n </span>\n\n <!-- Right Arrow Icon-->\n <!-- <span class=\"cqa-flex cqa-items-center cqa-justify-center cqa-flex-shrink-0\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 4L10 8L6 12\" stroke=\"#9CA3AF\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </span> -->\n </button>\n </div>\n </div>\n\n <!-- Footer -->\n <div *ngIf=\"hasItems\" class=\"cqa-px-6 cqa-pb-5 cqa-pt-3\">\n <p class=\"cqa-text-xs cqa-text-[#6B7280] cqa-font-inter cqa-font-normal\">\n {{ itemsCount }} {{ itemsCount === 1 ? 'step' : 'steps' }} found\n </p>\n </div>\n </div>\n</div>\n", styles: [] }]
12511
+ }], propDecorators: { isOpen: [{
12512
+ type: Input
12513
+ }], title: [{
12514
+ type: Input
12515
+ }], items: [{
12516
+ type: Input
12517
+ }], searchPlaceholder: [{
12518
+ type: Input
12519
+ }], searchEmptyStateLabel: [{
12520
+ type: Input
12521
+ }], searchValue: [{
12522
+ type: Input
12523
+ }], enableSearch: [{
12524
+ type: Input
12525
+ }], onClose: [{
12526
+ type: Output
12527
+ }], onSearch: [{
12528
+ type: Output
12529
+ }], onSelect: [{
12530
+ type: Output
12531
+ }] } });
12532
+
12533
+ class BreakpointsModalComponent {
12534
+ constructor() {
12535
+ /** Whether the modal is open */
12536
+ this.isOpen = false;
12537
+ /** Modal title */
12538
+ this.title = 'Breakpoints';
12539
+ /** List of breakpoint items to display */
12540
+ this.items = [];
12541
+ /** Label for the remove-all button */
12542
+ this.buttonLabel = 'Remove all breakpoints';
12543
+ /** Label for the empty state */
12544
+ this.emptyStateLabel = 'No breakpoints set.';
12545
+ /** Internal copy so items can be removed locally when parent doesn't re-bind */
12546
+ this.displayItems = [];
12547
+ /** Emitted when modal should be closed */
12548
+ this.onClose = new EventEmitter();
12549
+ /** Emitted when a single breakpoint should be removed */
12550
+ this.onRemove = new EventEmitter();
12551
+ /** Emitted when all breakpoints should be removed */
12552
+ this.onRemoveAll = new EventEmitter();
12553
+ }
12554
+ ngOnChanges(changes) {
12555
+ if (changes['items']) {
12556
+ this.displayItems = [...(this.items || [])];
12557
+ }
12558
+ }
12559
+ get summaryText() {
12560
+ const count = this.displayItems.length;
12561
+ if (count === 0)
12562
+ return '';
12563
+ return count === 1 ? '1 breakpoint set' : `${count} breakpoints set`;
12564
+ }
12565
+ get hasItems() {
12566
+ return this.displayItems && this.displayItems.length > 0;
12567
+ }
12568
+ removeItem(item) {
12569
+ this.onRemove.emit(item);
12570
+ this.displayItems = this.displayItems.filter(b => b.stepId !== item.stepId);
12571
+ if (this.displayItems.length === 0) {
12572
+ this.handleClose();
12573
+ }
12574
+ }
12575
+ removeAll() {
12576
+ this.onRemoveAll.emit();
12577
+ this.displayItems = [];
12578
+ }
12579
+ onBackdropClick(event) {
12580
+ const target = event.target;
12581
+ const currentTarget = event.currentTarget;
12582
+ if (target === currentTarget || target.classList.contains('modal-backdrop')) {
12583
+ this.handleClose();
12584
+ }
12585
+ }
12586
+ handleClose() {
12587
+ this.onClose.emit();
12588
+ }
12589
+ trackByItemId(index, item) {
12590
+ return item.id;
12591
+ }
12592
+ }
12593
+ BreakpointsModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: BreakpointsModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12594
+ BreakpointsModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: BreakpointsModalComponent, selector: "cqa-breakpoints-modal", inputs: { isOpen: "isOpen", title: "title", items: "items", buttonLabel: "buttonLabel", emptyStateLabel: "emptyStateLabel" }, outputs: { onClose: "onClose", onRemove: "onRemove", onRemoveAll: "onRemoveAll" }, host: { classAttribute: "cqa-ui-root" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"isOpen\"\n class=\"modal-backdrop cqa-fixed cqa-inset-0 cqa-bg-black cqa-bg-opacity-50 cqa-z-50 cqa-flex cqa-items-center cqa-justify-center cqa-p-4\"\n (click)=\"onBackdropClick($event)\">\n <div\n class=\"cqa-rounded-xl cqa-bg-white cqa-shadow-lg cqa-w-full cqa-max-w-[420px] cqa-overflow-hidden cqa-flex cqa-flex-col\"\n style=\"box-shadow: 0px 8px 8px -4px #10182808; max-height: 90vh;\"\n (click)=\"$event.stopPropagation()\">\n\n <!-- Header -->\n <div class=\"cqa-px-6 cqa-pt-6 cqa-pb-2\">\n <div class=\"cqa-flex cqa-items-start cqa-justify-between cqa-gap-3\">\n <h2 class=\"cqa-text-lg cqa-font-semibold cqa-text-[#0B0B0C] cqa-text-base cqa-font-inter\">\n {{ title }}\n </h2>\n <button\n type=\"button\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-6 cqa-h-6 cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer cqa-text-gray-500 hover:cqa-text-gray-700 cqa-transition-colors cqa-rounded cqa--mt-[2px] cqa--mr-[2px]\"\n (click)=\"handleClose()\"\n aria-label=\"Close modal\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[20px] !cqa-block !cqa-leading-none\">close</mat-icon>\n </button>\n </div>\n <!-- Summary text -->\n <p *ngIf=\"hasItems\" class=\"cqa-text-sm cqa-font-normal cqa-text-[#666666] cqa-text-sm cqa-leading-[1.4] cqa-font-inter cqa-m-0 cqa-mt-1\">\n {{ summaryText }}\n </p>\n </div>\n\n <!-- Divider -->\n <div class=\"cqa--mx-2 cqa-w-[calc(100%+1rem)] cqa-flex-shrink-0\">\n <div class=\"cqa-h-px cqa-w-full cqa-bg-[#E5E7EB]\" role=\"presentation\"></div>\n </div>\n\n <!-- Content -->\n <div class=\"cqa-flex-1 cqa-overflow-y-auto cqa-overflow-x-hidden cqa-px-6 cqa-pt-4 cqa-pb-2\" style=\"scrollbar-width: thin; max-height: 50vh;\">\n <!-- Empty State -->\n <div *ngIf=\"!hasItems\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-justify-center cqa-py-8 cqa-text-center\">\n <p class=\"cqa-text-sm cqa-text-[#666666] cqa-font-inter cqa-m-0\">\n {{ emptyStateLabel || 'No Data Found.' }}\n </p>\n </div>\n\n <!-- Breakpoints List -->\n <div *ngIf=\"hasItems\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n *ngFor=\"let item of displayItems; trackBy: trackByItemId\"\n class=\"cqa-flex cqa-items-start cqa-gap-3 cqa-px-4 cqa-py-3 cqa-bg-[#e5e7eb2e] cqa-rounded-lg cqa-min-w-0 cqa-border cqa-border-solid cqa-border-[#E5E7EB]\">\n\n <!-- Red Breakpoint Dot -->\n <span class=\"cqa-flex-shrink-0 cqa-w-[10px] cqa-h-[10px] cqa-mt-[5px] cqa-rounded-full cqa-bg-[#DC2626]\" aria-hidden=\"true\"></span>\n\n <!-- Text Content -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-[2px] cqa-min-w-0 cqa-flex-1\">\n <span class=\"cqa-text-sm cqa-font-normal cqa-text-[#6B7280] cqa-leading-[1.3] cqa-font-inter\">\n {{ item.primaryLabel }}\n </span>\n <span class=\"cqa-text-sm cqa-font-normal cqa-text-[#111827] cqa-leading-[1.4] cqa-font-inter cqa-break-words\">\n {{ item.secondaryLabel }}\n </span>\n </div>\n <div (click)=\"$event.stopPropagation()\">\n <cqa-button\n type=\"button\"\n variant=\"text\"\n [customClass]=\"'cqa-api-edit-step-verification-delete'\"\n [tooltip]=\"'Remove breakpoint'\"\n (clicked)=\"removeItem(item)\">\n <svg class=\"cqa-api-edit-step-verification-delete-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <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=\"#99999E\" />\n </svg>\n </cqa-button>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Footer: Remove All Button -->\n <div *ngIf=\"hasItems\" class=\"cqa-px-6 cqa-pb-6 cqa-pt-4\">\n \n <cqa-button\n [fullWidth]=\"true\"\n (click)=\"removeAll()\"\n [label]=\"buttonLabel\"\n variant=\"outlined\"\n color=\"black\"\n [text]=\"buttonLabel\"\n >\n </cqa-button>\n <!-- <button\n type=\"button\"\n class=\"cqa-w-full cqa-py-[10px] cqa-px-5 cqa-text-sm cqa-font-medium cqa-text-[#212121] cqa-bg-white cqa-border cqa-border-solid cqa-border-[#D9D9D9] cqa-rounded-lg cqa-cursor-pointer cqa-transition-colors hover:cqa-bg-[#F9FAFB] hover:cqa-border-[#9CA3AF] cqa-font-inter\"\n (click)=\"removeAll()\">\n {{ buttonLabel }}\n </button> -->\n </div>\n </div>\n</div>\n\n", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: ButtonComponent, selector: "cqa-button", inputs: ["variant", "btnSize", "disabled", "icon", "iconPosition", "fullWidth", "iconColor", "type", "text", "customClass", "inlineStyles", "tooltip", "tooltipPosition"], outputs: ["clicked"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
12595
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: BreakpointsModalComponent, decorators: [{
12596
+ type: Component,
12597
+ args: [{ selector: 'cqa-breakpoints-modal', host: { class: 'cqa-ui-root' }, template: "<div *ngIf=\"isOpen\"\n class=\"modal-backdrop cqa-fixed cqa-inset-0 cqa-bg-black cqa-bg-opacity-50 cqa-z-50 cqa-flex cqa-items-center cqa-justify-center cqa-p-4\"\n (click)=\"onBackdropClick($event)\">\n <div\n class=\"cqa-rounded-xl cqa-bg-white cqa-shadow-lg cqa-w-full cqa-max-w-[420px] cqa-overflow-hidden cqa-flex cqa-flex-col\"\n style=\"box-shadow: 0px 8px 8px -4px #10182808; max-height: 90vh;\"\n (click)=\"$event.stopPropagation()\">\n\n <!-- Header -->\n <div class=\"cqa-px-6 cqa-pt-6 cqa-pb-2\">\n <div class=\"cqa-flex cqa-items-start cqa-justify-between cqa-gap-3\">\n <h2 class=\"cqa-text-lg cqa-font-semibold cqa-text-[#0B0B0C] cqa-text-base cqa-font-inter\">\n {{ title }}\n </h2>\n <button\n type=\"button\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-6 cqa-h-6 cqa-p-0 cqa-border-0 cqa-bg-transparent cqa-cursor-pointer cqa-text-gray-500 hover:cqa-text-gray-700 cqa-transition-colors cqa-rounded cqa--mt-[2px] cqa--mr-[2px]\"\n (click)=\"handleClose()\"\n aria-label=\"Close modal\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[20px] !cqa-block !cqa-leading-none\">close</mat-icon>\n </button>\n </div>\n <!-- Summary text -->\n <p *ngIf=\"hasItems\" class=\"cqa-text-sm cqa-font-normal cqa-text-[#666666] cqa-text-sm cqa-leading-[1.4] cqa-font-inter cqa-m-0 cqa-mt-1\">\n {{ summaryText }}\n </p>\n </div>\n\n <!-- Divider -->\n <div class=\"cqa--mx-2 cqa-w-[calc(100%+1rem)] cqa-flex-shrink-0\">\n <div class=\"cqa-h-px cqa-w-full cqa-bg-[#E5E7EB]\" role=\"presentation\"></div>\n </div>\n\n <!-- Content -->\n <div class=\"cqa-flex-1 cqa-overflow-y-auto cqa-overflow-x-hidden cqa-px-6 cqa-pt-4 cqa-pb-2\" style=\"scrollbar-width: thin; max-height: 50vh;\">\n <!-- Empty State -->\n <div *ngIf=\"!hasItems\" class=\"cqa-flex cqa-flex-col cqa-items-center cqa-justify-center cqa-py-8 cqa-text-center\">\n <p class=\"cqa-text-sm cqa-text-[#666666] cqa-font-inter cqa-m-0\">\n {{ emptyStateLabel || 'No Data Found.' }}\n </p>\n </div>\n\n <!-- Breakpoints List -->\n <div *ngIf=\"hasItems\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n *ngFor=\"let item of displayItems; trackBy: trackByItemId\"\n class=\"cqa-flex cqa-items-start cqa-gap-3 cqa-px-4 cqa-py-3 cqa-bg-[#e5e7eb2e] cqa-rounded-lg cqa-min-w-0 cqa-border cqa-border-solid cqa-border-[#E5E7EB]\">\n\n <!-- Red Breakpoint Dot -->\n <span class=\"cqa-flex-shrink-0 cqa-w-[10px] cqa-h-[10px] cqa-mt-[5px] cqa-rounded-full cqa-bg-[#DC2626]\" aria-hidden=\"true\"></span>\n\n <!-- Text Content -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-[2px] cqa-min-w-0 cqa-flex-1\">\n <span class=\"cqa-text-sm cqa-font-normal cqa-text-[#6B7280] cqa-leading-[1.3] cqa-font-inter\">\n {{ item.primaryLabel }}\n </span>\n <span class=\"cqa-text-sm cqa-font-normal cqa-text-[#111827] cqa-leading-[1.4] cqa-font-inter cqa-break-words\">\n {{ item.secondaryLabel }}\n </span>\n </div>\n <div (click)=\"$event.stopPropagation()\">\n <cqa-button\n type=\"button\"\n variant=\"text\"\n [customClass]=\"'cqa-api-edit-step-verification-delete'\"\n [tooltip]=\"'Remove breakpoint'\"\n (clicked)=\"removeItem(item)\">\n <svg class=\"cqa-api-edit-step-verification-delete-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <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=\"#99999E\" />\n </svg>\n </cqa-button>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Footer: Remove All Button -->\n <div *ngIf=\"hasItems\" class=\"cqa-px-6 cqa-pb-6 cqa-pt-4\">\n \n <cqa-button\n [fullWidth]=\"true\"\n (click)=\"removeAll()\"\n [label]=\"buttonLabel\"\n variant=\"outlined\"\n color=\"black\"\n [text]=\"buttonLabel\"\n >\n </cqa-button>\n <!-- <button\n type=\"button\"\n class=\"cqa-w-full cqa-py-[10px] cqa-px-5 cqa-text-sm cqa-font-medium cqa-text-[#212121] cqa-bg-white cqa-border cqa-border-solid cqa-border-[#D9D9D9] cqa-rounded-lg cqa-cursor-pointer cqa-transition-colors hover:cqa-bg-[#F9FAFB] hover:cqa-border-[#9CA3AF] cqa-font-inter\"\n (click)=\"removeAll()\">\n {{ buttonLabel }}\n </button> -->\n </div>\n </div>\n</div>\n\n", styles: [] }]
12598
+ }], propDecorators: { isOpen: [{
12599
+ type: Input
12600
+ }], title: [{
12601
+ type: Input
12602
+ }], items: [{
12603
+ type: Input
12604
+ }], buttonLabel: [{
12605
+ type: Input
12606
+ }], emptyStateLabel: [{
12607
+ type: Input
12608
+ }], onClose: [{
12609
+ type: Output
12610
+ }], onRemove: [{
12611
+ type: Output
12612
+ }], onRemoveAll: [{
12613
+ type: Output
12614
+ }] } });
12615
+
12409
12616
  class MainStepCollapseComponent {
12410
12617
  constructor() {
12411
12618
  this.title = 'Prerequisites';
@@ -29110,6 +29317,8 @@ UiKitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
29110
29317
  FileDownloadStepComponent,
29111
29318
  DocumentVerificationStepComponent,
29112
29319
  LiveExecutionStepComponent,
29320
+ JumpToStepModalComponent,
29321
+ BreakpointsModalComponent,
29113
29322
  MainStepCollapseComponent,
29114
29323
  VisualComparisonComponent,
29115
29324
  SimulatorComponent,
@@ -29249,6 +29458,8 @@ UiKitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
29249
29458
  FileDownloadStepComponent,
29250
29459
  DocumentVerificationStepComponent,
29251
29460
  LiveExecutionStepComponent,
29461
+ JumpToStepModalComponent,
29462
+ BreakpointsModalComponent,
29252
29463
  MainStepCollapseComponent,
29253
29464
  VisualComparisonComponent,
29254
29465
  SimulatorComponent,
@@ -29435,6 +29646,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
29435
29646
  FileDownloadStepComponent,
29436
29647
  DocumentVerificationStepComponent,
29437
29648
  LiveExecutionStepComponent,
29649
+ JumpToStepModalComponent,
29650
+ BreakpointsModalComponent,
29438
29651
  MainStepCollapseComponent,
29439
29652
  VisualComparisonComponent,
29440
29653
  SimulatorComponent,
@@ -29580,6 +29793,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
29580
29793
  FileDownloadStepComponent,
29581
29794
  DocumentVerificationStepComponent,
29582
29795
  LiveExecutionStepComponent,
29796
+ JumpToStepModalComponent,
29797
+ BreakpointsModalComponent,
29583
29798
  MainStepCollapseComponent,
29584
29799
  VisualComparisonComponent,
29585
29800
  SimulatorComponent,
@@ -30323,5 +30538,5 @@ function buildTestCaseDetailsFromApi(data, options) {
30323
30538
  * Generated bundle index. Do not edit.
30324
30539
  */
30325
30540
 
30326
- export { ADVANCED_SUBFIELDS_BY_TYPE, ADVANCED_TOGGLE_KEYS, AIActionStepComponent, AIAgentStepComponent, API_EDIT_STEP_LABELS, ActionMenuButtonComponent, AddPrerequisiteCasesSectionComponent, AiDebugAlertComponent, AiReasoningComponent, ApiEditStepComponent, ApiStepComponent, AutocompleteComponent, BadgeComponent, BasicStepComponent, ButtonComponent, CUSTOM_EDIT_STEP_DATA, CUSTOM_EDIT_STEP_EDIT_IN_DEPTH, CUSTOM_EDIT_STEP_REF, CUSTOM_ELEMENT_POPUP_REF, ChartCardComponent, ColumnVisibilityComponent, CompareRunsComponent, ConditionStepComponent, ConfigurationCardComponent, ConsoleAlertComponent, CoverageModuleCardComponent, CreateStepGroupComponent, CustomEditStepComponent, CustomEditStepRef, CustomEditStepService, CustomInputComponent, CustomTextareaComponent, CustomToggleComponent, DEFAULT_METADATA_COLOR, DEFAULT_PRIORITY_COLOR_CONFIG, DEFAULT_STATUS_COLOR_CONFIG, DIALOG_DATA, DIALOG_REF, DashboardHeaderComponent, DaterangepickerComponent, DaterangepickerDirective, DbQueryExecutionItemComponent, DbVerificationStepComponent, DeleteStepsComponent, DetailDrawerComponent, DetailDrawerTabComponent, DetailDrawerTabContentDirective, DetailSidePanelComponent, DialogComponent, DialogRef, DialogService, DocumentVerificationStepComponent, DropdownButtonComponent, DynamicCellContainerDirective, DynamicCellTemplateDirective, DynamicFilterComponent, DynamicHeaderTemplateDirective, DynamicSelectFieldComponent, DynamicTableComponent, ELEMENT_POPUP_DATA, ELEMENT_POPUP_EDIT_IN_DEPTH, EMPTY_STATE_IMAGES, EMPTY_STATE_PRESETS, ElementListComponent, ElementPopupComponent, ElementPopupRef, ElementPopupService, EmptyStateComponent, ErrorModalComponent, ExecutionResultModalComponent, FailedStepCardComponent, FailedStepComponent, FailedTestCasesCardComponent, FileDownloadStepComponent, FileUploadComponent, FullTableLoaderComponent, HeatErrorMapCellComponent, InsightCardComponent, ItemListComponent, IterationsLoopComponent, LiveConversationComponent, LiveExecutionStepComponent, LoopStepComponent, MainStepCollapseComponent, MetricsCardComponent, NetworkRequestComponent, OtherButtonComponent, PRIORITY_COLORS, PaginationComponent, ProgressIndicatorComponent, ProgressTextCardComponent, RESULT_COLORS, RunHistoryCardComponent, STATUS_COLORS, STEP_DETAILS_DRAWER_DATA, STEP_DETAILS_DRAWER_REF, STEP_DETAILS_FIELDS_BY_TYPE, STEP_DETAILS_FIELD_META, SearchBarComponent, SegmentControlComponent, SelectedFiltersComponent, SelfHealAnalysisComponent, SessionChangesModalComponent, SimulatorComponent, StepBuilderActionComponent, StepBuilderAiAgentComponent, StepBuilderConditionComponent, StepBuilderCustomCodeComponent, StepBuilderDatabaseComponent, StepBuilderDocumentComponent, StepBuilderDocumentGenerationTemplateStepComponent, StepBuilderGroupComponent, StepBuilderLoopComponent, StepBuilderRecordStepComponent, StepDetailsDrawerComponent, StepDetailsDrawerRef, StepDetailsDrawerService, StepGroupComponent, StepProgressCardComponent, StepRendererComponent, StepStatusCardComponent, StepTypes, TEST_CASE_DETAILS_FIELD_MAP, TEST_CASE_DETAILS_SELECT_KEYS, TEST_DATA_MODAL_DATA, TEST_DATA_MODAL_EDIT_IN_DEPTH, TEST_DATA_MODAL_REF, TableActionToolbarComponent, TableDataLoaderComponent, TableTemplateComponent, TailwindOverlayContainer, TemplateVariablesFormComponent, TestCaseAiAgentStepComponent, TestCaseAiVerifyStepComponent, TestCaseApiStepComponent, TestCaseConditionStepComponent, TestCaseCustomCodeStepComponent, TestCaseDatabaseStepComponent, TestCaseDetailsComponent, TestCaseDetailsEditComponent, TestCaseDetailsRendererComponent, TestCaseLoopStepComponent, TestCaseNormalStepComponent, TestCaseRestoreSessionStepComponent, TestCaseScreenshotStepComponent, TestCaseScrollStepComponent, TestCaseStepGroupComponent, TestCaseUploadStepComponent, TestCaseVerifyUrlStepComponent, TestDataModalComponent, TestDataModalRef, TestDataModalService, TestDistributionCardComponent, UiKitModule, UpdatedFailedStepComponent, ViewMoreFailedStepButtonComponent, VisualComparisonComponent, VisualDifferenceModalComponent, buildTestCaseDetailsFromApi, getDynamicFieldsFromLegacyConfig, getEmptyStatePreset, getMetadataColor, getMetadataValueStyle, getStepDetailsStepType, humanizeVariableKey, isAiAgentStepConfig, isAiVerifyStepConfig, isApiStepConfig, isConditionStepConfig, isCustomCodeStepConfig, isDatabaseStepConfig, isLoopStepConfig, isNormalStepConfig, isRestoreSessionStepConfig, isScreenshotStepConfig, isScrollStepConfig, isStepGroupConfig, isUploadStepConfig, isVerifyUrlStepConfig, mapApiVariablesToDynamicFields };
30541
+ export { ADVANCED_SUBFIELDS_BY_TYPE, ADVANCED_TOGGLE_KEYS, AIActionStepComponent, AIAgentStepComponent, API_EDIT_STEP_LABELS, ActionMenuButtonComponent, AddPrerequisiteCasesSectionComponent, AiDebugAlertComponent, AiReasoningComponent, ApiEditStepComponent, ApiStepComponent, AutocompleteComponent, BadgeComponent, BasicStepComponent, BreakpointsModalComponent, ButtonComponent, CUSTOM_EDIT_STEP_DATA, CUSTOM_EDIT_STEP_EDIT_IN_DEPTH, CUSTOM_EDIT_STEP_REF, CUSTOM_ELEMENT_POPUP_REF, ChartCardComponent, ColumnVisibilityComponent, CompareRunsComponent, ConditionStepComponent, ConfigurationCardComponent, ConsoleAlertComponent, CoverageModuleCardComponent, CreateStepGroupComponent, CustomEditStepComponent, CustomEditStepRef, CustomEditStepService, CustomInputComponent, CustomTextareaComponent, CustomToggleComponent, DEFAULT_METADATA_COLOR, DEFAULT_PRIORITY_COLOR_CONFIG, DEFAULT_STATUS_COLOR_CONFIG, DIALOG_DATA, DIALOG_REF, DashboardHeaderComponent, DaterangepickerComponent, DaterangepickerDirective, DbQueryExecutionItemComponent, DbVerificationStepComponent, DeleteStepsComponent, DetailDrawerComponent, DetailDrawerTabComponent, DetailDrawerTabContentDirective, DetailSidePanelComponent, DialogComponent, DialogRef, DialogService, DocumentVerificationStepComponent, DropdownButtonComponent, DynamicCellContainerDirective, DynamicCellTemplateDirective, DynamicFilterComponent, DynamicHeaderTemplateDirective, DynamicSelectFieldComponent, DynamicTableComponent, ELEMENT_POPUP_DATA, ELEMENT_POPUP_EDIT_IN_DEPTH, EMPTY_STATE_IMAGES, EMPTY_STATE_PRESETS, ElementListComponent, ElementPopupComponent, ElementPopupRef, ElementPopupService, EmptyStateComponent, ErrorModalComponent, ExecutionResultModalComponent, FailedStepCardComponent, FailedStepComponent, FailedTestCasesCardComponent, FileDownloadStepComponent, FileUploadComponent, FullTableLoaderComponent, HeatErrorMapCellComponent, InsightCardComponent, ItemListComponent, IterationsLoopComponent, JumpToStepModalComponent, LiveConversationComponent, LiveExecutionStepComponent, LoopStepComponent, MainStepCollapseComponent, MetricsCardComponent, NetworkRequestComponent, OtherButtonComponent, PRIORITY_COLORS, PaginationComponent, ProgressIndicatorComponent, ProgressTextCardComponent, RESULT_COLORS, RunHistoryCardComponent, STATUS_COLORS, STEP_DETAILS_DRAWER_DATA, STEP_DETAILS_DRAWER_REF, STEP_DETAILS_FIELDS_BY_TYPE, STEP_DETAILS_FIELD_META, SearchBarComponent, SegmentControlComponent, SelectedFiltersComponent, SelfHealAnalysisComponent, SessionChangesModalComponent, SimulatorComponent, StepBuilderActionComponent, StepBuilderAiAgentComponent, StepBuilderConditionComponent, StepBuilderCustomCodeComponent, StepBuilderDatabaseComponent, StepBuilderDocumentComponent, StepBuilderDocumentGenerationTemplateStepComponent, StepBuilderGroupComponent, StepBuilderLoopComponent, StepBuilderRecordStepComponent, StepDetailsDrawerComponent, StepDetailsDrawerRef, StepDetailsDrawerService, StepGroupComponent, StepProgressCardComponent, StepRendererComponent, StepStatusCardComponent, StepTypes, TEST_CASE_DETAILS_FIELD_MAP, TEST_CASE_DETAILS_SELECT_KEYS, TEST_DATA_MODAL_DATA, TEST_DATA_MODAL_EDIT_IN_DEPTH, TEST_DATA_MODAL_REF, TableActionToolbarComponent, TableDataLoaderComponent, TableTemplateComponent, TailwindOverlayContainer, TemplateVariablesFormComponent, TestCaseAiAgentStepComponent, TestCaseAiVerifyStepComponent, TestCaseApiStepComponent, TestCaseConditionStepComponent, TestCaseCustomCodeStepComponent, TestCaseDatabaseStepComponent, TestCaseDetailsComponent, TestCaseDetailsEditComponent, TestCaseDetailsRendererComponent, TestCaseLoopStepComponent, TestCaseNormalStepComponent, TestCaseRestoreSessionStepComponent, TestCaseScreenshotStepComponent, TestCaseScrollStepComponent, TestCaseStepGroupComponent, TestCaseUploadStepComponent, TestCaseVerifyUrlStepComponent, TestDataModalComponent, TestDataModalRef, TestDataModalService, TestDistributionCardComponent, UiKitModule, UpdatedFailedStepComponent, ViewMoreFailedStepButtonComponent, VisualComparisonComponent, VisualDifferenceModalComponent, buildTestCaseDetailsFromApi, getDynamicFieldsFromLegacyConfig, getEmptyStatePreset, getMetadataColor, getMetadataValueStyle, getStepDetailsStepType, humanizeVariableKey, isAiAgentStepConfig, isAiVerifyStepConfig, isApiStepConfig, isConditionStepConfig, isCustomCodeStepConfig, isDatabaseStepConfig, isLoopStepConfig, isNormalStepConfig, isRestoreSessionStepConfig, isScreenshotStepConfig, isScrollStepConfig, isStepGroupConfig, isUploadStepConfig, isVerifyUrlStepConfig, mapApiVariablesToDynamicFields };
30327
30542
  //# sourceMappingURL=cqa-lib-cqa-ui.mjs.map