@cqa-lib/cqa-ui 1.1.543 → 1.1.545

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 (29) hide show
  1. package/esm2020/lib/templates/modular-table-template/dialogs/delete-folder-dialog.component.mjs +7 -7
  2. package/esm2020/lib/templates/modular-table-template/dialogs/move-to-folder-dialog.component.mjs +23 -23
  3. package/esm2020/lib/templates/modular-table-template/dialogs/new-folder-dialog.component.mjs +2 -2
  4. package/esm2020/lib/templates/modular-table-template/directives/folder-drop.directive.mjs +2 -2
  5. package/esm2020/lib/templates/modular-table-template/folder-sidebar/folder-sidebar.component.mjs +10 -10
  6. package/esm2020/lib/templates/modular-table-template/modular-table-template.component.mjs +15 -15
  7. package/esm2020/lib/templates/modular-table-template/modular-table-template.models.mjs +8 -8
  8. package/esm2020/lib/test-case-details/test-case-details-edit/test-case-details-edit.component.mjs +159 -7
  9. package/esm2020/lib/test-case-details/test-case-details.component.mjs +7 -3
  10. package/esm2020/lib/ui-kit.module.mjs +6 -1
  11. package/esm2020/lib/viewport-selector/viewport-selector.component.mjs +348 -0
  12. package/esm2020/public-api.mjs +2 -1
  13. package/fesm2015/cqa-lib-cqa-ui.mjs +583 -104
  14. package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
  15. package/fesm2020/cqa-lib-cqa-ui.mjs +599 -101
  16. package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
  17. package/lib/templates/modular-table-template/dialogs/move-to-folder-dialog.component.d.ts +2 -2
  18. package/lib/templates/modular-table-template/dialogs/new-folder-dialog.component.d.ts +1 -1
  19. package/lib/templates/modular-table-template/directives/folder-drop.directive.d.ts +1 -1
  20. package/lib/templates/modular-table-template/folder-sidebar/folder-sidebar.component.d.ts +5 -5
  21. package/lib/templates/modular-table-template/modular-table-template.component.d.ts +8 -8
  22. package/lib/templates/modular-table-template/modular-table-template.models.d.ts +7 -7
  23. package/lib/test-case-details/test-case-details-edit/test-case-details-edit.component.d.ts +30 -1
  24. package/lib/test-case-details/test-case-details.component.d.ts +8 -1
  25. package/lib/ui-kit.module.d.ts +189 -188
  26. package/lib/viewport-selector/viewport-selector.component.d.ts +74 -0
  27. package/package.json +1 -1
  28. package/public-api.d.ts +1 -0
  29. package/styles.css +1 -1
