@powerhousedao/document-engineering 1.39.0 → 1.40.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/README.md +12 -0
  2. package/dist/src/scalars/graphql/Amount.d.ts +1 -7
  3. package/dist/src/scalars/graphql/Amount.d.ts.map +1 -1
  4. package/dist/src/scalars/graphql/AmountCrypto.d.ts +1 -7
  5. package/dist/src/scalars/graphql/AmountCrypto.d.ts.map +1 -1
  6. package/dist/src/scalars/graphql/AmountCurrency.d.ts +1 -7
  7. package/dist/src/scalars/graphql/AmountCurrency.d.ts.map +1 -1
  8. package/dist/src/scalars/graphql/AmountFiat.d.ts +1 -7
  9. package/dist/src/scalars/graphql/AmountFiat.d.ts.map +1 -1
  10. package/dist/src/scalars/graphql/Date.d.ts +2 -2
  11. package/dist/src/scalars/graphql/Date.d.ts.map +1 -1
  12. package/dist/src/scalars/graphql/Date.js +2 -2
  13. package/dist/src/scalars/graphql/Date.js.map +1 -1
  14. package/dist/src/scalars/graphql/DateTime.d.ts +2 -2
  15. package/dist/src/scalars/graphql/DateTime.d.ts.map +1 -1
  16. package/dist/src/scalars/graphql/DateTime.js +2 -2
  17. package/dist/src/scalars/graphql/DateTime.js.map +1 -1
  18. package/dist/src/scalars/graphql/EmailAddress.d.ts +2 -2
  19. package/dist/src/scalars/graphql/EmailAddress.d.ts.map +1 -1
  20. package/dist/src/scalars/graphql/EmailAddress.js +2 -2
  21. package/dist/src/scalars/graphql/EmailAddress.js.map +1 -1
  22. package/dist/src/scalars/graphql/URL.d.ts +2 -2
  23. package/dist/src/scalars/graphql/URL.d.ts.map +1 -1
  24. package/dist/src/scalars/graphql/URL.js +2 -2
  25. package/dist/src/scalars/graphql/URL.js.map +1 -1
  26. package/dist/src/table/components/default-fns/default-cell-on-save.d.ts +11 -0
  27. package/dist/src/table/components/default-fns/default-cell-on-save.d.ts.map +1 -0
  28. package/dist/src/table/components/default-fns/default-cell-on-save.js +18 -0
  29. package/dist/src/table/components/default-fns/default-cell-on-save.js.map +1 -0
  30. package/dist/src/table/table/object-set-table.d.ts.map +1 -1
  31. package/dist/src/table/table/object-set-table.js +2 -11
  32. package/dist/src/table/table/object-set-table.js.map +1 -1
  33. package/dist/src/table/tests/basic-rendering.test.d.ts +2 -0
  34. package/dist/src/table/tests/basic-rendering.test.d.ts.map +1 -0
  35. package/dist/src/table/tests/basic-rendering.test.js +332 -0
  36. package/dist/src/table/tests/basic-rendering.test.js.map +1 -0
  37. package/dist/src/table/tests/cell-selection.test.d.ts +2 -0
  38. package/dist/src/table/tests/cell-selection.test.d.ts.map +1 -0
  39. package/dist/src/table/tests/cell-selection.test.js +346 -0
  40. package/dist/src/table/tests/cell-selection.test.js.map +1 -0
  41. package/dist/src/table/tests/helpers/test-utils.d.ts +28 -0
  42. package/dist/src/table/tests/helpers/test-utils.d.ts.map +1 -0
  43. package/dist/src/table/tests/helpers/test-utils.js +85 -0
  44. package/dist/src/table/tests/helpers/test-utils.js.map +1 -0
  45. package/dist/src/table/tests/page-objects/base-table.page.d.ts +83 -0
  46. package/dist/src/table/tests/page-objects/base-table.page.d.ts.map +1 -0
  47. package/dist/src/table/tests/page-objects/base-table.page.js +146 -0
  48. package/dist/src/table/tests/page-objects/base-table.page.js.map +1 -0
  49. package/dist/src/table/tests/page-objects/table-cell.page.d.ts +58 -0
  50. package/dist/src/table/tests/page-objects/table-cell.page.d.ts.map +1 -0
  51. package/dist/src/table/tests/page-objects/table-cell.page.js +163 -0
  52. package/dist/src/table/tests/page-objects/table-cell.page.js.map +1 -0
  53. package/dist/src/table/tests/page-objects/table-header.page.d.ts +66 -0
  54. package/dist/src/table/tests/page-objects/table-header.page.d.ts.map +1 -0
  55. package/dist/src/table/tests/page-objects/table-header.page.js +156 -0
  56. package/dist/src/table/tests/page-objects/table-header.page.js.map +1 -0
  57. package/dist/src/table/tests/page-objects/table-row.page.d.ts +98 -0
  58. package/dist/src/table/tests/page-objects/table-row.page.d.ts.map +1 -0
  59. package/dist/src/table/tests/page-objects/table-row.page.js +240 -0
  60. package/dist/src/table/tests/page-objects/table-row.page.js.map +1 -0
  61. package/dist/src/table/tests/page-objects/table.page.d.ts +36 -0
  62. package/dist/src/table/tests/page-objects/table.page.d.ts.map +1 -0
  63. package/dist/src/table/tests/page-objects/table.page.js +46 -0
  64. package/dist/src/table/tests/page-objects/table.page.js.map +1 -0
  65. package/dist/src/table/tests/row-actions.test.d.ts +2 -0
  66. package/dist/src/table/tests/row-actions.test.d.ts.map +1 -0
  67. package/dist/src/table/tests/row-actions.test.js +601 -0
  68. package/dist/src/table/tests/row-actions.test.js.map +1 -0
  69. package/dist/src/table/tests/row-selection.test.d.ts +2 -0
  70. package/dist/src/table/tests/row-selection.test.d.ts.map +1 -0
  71. package/dist/src/table/tests/row-selection.test.js +272 -0
  72. package/dist/src/table/tests/row-selection.test.js.map +1 -0
  73. package/dist/src/table/tests/sorting.test.d.ts +2 -0
  74. package/dist/src/table/tests/sorting.test.d.ts.map +1 -0
  75. package/dist/src/table/tests/sorting.test.js +793 -0
  76. package/dist/src/table/tests/sorting.test.js.map +1 -0
  77. package/dist/src/ui/components/data-entry/date-picker/date-picker.js +1 -1
  78. package/dist/src/ui/components/data-entry/date-picker/date-picker.js.map +1 -1
  79. package/dist/style.css +4 -5
  80. package/dist/tsconfig.tsbuildinfo +1 -1
  81. package/package.json +2 -2