@@ -37,7 +37,7 @@ export declare class MoveToFolderDialogComponent implements OnInit, OnChanges {
37
37
  /** Folder ids to expand by default. If not provided, ancestors of `currentFolderId` (or
38
38
  * `pickedFolderId`, when no current context exists) are expanded. */
39
39
  initialExpandedIds?: number[];
40
- /** Disables the top-level "Unorganised / no folder" row. Decoupled from `currentFolderId`
40
+ /** Disables the top-level "Unorganized / no folder" row. Decoupled from `currentFolderId`
41
41
  * so consumers that reuse this picker for non-move flows (e.g. parent-folder selection
42
42
  * inside the New Folder dialog) can keep the root option clickable. The move flows wire
43
43
  * this to `currentFolderId == null`. */
@@ -57,7 +57,7 @@ export declare class MoveToFolderDialogComponent implements OnInit, OnChanges {
57
57
  private collectAncestors;
58
58
  get flatRows(): FlatFolderRow[];
59
59
  isPicked(id: number | null): boolean;
60
- get isUnorganisedDisabled(): boolean;
60
+ get isUnorganizedDisabled(): boolean;
61
61
  pick(id: number | null): void;
62
62
  toggleExpanded(id: number, event: Event): void;
63
63
  trackById: (_: number, row: FlatFolderRow) => number;
@@ -49,7 +49,7 @@ export declare class NewFolderDialogComponent {
49
49
  }>;
50
50
  cancelled: EventEmitter<void>;
51
51
  /** Labels passed to the embedded tree picker. Re-uses the move-dialog surface but
52
- * rewrites the root row's label so it reads "(no parent)" instead of "Unorganised"
52
+ * rewrites the root row's label so it reads "(no parent)" instead of "Unorganized"
53
53
  * for the create-folder context. */
54
54
  parentPickerLabels: ModularLabels;
55
55
  constructor(cdr: ChangeDetectorRef);
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class FolderDropDirective {
4
- /** Folder id this drop target represents. `null` means "unorganised / root". */
4
+ /** Folder id this drop target represents. `null` means "unorganized / root". */
5
5
  targetFolderId: number | null;
6
6
  dropEnabled: boolean;
7
7
  testsDropped: EventEmitter<{
@@ -17,7 +17,7 @@ export declare class FolderSidebarComponent implements OnDestroy {
17
17
  folders: FolderNode[];
18
18
  selectedFolderId: number | null;
19
19
  expandedFolderIds: number[];
20
- unorganisedCount: number;
20
+ unorganizedCount: number;
21
21
  allowCreate: boolean;
22
22
  allowRename: boolean;
23
23
  allowDelete: boolean;
@@ -90,7 +90,7 @@ export declare class FolderSidebarComponent implements OnDestroy {
90
90
  testIds: Array<string | number>;
91
91
  targetFolderId: number | null;
92
92
  }>;
93
- /** Fires when a folder row is dropped onto another folder (or the Unorganised row). */
93
+ /** Fires when a folder row is dropped onto another folder (or the Unorganized row). */
94
94
  folderDropped: EventEmitter<{
95
95
  id: number;
96
96
  newParentId: number | null;
@@ -161,7 +161,7 @@ export declare class FolderSidebarComponent implements OnDestroy {
161
161
  * are available on the backend. Suppressed during sidebar search. */
162
162
  onTreeScroll(event: Event): void;
163
163
  onSelect(n: FolderNode | null): void;
164
- onSelectUnorganised(): void;
164
+ onSelectUnorganized(): void;
165
165
  beginRename(n: FolderNode, event: Event): void;
166
166
  /** True when the active rename draft passes the name rules (non-empty, within max length). */
167
167
  get isRenameDraftValid(): boolean;
@@ -206,7 +206,7 @@ export declare class FolderSidebarComponent implements OnDestroy {
206
206
  /**
207
207
  * Drop target received a folder drag. Validate against self/descendant cycles and
208
208
  * emit `folderDropped` if the move is legal. Called from the directive's
209
- * `(folderDropped)` output on every row and on the Unorganised row.
209
+ * `(folderDropped)` output on every row and on the Unorganized row.
210
210
  */
211
211
  onFolderRowDropped(targetId: number | null, event: {
212
212
  folderId: number;
@@ -233,6 +233,6 @@ export declare class FolderSidebarComponent implements OnDestroy {
233
233
  */
234
234
  private focusRenameInput;
235
235
  static ɵfac: i0.ɵɵFactoryDeclaration<FolderSidebarComponent, never>;
236
- static ɵcmp: i0.ɵɵComponentDeclaration<FolderSidebarComponent, "cqa-folder-sidebar", never, { "folders": "folders"; "selectedFolderId": "selectedFolderId"; "expandedFolderIds": "expandedFolderIds"; "unorganisedCount": "unorganisedCount"; "allowCreate": "allowCreate"; "allowRename": "allowRename"; "allowDelete": "allowDelete"; "allowMove": "allowMove"; "allowDuplicate": "allowDuplicate"; "allowDrop": "allowDrop"; "showCounts": "showCounts"; "collapsed": "collapsed"; "labels": "labels"; "serverSideSearch": "serverSideSearch"; "rootTotal": "rootTotal"; "folderSearchLoading": "folderSearchLoading"; "rootFoldersLoading": "rootFoldersLoading"; }, { "folderSelected": "folderSelected"; "folderExpansionToggled": "folderExpansionToggled"; "folderChildrenRequested": "folderChildrenRequested"; "folderLoadMoreRequested": "folderLoadMoreRequested"; "searchChange": "searchChange"; "rootLoadMoreRequested": "rootLoadMoreRequested"; "folderCreated": "folderCreated"; "folderCreateRequested": "folderCreateRequested"; "folderRenamed": "folderRenamed"; "folderDeleted": "folderDeleted"; "folderMoveRequested": "folderMoveRequested"; "folderDuplicateRequested": "folderDuplicateRequested"; "testsDropped": "testsDropped"; "folderDropped": "folderDropped"; "collapsedChange": "collapsedChange"; }, never, never>;
236
+ static ɵcmp: i0.ɵɵComponentDeclaration<FolderSidebarComponent, "cqa-folder-sidebar", never, { "folders": "folders"; "selectedFolderId": "selectedFolderId"; "expandedFolderIds": "expandedFolderIds"; "unorganizedCount": "unorganizedCount"; "allowCreate": "allowCreate"; "allowRename": "allowRename"; "allowDelete": "allowDelete"; "allowMove": "allowMove"; "allowDuplicate": "allowDuplicate"; "allowDrop": "allowDrop"; "showCounts": "showCounts"; "collapsed": "collapsed"; "labels": "labels"; "serverSideSearch": "serverSideSearch"; "rootTotal": "rootTotal"; "folderSearchLoading": "folderSearchLoading"; "rootFoldersLoading": "rootFoldersLoading"; }, { "folderSelected": "folderSelected"; "folderExpansionToggled": "folderExpansionToggled"; "folderChildrenRequested": "folderChildrenRequested"; "folderLoadMoreRequested": "folderLoadMoreRequested"; "searchChange": "searchChange"; "rootLoadMoreRequested": "rootLoadMoreRequested"; "folderCreated": "folderCreated"; "folderCreateRequested": "folderCreateRequested"; "folderRenamed": "folderRenamed"; "folderDeleted": "folderDeleted"; "folderMoveRequested": "folderMoveRequested"; "folderDuplicateRequested": "folderDuplicateRequested"; "testsDropped": "testsDropped"; "folderDropped": "folderDropped"; "collapsedChange": "collapsedChange"; }, never, never>;
237
237
  }
238
238
  export {};
@@ -116,15 +116,15 @@ export declare class ModularTableTemplateComponent implements OnInit, OnChanges,
116
116
  filteredRows: any[];
117
117
  pagedRows: any[];
118
118
  folders: FolderNode[];
119
- /** Host-provided snapshot of root-level folders for the "Organised" grid.
119
+ /** Host-provided snapshot of root-level folders for the "Organized" grid.
120
120
  * When set, takes precedence over `this.folders` for `rootFolderTiles` so
121
- * the Organised section stays stable while sidebar search swaps `folders`
121
+ * the Organized section stays stable while sidebar search swaps `folders`
122
122
  * to a filtered result set. Mirrors the host-driven fallback pattern used
123
123
  * by `selectedFolderNode` (subfolders) and `selectedFolderTrail` (breadcrumb). */
124
124
  rootFolders: FolderNode[] | null;
125
125
  selectedFolderId: number | null;
126
126
  expandedFolderIds: number[];
127
- unorganisedCount: number;
127
+ unorganizedCount: number;
128
128
  folderIdAccessor: FolderIdAccessor;
129
129
  modularConfig: ModularConfig;
130
130
  modularLabels: ModularLabels;
@@ -141,7 +141,7 @@ export declare class ModularTableTemplateComponent implements OnInit, OnChanges,
141
141
  folderSearchLoading: boolean;
142
142
  /** Lazy-load: true while a root-page fetch is in flight (initial load OR
143
143
  * the scroll-driven "load more" pagination). Drives the loading indicator
144
- * the modular grid renders at the right edge of the Organised row, and is
144
+ * the modular grid renders at the right edge of the Organized row, and is
145
145
  * forwarded to the sidebar for its own loading affordance. */
146
146
  rootFoldersLoading: boolean;
147
147
  /** Override for the currently-selected folder node. Used as a fallback when
@@ -377,7 +377,7 @@ export declare class ModularTableTemplateComponent implements OnInit, OnChanges,
377
377
  }>;
378
378
  get arrowClasses(): string;
379
379
  /**
380
- * Flat list of root-level folders for the "Organised" grid on the root view.
380
+ * Flat list of root-level folders for the "Organized" grid on the root view.
381
381
  * Prefers the host-provided `rootFolders` snapshot when set — analogous to
382
382
  * how `subfolderTiles` falls back to `selectedFolderNode` and `breadcrumbTrail`
383
383
  * falls back to `selectedFolderTrail` when `folders` has been swapped to a
@@ -433,12 +433,12 @@ export declare class ModularTableTemplateComponent implements OnInit, OnChanges,
433
433
  * reason as `lastRootGridLoadAt`. */
434
434
  private lastSubfolderGridLoadAt;
435
435
  private static readonly GRID_SCROLL_LOAD_THRESHOLD_PX;
436
- /** Horizontal-scroll handler for the "Organised" root tiles. Emits
436
+ /** Horizontal-scroll handler for the "Organized" root tiles. Emits
437
437
  * `rootLoadMoreRequested` when the user scrolls within
438
438
  * `GRID_SCROLL_LOAD_THRESHOLD_PX` of the right edge AND more roots are
439
439
  * available on the backend. Throttled by `lastRootGridLoadAt`.
440
440
  * Uses `rootFolderTiles.length` (not `folders.length`) so the gate stays
441
- * correct when `rootFolders` decouples the Organised grid from the
441
+ * correct when `rootFolders` decouples the Organized grid from the
442
442
  * search-filtered `folders` input. */
443
443
  onRootGridScroll(event: Event): void;
444
444
  /** Horizontal-scroll handler for the "Subfolders in X" tiles. Emits
@@ -533,5 +533,5 @@ export declare class ModularTableTemplateComponent implements OnInit, OnChanges,
533
533
  */
534
534
  buildRowDragPayload: (row: any) => Array<string | number>;
535
535
  static ɵfac: i0.ɵɵFactoryDeclaration<ModularTableTemplateComponent, never>;
536
- static ɵcmp: i0.ɵɵComponentDeclaration<ModularTableTemplateComponent, "cqa-modular-table-template", never, { "searchPlaceholder": "searchPlaceholder"; "searchValue": "searchValue"; "showClear": "showClear"; "showSearchBar": "showSearchBar"; "showExportButton": "showExportButton"; "isExporting": "isExporting"; "filterConfig": "filterConfig"; "filterModel": "filterModel"; "showFilterPanel": "showFilterPanel"; "showFilterButton": "showFilterButton"; "otherButtons": "otherButtons"; "otherDropDownButtons": "otherDropDownButtons"; "otherSelectDropDownButtons": "otherSelectDropDownButtons"; "otherButtonLabel": "otherButtonLabel"; "otherButtonVariant": "otherButtonVariant"; "showOtherButton": "showOtherButton"; "showActionButton": "showActionButton"; "showSettingsButton": "showSettingsButton"; "showAutoRefreshButton": "showAutoRefreshButton"; "showViewModeToggle": "showViewModeToggle"; "viewMode": "viewMode"; "viewModeLabels": "viewModeLabels"; "data": "data"; "isEmptyState": "isEmptyState"; "emptyStateConfig": "emptyStateConfig"; "actions": "actions"; "chips": "chips"; "filterApplied": "filterApplied"; "columns": "columns"; "rowSelectable": "rowSelectable"; "selectedAutoRefreshInterval": "selectedAutoRefreshInterval"; "pageIndex": "pageIndex"; "pageSize": "pageSize"; "pageSizeOptions": "pageSizeOptions"; "pageSizeMenuDirection": "pageSizeMenuDirection"; "serverSidePagination": "serverSidePagination"; "totalElements": "totalElements"; "enableLocalSort": "enableLocalSort"; "isTableLoading": "isTableLoading"; "isTableDataLoading": "isTableDataLoading"; "cellJsonPathGetter": "cellJsonPathGetter"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "selectedItems": "selectedItems"; "showSelectAllInToolbar": "showSelectAllInToolbar"; "showDismissInToolbar": "showDismissInToolbar"; "allSelectedInToolbar": "allSelectedInToolbar"; "folders": "folders"; "rootFolders": "rootFolders"; "selectedFolderId": "selectedFolderId"; "expandedFolderIds": "expandedFolderIds"; "unorganisedCount": "unorganisedCount"; "folderIdAccessor": "folderIdAccessor"; "modularConfig": "modularConfig"; "modularLabels": "modularLabels"; "bulkActions": "bulkActions"; "sidebarCollapsed": "sidebarCollapsed"; "serverSideSearch": "serverSideSearch"; "rootTotal": "rootTotal"; "folderSearchLoading": "folderSearchLoading"; "rootFoldersLoading": "rootFoldersLoading"; "selectedFolderNode": "selectedFolderNode"; "selectedFolderTrail": "selectedFolderTrail"; "useInternalDialogs": "useInternalDialogs"; "showReorderButton": "showReorderButton"; "reorderSaving": "reorderSaving"; "reorderLabels": "reorderLabels"; "columnVisibility": "columnVisibility"; }, { "onSearchChange": "onSearchChange"; "onExportClick": "onExportClick"; "onApplyFilterClick": "onApplyFilterClick"; "onResetFilterClick": "onResetFilterClick"; "onClearAll": "onClearAll"; "removeChip": "removeChip"; "viewModeChange": "viewModeChange"; "pageChange": "pageChange"; "sortChange": "sortChange"; "folderSelected": "folderSelected"; "folderExpansionToggled": "folderExpansionToggled"; "folderChildrenRequested": "folderChildrenRequested"; "folderLoadMoreRequested": "folderLoadMoreRequested"; "rootLoadMoreRequested": "rootLoadMoreRequested"; "folderSearchChange": "folderSearchChange"; "folderCreated": "folderCreated"; "folderCreateRequested": "folderCreateRequested"; "folderRenamed": "folderRenamed"; "folderDeleted": "folderDeleted"; "testsMoved": "testsMoved"; "bulkActionClick": "bulkActionClick"; "bulkSelectAllChange": "bulkSelectAllChange"; "bulkDismiss": "bulkDismiss"; "bulkActionInvoked": "bulkActionInvoked"; "sidebarCollapsedChange": "sidebarCollapsedChange"; "reorderStart": "reorderStart"; "reorderCancel": "reorderCancel"; "reorderSave": "reorderSave"; "moveRequested": "moveRequested"; "selectedItemsChange": "selectedItemsChange"; "folderDeleteRequested": "folderDeleteRequested"; "folderMoveRequested": "folderMoveRequested"; "folderMoved": "folderMoved"; "folderDuplicateRequested": "folderDuplicateRequested"; "onReload": "onReload"; "onAutoRefreshClick": "onAutoRefreshClick"; "columnVisibilityChange": "columnVisibilityChange"; "autoRefreshIntervalChange": "autoRefreshIntervalChange"; }, never, never>;
536
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModularTableTemplateComponent, "cqa-modular-table-template", never, { "searchPlaceholder": "searchPlaceholder"; "searchValue": "searchValue"; "showClear": "showClear"; "showSearchBar": "showSearchBar"; "showExportButton": "showExportButton"; "isExporting": "isExporting"; "filterConfig": "filterConfig"; "filterModel": "filterModel"; "showFilterPanel": "showFilterPanel"; "showFilterButton": "showFilterButton"; "otherButtons": "otherButtons"; "otherDropDownButtons": "otherDropDownButtons"; "otherSelectDropDownButtons": "otherSelectDropDownButtons"; "otherButtonLabel": "otherButtonLabel"; "otherButtonVariant": "otherButtonVariant"; "showOtherButton": "showOtherButton"; "showActionButton": "showActionButton"; "showSettingsButton": "showSettingsButton"; "showAutoRefreshButton": "showAutoRefreshButton"; "showViewModeToggle": "showViewModeToggle"; "viewMode": "viewMode"; "viewModeLabels": "viewModeLabels"; "data": "data"; "isEmptyState": "isEmptyState"; "emptyStateConfig": "emptyStateConfig"; "actions": "actions"; "chips": "chips"; "filterApplied": "filterApplied"; "columns": "columns"; "rowSelectable": "rowSelectable"; "selectedAutoRefreshInterval": "selectedAutoRefreshInterval"; "pageIndex": "pageIndex"; "pageSize": "pageSize"; "pageSizeOptions": "pageSizeOptions"; "pageSizeMenuDirection": "pageSizeMenuDirection"; "serverSidePagination": "serverSidePagination"; "totalElements": "totalElements"; "enableLocalSort": "enableLocalSort"; "isTableLoading": "isTableLoading"; "isTableDataLoading": "isTableDataLoading"; "cellJsonPathGetter": "cellJsonPathGetter"; "onJsonPathCopiedHandler": "onJsonPathCopiedHandler"; "selectedItems": "selectedItems"; "showSelectAllInToolbar": "showSelectAllInToolbar"; "showDismissInToolbar": "showDismissInToolbar"; "allSelectedInToolbar": "allSelectedInToolbar"; "folders": "folders"; "rootFolders": "rootFolders"; "selectedFolderId": "selectedFolderId"; "expandedFolderIds": "expandedFolderIds"; "unorganizedCount": "unorganizedCount"; "folderIdAccessor": "folderIdAccessor"; "modularConfig": "modularConfig"; "modularLabels": "modularLabels"; "bulkActions": "bulkActions"; "sidebarCollapsed": "sidebarCollapsed"; "serverSideSearch": "serverSideSearch"; "rootTotal": "rootTotal"; "folderSearchLoading": "folderSearchLoading"; "rootFoldersLoading": "rootFoldersLoading"; "selectedFolderNode": "selectedFolderNode"; "selectedFolderTrail": "selectedFolderTrail"; "useInternalDialogs": "useInternalDialogs"; "showReorderButton": "showReorderButton"; "reorderSaving": "reorderSaving"; "reorderLabels": "reorderLabels"; "columnVisibility": "columnVisibility"; }, { "onSearchChange": "onSearchChange"; "onExportClick": "onExportClick"; "onApplyFilterClick": "onApplyFilterClick"; "onResetFilterClick": "onResetFilterClick"; "onClearAll": "onClearAll"; "removeChip": "removeChip"; "viewModeChange": "viewModeChange"; "pageChange": "pageChange"; "sortChange": "sortChange"; "folderSelected": "folderSelected"; "folderExpansionToggled": "folderExpansionToggled"; "folderChildrenRequested": "folderChildrenRequested"; "folderLoadMoreRequested": "folderLoadMoreRequested"; "rootLoadMoreRequested": "rootLoadMoreRequested"; "folderSearchChange": "folderSearchChange"; "folderCreated": "folderCreated"; "folderCreateRequested": "folderCreateRequested"; "folderRenamed": "folderRenamed"; "folderDeleted": "folderDeleted"; "testsMoved": "testsMoved"; "bulkActionClick": "bulkActionClick"; "bulkSelectAllChange": "bulkSelectAllChange"; "bulkDismiss": "bulkDismiss"; "bulkActionInvoked": "bulkActionInvoked"; "sidebarCollapsedChange": "sidebarCollapsedChange"; "reorderStart": "reorderStart"; "reorderCancel": "reorderCancel"; "reorderSave": "reorderSave"; "moveRequested": "moveRequested"; "selectedItemsChange": "selectedItemsChange"; "folderDeleteRequested": "folderDeleteRequested"; "folderMoveRequested": "folderMoveRequested"; "folderMoved": "folderMoved"; "folderDuplicateRequested": "folderDuplicateRequested"; "onReload": "onReload"; "onAutoRefreshClick": "onAutoRefreshClick"; "columnVisibilityChange": "columnVisibilityChange"; "autoRefreshIntervalChange": "autoRefreshIntervalChange"; }, never, never>;
537
537
  }
@@ -26,7 +26,7 @@ export interface ModularConfig {
26
26
  showSidebar: boolean;
27
27
  showBreadcrumb: boolean;
28
28
  showFolderGrid: boolean;
29
- showUnorganisedSection: boolean;
29
+ showUnorganizedSection: boolean;
30
30
  showSubfolderSection: boolean;
31
31
  showCounts: boolean;
32
32
  allowCreateFolder: boolean;
@@ -50,8 +50,8 @@ export declare const DEFAULT_MODULAR_CONFIG: ModularConfig;
50
50
  export declare const FOLDER_COLUMN_FIELD_ID = "folder";
51
51
  export interface ModularLabels {
52
52
  folders: string;
53
- organised: string;
54
- unorganised: string;
53
+ organized: string;
54
+ unorganized: string;
55
55
  newFolder: string;
56
56
  searchFoldersPlaceholder: string;
57
57
  allFolders: string;
@@ -96,16 +96,16 @@ export interface ModularLabels {
96
96
  deleteFolderDialogBodyPlural: string;
97
97
  deleteFolderDialogMoveToParentTitle: string;
98
98
  deleteFolderDialogMoveToParentDescription: string;
99
- deleteFolderDialogMoveToUnorganisedTitle: string;
100
- deleteFolderDialogMoveToUnorganisedDescription: string;
99
+ deleteFolderDialogMoveToUnorganizedTitle: string;
100
+ deleteFolderDialogMoveToUnorganizedDescription: string;
101
101
  deleteFolderDialogCancel: string;
102
102
  deleteFolderDialogConfirm: string;
103
103
  emptyNoTestsInFolderTitle: string;
104
104
  emptyNoTestsInFolderDescription: string;
105
105
  /** Header label for the auto-injected folder column. */
106
106
  folderColumnLabel: string;
107
- /** Cell label for rows with no folderId (i.e. the "Unorganised" bucket). */
108
- unorganisedRowLabel: string;
107
+ /** Cell label for rows with no folderId (i.e. the "Unorganized" bucket). */
108
+ unorganizedRowLabel: string;
109
109
  /** Shown in the folder sidebar when the search input filters out every folder. */
110
110
  noFoldersFound: string;
111
111
  }
@@ -3,7 +3,9 @@ import { FormGroup } from '@angular/forms';
3
3
  import { TestCaseDetailsConfigSection, TestCaseDetailsMetadataItem } from '../test-case-details.models';
4
4
  import { DynamicSelectFieldConfig, SelectOption } from '../../dynamic-select/dynamic-select-field.component';
5
5
  import { DropdownOption } from '../../dropdown-button/dropdown-button.component';
6
+ import { RadioCardOption } from '../../radio-card-group/radio-card-option.model';
6
7
  import * as i0 from "@angular/core";
8
+ declare type ViewportMode = 'desktop' | 'laptop' | 'tablet' | 'mobile' | 'custom';
7
9
  /** Override config for a specific select. Use for server-side search, load more, custom options. */
8
10
  export interface SelectConfigOverride {
9
11
  /** Replace options (e.g. from API). Update when API returns. */
@@ -113,6 +115,13 @@ export declare class TestCaseDetailsEditComponent implements OnInit, OnChanges {
113
115
  apiMockingPercentText?: string;
114
116
  /** Org-level default for Test Case Timeout (minutes). Used to flag the input as "ORG level" vs "Custom". */
115
117
  orgLevelTestCaseTimeout?: string | number | null;
118
+ /** Viewport dropdown options per category from the API. Pass DESKTOP, LAPTOP, TABLET, MOBILE arrays. */
119
+ viewportCategoryOptions: {
120
+ DESKTOP?: SelectOption[];
121
+ LAPTOP?: SelectOption[];
122
+ TABLET?: SelectOption[];
123
+ MOBILE?: SelectOption[];
124
+ };
116
125
  save: EventEmitter<TestCaseDetailsEditFormData>;
117
126
  cancel: EventEmitter<void>;
118
127
  /** Emitted when user searches in a select (serverSearch mode). Call API and update options via selectConfigOverrides. */
@@ -167,6 +176,19 @@ export declare class TestCaseDetailsEditComponent implements OnInit, OnChanges {
167
176
  mobileTestingEnabled: boolean;
168
177
  extensionUseEnabled: boolean;
169
178
  dataDrivenEnabled: boolean;
179
+ viewportMode: ViewportMode;
180
+ viewportDesktopDeviceForm: FormGroup;
181
+ viewportLaptopDeviceForm: FormGroup;
182
+ viewportTabletDeviceForm: FormGroup;
183
+ viewportMobileDeviceForm: FormGroup;
184
+ customViewportWidth: string;
185
+ customViewportHeight: string;
186
+ customViewportTags: string[];
187
+ readonly viewportModeOptions: RadioCardOption[];
188
+ desktopViewportConfig: DynamicSelectFieldConfig;
189
+ laptopViewportConfig: DynamicSelectFieldConfig;
190
+ tabletViewportConfig: DynamicSelectFieldConfig;
191
+ mobileViewportConfig: DynamicSelectFieldConfig;
170
192
  readonly frequentlyUsedLabels: string[];
171
193
  private _initialFormSnapshot;
172
194
  /** FormGroup for cqa-dynamic-select bindings */
@@ -241,6 +263,12 @@ export declare class TestCaseDetailsEditComponent implements OnInit, OnChanges {
241
263
  /** Edit mode should show placeholder when dataset is not selected. */
242
264
  private normalizeTestDataSetRawValue;
243
265
  get hasPrerequisiteCaseConfig(): boolean;
266
+ private initViewportFromValue;
267
+ private buildViewportValue;
268
+ onViewportModeChange(mode: ViewportMode): void;
269
+ private applyViewportCategoryOptions;
270
+ addViewportCustomTag(): void;
271
+ removeViewportCustomTag(index: number): void;
244
272
  ngOnInit(): void;
245
273
  get hasUnsavedChanges(): boolean;
246
274
  private buildSavePayload;
@@ -272,5 +300,6 @@ export declare class TestCaseDetailsEditComponent implements OnInit, OnChanges {
272
300
  };
273
301
  getLabelCloseIconColor(_label: string): string;
274
302
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseDetailsEditComponent, never>;
275
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseDetailsEditComponent, "cqa-test-case-details-edit", never, { "descriptionTitle": "descriptionTitle"; "descriptionContent": "descriptionContent"; "enableMarkdown": "enableMarkdown"; "metadataItems": "metadataItems"; "labels": "labels"; "configTitle": "configTitle"; "configSections": "configSections"; "configSectionsRow2": "configSectionsRow2"; "isSaving": "isSaving"; "prerequisiteCaseOptions": "prerequisiteCaseOptions"; "platform": "platform"; "isStepGroup": "isStepGroup"; "selectConfigOverrides": "selectConfigOverrides"; "showApiMockingCard": "showApiMockingCard"; "apiMockingTitle": "apiMockingTitle"; "apiMockingStatusLabel": "apiMockingStatusLabel"; "apiMockingCaptureLabel": "apiMockingCaptureLabel"; "apiMockingCaptureHint": "apiMockingCaptureHint"; "apiMockingRenewLabel": "apiMockingRenewLabel"; "apiMockingRenewHint": "apiMockingRenewHint"; "apiMockingRestoreMock": "apiMockingRestoreMock"; "apiMockingStoreMock": "apiMockingStoreMock"; "apiMockingMockedApisCount": "apiMockingMockedApisCount"; "apiMockingTotalApisCount": "apiMockingTotalApisCount"; "apiMockingProgressPercent": "apiMockingProgressPercent"; "apiMockingShowProgress": "apiMockingShowProgress"; "apiMockingSummaryText": "apiMockingSummaryText"; "apiMockingPercentText": "apiMockingPercentText"; "orgLevelTestCaseTimeout": "orgLevelTestCaseTimeout"; }, { "save": "save"; "cancel": "cancel"; "selectSearch": "selectSearch"; "selectLoadMore": "selectLoadMore"; "selectOpened": "selectOpened"; "selectionChange": "selectionChange"; "labelAdded": "labelAdded"; "apiMockingRestoreMockChange": "apiMockingRestoreMockChange"; "apiMockingStoreMockChange": "apiMockingStoreMockChange"; "configureApiMocking": "configureApiMocking"; }, never, never>;
303
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseDetailsEditComponent, "cqa-test-case-details-edit", never, { "descriptionTitle": "descriptionTitle"; "descriptionContent": "descriptionContent"; "enableMarkdown": "enableMarkdown"; "metadataItems": "metadataItems"; "labels": "labels"; "configTitle": "configTitle"; "configSections": "configSections"; "configSectionsRow2": "configSectionsRow2"; "isSaving": "isSaving"; "prerequisiteCaseOptions": "prerequisiteCaseOptions"; "platform": "platform"; "isStepGroup": "isStepGroup"; "selectConfigOverrides": "selectConfigOverrides"; "showApiMockingCard": "showApiMockingCard"; "apiMockingTitle": "apiMockingTitle"; "apiMockingStatusLabel": "apiMockingStatusLabel"; "apiMockingCaptureLabel": "apiMockingCaptureLabel"; "apiMockingCaptureHint": "apiMockingCaptureHint"; "apiMockingRenewLabel": "apiMockingRenewLabel"; "apiMockingRenewHint": "apiMockingRenewHint"; "apiMockingRestoreMock": "apiMockingRestoreMock"; "apiMockingStoreMock": "apiMockingStoreMock"; "apiMockingMockedApisCount": "apiMockingMockedApisCount"; "apiMockingTotalApisCount": "apiMockingTotalApisCount"; "apiMockingProgressPercent": "apiMockingProgressPercent"; "apiMockingShowProgress": "apiMockingShowProgress"; "apiMockingSummaryText": "apiMockingSummaryText"; "apiMockingPercentText": "apiMockingPercentText"; "orgLevelTestCaseTimeout": "orgLevelTestCaseTimeout"; "viewportCategoryOptions": "viewportCategoryOptions"; }, { "save": "save"; "cancel": "cancel"; "selectSearch": "selectSearch"; "selectLoadMore": "selectLoadMore"; "selectOpened": "selectOpened"; "selectionChange": "selectionChange"; "labelAdded": "labelAdded"; "apiMockingRestoreMockChange": "apiMockingRestoreMockChange"; "apiMockingStoreMockChange": "apiMockingStoreMockChange"; "configureApiMocking": "configureApiMocking"; }, never, never>;
276
304
  }
305
+ export {};
@@ -68,6 +68,13 @@ export declare class TestCaseDetailsComponent implements OnInit, OnChanges {
68
68
  apiMockingConfigureButtonLabel: string;
69
69
  /** Org-level default for Test Case Timeout (minutes). Forwarded to edit mode to toggle the "ORG level"/"Custom" badge. */
70
70
  orgLevelTestCaseTimeout?: string | number | null;
71
+ /** Viewport dropdown options per category from the API. Forwarded to edit mode. */
72
+ viewportCategoryOptions: {
73
+ DESKTOP?: any[];
74
+ LAPTOP?: any[];
75
+ TABLET?: any[];
76
+ MOBILE?: any[];
77
+ };
71
78
  /** Labels to filter out from metadata for step groups */
72
79
  private readonly stepGroupExcludedMetadataLabels;
73
80
  /** When true, description (view mode) is expanded; when false, clamped to 4 lines with Read more */
@@ -113,5 +120,5 @@ export declare class TestCaseDetailsComponent implements OnInit, OnChanges {
113
120
  /** Text color for metadata value (e.g. red for critical priority) */
114
121
  getValueTextClass(item: TestCaseDetailsMetadataItem): string;
115
122
  static ɵfac: i0.ɵɵFactoryDeclaration<TestCaseDetailsComponent, never>;
116
- static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseDetailsComponent, "cqa-test-case-details", never, { "editing": "editing"; "startInEditMode": "startInEditMode"; "descriptionTitle": "descriptionTitle"; "descriptionContent": "descriptionContent"; "enableMarkdown": "enableMarkdown"; "showEditButton": "showEditButton"; "metadataItems": "metadataItems"; "labels": "labels"; "configTitle": "configTitle"; "configSections": "configSections"; "configSectionsRow2": "configSectionsRow2"; "platform": "platform"; "isStepGroup": "isStepGroup"; "selectConfigOverrides": "selectConfigOverrides"; "isSaving": "isSaving"; "showApiMockingCard": "showApiMockingCard"; "apiMockingTitle": "apiMockingTitle"; "apiMockingStatusLabel": "apiMockingStatusLabel"; "apiMockingCaptureLabel": "apiMockingCaptureLabel"; "apiMockingRenewLabel": "apiMockingRenewLabel"; "apiMockingCaptureHint": "apiMockingCaptureHint"; "apiMockingRenewHint": "apiMockingRenewHint"; "apiMockingRestoreMock": "apiMockingRestoreMock"; "apiMockingStoreMock": "apiMockingStoreMock"; "apiMockingMockedApisCount": "apiMockingMockedApisCount"; "apiMockingTotalApisCount": "apiMockingTotalApisCount"; "apiMockingProgressPercent": "apiMockingProgressPercent"; "apiMockingShowProgress": "apiMockingShowProgress"; "apiMockingSummaryText": "apiMockingSummaryText"; "apiMockingPercentText": "apiMockingPercentText"; "apiMockingConfigureButtonLabel": "apiMockingConfigureButtonLabel"; "orgLevelTestCaseTimeout": "orgLevelTestCaseTimeout"; }, { "editDescription": "editDescription"; "cancel": "cancel"; "saveChanges": "saveChanges"; "metadataLinkClick": "metadataLinkClick"; "selectSearch": "selectSearch"; "selectLoadMore": "selectLoadMore"; "selectOpened": "selectOpened"; "selectionChange": "selectionChange"; "labelAdded": "labelAdded"; "configureApiMocking": "configureApiMocking"; "apiMockingRestoreMockChange": "apiMockingRestoreMockChange"; "apiMockingStoreMockChange": "apiMockingStoreMockChange"; }, never, never>;
123
+ static ɵcmp: i0.ɵɵComponentDeclaration<TestCaseDetailsComponent, "cqa-test-case-details", never, { "editing": "editing"; "startInEditMode": "startInEditMode"; "descriptionTitle": "descriptionTitle"; "descriptionContent": "descriptionContent"; "enableMarkdown": "enableMarkdown"; "showEditButton": "showEditButton"; "metadataItems": "metadataItems"; "labels": "labels"; "configTitle": "configTitle"; "configSections": "configSections"; "configSectionsRow2": "configSectionsRow2"; "platform": "platform"; "isStepGroup": "isStepGroup"; "selectConfigOverrides": "selectConfigOverrides"; "isSaving": "isSaving"; "showApiMockingCard": "showApiMockingCard"; "apiMockingTitle": "apiMockingTitle"; "apiMockingStatusLabel": "apiMockingStatusLabel"; "apiMockingCaptureLabel": "apiMockingCaptureLabel"; "apiMockingRenewLabel": "apiMockingRenewLabel"; "apiMockingCaptureHint": "apiMockingCaptureHint"; "apiMockingRenewHint": "apiMockingRenewHint"; "apiMockingRestoreMock": "apiMockingRestoreMock"; "apiMockingStoreMock": "apiMockingStoreMock"; "apiMockingMockedApisCount": "apiMockingMockedApisCount"; "apiMockingTotalApisCount": "apiMockingTotalApisCount"; "apiMockingProgressPercent": "apiMockingProgressPercent"; "apiMockingShowProgress": "apiMockingShowProgress"; "apiMockingSummaryText": "apiMockingSummaryText"; "apiMockingPercentText": "apiMockingPercentText"; "apiMockingConfigureButtonLabel": "apiMockingConfigureButtonLabel"; "orgLevelTestCaseTimeout": "orgLevelTestCaseTimeout"; "viewportCategoryOptions": "viewportCategoryOptions"; }, { "editDescription": "editDescription"; "cancel": "cancel"; "saveChanges": "saveChanges"; "metadataLinkClick": "metadataLinkClick"; "selectSearch": "selectSearch"; "selectLoadMore": "selectLoadMore"; "selectOpened": "selectOpened"; "selectionChange": "selectionChange"; "labelAdded": "labelAdded"; "configureApiMocking": "configureApiMocking"; "apiMockingRestoreMockChange": "apiMockingRestoreMockChange"; "apiMockingStoreMockChange": "apiMockingStoreMockChange"; }, never, never>;
117
124
  }