@@ -0,0 +1,98 @@
1
+ import { BaseTablePage } from './base-table.page.js';
2
+ import type { RenderResult } from '@testing-library/react';
3
+ /**
4
+ * Page object for row-specific interactions
5
+ * Extends BaseTablePage with row-focused methods
6
+ */
7
+ export declare class TableRowPage extends BaseTablePage {
8
+ constructor(renderResult: RenderResult);
9
+ /**
10
+ * Checks if a row is selected
11
+ */
12
+ isRowSelected(rowIndex: number): boolean;
13
+ /**
14
+ * Gets the row number (if showRowNumbers is enabled)
15
+ */
16
+ getRowNumber(rowIndex: number): string;
17
+ /**
18
+ * Gets all data from a specific row as an array of strings
19
+ */
20
+ getRowData(rowIndex: number): string[];
21
+ /**
22
+ * Gets the row data as a key-value object (requires column headers)
23
+ */
24
+ getRowDataAsObject(rowIndex: number): Record<string, string>;
25
+ /**
26
+ * Finds the index of a row that contains specific text
27
+ */
28
+ findRowIndexByText(text: string): number;
29
+ /**
30
+ * Checks if a row contains specific text
31
+ */
32
+ rowContains(rowIndex: number, text: string): boolean;
33
+ /**
34
+ * Gets the CSS classes of a row
35
+ */
36
+ getRowClasses(rowIndex: number): string[];
37
+ /**
38
+ * Checks if a row has a specific CSS class
39
+ */
40
+ rowHasClass(rowIndex: number, className: string): boolean;
41
+ /**
42
+ * Checks if a row is hovered (has hover styles)
43
+ */
44
+ isRowHovered(rowIndex: number): boolean;
45
+ /**
46
+ * Gets the row actions (if any) for a specific row
47
+ */
48
+ getRowActions(rowIndex: number): HTMLElement[];
49
+ /**
50
+ * Checks if a row has actions available
51
+ */
52
+ hasRowActions(rowIndex: number): boolean;
53
+ /**
54
+ * Gets the height of a row in pixels
55
+ */
56
+ getRowHeight(rowIndex: number): number;
57
+ /**
58
+ * Checks if a row is visible in the viewport
59
+ */
60
+ isRowVisible(rowIndex: number): boolean;
61
+ /**
62
+ * Gets all action buttons in a row (from the portal)
63
+ */
64
+ getRowActionButtons(_rowIndex: number): HTMLElement[];
65
+ /**
66
+ * Gets the primary action button for a row
67
+ */
68
+ getPrimaryActionButton(_rowIndex: number): HTMLElement | null;
69
+ /**
70
+ * Gets the secondary actions dropdown trigger button
71
+ */
72
+ getSecondaryActionsButton(_rowIndex: number): HTMLElement | null;
73
+ /**
74
+ * Checks if row actions are visible (in the DOM)
75
+ */
76
+ isRowActionsVisible(_rowIndex: number): boolean;
77
+ /**
78
+ * Clicks the primary action button for a row
79
+ */
80
+ clickPrimaryAction(rowIndex: number): void;
81
+ /**
82
+ * Clicks the secondary actions dropdown trigger
83
+ */
84
+ clickSecondaryActionsButton(rowIndex: number): void;
85
+ /**
86
+ * Gets all items in the secondary actions dropdown menu
87
+ */
88
+ getSecondaryActionItems(): HTMLElement[];
89
+ /**
90
+ * Clicks a specific secondary action by label
91
+ */
92
+ clickSecondaryAction(actionLabel: string): void;
93
+ /**
94
+ * Checks if the secondary actions dropdown is open
95
+ */
96
+ isSecondaryActionsDropdownOpen(): boolean;
97
+ }
98
+ //# sourceMappingURL=table-row.page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-row.page.d.ts","sourceRoot":"","sources":["../../../../../src/table/tests/page-objects/table-row.page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D;;;GAGG;AACH,qBAAa,YAAa,SAAQ,aAAa;gBACjC,YAAY,EAAE,YAAY;IAItC;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAWxC;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAStC;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAItC;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAY5D;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAKxC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAOpD;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAOzC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAKzD;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKvC;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE;IAQ9C;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxC;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAOtC;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAQvC;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE;IAarD;;OAEG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAyB7D;;OAEG;IACH,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAuBhE;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAO/C;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAO1C;;OAEG;IACH,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAOnD;;OAEG;IACH,uBAAuB,IAAI,WAAW,EAAE;IAQxC;;OAEG;IACH,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAS/C;;OAEG;IACH,8BAA8B,IAAI,OAAO;CAI1C"}
@@ -0,0 +1,240 @@
1
+ import { BaseTablePage } from './base-table.page.js';
2
+ /**
3
+ * Page object for row-specific interactions
4
+ * Extends BaseTablePage with row-focused methods
5
+ */
6
+ export class TableRowPage extends BaseTablePage {
7
+ constructor(renderResult) {
8
+ super(renderResult);
9
+ }
10
+ /**
11
+ * Checks if a row is selected
12
+ */
13
+ isRowSelected(rowIndex) {
14
+ const row = this.getRowByIndex(rowIndex);
15
+ if (!row)
16
+ return false;
17
+ // Check for selection indicators based on actual table implementation
18
+ const hasSelectedAttribute = row.getAttribute('data-selected') === 'true';
19
+ const hasSelectedClass = row.classList.contains('bg-blue-50');
20
+ return hasSelectedAttribute || hasSelectedClass;
21
+ }
22
+ /**
23
+ * Gets the row number (if showRowNumbers is enabled)
24
+ */
25
+ getRowNumber(rowIndex) {
26
+ const row = this.getRowByIndex(rowIndex);
27
+ if (!row)
28
+ return '';
29
+ // First cell is typically the row number
30
+ const firstCell = this.getCellsInRow(row)[0];
31
+ return (firstCell.textContent || '').trim();
32
+ }
33
+ /**
34
+ * Gets all data from a specific row as an array of strings
35
+ */
36
+ getRowData(rowIndex) {
37
+ return this.getRowText(rowIndex);
38
+ }
39
+ /**
40
+ * Gets the row data as a key-value object (requires column headers)
41
+ */
42
+ getRowDataAsObject(rowIndex) {
43
+ const headers = this.getColumnHeaders();
44
+ const rowData = this.getRowData(rowIndex);
45
+ const result = {};
46
+ headers.forEach((header, index) => {
47
+ result[header] = rowData[index] ?? '';
48
+ });
49
+ return result;
50
+ }
51
+ /**
52
+ * Finds the index of a row that contains specific text
53
+ */
54
+ findRowIndexByText(text) {
55
+ const rows = this.getTableRows();
56
+ return rows.findIndex((row) => (row.textContent || '').includes(text));
57
+ }
58
+ /**
59
+ * Checks if a row contains specific text
60
+ */
61
+ rowContains(rowIndex, text) {
62
+ const row = this.getRowByIndex(rowIndex);
63
+ if (!row)
64
+ return false;
65
+ return (row.textContent || '').includes(text);
66
+ }
67
+ /**
68
+ * Gets the CSS classes of a row
69
+ */
70
+ getRowClasses(rowIndex) {
71
+ const row = this.getRowByIndex(rowIndex);
72
+ if (!row)
73
+ return [];
74
+ return Array.from(row.classList);
75
+ }
76
+ /**
77
+ * Checks if a row has a specific CSS class
78
+ */
79
+ rowHasClass(rowIndex, className) {
80
+ const classes = this.getRowClasses(rowIndex);
81
+ return classes.includes(className);
82
+ }
83
+ /**
84
+ * Checks if a row is hovered (has hover styles)
85
+ */
86
+ isRowHovered(rowIndex) {
87
+ const classes = this.getRowClasses(rowIndex);
88
+ return classes.some((cls) => cls.includes('hover') || cls.includes('group'));
89
+ }
90
+ /**
91
+ * Gets the row actions (if any) for a specific row
92
+ */
93
+ getRowActions(rowIndex) {
94
+ const row = this.getRowByIndex(rowIndex);
95
+ if (!row)
96
+ return [];
97
+ // Look for action buttons or menus
98
+ return Array.from(row.querySelectorAll('button, [role="button"], .action, .row-actions button'));
99
+ }
100
+ /**
101
+ * Checks if a row has actions available
102
+ */
103
+ hasRowActions(rowIndex) {
104
+ return this.getRowActions(rowIndex).length > 0;
105
+ }
106
+ /**
107
+ * Gets the height of a row in pixels
108
+ */
109
+ getRowHeight(rowIndex) {
110
+ const row = this.getRowByIndex(rowIndex);
111
+ if (!row)
112
+ return 0;
113
+ return row.getBoundingClientRect().height;
114
+ }
115
+ /**
116
+ * Checks if a row is visible in the viewport
117
+ */
118
+ isRowVisible(rowIndex) {
119
+ const row = this.getRowByIndex(rowIndex);
120
+ if (!row)
121
+ return false;
122
+ const rect = row.getBoundingClientRect();
123
+ return rect.top >= 0 && rect.bottom <= window.innerHeight;
124
+ }
125
+ /**
126
+ * Gets all action buttons in a row (from the portal)
127
+ */
128
+ getRowActionButtons(_rowIndex) {
129
+ // Actions are rendered in a portal, so we need to look in the document body
130
+ const actionContainers = document.querySelectorAll('.fixed.z-5');
131
+ const buttons = [];
132
+ actionContainers.forEach((container) => {
133
+ const actionButtons = container.querySelectorAll('.cursor-pointer');
134
+ buttons.push(...Array.from(actionButtons));
135
+ });
136
+ return buttons;
137
+ }
138
+ /**
139
+ * Gets the primary action button for a row
140
+ */
141
+ getPrimaryActionButton(_rowIndex) {
142
+ // Look for the cursor-pointer element that is NOT a dropdown trigger
143
+ const portalElements = document.querySelectorAll('.fixed.z-5');
144
+ for (const portal of portalElements) {
145
+ // Only look in visible portals (the one that's currently hovered)
146
+ if (portal.classList.contains('hidden')) {
147
+ continue;
148
+ }
149
+ const buttons = portal.querySelectorAll('.cursor-pointer');
150
+ for (const button of buttons) {
151
+ // Skip dropdown trigger buttons - look for the one that's not the dropdown trigger
152
+ if (button.getAttribute('data-slot') === 'dropdown-menu-trigger' ||
153
+ button.getAttribute('aria-haspopup') === 'menu') {
154
+ continue;
155
+ }
156
+ // This should be the primary action button
157
+ return button;
158
+ }
159
+ }
160
+ return null;
161
+ }
162
+ /**
163
+ * Gets the secondary actions dropdown trigger button
164
+ */
165
+ getSecondaryActionsButton(_rowIndex) {
166
+ // Look for the cursor-pointer element that has a dropdown trigger or vertical dots icon
167
+ const portalElements = document.querySelectorAll('.fixed.z-5');
168
+ for (const portal of portalElements) {
169
+ // Only look in visible portals (the one that's currently hovered)
170
+ if (portal.classList.contains('hidden')) {
171
+ continue;
172
+ }
173
+ const buttons = portal.querySelectorAll('.cursor-pointer');
174
+ for (const button of buttons) {
175
+ // Check if this button has dropdown attributes or vertical dots icon
176
+ if (button.getAttribute('data-slot') === 'dropdown-menu-trigger' ||
177
+ button.getAttribute('aria-haspopup') === 'menu') {
178
+ return button;
179
+ }
180
+ }
181
+ }
182
+ return null;
183
+ }
184
+ /**
185
+ * Checks if row actions are visible (in the DOM)
186
+ */
187
+ isRowActionsVisible(_rowIndex) {
188
+ // Actions are rendered in portals, so we need to check if any portal elements exist
189
+ // For now, we'll check if any portal elements exist since we can't easily distinguish between rows
190
+ const portalElements = document.querySelectorAll('.fixed.z-5');
191
+ return portalElements.length > 0;
192
+ }
193
+ /**
194
+ * Clicks the primary action button for a row
195
+ */
196
+ clickPrimaryAction(rowIndex) {
197
+ const primaryButton = this.getPrimaryActionButton(rowIndex);
198
+ if (primaryButton) {
199
+ primaryButton.click();
200
+ }
201
+ }
202
+ /**
203
+ * Clicks the secondary actions dropdown trigger
204
+ */
205
+ clickSecondaryActionsButton(rowIndex) {
206
+ const secondaryButton = this.getSecondaryActionsButton(rowIndex);
207
+ if (secondaryButton) {
208
+ secondaryButton.click();
209
+ }
210
+ }
211
+ /**
212
+ * Gets all items in the secondary actions dropdown menu
213
+ */
214
+ getSecondaryActionItems() {
215
+ const dropdownMenu = document.querySelector('[role="menu"]');
216
+ if (!dropdownMenu)
217
+ return [];
218
+ const menuItems = dropdownMenu.querySelectorAll('[role="menuitem"]');
219
+ return Array.from(menuItems);
220
+ }
221
+ /**
222
+ * Clicks a specific secondary action by label
223
+ */
224
+ clickSecondaryAction(actionLabel) {
225
+ const menuItems = this.getSecondaryActionItems();
226
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
227
+ const targetItem = menuItems.find((item) => item.textContent && item.textContent.includes(actionLabel));
228
+ if (targetItem) {
229
+ targetItem.click();
230
+ }
231
+ }
232
+ /**
233
+ * Checks if the secondary actions dropdown is open
234
+ */
235
+ isSecondaryActionsDropdownOpen() {
236
+ const dropdownMenu = document.querySelector('[role="menu"]');
237
+ return dropdownMenu !== null;
238
+ }
239
+ }
240
+ //# sourceMappingURL=table-row.page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-row.page.js","sourceRoot":"","sources":["../../../../../src/table/tests/page-objects/table-row.page.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { BaseTablePage } from './base-table.page.js';
2
+ import { TableCellPage } from './table-cell.page.js';
3
+ import { TableRowPage } from './table-row.page.js';
4
+ import { TableHeaderPage } from './table-header.page.js';
5
+ /**
6
+ * Unified table page object that provides access to all table functionality
7
+ * through a single object with specialized sub-objects
8
+ *
9
+ * Usage:
10
+ * const table = new TablePage(renderResult)
11
+ * table.getRowCount() // Base functionality
12
+ * table.cell.getCellValue(0, 1) // Cell functionality
13
+ * table.row.isRowSelected(0) // Row functionality
14
+ * table.header.getColumnTitle(0) // Header functionality
15
+ */
16
+ export declare class TablePage extends BaseTablePage {
17
+ private _cell?;
18
+ private _row?;
19
+ private _header?;
20
+ /**
21
+ * Access to cell-specific page object methods
22
+ * Usage: table.cell.getCellValue(0, 1)
23
+ */
24
+ get cell(): TableCellPage;
25
+ /**
26
+ * Access to row-specific page object methods
27
+ * Usage: table.row.isRowSelected(0)
28
+ */
29
+ get row(): TableRowPage;
30
+ /**
31
+ * Access to header-specific page object methods
32
+ * Usage: table.header.getColumnTitle(0)
33
+ */
34
+ get header(): TableHeaderPage;
35
+ }
36
+ //# sourceMappingURL=table.page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.page.d.ts","sourceRoot":"","sources":["../../../../../src/table/tests/page-objects/table.page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD;;;;;;;;;;GAUG;AACH,qBAAa,SAAU,SAAQ,aAAa;IAE1C,OAAO,CAAC,KAAK,CAAC,CAAe;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAc;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAiB;IAEjC;;;OAGG;IACH,IAAI,IAAI,IAAI,aAAa,CAGxB;IAED;;;OAGG;IACH,IAAI,GAAG,IAAI,YAAY,CAGtB;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,eAAe,CAG5B;CACF"}
@@ -0,0 +1,46 @@
1
+ import { BaseTablePage } from './base-table.page.js';
2
+ import { TableCellPage } from './table-cell.page.js';
3
+ import { TableRowPage } from './table-row.page.js';
4
+ import { TableHeaderPage } from './table-header.page.js';
5
+ /**
6
+ * Unified table page object that provides access to all table functionality
7
+ * through a single object with specialized sub-objects
8
+ *
9
+ * Usage:
10
+ * const table = new TablePage(renderResult)
11
+ * table.getRowCount() // Base functionality
12
+ * table.cell.getCellValue(0, 1) // Cell functionality
13
+ * table.row.isRowSelected(0) // Row functionality
14
+ * table.header.getColumnTitle(0) // Header functionality
15
+ */
16
+ export class TablePage extends BaseTablePage {
17
+ // Lazy-loaded specialized page objects
18
+ _cell;
19
+ _row;
20
+ _header;
21
+ /**
22
+ * Access to cell-specific page object methods
23
+ * Usage: table.cell.getCellValue(0, 1)
24
+ */
25
+ get cell() {
26
+ this._cell ??= new TableCellPage(this.renderResult);
27
+ return this._cell;
28
+ }
29
+ /**
30
+ * Access to row-specific page object methods
31
+ * Usage: table.row.isRowSelected(0)
32
+ */
33
+ get row() {
34
+ this._row ??= new TableRowPage(this.renderResult);
35
+ return this._row;
36
+ }
37
+ /**
38
+ * Access to header-specific page object methods
39
+ * Usage: table.header.getColumnTitle(0)
40
+ */
41
+ get header() {
42
+ this._header ??= new TableHeaderPage(this.renderResult);
43
+ return this._header;
44
+ }
45
+ }
46
+ //# sourceMappingURL=table.page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.page.js","sourceRoot":"","sources":["../../../../../src/table/tests/page-objects/table.page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,SAAU,SAAQ,aAAa;IAC1C,uCAAuC;IAC/B,KAAK,CAAgB;IACrB,IAAI,CAAe;IACnB,OAAO,CAAkB;IAEjC;;;OAGG;IACH,IAAI,IAAI;QACN,IAAI,CAAC,KAAK,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACnD,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED;;;OAGG;IACH,IAAI,GAAG;QACL,IAAI,CAAC,IAAI,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACjD,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED;;;OAGG;IACH,IAAI,MAAM;QACR,IAAI,CAAC,OAAO,KAAK,IAAI,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACvD,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=row-actions.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-actions.test.d.ts","sourceRoot":"","sources":["../../../../src/table/tests/row-actions.test.tsx"],"names":[],"mappings":""}