@umbraco/playwright-testhelpers 2.0.0-beta.80 → 2.0.0-beta.82

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 (47) hide show
  1. package/dist/lib/helpers/ApiHelpers.js +2 -2
  2. package/dist/lib/helpers/ApiHelpers.js.map +1 -1
  3. package/dist/lib/helpers/ContentUiHelper.d.ts +11 -0
  4. package/dist/lib/helpers/ContentUiHelper.js +38 -0
  5. package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
  6. package/dist/lib/helpers/DataTypeApiHelper.d.ts +7 -0
  7. package/dist/lib/helpers/DataTypeApiHelper.js +51 -0
  8. package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
  9. package/dist/lib/helpers/DataTypeUiHelper.js +4 -4
  10. package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
  11. package/dist/lib/helpers/DictionaryUiHelper.js +1 -0
  12. package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -1
  13. package/dist/lib/helpers/DocumentBlueprintUiHelper.js +1 -1
  14. package/dist/lib/helpers/DocumentBlueprintUiHelper.js.map +1 -1
  15. package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -1
  16. package/dist/lib/helpers/MediaApiHelper.d.ts +2 -0
  17. package/dist/lib/helpers/MediaApiHelper.js +18 -0
  18. package/dist/lib/helpers/MediaApiHelper.js.map +1 -1
  19. package/dist/lib/helpers/MediaUiHelper.d.ts +22 -0
  20. package/dist/lib/helpers/MediaUiHelper.js +65 -1
  21. package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
  22. package/dist/lib/helpers/MemberGroupUiHelper.d.ts +2 -0
  23. package/dist/lib/helpers/MemberGroupUiHelper.js +9 -1
  24. package/dist/lib/helpers/MemberGroupUiHelper.js.map +1 -1
  25. package/dist/lib/helpers/PackageUiHelper.js +15 -15
  26. package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
  27. package/dist/lib/helpers/PartialViewUiHelper.d.ts +3 -1
  28. package/dist/lib/helpers/PartialViewUiHelper.js +7 -1
  29. package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
  30. package/dist/lib/helpers/ScriptUiHelper.js +2 -2
  31. package/dist/lib/helpers/ScriptUiHelper.js.map +1 -1
  32. package/dist/lib/helpers/StylesheetUiHelper.js +1 -1
  33. package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
  34. package/dist/lib/helpers/UiBaseLocators.d.ts +7 -7
  35. package/dist/lib/helpers/UiBaseLocators.js +25 -24
  36. package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
  37. package/dist/lib/helpers/UserApiHelper.d.ts +3 -1
  38. package/dist/lib/helpers/UserApiHelper.js +8 -1
  39. package/dist/lib/helpers/UserApiHelper.js.map +1 -1
  40. package/dist/lib/helpers/UserGroupUiHelper.js +1 -1
  41. package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -1
  42. package/dist/lib/helpers/UserUiHelper.js +1 -1
  43. package/dist/lib/helpers/UserUiHelper.js.map +1 -1
  44. package/dist/lib/helpers/testExtension.js +3 -1
  45. package/dist/lib/helpers/testExtension.js.map +1 -1
  46. package/dist/tsconfig.tsbuildinfo +1 -1
  47. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"StylesheetUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/StylesheetUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport { ConstantHelper } from \"./ConstantHelper\";\n\nexport class StylesheetUiHelper extends UiBaseLocators{\n private readonly newStylesheetBtn: Locator;\n private readonly stylesheetNameTxt: Locator;\n private readonly addRTEBtn: Locator;\n private readonly styleNameTxt: Locator;\n private readonly styleSelectorTxt: Locator;\n private readonly styleStylesTxt: Locator;\n private readonly newRichTextEditorStylesheetBtn: Locator;\n private readonly stylesheetTree: Locator;\n\n constructor(page: Page) {\n super(page);\n this.stylesheetNameTxt = page.getByLabel('stylesheet name');\n this.addRTEBtn = page.getByLabel('Add rule');\n this.styleNameTxt = page.getByLabel('Rule name');\n this.styleSelectorTxt = page.getByLabel('Rule selector');\n this.styleStylesTxt = page.getByLabel('Rule styles');\n this.newStylesheetBtn = page.getByLabel('New Stylesheet');\n this.newRichTextEditorStylesheetBtn = page.getByLabel('New Rich Text Editor Stylesheet');\n this.stylesheetTree = page.locator('umb-tree[alias=\"Umb.Tree.Stylesheet\"]');\n }\n\n async clickActionsMenuForStylesheet(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForStylesheet('Stylesheets');\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName('Stylesheets');\n }\n\n async clickNewStylesheetButton() {\n await this.newStylesheetBtn.click();\n }\n \n async clickNewRichTextEditorStylesheetButton() {\n await this.newRichTextEditorStylesheetBtn.click();\n }\n\n async enterStylesheetName(stylesheetName: string) {\n await expect(this.stylesheetNameTxt).toBeVisible();\n await this.stylesheetNameTxt.clear();\n await this.stylesheetNameTxt.fill(stylesheetName);\n }\n \n async enterStylesheetContent(stylesheetContent: string) {\n await this.textAreaInputArea.clear();\n await this.textAreaInputArea.fill(stylesheetContent);\n }\n\n async addRTEStyle(styleName: string, styleSelector: string, styleStyles: string) {\n await this.addRTEBtn.click();\n await this.fillRTEStyleForm(styleName, styleSelector, styleStyles);\n }\n\n async openStylesheetByNameAtRoot(stylesheetName: string) {\n await this.reloadStylesheetTree();\n await this.page.getByLabel(stylesheetName).click();\n }\n\n async editRTEStyle(styleName: string, newStyleName: string, newStyleSelector: string, newStyleStyles: string) {\n await this.page.locator('umb-stylesheet-rule-ref[name=\"' + styleName + '\"] [label=\"Edit\"]').click();\n await this.fillRTEStyleForm(newStyleName, newStyleSelector, newStyleStyles);\n }\n\n async fillRTEStyleForm(styleName: string, styleSelector: string, styleStyles: string) {\n await expect(this.styleNameTxt).toBeVisible();\n await this.styleNameTxt.clear();\n await this.styleNameTxt.fill(styleName);\n await this.styleSelectorTxt.clear();\n await this.styleSelectorTxt.fill(styleSelector);\n await this.styleStylesTxt.clear();\n await this.styleStylesTxt.fill(styleStyles);\n await this.clickSubmitButton();\n }\n\n async removeRTEStyle(styleName: string) {\n await this.page.locator('umb-stylesheet-rule-ref[name=\"' + styleName + '\"] [label=\"Remove\"]').click();\n }\n\n async reloadStylesheetTree() {\n await this.reloadTree('Stylesheets');\n }\n\n async isStylesheetRootTreeItemVisible(stylesheetName: string, isVisible: boolean = true, toReload: boolean = true) {\n if (toReload) {\n await this.reloadStylesheetTree();\n }\n return expect(this.stylesheetTree.getByText(stylesheetName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async goToStylesheet(stylesheetName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadStylesheetTree();\n await this.page.getByLabel(stylesheetName).click({force: true});\n }\n}"]}
1
+ {"version":3,"file":"StylesheetUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/StylesheetUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport { ConstantHelper } from \"./ConstantHelper\";\n\nexport class StylesheetUiHelper extends UiBaseLocators{\n private readonly newStylesheetBtn: Locator;\n private readonly stylesheetNameTxt: Locator;\n private readonly addRTEBtn: Locator;\n private readonly styleNameTxt: Locator;\n private readonly styleSelectorTxt: Locator;\n private readonly styleStylesTxt: Locator;\n private readonly newRichTextEditorStylesheetBtn: Locator;\n private readonly stylesheetTree: Locator;\n\n constructor(page: Page) {\n super(page);\n this.stylesheetNameTxt = page.getByLabel('stylesheet name');\n this.addRTEBtn = page.getByLabel('Add rule');\n this.styleNameTxt = page.getByLabel('Rule name');\n this.styleSelectorTxt = page.getByLabel('Rule selector');\n this.styleStylesTxt = page.getByLabel('Rule styles');\n this.newStylesheetBtn = page.getByLabel('New Stylesheet');\n this.newRichTextEditorStylesheetBtn = page.getByLabel('New Rich Text Editor Stylesheet');\n this.stylesheetTree = page.locator('umb-tree[alias=\"Umb.Tree.Stylesheet\"]');\n }\n\n async clickActionsMenuForStylesheet(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForStylesheet('Stylesheets');\n }\n\n async clickRootFolderCaretButton() {\n await this.clickCaretButtonForName('Stylesheets');\n }\n\n async clickNewStylesheetButton() {\n await this.newStylesheetBtn.click();\n }\n \n async clickNewRichTextEditorStylesheetButton() {\n await this.newRichTextEditorStylesheetBtn.click();\n }\n\n async enterStylesheetName(stylesheetName: string) {\n await expect(this.stylesheetNameTxt).toBeVisible();\n await this.stylesheetNameTxt.clear();\n await this.stylesheetNameTxt.fill(stylesheetName);\n }\n \n async enterStylesheetContent(stylesheetContent: string) {\n await this.textAreaInputArea.clear();\n await this.textAreaInputArea.fill(stylesheetContent);\n }\n\n async addRTEStyle(styleName: string, styleSelector: string, styleStyles: string) {\n await this.addRTEBtn.click();\n await this.fillRTEStyleForm(styleName, styleSelector, styleStyles);\n }\n\n async openStylesheetByNameAtRoot(stylesheetName: string) {\n await this.reloadStylesheetTree();\n await this.page.getByLabel(stylesheetName).click();\n }\n\n async editRTEStyle(styleName: string, newStyleName: string, newStyleSelector: string, newStyleStyles: string) {\n await this.page.locator('umb-stylesheet-rule-ref[name=\"' + styleName + '\"] [label=\"Edit\"]').click();\n await this.fillRTEStyleForm(newStyleName, newStyleSelector, newStyleStyles);\n }\n\n async fillRTEStyleForm(styleName: string, styleSelector: string, styleStyles: string) {\n await expect(this.styleNameTxt).toBeVisible();\n await this.styleNameTxt.clear();\n await this.styleNameTxt.fill(styleName);\n await this.styleSelectorTxt.clear();\n await this.styleSelectorTxt.fill(styleSelector);\n await this.styleStylesTxt.clear();\n await this.styleStylesTxt.fill(styleStyles);\n await this.clickSubmitButton();\n }\n\n async removeRTEStyle(styleName: string) {\n await this.page.locator('umb-stylesheet-rule-ref[name=\"' + styleName + '\"] [label=\"Remove\"]').click();\n }\n\n async reloadStylesheetTree() {\n await this.reloadTree('Stylesheets');\n }\n\n async isStylesheetRootTreeItemVisible(stylesheetName: string, isVisible: boolean = true, toReload: boolean = true) {\n if (toReload) {\n await this.reloadStylesheetTree();\n }\n return expect(this.stylesheetTree.getByText(stylesheetName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async goToStylesheet(stylesheetName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadStylesheetTree();\n await this.page.getByLabel(stylesheetName).click();\n }\n}"]}
@@ -137,10 +137,10 @@ export declare class UiBaseLocators {
137
137
  clickDeleteFolderButton(): Promise<void>;
138
138
  clickConfirmCreateFolderButton(): Promise<void>;
139
139
  clickDeleteThreeDotsButton(): Promise<void>;
140
- clickRemoveExactButton(toForce?: boolean): Promise<void>;
140
+ clickRemoveExactButton(): Promise<void>;
141
141
  clickRemoveButtonForName(name: string): Promise<void>;
142
142
  clickTrashIconButtonForName(name: string): Promise<void>;
143
- clickRemoveWithName(name: string, forceClick?: boolean): Promise<void>;
143
+ clickRemoveWithName(name: string): Promise<void>;
144
144
  clickDisableButton(): Promise<void>;
145
145
  clickConfirmDisableButton(): Promise<void>;
146
146
  clickConfirmRemoveButton(): Promise<void>;
@@ -156,8 +156,8 @@ export declare class UiBaseLocators {
156
156
  isTextWithExactNameVisible(name: string, isVisible?: boolean): Promise<void>;
157
157
  isQueryBuilderCodeShown(code: string): Promise<void>;
158
158
  deleteFolder(): Promise<void>;
159
- clickDeleteExactLabel(forceClick?: boolean): Promise<void>;
160
- clickDeleteExactButton(forceClick?: boolean): Promise<void>;
159
+ clickDeleteExactLabel(): Promise<void>;
160
+ clickDeleteExactButton(): Promise<void>;
161
161
  isTreeItemVisible(name: string, isVisible?: boolean): Promise<void>;
162
162
  doesTreeItemHaveTheCorrectIcon(name: string, icon: string): Promise<void>;
163
163
  goToSection(sectionName: string): Promise<void>;
@@ -165,13 +165,13 @@ export declare class UiBaseLocators {
165
165
  clickDataElement(elementName: string, options?: any): Promise<void>;
166
166
  getDataElement(elementName: string): Promise<Locator>;
167
167
  isButtonWithNameVisible(name: string): Promise<void>;
168
- clickLabelWithName(name: string, toForceClick?: boolean, isExact?: boolean): Promise<void>;
168
+ clickLabelWithName(name: string, isExact?: boolean, toForce?: boolean): Promise<void>;
169
169
  clickButtonWithName(name: string): Promise<void>;
170
170
  isSuccessNotificationVisible(isVisible?: boolean): Promise<void>;
171
171
  doesSuccessNotificationsHaveCount(count: number): Promise<void>;
172
172
  isErrorNotificationVisible(isVisible?: boolean): Promise<void>;
173
173
  clickCreateThreeDotsButton(): Promise<void>;
174
- clickCreateButton(): Promise<void>;
174
+ clickCreateButton(toForceClick?: boolean): Promise<void>;
175
175
  clickAddButton(): Promise<void>;
176
176
  clickNewFolderThreeDotsButton(): Promise<void>;
177
177
  clickEditorSettingsButton(index?: number): Promise<void>;
@@ -217,7 +217,7 @@ export declare class UiBaseLocators {
217
217
  clickConfigureAsACollectionButton(): Promise<void>;
218
218
  doesReturnedItemsHaveCount(itemCount: number): Promise<void>;
219
219
  doesQueryResultHaveContentName(contentName: string): Promise<void>;
220
- deleteGroup(groupName: string, forceClick?: boolean): Promise<void>;
220
+ deleteGroup(groupName: string, toForceClick?: boolean): Promise<void>;
221
221
  clickRemoveTabWithName(name: string): Promise<void>;
222
222
  clickLeftArrowButton(): Promise<void>;
223
223
  clickToUploadButton(): Promise<void>;
@@ -142,7 +142,7 @@ class UiBaseLocators {
142
142
  this.renameThreeDotsBtn = page.getByLabel('Rename...', { exact: true });
143
143
  this.newNameTxt = page.getByRole('textbox', { name: 'Enter new name...' });
144
144
  this.renameModalBtn = page.locator('umb-rename-modal').getByLabel('Rename');
145
- this.createBtn = page.getByText('Create', { exact: true });
145
+ this.createBtn = page.getByRole('button', { name: 'Create', exact: true });
146
146
  this.successState = page.locator('[state="success"]');
147
147
  this.chooseModalBtn = page.locator('umb-tree-picker-modal').getByLabel('Choose');
148
148
  this.addBtn = page.getByLabel('Add', { exact: true });
@@ -216,7 +216,7 @@ class UiBaseLocators {
216
216
  }
217
217
  async clickActionsMenuForName(name) {
218
218
  await this.page.locator('[label="' + name + '"]').click();
219
- await this.page.locator('[label="' + name + '"] >> [label="Open actions menu"]').first().click({ force: true });
219
+ await this.page.locator('[label="' + name + '"] >> [label="Open actions menu"]').first().click();
220
220
  }
221
221
  async clickCaretButtonForName(name) {
222
222
  await this.page.locator('div').filter({ hasText: name }).locator('#caret-button').click();
@@ -293,7 +293,7 @@ class UiBaseLocators {
293
293
  async updateIcon(iconName) {
294
294
  await this.iconBtn.click({ force: true });
295
295
  await this.searchForTypeToFilterValue(iconName);
296
- await this.clickLabelWithName(iconName, true);
296
+ await this.clickLabelWithName(iconName, true, true);
297
297
  await this.clickSubmitButton();
298
298
  }
299
299
  async clickTextButtonWithName(name) {
@@ -336,8 +336,8 @@ class UiBaseLocators {
336
336
  async clickDeleteThreeDotsButton() {
337
337
  await this.deleteThreeDotsBtn.click();
338
338
  }
339
- async clickRemoveExactButton(toForce = false) {
340
- await this.removeExactBtn.click({ force: toForce });
339
+ async clickRemoveExactButton() {
340
+ await this.removeExactBtn.click();
341
341
  }
342
342
  async clickRemoveButtonForName(name) {
343
343
  await this.page.locator('[name="' + name + '"] [Label="Remove"]').click();
@@ -345,8 +345,8 @@ class UiBaseLocators {
345
345
  async clickTrashIconButtonForName(name) {
346
346
  await this.page.locator('[name="' + name + '"] [name="icon-trash"]').click();
347
347
  }
348
- async clickRemoveWithName(name, forceClick = false) {
349
- await this.page.getByLabel('Remove ' + name).click({ force: forceClick });
348
+ async clickRemoveWithName(name) {
349
+ await this.page.getByLabel('Remove ' + name).click();
350
350
  }
351
351
  async clickDisableButton() {
352
352
  await this.disableBtn.click();
@@ -373,14 +373,14 @@ class UiBaseLocators {
373
373
  }
374
374
  async addQueryBuilderWithOrderByStatement(propertyAlias, isAscending) {
375
375
  await (0, test_1.expect)(this.queryBuilderBtn).toBeVisible({ timeout: 10000 });
376
- await this.queryBuilderBtn.click({ force: true });
376
+ await this.queryBuilderBtn.click();
377
377
  await (0, test_1.expect)(this.orderByPropertyAliasBtn).toBeVisible();
378
- await this.orderByPropertyAliasBtn.click({ force: true });
378
+ await this.orderByPropertyAliasBtn.click();
379
379
  // Wait and choose property alias option
380
380
  await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);
381
381
  // Click to acending button if isAcsending is false
382
382
  if (!isAscending) {
383
- await this.ascendingBtn.click({ force: true });
383
+ await this.ascendingBtn.click();
384
384
  }
385
385
  }
386
386
  async addQueryBuilderWithWhereStatement(propertyAlias, operator, constrainValue) {
@@ -414,7 +414,7 @@ class UiBaseLocators {
414
414
  async deletePropertyEditor(propertyEditorName) {
415
415
  // We need to hover over the property to be able to see the delete button
416
416
  await this.page.locator('uui-button').filter({ hasText: propertyEditorName }).getByLabel('Editor settings').hover();
417
- await this.deleteLabelBtn.click({ force: true });
417
+ await this.deleteLabelBtn.click();
418
418
  }
419
419
  async enterFolderName(folderName) {
420
420
  await this.folderNameTxt.clear();
@@ -432,11 +432,11 @@ class UiBaseLocators {
432
432
  await this.clickDeleteFolderButton();
433
433
  await this.clickConfirmToDeleteButton();
434
434
  }
435
- async clickDeleteExactLabel(forceClick = false) {
436
- await this.deleteExactLabelBtn.click({ force: forceClick });
435
+ async clickDeleteExactLabel() {
436
+ await this.deleteExactLabelBtn.click();
437
437
  }
438
- async clickDeleteExactButton(forceClick = false) {
439
- await this.deleteExactBtn.click({ force: forceClick });
438
+ async clickDeleteExactButton() {
439
+ await this.deleteExactBtn.click();
440
440
  }
441
441
  async isTreeItemVisible(name, isVisible = true) {
442
442
  await (0, test_1.expect)(this.page.locator('umb-tree-item').locator('[label="' + name + '"]')).toBeVisible({ visible: isVisible });
@@ -452,7 +452,7 @@ class UiBaseLocators {
452
452
  }
453
453
  async goToSettingsTreeItem(settingsTreeItemName) {
454
454
  await this.goToSection(ConstantHelper_1.ConstantHelper.sections.settings);
455
- await this.page.getByLabel(settingsTreeItemName, { exact: true }).click({ force: true });
455
+ await this.page.getByLabel(settingsTreeItemName, { exact: true }).click();
456
456
  }
457
457
  async clickDataElement(elementName, options = null) {
458
458
  await this.page.click(`[data-element="${elementName}"]`, options);
@@ -463,12 +463,12 @@ class UiBaseLocators {
463
463
  async isButtonWithNameVisible(name) {
464
464
  await (0, test_1.expect)(this.page.getByRole('button', { name: name })).toBeVisible();
465
465
  }
466
- async clickLabelWithName(name, toForceClick = false, isExact = true) {
466
+ async clickLabelWithName(name, isExact = true, toForce = false) {
467
467
  await (0, test_1.expect)(this.page.getByLabel(name, { exact: isExact })).toBeVisible();
468
- await this.page.getByLabel(name, { exact: isExact }).click({ force: toForceClick });
468
+ await this.page.getByLabel(name, { exact: isExact }).click({ force: toForce });
469
469
  }
470
470
  async clickButtonWithName(name) {
471
- await this.page.getByRole('button', { name: name }).click({ force: true });
471
+ await this.page.getByRole('button', { name: name }).click();
472
472
  }
473
473
  async isSuccessNotificationVisible(isVisible = true) {
474
474
  return await (0, test_1.expect)(this.successNotification.first()).toBeVisible({ visible: isVisible });
@@ -482,9 +482,9 @@ class UiBaseLocators {
482
482
  async clickCreateThreeDotsButton() {
483
483
  await this.createThreeDotsBtn.click();
484
484
  }
485
- async clickCreateButton() {
485
+ async clickCreateButton(toForceClick = false) {
486
486
  await (0, test_1.expect)(this.createBtn).toBeVisible();
487
- await this.createBtn.click();
487
+ await this.createBtn.click({ force: toForceClick });
488
488
  }
489
489
  async clickAddButton() {
490
490
  await this.addBtn.click();
@@ -539,6 +539,7 @@ class UiBaseLocators {
539
539
  }
540
540
  async enterTabName(tabName) {
541
541
  await (0, test_1.expect)(this.unnamedTxt).toBeVisible();
542
+ await this.page.waitForTimeout(400);
542
543
  await this.unnamedTxt.clear();
543
544
  await this.unnamedTxt.fill(tabName);
544
545
  }
@@ -593,7 +594,7 @@ class UiBaseLocators {
593
594
  await this.newNameTxt.click();
594
595
  await this.newNameTxt.clear();
595
596
  await this.newNameTxt.fill(newName);
596
- await this.renameModalBtn.click({ force: true });
597
+ await this.renameModalBtn.click();
597
598
  }
598
599
  async isSuccessButtonWithTextVisible(text) {
599
600
  return await (0, test_1.expect)(this.successState.filter({ hasText: text })).toBeVisible();
@@ -681,12 +682,12 @@ class UiBaseLocators {
681
682
  async doesQueryResultHaveContentName(contentName) {
682
683
  await (0, test_1.expect)(this.queryBuilderShowCode).toContainText(contentName);
683
684
  }
684
- async deleteGroup(groupName, forceClick = false) {
685
+ async deleteGroup(groupName, toForceClick = false) {
685
686
  await this.page.waitForTimeout(1000);
686
687
  const groups = this.page.locator('umb-content-type-design-editor-group').all();
687
688
  for (const group of await groups) {
688
689
  if (await group.getByLabel('Group', { exact: true }).inputValue() === groupName) {
689
- await group.locator('[slot="header-actions"]').getByLabel('Delete').click({ force: forceClick });
690
+ await group.locator('[slot="header-actions"]').getByLabel('Delete').click({ force: toForceClick });
690
691
  return;
691
692
  }
692
693
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UiBaseLocators.js","sourceRoot":"","sources":["../../../lib/helpers/UiBaseLocators.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect, Locator, Page} from \"@playwright/test\"\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class UiBaseLocators {\n public readonly page: Page;\n public readonly saveBtn: Locator;\n public readonly chooseBtn: Locator;\n public readonly submitBtn: Locator;\n public readonly createFolderBtn: Locator;\n public readonly breadcrumbBtn: Locator;\n public readonly deleteBtn: Locator;\n public readonly confirmToDeleteBtn: Locator;\n public readonly deleteLabelBtn: Locator;\n public readonly deleteExactLabelBtn: Locator;\n public readonly deleteExactBtn: Locator;\n public readonly confirmCreateFolderBtn: Locator;\n public readonly insertBtn: Locator;\n public readonly modalCaretBtn: Locator;\n public readonly queryBuilderBtn: Locator;\n public readonly queryBuilderOrderedBy: Locator;\n public readonly queryBuilderCreateDate: Locator;\n public readonly folderNameTxt: Locator;\n public readonly textAreaInputArea: Locator;\n public readonly wherePropertyAliasBtn: Locator;\n public readonly whereOperatorBtn: Locator;\n public readonly whereConstrainValueTxt: Locator;\n public readonly orderByPropertyAliasBtn: Locator;\n public readonly ascendingBtn: Locator;\n public readonly queryBuilderShowCode: Locator;\n public readonly createThreeDotsBtn: Locator;\n public readonly newFolderThreeDotsBtn: Locator;\n public readonly renameThreeDotsBtn: Locator;\n public readonly newNameTxt: Locator;\n public readonly renameModalBtn: Locator;\n public readonly createBtn: Locator;\n public readonly successState: Locator;\n public readonly chooseModalBtn: Locator;\n public readonly addBtn: Locator;\n public readonly renameFolderThreeDotsBtn: Locator;\n public readonly renameFolderBtn: Locator;\n public readonly updateFolderBtn: Locator;\n public readonly filterChooseBtn: Locator;\n public readonly updateBtn: Locator;\n public readonly changeBtn: Locator;\n public readonly propertyNameTxt: Locator;\n public readonly selectPropertyEditorBtn: Locator;\n public readonly addGroupBtn: Locator;\n public readonly iAmDoneReorderingBtn: Locator;\n public readonly reorderBtn: Locator;\n public readonly compositionsBtn: Locator;\n public readonly addTabBtn: Locator;\n public readonly descriptionBtn: Locator;\n public readonly enterDescriptionTxt: Locator;\n public readonly mandatorySlider: Locator;\n public readonly validation: Locator;\n public readonly regexTxt: Locator;\n public readonly regexMessageTxt: Locator;\n public readonly structureTabBtn: Locator;\n public readonly allowAtRootBtn: Locator;\n public readonly addPropertyBtn: Locator;\n public readonly typeToFilterSearchTxt: Locator;\n public readonly editorSettingsBtn: Locator;\n public readonly labelAboveBtn: Locator;\n public readonly unnamedTxt: Locator;\n public readonly deleteThreeDotsBtn: Locator;\n public readonly removeExactBtn: Locator;\n public readonly confirmBtn: Locator;\n public readonly disableBtn: Locator;\n public readonly confirmDisableBtn: Locator;\n public readonly enableBtn: Locator;\n public readonly confirmEnableBtn: Locator;\n public readonly iconBtn: Locator;\n public readonly aliasLockBtn: Locator;\n public readonly aliasNameTxt: Locator;\n public readonly deleteFolderThreeDotsBtn: Locator;\n public readonly createLink: Locator;\n public readonly insertValueBtn: Locator;\n public readonly insertPartialViewBtn: Locator;\n public readonly insertDictionaryItemBtn: Locator;\n public readonly chooseFieldDropDown: Locator;\n public readonly systemFieldsOption: Locator;\n public readonly chooseFieldValueDropDown: Locator;\n public readonly renameBtn: Locator;\n public readonly deleteFolderBtn: Locator;\n public readonly returnedItemsCount: Locator;\n public readonly chooseRootContentBtn: Locator;\n public readonly queryResults: Locator;\n public readonly reloadBtn: Locator;\n public readonly confirmToRemoveBtn: Locator;\n public readonly confirmToSubmitBtn: Locator;\n public readonly typeGroups: Locator;\n public readonly allowedChildNodesModal: Locator;\n public readonly configureAsACollectionBtn: Locator;\n public readonly errorNotification: Locator;\n public readonly confirmRenameFolderBtn: Locator;\n public readonly successNotification: Locator;\n public readonly leftArrowBtn: Locator;\n public readonly clickToUploadBtn: Locator;\n public readonly backOfficeHeader: Locator;\n public readonly failedStateButton: Locator;\n public readonly sidebarModal: Locator;\n public readonly enterAName: Locator;\n public readonly mediaCardItems: Locator;\n public readonly enterPropertyEditorDescriptionTxt: Locator;\n public readonly breadcrumbsTemplateModal: Locator;\n public readonly containerChooseBtn: Locator;\n public readonly documentTypeNode: Locator;\n public readonly groupLabel: Locator;\n \n constructor(page: Page) {\n this.page = page;\n this.saveBtn = page.getByLabel('Save', {exact: true});\n this.submitBtn = page.getByLabel('Submit');\n this.deleteExactLabelBtn = page.getByLabel('Delete', {exact: true});\n this.deleteExactBtn = page.getByRole('button', {name: 'Delete', exact: true});\n this.deleteLabelBtn = page.getByLabel('Delete');\n this.deleteBtn = page.getByRole('button', {name: 'Delete'});\n this.confirmToDeleteBtn = page.locator('#confirm').getByLabel('Delete');\n this.confirmCreateFolderBtn = page.locator('#confirm').getByLabel('Create Folder');\n this.breadcrumbBtn = page.getByLabel('Breadcrumb');\n this.createFolderBtn = page.getByLabel('Create folder');\n this.insertBtn = page.locator('uui-box uui-button').filter({hasText: 'Insert'});\n this.sidebarModal = page.locator('uui-modal-sidebar');\n this.modalCaretBtn = this.sidebarModal.locator('#caret-button');\n this.enterAName = page.getByLabel('Enter a name...', {exact: true});\n this.queryBuilderBtn = page.locator('#query-builder-button').getByLabel('Query builder');\n this.queryBuilderOrderedBy = page.locator('#property-alias-dropdown').getByLabel('Property alias');\n this.queryBuilderCreateDate = page.locator('#property-alias-dropdown').getByText('CreateDate').locator(\"..\");\n this.folderNameTxt = page.getByLabel('Enter a folder name');\n this.textAreaInputArea = page.locator('textarea.inputarea');\n this.wherePropertyAliasBtn = page.locator('#property-alias-dropdown');\n this.whereOperatorBtn = page.locator('#operator-dropdown');\n this.whereConstrainValueTxt = page.getByLabel('constrain value');\n this.orderByPropertyAliasBtn = page.locator('#sort-dropdown');\n this.ascendingBtn = page.locator('[key=\"template_ascending\"]');\n this.queryBuilderShowCode = page.locator('umb-code-block');\n this.createThreeDotsBtn = page.getByText('Create...', {exact: true});\n this.chooseBtn = page.getByLabel('Choose', {exact: true});\n this.containerChooseBtn = page.locator('#container').getByLabel('Choose');\n this.newFolderThreeDotsBtn = page.getByLabel('New Folder...');\n this.renameThreeDotsBtn = page.getByLabel('Rename...', {exact: true});\n this.newNameTxt = page.getByRole('textbox', {name: 'Enter new name...'});\n this.renameModalBtn = page.locator('umb-rename-modal').getByLabel('Rename');\n this.createBtn = page.getByText('Create', {exact: true});\n this.successState = page.locator('[state=\"success\"]');\n this.chooseModalBtn = page.locator('umb-tree-picker-modal').getByLabel('Choose');\n this.addBtn = page.getByLabel('Add', {exact: true});\n this.renameFolderThreeDotsBtn = page.getByLabel('Rename folder...');\n this.renameFolderBtn = page.getByLabel('Rename folder');\n this.confirmRenameFolderBtn = page.locator('#confirm').getByLabel('Rename folder');\n this.updateFolderBtn = page.getByLabel('Update folder');\n this.filterChooseBtn = page.locator('button').filter({hasText: 'Choose'});\n this.updateBtn = page.getByLabel('Update');\n this.changeBtn = page.getByLabel('Change');\n this.propertyNameTxt = page.locator('#name-input #input');\n this.selectPropertyEditorBtn = page.getByLabel('Select Property Editor');\n this.addGroupBtn = page.getByLabel('Add group', {exact: true});\n this.iAmDoneReorderingBtn = page.getByLabel('I am done reordering');\n this.reorderBtn = page.getByLabel('Reorder');\n this.compositionsBtn = page.getByLabel('Compositions');\n this.addTabBtn = page.getByLabel('Add tab');\n this.descriptionBtn = page.getByLabel('Description');\n this.enterDescriptionTxt = page.getByLabel('Enter a description...');\n this.mandatorySlider = page.locator('#mandatory #slider');\n this.validation = page.locator('#native');\n this.regexTxt = page.locator('input[name=\"pattern\"]');\n this.regexMessageTxt = page.locator('textarea[name=\"pattern-message\"]');\n this.structureTabBtn = page.locator('uui-tab').filter({hasText: 'Structure'}).locator('svg');\n this.allowAtRootBtn = page.locator('label').filter({hasText: 'Allow at root'});\n this.addPropertyBtn = page.getByLabel('Add property', {exact: true});\n this.typeToFilterSearchTxt = page.locator('[type=\"search\"] #input');\n this.editorSettingsBtn = page.getByLabel('Editor settings');\n this.labelAboveBtn = page.locator('button').filter({hasText: 'Label above'});\n this.unnamedTxt = page.getByRole('textbox', {name: 'Unnamed'});\n this.deleteThreeDotsBtn = page.locator('#action-modal').getByLabel('Delete...');\n this.removeExactBtn = page.getByLabel('Remove', {exact: true});\n this.confirmBtn = page.getByLabel('Confirm');\n this.disableBtn = page.getByLabel('Disable', {exact: true});\n this.confirmDisableBtn = page.locator('#confirm').getByLabel('Disable');\n this.confirmToSubmitBtn = page.locator('#confirm').getByLabel('Submit');\n this.enableBtn = page.getByLabel('Enable');\n this.confirmEnableBtn = page.locator('#confirm').getByLabel('Enable');\n this.iconBtn = page.getByLabel('icon');\n this.aliasLockBtn = page.locator('#name #lock');\n this.aliasNameTxt = page.locator('#name').getByLabel('alias');\n this.deleteFolderThreeDotsBtn = page.locator('#action-modal').getByLabel('Delete Folder...');\n this.createLink = page.getByRole('link', {name: 'Create'});\n this.insertValueBtn = page.locator('uui-button').filter({has: page.locator('[key=\"template_insertPageField\"]')});\n this.insertPartialViewBtn = page.locator('uui-button').filter({has: page.locator('[key=\"template_insertPartialView\"]')});\n this.insertDictionaryItemBtn = page.locator('uui-button').filter({has: page.locator('[key=\"template_insertDictionaryItem\"]')});\n this.chooseFieldDropDown = page.locator('#preview #expand-symbol-wrapper');\n this.systemFieldsOption = page.getByText('System fields');\n this.chooseFieldValueDropDown = page.locator('#value #expand-symbol-wrapper');\n this.renameBtn = page.locator('#action-modal').getByLabel('Rename');\n this.deleteFolderBtn = page.locator('#action-modal').getByLabel('Delete folder');\n this.returnedItemsCount = page.locator('#results-count');\n this.chooseRootContentBtn = page.getByLabel('Choose root document');\n this.queryResults = page.locator('query-results');\n this.reloadBtn = page.getByLabel('Reload', {exact: true});\n this.confirmToRemoveBtn = page.locator('#confirm').getByLabel('Remove');\n this.typeGroups = page.locator('umb-content-type-design-editor-group');\n this.allowedChildNodesModal = page.locator('umb-tree-picker-modal');\n this.configureAsACollectionBtn = page.getByLabel('Configure as a collection');\n this.errorNotification = page.locator('uui-toast-notification >> [color=\"danger\"]');\n this.successNotification = page.locator('uui-toast-notification >> [color=\"positive\"]');\n this.leftArrowBtn = page.locator('[name=\"icon-arrow-left\"] svg');\n this.clickToUploadBtn = page.locator('uui-file-dropzone').filter({hasText: 'Click to upload'});\n this.backOfficeHeader = page.locator('umb-backoffice-header');\n this.failedStateButton = page.locator('uui-button[state=\"failed\"]');\n this.mediaCardItems = page.locator('uui-card-media');\n this.enterPropertyEditorDescriptionTxt = this.sidebarModal.getByLabel('Enter a description...');\n this.breadcrumbsTemplateModal = this.sidebarModal.locator('umb-template-workspace-editor uui-breadcrumbs');\n this.documentTypeNode = page.locator('uui-ref-node-document-type');\n this.groupLabel = page.getByLabel('Group', {exact: true});\n }\n\n async clickActionsMenuForName(name: string) {\n await this.page.locator('[label=\"' + name + '\"]').click();\n await this.page.locator('[label=\"' + name + '\"] >> [label=\"Open actions menu\"]').first().click({force: true});\n }\n\n async clickCaretButtonForName(name: string) {\n await this.page.locator('div').filter({hasText: name}).locator('#caret-button').click();\n }\n\n async clickCaretButton() {\n await this.page.locator('#caret-button').click();\n }\n\n async reloadTree(treeName: string) {\n // Waits until the tree item is visible\n await expect(this.page.getByLabel(treeName, {exact: true})).toBeVisible();\n await this.page.waitForTimeout(500);\n await this.clickActionsMenuForName(treeName);\n await this.clickReloadButton();\n\n const menuItem = this.page.locator('uui-menu-item[label=\"' + treeName + '\"]');\n const isCaretButtonOpen = await menuItem.getAttribute('show-children');\n\n if (isCaretButtonOpen === null) {\n // We need to wait before clicking the caret button. Because the reload might not have happend yet. \n // await this.page.waitForTimeout(500);\n await this.clickCaretButtonForName(treeName);\n }\n }\n\n async clickReloadButton() {\n await this.reloadBtn.click();\n }\n\n async clickSaveButton() {\n // This wait is necessary to avoid the save button is ignored\n await this.page.waitForTimeout(500);\n await expect(this.saveBtn).toBeVisible();\n await this.saveBtn.click();\n }\n\n async clickChooseButton() {\n await this.chooseBtn.click();\n }\n\n async clickChooseContainerButton() {\n await this.containerChooseBtn.click();\n }\n\n async clickFilterChooseButton() {\n await this.filterChooseBtn.click();\n }\n\n async clickRenameFolderThreeDotsButton() {\n await this.renameFolderThreeDotsBtn.click();\n }\n\n async clickRenameFolderButton() {\n await this.renameFolderBtn.click();\n }\n\n async clickConfirmRenameFolderButton() {\n await this.confirmRenameFolderBtn.click();\n }\n\n async clickUpdateFolderButton() {\n await this.updateFolderBtn.click();\n }\n\n async clickUpdateButton() {\n await this.updateBtn.click();\n }\n\n async clickSubmitButton() {\n await expect(this.submitBtn).toBeVisible();\n await this.submitBtn.click();\n }\n\n async clickConfirmToSubmitButton() {\n await this.confirmToSubmitBtn.click();\n }\n\n async clickChangeButton() {\n await this.changeBtn.click();\n }\n\n async clickExactLinkWithName(name: string) {\n await this.page.getByRole('link', {name: name, exact: true}).click();\n }\n\n async enterAliasName(aliasName: string) {\n // Unlocks alias\n await this.aliasLockBtn.click();\n await this.aliasNameTxt.clear();\n await this.aliasNameTxt.fill(aliasName);\n }\n\n async updateIcon(iconName: string) {\n await this.iconBtn.click({force: true});\n await this.searchForTypeToFilterValue(iconName);\n await this.clickLabelWithName(iconName, true);\n await this.clickSubmitButton();\n }\n\n async clickTextButtonWithName(name: string) {\n await expect(this.page.getByText(name, {exact: true})).toBeVisible();\n await this.page.getByText(name, {exact: true}).click();\n }\n\n async clickSelectPropertyEditorButton() {\n await expect(this.selectPropertyEditorBtn).toBeVisible();\n await this.selectPropertyEditorBtn.click();\n }\n\n async clickCreateFolderButton() {\n await this.createFolderBtn.click();\n }\n\n async enterAPropertyName(name: string) {\n await expect(this.propertyNameTxt).toBeVisible();\n await this.propertyNameTxt.fill(name);\n }\n\n async clickConfirmButton() {\n await this.confirmBtn.click();\n }\n\n async clickBreadcrumbButton() {\n await this.breadcrumbBtn.click();\n }\n\n async clickInsertButton() {\n await expect(this.insertBtn).toBeVisible();\n await this.insertBtn.click();\n }\n\n async clickDeleteButton() {\n await this.deleteBtn.click({force: true});\n }\n\n async clickConfirmToDeleteButton() {\n await this.confirmToDeleteBtn.click();\n }\n\n async clickDeleteFolderButton() {\n await this.deleteFolderBtn.click();\n }\n\n async clickConfirmCreateFolderButton() {\n await this.confirmCreateFolderBtn.click();\n }\n\n async clickDeleteThreeDotsButton() {\n await this.deleteThreeDotsBtn.click();\n }\n\n async clickRemoveExactButton(toForce: boolean = false) {\n await this.removeExactBtn.click({force: toForce});\n }\n\n async clickRemoveButtonForName(name: string) {\n await this.page.locator('[name=\"' + name + '\"] [Label=\"Remove\"]').click();\n }\n\n async clickTrashIconButtonForName(name: string) {\n await this.page.locator('[name=\"' + name + '\"] [name=\"icon-trash\"]').click();\n }\n\n async clickRemoveWithName(name: string, forceClick = false) {\n await this.page.getByLabel('Remove ' + name).click({force: forceClick});\n }\n\n async clickDisableButton() {\n await this.disableBtn.click();\n }\n\n async clickConfirmDisableButton() {\n await this.confirmDisableBtn.click();\n }\n\n async clickConfirmRemoveButton() {\n await this.confirmToRemoveBtn.click();\n }\n\n async clickEnableButton() {\n await this.enableBtn.click();\n }\n\n async clickConfirmEnableButton() {\n await this.confirmEnableBtn.click();\n }\n\n async insertDictionaryItem(dictionaryName: string) {\n await this.clickInsertButton();\n await expect(this.insertDictionaryItemBtn).toBeVisible();\n await this.insertDictionaryItemBtn.click();\n await expect(this.page.getByLabel(dictionaryName)).toBeVisible();\n await this.page.getByLabel(dictionaryName).click();\n await this.chooseBtn.click();\n }\n\n async addQueryBuilderWithOrderByStatement(propertyAlias: string, isAscending: boolean) {\n await expect(this.queryBuilderBtn).toBeVisible({timeout: 10000});\n await this.queryBuilderBtn.click({force: true});\n await expect(this.orderByPropertyAliasBtn).toBeVisible();\n await this.orderByPropertyAliasBtn.click({force: true});\n // Wait and choose property alias option \n await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);\n // Click to acending button if isAcsending is false\n if (!isAscending) {\n await this.ascendingBtn.click({force: true});\n }\n }\n\n async addQueryBuilderWithWhereStatement(propertyAlias: string, operator: string, constrainValue: string) {\n await expect(this.queryBuilderBtn).toBeVisible({timeout: 10000});\n await this.queryBuilderBtn.click({force: true});\n // Wait and choose property alias\n await expect(this.wherePropertyAliasBtn).toBeVisible();\n await this.wherePropertyAliasBtn.click();\n await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);\n // Wait and choose operator\n await expect(this.whereOperatorBtn).toBeVisible();\n await this.whereOperatorBtn.click();\n await this.waitAndSelectQueryBuilderDropDownList(operator);\n // Wait and choose constrain value and press Enter\n await expect(this.whereConstrainValueTxt).toBeVisible();\n await this.whereConstrainValueTxt.clear();\n await this.whereConstrainValueTxt.fill(constrainValue);\n await this.whereConstrainValueTxt.press('Enter');\n }\n\n async waitAndSelectQueryBuilderDropDownList(option: string) {\n const ddlOption = this.page.locator('[open]').locator('uui-combobox-list-option').filter({hasText: option}).first();\n await expect(ddlOption).toBeVisible({timeout: 10000});\n await ddlOption.click();\n }\n\n async createFolder(folderName: string) {\n await this.clickCreateButton();\n await this.clickNewFolderThreeDotsButton();\n await this.enterFolderName(folderName);\n await this.clickConfirmCreateFolderButton();\n }\n \n async deletePropertyEditor(propertyEditorName: string) {\n // We need to hover over the property to be able to see the delete button\n await this.page.locator('uui-button').filter({hasText: propertyEditorName}).getByLabel('Editor settings').hover();\n await this.deleteLabelBtn.click({force: true});\n }\n\n async enterFolderName(folderName: string) {\n await this.folderNameTxt.clear();\n await this.folderNameTxt.fill(folderName);\n }\n\n async isTextWithExactNameVisible(name: string, isVisible = true) {\n return expect(this.page.getByText(name, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async isQueryBuilderCodeShown(code: string) {\n await expect(this.queryBuilderShowCode).toBeVisible();\n await this.queryBuilderShowCode.click();\n await expect(this.queryBuilderShowCode).toContainText(code, {timeout: 10000});\n }\n\n async deleteFolder() {\n await this.clickDeleteFolderButton();\n await this.clickConfirmToDeleteButton();\n }\n\n async clickDeleteExactLabel(forceClick = false) {\n await this.deleteExactLabelBtn.click({force: forceClick});\n }\n\n async clickDeleteExactButton(forceClick = false) {\n await this.deleteExactBtn.click({force: forceClick});\n }\n\n async isTreeItemVisible(name: string, isVisible = true) {\n await expect(this.page.locator('umb-tree-item').locator('[label=\"' + name + '\"]')).toBeVisible({visible: isVisible});\n }\n\n async doesTreeItemHaveTheCorrectIcon(name: string, icon: string) {\n return await expect(this.page.locator('umb-tree-item').filter({hasText: name}).locator('umb-icon').locator('[name=\"' + icon + '\"]')).toBeVisible();\n }\n\n async goToSection(sectionName: string) {\n for (let section in ConstantHelper.sections) {\n await expect(this.backOfficeHeader.getByRole('tab', {name: ConstantHelper.sections[section]})).toBeVisible({timeout: 30000});\n }\n await this.backOfficeHeader.getByRole('tab', {name: sectionName}).click();\n }\n\n async goToSettingsTreeItem(settingsTreeItemName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.page.getByLabel(settingsTreeItemName, {exact: true}).click({force: true});\n }\n\n async clickDataElement(elementName: string, options: any = null) {\n await this.page.click(`[data-element=\"${elementName}\"]`, options);\n }\n\n async getDataElement(elementName: string) {\n return this.page.locator(`[data-element=\"${elementName}\"]`);\n }\n\n async isButtonWithNameVisible(name: string) {\n await expect(this.page.getByRole('button', {name: name})).toBeVisible();\n }\n\n async clickLabelWithName(name: string, toForceClick = false, isExact: boolean = true) {\n await expect(this.page.getByLabel(name, {exact: isExact})).toBeVisible();\n await this.page.getByLabel(name, {exact: isExact}).click({force: toForceClick});\n }\n\n async clickButtonWithName(name: string) {\n await this.page.getByRole('button', {name: name}).click({force: true});\n }\n\n async isSuccessNotificationVisible(isVisible: boolean = true) {\n return await expect(this.successNotification.first()).toBeVisible({visible: isVisible});\n }\n\n async doesSuccessNotificationsHaveCount(count: number) {\n return await expect(this.successNotification).toHaveCount(count);\n }\n\n async isErrorNotificationVisible(isVisible: boolean = true) {\n return await expect(this.errorNotification.first()).toBeVisible({visible: isVisible});\n }\n\n async clickCreateThreeDotsButton() {\n await this.createThreeDotsBtn.click();\n }\n\n async clickCreateButton() {\n await expect(this.createBtn).toBeVisible();\n await this.createBtn.click();\n }\n\n async clickAddButton() {\n await this.addBtn.click();\n };\n\n async clickNewFolderThreeDotsButton() {\n await this.newFolderThreeDotsBtn.click();\n }\n\n async clickEditorSettingsButton(index: number = 0) {\n return this.editorSettingsBtn.nth(index).click();\n }\n\n async enterDescription(description: string) {\n await this.enterDescriptionTxt.fill(description);\n }\n\n async doesDescriptionHaveValue(value: string, index: number = 0) {\n return await expect(this.descriptionBtn.nth(index)).toHaveValue(value);\n }\n\n async clickStructureTab() {\n await this.page.waitForTimeout(1000);\n await this.structureTabBtn.waitFor({state: 'visible'});\n await this.structureTabBtn.click();\n }\n\n async clickAllowAtRootButton() {\n await this.allowAtRootBtn.click();\n }\n\n async clickIAmDoneReorderingButton() {\n await this.iAmDoneReorderingBtn.click();\n }\n\n async clickReorderButton() {\n await this.reorderBtn.click();\n }\n\n async clickLabelAboveButton() {\n await this.labelAboveBtn.click();\n }\n\n async clickMandatorySlider() {\n await this.mandatorySlider.click();\n }\n\n async selectValidationOption(option: string) {\n await this.validation.selectOption(option);\n }\n\n async enterRegEx(regEx: string) {\n await this.regexTxt.fill(regEx);\n }\n\n async enterRegExMessage(regExMessage: string) {\n await this.regexMessageTxt.fill(regExMessage);\n }\n\n async clickCompositionsButton() {\n await this.compositionsBtn.click();\n }\n\n async clickAddTabButton() {\n await this.addTabBtn.click();\n }\n\n async enterTabName(tabName: string) {\n await expect(this.unnamedTxt).toBeVisible();\n await this.unnamedTxt.clear();\n await this.unnamedTxt.fill(tabName);\n }\n\n async searchForTypeToFilterValue(searchValue: string) {\n await expect(this.typeToFilterSearchTxt).toBeVisible();\n await this.typeToFilterSearchTxt.fill(searchValue);\n }\n\n async addPropertyEditor(propertyEditorName: string, index: number = 0) {\n await expect(this.addPropertyBtn.nth(index)).toBeVisible();\n await this.addPropertyBtn.nth(index).click();\n await this.enterAPropertyName(propertyEditorName);\n await expect(this.propertyNameTxt).toHaveValue(propertyEditorName);\n await this.clickSelectPropertyEditorButton();\n await this.searchForTypeToFilterValue(propertyEditorName);\n await this.page.getByText(propertyEditorName, {exact: true}).click();\n await this.clickSubmitButton();\n }\n\n async updatePropertyEditor(propertyEditorName: string) {\n await this.clickEditorSettingsButton();\n await this.clickChangeButton();\n await this.searchForTypeToFilterValue(propertyEditorName);\n await this.page.getByText(propertyEditorName, {exact: true}).click();\n await this.enterAPropertyName(propertyEditorName);\n await this.clickSubmitButton();\n }\n\n async enterPropertyEditorDescription(description: string) {\n await this.enterPropertyEditorDescriptionTxt.fill(description);\n }\n\n async clickAddGroupButton() {\n await this.addGroupBtn.click();\n }\n\n async clickChooseModalButton() {\n await this.chooseModalBtn.click();\n }\n\n async enterGroupName(groupName: string, index: number = 0) {\n await this.page.waitForTimeout(200);\n const groupNameTxt = this.groupLabel.nth(index);\n await expect(groupNameTxt).toBeVisible();\n await groupNameTxt.clear();\n await groupNameTxt.fill(groupName);\n }\n\n async isGroupVisible(groupName: string, isVisible = true) {\n await expect(this.groupLabel.filter({hasText: groupName})).toBeVisible({visible: isVisible});\n }\n\n async doesGroupHaveValue(value: string) {\n await expect(this.groupLabel).toBeVisible();\n return await expect(this.groupLabel).toHaveValue(value);\n }\n\n async rename(newName: string) {\n await this.clickRenameButton();\n await expect(this.newNameTxt).toBeVisible();\n await this.newNameTxt.click();\n await this.newNameTxt.clear();\n await this.newNameTxt.fill(newName);\n await this.renameModalBtn.click({force: true});\n }\n\n async isSuccessButtonWithTextVisible(text: string) {\n return await expect(this.successState.filter({hasText: text})).toBeVisible();\n }\n\n async dragAndDrop(dragFromSelector: Locator, dragToSelector: Locator, verticalOffset: number = 0, horizontalOffset: number = 0, steps: number = 5) {\n await expect(dragFromSelector).toBeVisible();\n await expect(dragToSelector).toBeVisible();\n const targetLocation = await dragToSelector.boundingBox();\n const elementCenterX = targetLocation!.x + targetLocation!.width / 2;\n const elementCenterY = targetLocation!.y + targetLocation!.height / 2;\n await dragFromSelector.hover();\n await this.page.mouse.move(10, 10);\n await dragFromSelector.hover();\n await this.page.mouse.down();\n await this.page.waitForTimeout(400);\n await this.page.mouse.move(elementCenterX + horizontalOffset, elementCenterY + verticalOffset, {steps: steps});\n await this.page.waitForTimeout(400);\n await this.page.mouse.up();\n }\n\n async clickCreateLink() {\n await this.createLink.click();\n }\n\n async insertSystemFieldValue(fieldValue: string) {\n await this.clickInsertButton();\n await expect(this.insertValueBtn).toBeVisible();\n await this.insertValueBtn.click();\n await expect(this.chooseFieldDropDown).toBeVisible();\n await this.chooseFieldDropDown.click();\n await this.systemFieldsOption.click();\n await this.chooseFieldValueDropDown.click();\n await this.page.getByText(fieldValue).click();\n await this.clickSubmitButton();\n }\n\n async insertPartialView(partialViewName: string) {\n await this.clickInsertButton();\n await expect(this.insertPartialViewBtn).toBeVisible();\n await this.insertPartialViewBtn.click();\n await expect(this.page.getByLabel(partialViewName)).toBeVisible();\n await this.page.getByLabel(partialViewName).click();\n await this.chooseBtn.click();\n }\n\n async deletePropertyEditorWithName(name: string) {\n // We need to hover over the Property Editor to make the delete button visible\n const propertyEditor = this.page.locator('umb-content-type-design-editor-property', {hasText: name});\n await propertyEditor.hover();\n await propertyEditor.getByLabel('Delete').click({force: true});\n await this.clickConfirmToDeleteButton();\n }\n\n async clickRenameButton() {\n await this.renameBtn.click();\n }\n\n async clickDeleteAndConfirmButton() {\n await this.clickDeleteExactLabel();\n await this.clickConfirmToDeleteButton();\n }\n\n async clickQueryBuilderButton() {\n await this.queryBuilderBtn.click();\n }\n\n async chooseRootContentInQueryBuilder(contentName: string) {\n await expect(this.chooseRootContentBtn).toBeVisible();\n await this.chooseRootContentBtn.click();\n await expect(this.page.getByText(contentName)).toBeVisible();\n await this.page.getByText(contentName).click();\n await this.chooseBtn.click();\n }\n\n async reorderTwoGroups() {\n const firstGroup = this.typeGroups.nth(0);\n const secondGroup = this.typeGroups.nth(1);\n const firstGroupValue = await firstGroup.getByLabel('Group', {exact: true}).inputValue();\n const secondGroupValue = await secondGroup.getByLabel('Group', {exact: true}).inputValue();\n const dragToLocator = firstGroup.locator('[name=\"icon-navigation\"]').first();\n const dragFromLocator = secondGroup.locator('[name=\"icon-navigation\"]').first();\n await this.dragAndDrop(dragFromLocator, dragToLocator, 0, 0, 10);\n return {firstGroupValue, secondGroupValue};\n }\n\n async clickAllowedChildNodesButton() {\n await this.allowedChildNodesModal.locator(this.chooseBtn).click();\n }\n\n async clickConfigureAsACollectionButton() {\n await this.configureAsACollectionBtn.click();\n }\n\n async doesReturnedItemsHaveCount(itemCount: number) {\n await expect(this.returnedItemsCount).toContainText(itemCount.toString() + ' items returned');\n }\n\n async doesQueryResultHaveContentName(contentName: string) {\n await expect(this.queryBuilderShowCode).toContainText(contentName);\n }\n\n async deleteGroup(groupName: string, forceClick: boolean = false) {\n await this.page.waitForTimeout(1000);\n const groups = this.page.locator('umb-content-type-design-editor-group').all();\n for (const group of await groups) {\n if (await group.getByLabel('Group', {exact: true}).inputValue() === groupName) {\n await group.locator('[slot=\"header-actions\"]').getByLabel('Delete').click({force: forceClick});\n return;\n }\n }\n }\n\n async clickRemoveTabWithName(name: string) {\n await this.page.locator('[label=\"' + name + '\"] [label=\"Remove\"]').click();\n }\n\n async clickLeftArrowButton() {\n await this.leftArrowBtn.click();\n }\n\n async clickToUploadButton() {\n await this.clickToUploadBtn.click();\n }\n\n async uploadFile(filePath: string) {\n const fileChooserPromise = this.page.waitForEvent('filechooser');\n await this.clickToUploadButton();\n const fileChooser = await fileChooserPromise;\n await fileChooser.setFiles(filePath);\n }\n\n getTabLocatorWithName(name: string) {\n return this.page.getByRole('tab', {name: name});\n }\n\n getTextLocatorWithName(name: string) {\n return this.page.getByText(name, {exact: true});\n }\n\n async isFailedStateButtonVisible() {\n await expect(this.failedStateButton).toBeVisible();\n }\n}"]}
1
+ {"version":3,"file":"UiBaseLocators.js","sourceRoot":"","sources":["../../../lib/helpers/UiBaseLocators.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AACtD,qDAAgD;AAEhD,MAAa,cAAc;IACT,IAAI,CAAO;IACX,OAAO,CAAU;IACjB,SAAS,CAAU;IACnB,SAAS,CAAU;IACnB,eAAe,CAAU;IACzB,aAAa,CAAU;IACvB,SAAS,CAAU;IACnB,kBAAkB,CAAU;IAC5B,cAAc,CAAU;IACxB,mBAAmB,CAAU;IAC7B,cAAc,CAAU;IACxB,sBAAsB,CAAU;IAChC,SAAS,CAAU;IACnB,aAAa,CAAU;IACvB,eAAe,CAAU;IACzB,qBAAqB,CAAU;IAC/B,sBAAsB,CAAU;IAChC,aAAa,CAAU;IACvB,iBAAiB,CAAU;IAC3B,qBAAqB,CAAU;IAC/B,gBAAgB,CAAU;IAC1B,sBAAsB,CAAU;IAChC,uBAAuB,CAAU;IACjC,YAAY,CAAU;IACtB,oBAAoB,CAAU;IAC9B,kBAAkB,CAAU;IAC5B,qBAAqB,CAAU;IAC/B,kBAAkB,CAAU;IAC5B,UAAU,CAAU;IACpB,cAAc,CAAU;IACxB,SAAS,CAAU;IACnB,YAAY,CAAU;IACtB,cAAc,CAAU;IACxB,MAAM,CAAU;IAChB,wBAAwB,CAAU;IAClC,eAAe,CAAU;IACzB,eAAe,CAAU;IACzB,eAAe,CAAU;IACzB,SAAS,CAAU;IACnB,SAAS,CAAU;IACnB,eAAe,CAAU;IACzB,uBAAuB,CAAU;IACjC,WAAW,CAAU;IACrB,oBAAoB,CAAU;IAC9B,UAAU,CAAU;IACpB,eAAe,CAAU;IACzB,SAAS,CAAU;IACnB,cAAc,CAAU;IACxB,mBAAmB,CAAU;IAC7B,eAAe,CAAU;IACzB,UAAU,CAAU;IACpB,QAAQ,CAAU;IAClB,eAAe,CAAU;IACzB,eAAe,CAAU;IACzB,cAAc,CAAU;IACxB,cAAc,CAAU;IACxB,qBAAqB,CAAU;IAC/B,iBAAiB,CAAU;IAC3B,aAAa,CAAU;IACvB,UAAU,CAAU;IACpB,kBAAkB,CAAU;IAC5B,cAAc,CAAU;IACxB,UAAU,CAAU;IACpB,UAAU,CAAU;IACpB,iBAAiB,CAAU;IAC3B,SAAS,CAAU;IACnB,gBAAgB,CAAU;IAC1B,OAAO,CAAU;IACjB,YAAY,CAAU;IACtB,YAAY,CAAU;IACtB,wBAAwB,CAAU;IAClC,UAAU,CAAU;IACpB,cAAc,CAAU;IACxB,oBAAoB,CAAU;IAC9B,uBAAuB,CAAU;IACjC,mBAAmB,CAAU;IAC7B,kBAAkB,CAAU;IAC5B,wBAAwB,CAAU;IAClC,SAAS,CAAU;IACnB,eAAe,CAAU;IACzB,kBAAkB,CAAU;IAC5B,oBAAoB,CAAU;IAC9B,YAAY,CAAU;IACtB,SAAS,CAAU;IACnB,kBAAkB,CAAU;IAC5B,kBAAkB,CAAU;IAC5B,UAAU,CAAU;IACpB,sBAAsB,CAAU;IAChC,yBAAyB,CAAU;IACnC,iBAAiB,CAAU;IAC3B,sBAAsB,CAAU;IAChC,mBAAmB,CAAU;IAC7B,YAAY,CAAU;IACtB,gBAAgB,CAAU;IAC1B,gBAAgB,CAAU;IAC1B,iBAAiB,CAAU;IAC3B,YAAY,CAAU;IACtB,UAAU,CAAU;IACpB,cAAc,CAAU;IACxB,iCAAiC,CAAU;IAC3C,wBAAwB,CAAU;IAClC,kBAAkB,CAAU;IAC5B,gBAAgB,CAAU;IAC1B,UAAU,CAAU;IAEpC,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACpE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACnF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC,CAAC;QAChF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACzF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACnG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7G,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QAC5D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC5D,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QACtE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC3D,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACjE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAC/D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC3D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1E,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAC9D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,mBAAmB,EAAC,CAAC,CAAC;QACzE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACjF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACpD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACxD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACnF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC1D,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QACzE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QACrE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QACxE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,WAAW,EAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7F,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,eAAe,EAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACrE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACpE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,aAAa,EAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAChF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACxE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC7F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,EAAC,CAAC,CAAC;QACjH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC,EAAC,CAAC,CAAC;QACzH,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,uCAAuC,CAAC,EAAC,CAAC,CAAC;QAC/H,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;QAC3E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACjF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACzD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QACvE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACpE,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;QAC9E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;QACpF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;QACxF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QACjE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,iBAAiB,EAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC9D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACpE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACrD,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QAChG,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC;QAC3G,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,IAAY;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,GAAG,mCAAmC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;IACnG,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,IAAY;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB;QAC/B,uCAAuC;QACvC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1E,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC;QAC9E,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAEvE,IAAI,iBAAiB,KAAK,IAAI,EAAE;YAC9B,oGAAoG;YACpG,uCAAuC;YACvC,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;SAC9C;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,6DAA6D;QAC7D,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,gCAAgC;QACpC,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,8BAA8B;QAClC,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAY;QACvC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,gBAAgB;QAChB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB;QAC/B,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,IAAY;QACxC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACrE,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,+BAA+B;QACnC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,8BAA8B;QAClC,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,IAAY;QACzC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,GAAG,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,IAAY;QAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,GAAG,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,cAAsB;QAC/C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;QAC3C,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;QACnD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,mCAAmC,CAAC,aAAqB,EAAE,WAAoB;QACnF,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;QACjE,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;QAC3C,yCAAyC;QACzC,MAAM,IAAI,CAAC,qCAAqC,CAAC,aAAa,CAAC,CAAC;QAChE,mDAAmD;QACnD,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;SACjC;IACH,CAAC;IAED,KAAK,CAAC,iCAAiC,CAAC,aAAqB,EAAE,QAAgB,EAAE,cAAsB;QACrG,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;QACjE,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAChD,iCAAiC;QACjC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,qCAAqC,CAAC,aAAa,CAAC,CAAC;QAChE,2BAA2B;QAC3B,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,qCAAqC,CAAC,QAAQ,CAAC,CAAC;QAC3D,kDAAkD;QAClD,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,WAAW,EAAE,CAAC;QACxD,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,qCAAqC,CAAC,MAAc;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACpH,MAAM,IAAA,aAAM,EAAC,SAAS,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;QACtD,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAC3C,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,kBAA0B;QACnD,yEAAyE;QACzE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,kBAAkB,EAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,CAAC;QAClH,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,IAAY,EAAE,SAAS,GAAG,IAAI;QAC7D,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,IAAY;QACxC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAY,EAAE,SAAS,GAAG,IAAI;QACpD,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IACvH,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,IAAY,EAAE,IAAY;QAC7D,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACrJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAmB;QACnC,KAAK,IAAI,OAAO,IAAI,+BAAc,CAAC,QAAQ,EAAE;YAC3C,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,+BAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;SAC9H;QACD,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,oBAA4B;QACrD,MAAM,IAAI,CAAC,WAAW,CAAC,+BAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,WAAmB,EAAE,UAAe,IAAI;QAC7D,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,WAAW,IAAI,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,WAAW,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,IAAY;QACxC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY,EAAE,UAAmB,IAAI,EAAE,UAAmB,KAAK;QACtF,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACzE,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,YAAqB,IAAI;QAC1D,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,iCAAiC,CAAC,KAAa;QACnD,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,YAAqB,IAAI;QACxD,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,eAAwB,KAAK;QACnD,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,YAAY,EAAC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAAA,CAAC;IAEF,KAAK,CAAC,6BAA6B;QACjC,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,QAAgB,CAAC;QAC/C,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,WAAmB;QACxC,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,KAAa,EAAE,QAAgB,CAAC;QAC7D,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,MAAc;QACzC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,YAAoB;QAC1C,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,WAAmB;QAClD,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,kBAA0B,EAAE,QAAgB,CAAC;QACnE,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3D,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,0BAA0B,CAAC,kBAAkB,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACrE,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,kBAA0B;QACnD,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,0BAA0B,CAAC,kBAAkB,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACrE,MAAM,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,WAAmB;QACtD,MAAM,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,QAAgB,CAAC;QACvD,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,IAAA,aAAM,EAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,SAAS,GAAG,IAAI;QACtD,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAAa;QACpC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe;QAC1B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,IAAY;QAC/C,OAAO,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,gBAAyB,EAAE,cAAuB,EAAE,iBAAyB,CAAC,EAAE,mBAA2B,CAAC,EAAE,QAAgB,CAAC;QAC/I,MAAM,IAAA,aAAM,EAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,IAAA,aAAM,EAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,CAAC;QAC1D,MAAM,cAAc,GAAG,cAAe,CAAC,CAAC,GAAG,cAAe,CAAC,KAAK,GAAG,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,cAAe,CAAC,CAAC,GAAG,cAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QACtE,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACnC,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,gBAAgB,EAAE,cAAc,GAAG,cAAc,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;QAC/G,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QAC7C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;QAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,eAAuB;QAC7C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAClE,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;QACpD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,IAAY;QAC7C,8EAA8E;QAC9E,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,yCAAyC,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;QACrG,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,WAAmB;QACvD,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7D,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/C,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QACzF,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAC3F,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7E,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;QAChF,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO,EAAC,eAAe,EAAE,gBAAgB,EAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,iCAAiC;QACrC,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,SAAiB;QAChD,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,iBAAiB,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,WAAmB;QACtD,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,eAAwB,KAAK;QAChE,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/E,KAAK,MAAM,KAAK,IAAI,MAAM,MAAM,EAAE;YAChC,IAAI,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,UAAU,EAAE,KAAK,SAAS,EAAE;gBAC7E,MAAM,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,YAAY,EAAC,CAAC,CAAC;gBACjG,OAAO;aACR;SACF;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAY;QACvC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,GAAG,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB;QAC/B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACjE,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC;QAC7C,MAAM,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,qBAAqB,CAAC,IAAY;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IAClD,CAAC;IAED,sBAAsB,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,CAAC;CACF;AAh0BD,wCAg0BC","sourcesContent":["import {expect, Locator, Page} from \"@playwright/test\"\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class UiBaseLocators {\n public readonly page: Page;\n public readonly saveBtn: Locator;\n public readonly chooseBtn: Locator;\n public readonly submitBtn: Locator;\n public readonly createFolderBtn: Locator;\n public readonly breadcrumbBtn: Locator;\n public readonly deleteBtn: Locator;\n public readonly confirmToDeleteBtn: Locator;\n public readonly deleteLabelBtn: Locator;\n public readonly deleteExactLabelBtn: Locator;\n public readonly deleteExactBtn: Locator;\n public readonly confirmCreateFolderBtn: Locator;\n public readonly insertBtn: Locator;\n public readonly modalCaretBtn: Locator;\n public readonly queryBuilderBtn: Locator;\n public readonly queryBuilderOrderedBy: Locator;\n public readonly queryBuilderCreateDate: Locator;\n public readonly folderNameTxt: Locator;\n public readonly textAreaInputArea: Locator;\n public readonly wherePropertyAliasBtn: Locator;\n public readonly whereOperatorBtn: Locator;\n public readonly whereConstrainValueTxt: Locator;\n public readonly orderByPropertyAliasBtn: Locator;\n public readonly ascendingBtn: Locator;\n public readonly queryBuilderShowCode: Locator;\n public readonly createThreeDotsBtn: Locator;\n public readonly newFolderThreeDotsBtn: Locator;\n public readonly renameThreeDotsBtn: Locator;\n public readonly newNameTxt: Locator;\n public readonly renameModalBtn: Locator;\n public readonly createBtn: Locator;\n public readonly successState: Locator;\n public readonly chooseModalBtn: Locator;\n public readonly addBtn: Locator;\n public readonly renameFolderThreeDotsBtn: Locator;\n public readonly renameFolderBtn: Locator;\n public readonly updateFolderBtn: Locator;\n public readonly filterChooseBtn: Locator;\n public readonly updateBtn: Locator;\n public readonly changeBtn: Locator;\n public readonly propertyNameTxt: Locator;\n public readonly selectPropertyEditorBtn: Locator;\n public readonly addGroupBtn: Locator;\n public readonly iAmDoneReorderingBtn: Locator;\n public readonly reorderBtn: Locator;\n public readonly compositionsBtn: Locator;\n public readonly addTabBtn: Locator;\n public readonly descriptionBtn: Locator;\n public readonly enterDescriptionTxt: Locator;\n public readonly mandatorySlider: Locator;\n public readonly validation: Locator;\n public readonly regexTxt: Locator;\n public readonly regexMessageTxt: Locator;\n public readonly structureTabBtn: Locator;\n public readonly allowAtRootBtn: Locator;\n public readonly addPropertyBtn: Locator;\n public readonly typeToFilterSearchTxt: Locator;\n public readonly editorSettingsBtn: Locator;\n public readonly labelAboveBtn: Locator;\n public readonly unnamedTxt: Locator;\n public readonly deleteThreeDotsBtn: Locator;\n public readonly removeExactBtn: Locator;\n public readonly confirmBtn: Locator;\n public readonly disableBtn: Locator;\n public readonly confirmDisableBtn: Locator;\n public readonly enableBtn: Locator;\n public readonly confirmEnableBtn: Locator;\n public readonly iconBtn: Locator;\n public readonly aliasLockBtn: Locator;\n public readonly aliasNameTxt: Locator;\n public readonly deleteFolderThreeDotsBtn: Locator;\n public readonly createLink: Locator;\n public readonly insertValueBtn: Locator;\n public readonly insertPartialViewBtn: Locator;\n public readonly insertDictionaryItemBtn: Locator;\n public readonly chooseFieldDropDown: Locator;\n public readonly systemFieldsOption: Locator;\n public readonly chooseFieldValueDropDown: Locator;\n public readonly renameBtn: Locator;\n public readonly deleteFolderBtn: Locator;\n public readonly returnedItemsCount: Locator;\n public readonly chooseRootContentBtn: Locator;\n public readonly queryResults: Locator;\n public readonly reloadBtn: Locator;\n public readonly confirmToRemoveBtn: Locator;\n public readonly confirmToSubmitBtn: Locator;\n public readonly typeGroups: Locator;\n public readonly allowedChildNodesModal: Locator;\n public readonly configureAsACollectionBtn: Locator;\n public readonly errorNotification: Locator;\n public readonly confirmRenameFolderBtn: Locator;\n public readonly successNotification: Locator;\n public readonly leftArrowBtn: Locator;\n public readonly clickToUploadBtn: Locator;\n public readonly backOfficeHeader: Locator;\n public readonly failedStateButton: Locator;\n public readonly sidebarModal: Locator;\n public readonly enterAName: Locator;\n public readonly mediaCardItems: Locator;\n public readonly enterPropertyEditorDescriptionTxt: Locator;\n public readonly breadcrumbsTemplateModal: Locator;\n public readonly containerChooseBtn: Locator;\n public readonly documentTypeNode: Locator;\n public readonly groupLabel: Locator;\n\n constructor(page: Page) {\n this.page = page;\n this.saveBtn = page.getByLabel('Save', {exact: true});\n this.submitBtn = page.getByLabel('Submit');\n this.deleteExactLabelBtn = page.getByLabel('Delete', {exact: true});\n this.deleteExactBtn = page.getByRole('button', {name: 'Delete', exact: true});\n this.deleteLabelBtn = page.getByLabel('Delete');\n this.deleteBtn = page.getByRole('button', {name: 'Delete'});\n this.confirmToDeleteBtn = page.locator('#confirm').getByLabel('Delete');\n this.confirmCreateFolderBtn = page.locator('#confirm').getByLabel('Create Folder');\n this.breadcrumbBtn = page.getByLabel('Breadcrumb');\n this.createFolderBtn = page.getByLabel('Create folder');\n this.insertBtn = page.locator('uui-box uui-button').filter({hasText: 'Insert'});\n this.sidebarModal = page.locator('uui-modal-sidebar');\n this.modalCaretBtn = this.sidebarModal.locator('#caret-button');\n this.enterAName = page.getByLabel('Enter a name...', {exact: true});\n this.queryBuilderBtn = page.locator('#query-builder-button').getByLabel('Query builder');\n this.queryBuilderOrderedBy = page.locator('#property-alias-dropdown').getByLabel('Property alias');\n this.queryBuilderCreateDate = page.locator('#property-alias-dropdown').getByText('CreateDate').locator(\"..\");\n this.folderNameTxt = page.getByLabel('Enter a folder name');\n this.textAreaInputArea = page.locator('textarea.inputarea');\n this.wherePropertyAliasBtn = page.locator('#property-alias-dropdown');\n this.whereOperatorBtn = page.locator('#operator-dropdown');\n this.whereConstrainValueTxt = page.getByLabel('constrain value');\n this.orderByPropertyAliasBtn = page.locator('#sort-dropdown');\n this.ascendingBtn = page.locator('[key=\"template_ascending\"]');\n this.queryBuilderShowCode = page.locator('umb-code-block');\n this.createThreeDotsBtn = page.getByText('Create...', {exact: true});\n this.chooseBtn = page.getByLabel('Choose', {exact: true});\n this.containerChooseBtn = page.locator('#container').getByLabel('Choose');\n this.newFolderThreeDotsBtn = page.getByLabel('New Folder...');\n this.renameThreeDotsBtn = page.getByLabel('Rename...', {exact: true});\n this.newNameTxt = page.getByRole('textbox', {name: 'Enter new name...'});\n this.renameModalBtn = page.locator('umb-rename-modal').getByLabel('Rename');\n this.createBtn = page.getByRole('button', {name: 'Create', exact: true});\n this.successState = page.locator('[state=\"success\"]');\n this.chooseModalBtn = page.locator('umb-tree-picker-modal').getByLabel('Choose');\n this.addBtn = page.getByLabel('Add', {exact: true});\n this.renameFolderThreeDotsBtn = page.getByLabel('Rename folder...');\n this.renameFolderBtn = page.getByLabel('Rename folder');\n this.confirmRenameFolderBtn = page.locator('#confirm').getByLabel('Rename folder');\n this.updateFolderBtn = page.getByLabel('Update folder');\n this.filterChooseBtn = page.locator('button').filter({hasText: 'Choose'});\n this.updateBtn = page.getByLabel('Update');\n this.changeBtn = page.getByLabel('Change');\n this.propertyNameTxt = page.locator('#name-input #input');\n this.selectPropertyEditorBtn = page.getByLabel('Select Property Editor');\n this.addGroupBtn = page.getByLabel('Add group', {exact: true});\n this.iAmDoneReorderingBtn = page.getByLabel('I am done reordering');\n this.reorderBtn = page.getByLabel('Reorder');\n this.compositionsBtn = page.getByLabel('Compositions');\n this.addTabBtn = page.getByLabel('Add tab');\n this.descriptionBtn = page.getByLabel('Description');\n this.enterDescriptionTxt = page.getByLabel('Enter a description...');\n this.mandatorySlider = page.locator('#mandatory #slider');\n this.validation = page.locator('#native');\n this.regexTxt = page.locator('input[name=\"pattern\"]');\n this.regexMessageTxt = page.locator('textarea[name=\"pattern-message\"]');\n this.structureTabBtn = page.locator('uui-tab').filter({hasText: 'Structure'}).locator('svg');\n this.allowAtRootBtn = page.locator('label').filter({hasText: 'Allow at root'});\n this.addPropertyBtn = page.getByLabel('Add property', {exact: true});\n this.typeToFilterSearchTxt = page.locator('[type=\"search\"] #input');\n this.editorSettingsBtn = page.getByLabel('Editor settings');\n this.labelAboveBtn = page.locator('button').filter({hasText: 'Label above'});\n this.unnamedTxt = page.getByRole('textbox', {name: 'Unnamed'});\n this.deleteThreeDotsBtn = page.locator('#action-modal').getByLabel('Delete...');\n this.removeExactBtn = page.getByLabel('Remove', {exact: true});\n this.confirmBtn = page.getByLabel('Confirm');\n this.disableBtn = page.getByLabel('Disable', {exact: true});\n this.confirmDisableBtn = page.locator('#confirm').getByLabel('Disable');\n this.confirmToSubmitBtn = page.locator('#confirm').getByLabel('Submit');\n this.enableBtn = page.getByLabel('Enable');\n this.confirmEnableBtn = page.locator('#confirm').getByLabel('Enable');\n this.iconBtn = page.getByLabel('icon');\n this.aliasLockBtn = page.locator('#name #lock');\n this.aliasNameTxt = page.locator('#name').getByLabel('alias');\n this.deleteFolderThreeDotsBtn = page.locator('#action-modal').getByLabel('Delete Folder...');\n this.createLink = page.getByRole('link', {name: 'Create'});\n this.insertValueBtn = page.locator('uui-button').filter({has: page.locator('[key=\"template_insertPageField\"]')});\n this.insertPartialViewBtn = page.locator('uui-button').filter({has: page.locator('[key=\"template_insertPartialView\"]')});\n this.insertDictionaryItemBtn = page.locator('uui-button').filter({has: page.locator('[key=\"template_insertDictionaryItem\"]')});\n this.chooseFieldDropDown = page.locator('#preview #expand-symbol-wrapper');\n this.systemFieldsOption = page.getByText('System fields');\n this.chooseFieldValueDropDown = page.locator('#value #expand-symbol-wrapper');\n this.renameBtn = page.locator('#action-modal').getByLabel('Rename');\n this.deleteFolderBtn = page.locator('#action-modal').getByLabel('Delete folder');\n this.returnedItemsCount = page.locator('#results-count');\n this.chooseRootContentBtn = page.getByLabel('Choose root document');\n this.queryResults = page.locator('query-results');\n this.reloadBtn = page.getByLabel('Reload', {exact: true});\n this.confirmToRemoveBtn = page.locator('#confirm').getByLabel('Remove');\n this.typeGroups = page.locator('umb-content-type-design-editor-group');\n this.allowedChildNodesModal = page.locator('umb-tree-picker-modal');\n this.configureAsACollectionBtn = page.getByLabel('Configure as a collection');\n this.errorNotification = page.locator('uui-toast-notification >> [color=\"danger\"]');\n this.successNotification = page.locator('uui-toast-notification >> [color=\"positive\"]');\n this.leftArrowBtn = page.locator('[name=\"icon-arrow-left\"] svg');\n this.clickToUploadBtn = page.locator('uui-file-dropzone').filter({hasText: 'Click to upload'});\n this.backOfficeHeader = page.locator('umb-backoffice-header');\n this.failedStateButton = page.locator('uui-button[state=\"failed\"]');\n this.mediaCardItems = page.locator('uui-card-media');\n this.enterPropertyEditorDescriptionTxt = this.sidebarModal.getByLabel('Enter a description...');\n this.breadcrumbsTemplateModal = this.sidebarModal.locator('umb-template-workspace-editor uui-breadcrumbs');\n this.documentTypeNode = page.locator('uui-ref-node-document-type');\n this.groupLabel = page.getByLabel('Group', {exact: true});\n }\n\n async clickActionsMenuForName(name: string) {\n await this.page.locator('[label=\"' + name + '\"]').click();\n await this.page.locator('[label=\"' + name + '\"] >> [label=\"Open actions menu\"]').first().click();\n }\n\n async clickCaretButtonForName(name: string) {\n await this.page.locator('div').filter({hasText: name}).locator('#caret-button').click();\n }\n\n async clickCaretButton() {\n await this.page.locator('#caret-button').click();\n }\n\n async reloadTree(treeName: string) {\n // Waits until the tree item is visible\n await expect(this.page.getByLabel(treeName, {exact: true})).toBeVisible();\n await this.page.waitForTimeout(500);\n await this.clickActionsMenuForName(treeName);\n await this.clickReloadButton();\n\n const menuItem = this.page.locator('uui-menu-item[label=\"' + treeName + '\"]');\n const isCaretButtonOpen = await menuItem.getAttribute('show-children');\n\n if (isCaretButtonOpen === null) {\n // We need to wait before clicking the caret button. Because the reload might not have happend yet. \n // await this.page.waitForTimeout(500);\n await this.clickCaretButtonForName(treeName);\n }\n }\n\n async clickReloadButton() {\n await this.reloadBtn.click();\n }\n\n async clickSaveButton() {\n // This wait is necessary to avoid the save button is ignored\n await this.page.waitForTimeout(500);\n await expect(this.saveBtn).toBeVisible();\n await this.saveBtn.click();\n }\n\n async clickChooseButton() {\n await this.chooseBtn.click();\n }\n\n async clickChooseContainerButton() {\n await this.containerChooseBtn.click();\n }\n\n async clickFilterChooseButton() {\n await this.filterChooseBtn.click();\n }\n\n async clickRenameFolderThreeDotsButton() {\n await this.renameFolderThreeDotsBtn.click();\n }\n\n async clickRenameFolderButton() {\n await this.renameFolderBtn.click();\n }\n\n async clickConfirmRenameFolderButton() {\n await this.confirmRenameFolderBtn.click();\n }\n\n async clickUpdateFolderButton() {\n await this.updateFolderBtn.click();\n }\n\n async clickUpdateButton() {\n await this.updateBtn.click();\n }\n\n async clickSubmitButton() {\n await expect(this.submitBtn).toBeVisible();\n await this.submitBtn.click();\n }\n\n async clickConfirmToSubmitButton() {\n await this.confirmToSubmitBtn.click();\n }\n\n async clickChangeButton() {\n await this.changeBtn.click();\n }\n\n async clickExactLinkWithName(name: string) {\n await this.page.getByRole('link', {name: name, exact: true}).click();\n }\n\n async enterAliasName(aliasName: string) {\n // Unlocks alias\n await this.aliasLockBtn.click();\n await this.aliasNameTxt.clear();\n await this.aliasNameTxt.fill(aliasName);\n }\n\n async updateIcon(iconName: string) {\n await this.iconBtn.click({force: true});\n await this.searchForTypeToFilterValue(iconName);\n await this.clickLabelWithName(iconName, true, true);\n await this.clickSubmitButton();\n }\n\n async clickTextButtonWithName(name: string) {\n await expect(this.page.getByText(name, {exact: true})).toBeVisible();\n await this.page.getByText(name, {exact: true}).click();\n }\n\n async clickSelectPropertyEditorButton() {\n await expect(this.selectPropertyEditorBtn).toBeVisible();\n await this.selectPropertyEditorBtn.click();\n }\n\n async clickCreateFolderButton() {\n await this.createFolderBtn.click();\n }\n\n async enterAPropertyName(name: string) {\n await expect(this.propertyNameTxt).toBeVisible();\n await this.propertyNameTxt.fill(name);\n }\n\n async clickConfirmButton() {\n await this.confirmBtn.click();\n }\n\n async clickBreadcrumbButton() {\n await this.breadcrumbBtn.click();\n }\n\n async clickInsertButton() {\n await expect(this.insertBtn).toBeVisible();\n await this.insertBtn.click();\n }\n\n async clickDeleteButton() {\n await this.deleteBtn.click({force: true});\n }\n\n async clickConfirmToDeleteButton() {\n await this.confirmToDeleteBtn.click();\n }\n\n async clickDeleteFolderButton() {\n await this.deleteFolderBtn.click();\n }\n\n async clickConfirmCreateFolderButton() {\n await this.confirmCreateFolderBtn.click();\n }\n\n async clickDeleteThreeDotsButton() {\n await this.deleteThreeDotsBtn.click();\n }\n\n async clickRemoveExactButton() {\n await this.removeExactBtn.click();\n }\n\n async clickRemoveButtonForName(name: string) {\n await this.page.locator('[name=\"' + name + '\"] [Label=\"Remove\"]').click();\n }\n\n async clickTrashIconButtonForName(name: string) {\n await this.page.locator('[name=\"' + name + '\"] [name=\"icon-trash\"]').click();\n }\n\n async clickRemoveWithName(name: string) {\n await this.page.getByLabel('Remove ' + name).click();\n }\n\n async clickDisableButton() {\n await this.disableBtn.click();\n }\n\n async clickConfirmDisableButton() {\n await this.confirmDisableBtn.click();\n }\n\n async clickConfirmRemoveButton() {\n await this.confirmToRemoveBtn.click();\n }\n\n async clickEnableButton() {\n await this.enableBtn.click();\n }\n\n async clickConfirmEnableButton() {\n await this.confirmEnableBtn.click();\n }\n\n async insertDictionaryItem(dictionaryName: string) {\n await this.clickInsertButton();\n await expect(this.insertDictionaryItemBtn).toBeVisible();\n await this.insertDictionaryItemBtn.click();\n await expect(this.page.getByLabel(dictionaryName)).toBeVisible();\n await this.page.getByLabel(dictionaryName).click();\n await this.chooseBtn.click();\n }\n\n async addQueryBuilderWithOrderByStatement(propertyAlias: string, isAscending: boolean) {\n await expect(this.queryBuilderBtn).toBeVisible({timeout: 10000});\n await this.queryBuilderBtn.click();\n await expect(this.orderByPropertyAliasBtn).toBeVisible();\n await this.orderByPropertyAliasBtn.click();\n // Wait and choose property alias option \n await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);\n // Click to acending button if isAcsending is false\n if (!isAscending) {\n await this.ascendingBtn.click();\n }\n }\n\n async addQueryBuilderWithWhereStatement(propertyAlias: string, operator: string, constrainValue: string) {\n await expect(this.queryBuilderBtn).toBeVisible({timeout: 10000});\n await this.queryBuilderBtn.click({force: true});\n // Wait and choose property alias\n await expect(this.wherePropertyAliasBtn).toBeVisible();\n await this.wherePropertyAliasBtn.click();\n await this.waitAndSelectQueryBuilderDropDownList(propertyAlias);\n // Wait and choose operator\n await expect(this.whereOperatorBtn).toBeVisible();\n await this.whereOperatorBtn.click();\n await this.waitAndSelectQueryBuilderDropDownList(operator);\n // Wait and choose constrain value and press Enter\n await expect(this.whereConstrainValueTxt).toBeVisible();\n await this.whereConstrainValueTxt.clear();\n await this.whereConstrainValueTxt.fill(constrainValue);\n await this.whereConstrainValueTxt.press('Enter');\n }\n\n async waitAndSelectQueryBuilderDropDownList(option: string) {\n const ddlOption = this.page.locator('[open]').locator('uui-combobox-list-option').filter({hasText: option}).first();\n await expect(ddlOption).toBeVisible({timeout: 10000});\n await ddlOption.click();\n }\n\n async createFolder(folderName: string) {\n await this.clickCreateButton();\n await this.clickNewFolderThreeDotsButton();\n await this.enterFolderName(folderName);\n await this.clickConfirmCreateFolderButton();\n }\n\n async deletePropertyEditor(propertyEditorName: string) {\n // We need to hover over the property to be able to see the delete button\n await this.page.locator('uui-button').filter({hasText: propertyEditorName}).getByLabel('Editor settings').hover();\n await this.deleteLabelBtn.click();\n }\n\n async enterFolderName(folderName: string) {\n await this.folderNameTxt.clear();\n await this.folderNameTxt.fill(folderName);\n }\n\n async isTextWithExactNameVisible(name: string, isVisible = true) {\n return expect(this.page.getByText(name, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async isQueryBuilderCodeShown(code: string) {\n await expect(this.queryBuilderShowCode).toBeVisible();\n await this.queryBuilderShowCode.click();\n await expect(this.queryBuilderShowCode).toContainText(code, {timeout: 10000});\n }\n\n async deleteFolder() {\n await this.clickDeleteFolderButton();\n await this.clickConfirmToDeleteButton();\n }\n\n async clickDeleteExactLabel() {\n await this.deleteExactLabelBtn.click();\n }\n\n async clickDeleteExactButton() {\n await this.deleteExactBtn.click();\n }\n\n async isTreeItemVisible(name: string, isVisible = true) {\n await expect(this.page.locator('umb-tree-item').locator('[label=\"' + name + '\"]')).toBeVisible({visible: isVisible});\n }\n\n async doesTreeItemHaveTheCorrectIcon(name: string, icon: string) {\n return await expect(this.page.locator('umb-tree-item').filter({hasText: name}).locator('umb-icon').locator('[name=\"' + icon + '\"]')).toBeVisible();\n }\n\n async goToSection(sectionName: string) {\n for (let section in ConstantHelper.sections) {\n await expect(this.backOfficeHeader.getByRole('tab', {name: ConstantHelper.sections[section]})).toBeVisible({timeout: 30000});\n }\n await this.backOfficeHeader.getByRole('tab', {name: sectionName}).click();\n }\n\n async goToSettingsTreeItem(settingsTreeItemName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.page.getByLabel(settingsTreeItemName, {exact: true}).click();\n }\n\n async clickDataElement(elementName: string, options: any = null) {\n await this.page.click(`[data-element=\"${elementName}\"]`, options);\n }\n\n async getDataElement(elementName: string) {\n return this.page.locator(`[data-element=\"${elementName}\"]`);\n }\n\n async isButtonWithNameVisible(name: string) {\n await expect(this.page.getByRole('button', {name: name})).toBeVisible();\n }\n\n async clickLabelWithName(name: string, isExact: boolean = true, toForce: boolean = false) {\n await expect(this.page.getByLabel(name, {exact: isExact})).toBeVisible();\n await this.page.getByLabel(name, {exact: isExact}).click({force: toForce});\n }\n\n async clickButtonWithName(name: string) {\n await this.page.getByRole('button', {name: name}).click();\n }\n\n async isSuccessNotificationVisible(isVisible: boolean = true) {\n return await expect(this.successNotification.first()).toBeVisible({visible: isVisible});\n }\n\n async doesSuccessNotificationsHaveCount(count: number) {\n return await expect(this.successNotification).toHaveCount(count);\n }\n\n async isErrorNotificationVisible(isVisible: boolean = true) {\n return await expect(this.errorNotification.first()).toBeVisible({visible: isVisible});\n }\n\n async clickCreateThreeDotsButton() {\n await this.createThreeDotsBtn.click();\n }\n\n async clickCreateButton(toForceClick: boolean = false) {\n await expect(this.createBtn).toBeVisible();\n await this.createBtn.click({force: toForceClick});\n }\n\n async clickAddButton() {\n await this.addBtn.click();\n };\n\n async clickNewFolderThreeDotsButton() {\n await this.newFolderThreeDotsBtn.click();\n }\n\n async clickEditorSettingsButton(index: number = 0) {\n return this.editorSettingsBtn.nth(index).click();\n }\n\n async enterDescription(description: string) {\n await this.enterDescriptionTxt.fill(description);\n }\n\n async doesDescriptionHaveValue(value: string, index: number = 0) {\n return await expect(this.descriptionBtn.nth(index)).toHaveValue(value);\n }\n\n async clickStructureTab() {\n await this.page.waitForTimeout(1000);\n await this.structureTabBtn.waitFor({state: 'visible'});\n await this.structureTabBtn.click();\n }\n\n async clickAllowAtRootButton() {\n await this.allowAtRootBtn.click();\n }\n\n async clickIAmDoneReorderingButton() {\n await this.iAmDoneReorderingBtn.click();\n }\n\n async clickReorderButton() {\n await this.reorderBtn.click();\n }\n\n async clickLabelAboveButton() {\n await this.labelAboveBtn.click();\n }\n\n async clickMandatorySlider() {\n await this.mandatorySlider.click();\n }\n\n async selectValidationOption(option: string) {\n await this.validation.selectOption(option);\n }\n\n async enterRegEx(regEx: string) {\n await this.regexTxt.fill(regEx);\n }\n\n async enterRegExMessage(regExMessage: string) {\n await this.regexMessageTxt.fill(regExMessage);\n }\n\n async clickCompositionsButton() {\n await this.compositionsBtn.click();\n }\n\n async clickAddTabButton() {\n await this.addTabBtn.click();\n }\n\n async enterTabName(tabName: string) {\n await expect(this.unnamedTxt).toBeVisible();\n await this.page.waitForTimeout(400);\n await this.unnamedTxt.clear();\n await this.unnamedTxt.fill(tabName);\n }\n\n async searchForTypeToFilterValue(searchValue: string) {\n await expect(this.typeToFilterSearchTxt).toBeVisible();\n await this.typeToFilterSearchTxt.fill(searchValue);\n }\n\n async addPropertyEditor(propertyEditorName: string, index: number = 0) {\n await expect(this.addPropertyBtn.nth(index)).toBeVisible();\n await this.addPropertyBtn.nth(index).click();\n await this.enterAPropertyName(propertyEditorName);\n await expect(this.propertyNameTxt).toHaveValue(propertyEditorName);\n await this.clickSelectPropertyEditorButton();\n await this.searchForTypeToFilterValue(propertyEditorName);\n await this.page.getByText(propertyEditorName, {exact: true}).click();\n await this.clickSubmitButton();\n }\n\n async updatePropertyEditor(propertyEditorName: string) {\n await this.clickEditorSettingsButton();\n await this.clickChangeButton();\n await this.searchForTypeToFilterValue(propertyEditorName);\n await this.page.getByText(propertyEditorName, {exact: true}).click();\n await this.enterAPropertyName(propertyEditorName);\n await this.clickSubmitButton();\n }\n\n async enterPropertyEditorDescription(description: string) {\n await this.enterPropertyEditorDescriptionTxt.fill(description);\n }\n\n async clickAddGroupButton() {\n await this.addGroupBtn.click();\n }\n\n async clickChooseModalButton() {\n await this.chooseModalBtn.click();\n }\n\n async enterGroupName(groupName: string, index: number = 0) {\n await this.page.waitForTimeout(200);\n const groupNameTxt = this.groupLabel.nth(index);\n await expect(groupNameTxt).toBeVisible();\n await groupNameTxt.clear();\n await groupNameTxt.fill(groupName);\n }\n\n async isGroupVisible(groupName: string, isVisible = true) {\n await expect(this.groupLabel.filter({hasText: groupName})).toBeVisible({visible: isVisible});\n }\n\n async doesGroupHaveValue(value: string) {\n await expect(this.groupLabel).toBeVisible();\n return await expect(this.groupLabel).toHaveValue(value);\n }\n\n async rename(newName: string) {\n await this.clickRenameButton();\n await expect(this.newNameTxt).toBeVisible();\n await this.newNameTxt.click();\n await this.newNameTxt.clear();\n await this.newNameTxt.fill(newName);\n await this.renameModalBtn.click();\n }\n\n async isSuccessButtonWithTextVisible(text: string) {\n return await expect(this.successState.filter({hasText: text})).toBeVisible();\n }\n\n async dragAndDrop(dragFromSelector: Locator, dragToSelector: Locator, verticalOffset: number = 0, horizontalOffset: number = 0, steps: number = 5) {\n await expect(dragFromSelector).toBeVisible();\n await expect(dragToSelector).toBeVisible();\n const targetLocation = await dragToSelector.boundingBox();\n const elementCenterX = targetLocation!.x + targetLocation!.width / 2;\n const elementCenterY = targetLocation!.y + targetLocation!.height / 2;\n await dragFromSelector.hover();\n await this.page.mouse.move(10, 10);\n await dragFromSelector.hover();\n await this.page.mouse.down();\n await this.page.waitForTimeout(400);\n await this.page.mouse.move(elementCenterX + horizontalOffset, elementCenterY + verticalOffset, {steps: steps});\n await this.page.waitForTimeout(400);\n await this.page.mouse.up();\n }\n\n async clickCreateLink() {\n await this.createLink.click();\n }\n\n async insertSystemFieldValue(fieldValue: string) {\n await this.clickInsertButton();\n await expect(this.insertValueBtn).toBeVisible();\n await this.insertValueBtn.click();\n await expect(this.chooseFieldDropDown).toBeVisible();\n await this.chooseFieldDropDown.click();\n await this.systemFieldsOption.click();\n await this.chooseFieldValueDropDown.click();\n await this.page.getByText(fieldValue).click();\n await this.clickSubmitButton();\n }\n\n async insertPartialView(partialViewName: string) {\n await this.clickInsertButton();\n await expect(this.insertPartialViewBtn).toBeVisible();\n await this.insertPartialViewBtn.click();\n await expect(this.page.getByLabel(partialViewName)).toBeVisible();\n await this.page.getByLabel(partialViewName).click();\n await this.chooseBtn.click();\n }\n\n async deletePropertyEditorWithName(name: string) {\n // We need to hover over the Property Editor to make the delete button visible\n const propertyEditor = this.page.locator('umb-content-type-design-editor-property', {hasText: name});\n await propertyEditor.hover();\n await propertyEditor.getByLabel('Delete').click({force: true});\n await this.clickConfirmToDeleteButton();\n }\n\n async clickRenameButton() {\n await this.renameBtn.click();\n }\n\n async clickDeleteAndConfirmButton() {\n await this.clickDeleteExactLabel();\n await this.clickConfirmToDeleteButton();\n }\n\n async clickQueryBuilderButton() {\n await this.queryBuilderBtn.click();\n }\n\n async chooseRootContentInQueryBuilder(contentName: string) {\n await expect(this.chooseRootContentBtn).toBeVisible();\n await this.chooseRootContentBtn.click();\n await expect(this.page.getByText(contentName)).toBeVisible();\n await this.page.getByText(contentName).click();\n await this.chooseBtn.click();\n }\n\n async reorderTwoGroups() {\n const firstGroup = this.typeGroups.nth(0);\n const secondGroup = this.typeGroups.nth(1);\n const firstGroupValue = await firstGroup.getByLabel('Group', {exact: true}).inputValue();\n const secondGroupValue = await secondGroup.getByLabel('Group', {exact: true}).inputValue();\n const dragToLocator = firstGroup.locator('[name=\"icon-navigation\"]').first();\n const dragFromLocator = secondGroup.locator('[name=\"icon-navigation\"]').first();\n await this.dragAndDrop(dragFromLocator, dragToLocator, 0, 0, 10);\n return {firstGroupValue, secondGroupValue};\n }\n\n async clickAllowedChildNodesButton() {\n await this.allowedChildNodesModal.locator(this.chooseBtn).click();\n }\n\n async clickConfigureAsACollectionButton() {\n await this.configureAsACollectionBtn.click();\n }\n\n async doesReturnedItemsHaveCount(itemCount: number) {\n await expect(this.returnedItemsCount).toContainText(itemCount.toString() + ' items returned');\n }\n\n async doesQueryResultHaveContentName(contentName: string) {\n await expect(this.queryBuilderShowCode).toContainText(contentName);\n }\n\n async deleteGroup(groupName: string, toForceClick: boolean = false) {\n await this.page.waitForTimeout(1000);\n const groups = this.page.locator('umb-content-type-design-editor-group').all();\n for (const group of await groups) {\n if (await group.getByLabel('Group', {exact: true}).inputValue() === groupName) {\n await group.locator('[slot=\"header-actions\"]').getByLabel('Delete').click({force: toForceClick});\n return;\n }\n }\n }\n\n async clickRemoveTabWithName(name: string) {\n await this.page.locator('[label=\"' + name + '\"] [label=\"Remove\"]').click();\n }\n\n async clickLeftArrowButton() {\n await this.leftArrowBtn.click();\n }\n\n async clickToUploadButton() {\n await this.clickToUploadBtn.click();\n }\n\n async uploadFile(filePath: string) {\n const fileChooserPromise = this.page.waitForEvent('filechooser');\n await this.clickToUploadButton();\n const fileChooser = await fileChooserPromise;\n await fileChooser.setFiles(filePath);\n }\n\n getTabLocatorWithName(name: string) {\n return this.page.getByRole('tab', {name: name});\n }\n\n getTextLocatorWithName(name: string) {\n return this.page.getByText(name, {exact: true});\n }\n\n async isFailedStateButtonVisible() {\n await expect(this.failedStateButton).toBeVisible();\n }\n}"]}
@@ -1,7 +1,9 @@
1
1
  import { ApiHelpers } from "./ApiHelpers";
2
+ import { Page } from "@playwright/test";
2
3
  export declare class UserApiHelper {
3
4
  api: ApiHelpers;
4
- constructor(api: ApiHelpers);
5
+ page: Page;
6
+ constructor(api: ApiHelpers, page: Page);
5
7
  ensureNameNotExists(name: string): Promise<import("playwright-core").APIResponse | null>;
6
8
  doesExist(id: string): Promise<boolean>;
7
9
  doesNameExist(name: string): Promise<boolean>;
@@ -4,8 +4,10 @@ exports.UserApiHelper = void 0;
4
4
  const json_models_builders_1 = require("@umbraco/json-models-builders");
5
5
  class UserApiHelper {
6
6
  api;
7
- constructor(api) {
7
+ page;
8
+ constructor(api, page) {
8
9
  this.api = api;
10
+ this.page = page;
9
11
  }
10
12
  async ensureNameNotExists(name) {
11
13
  const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user?skip=0&take=10000');
@@ -13,6 +15,8 @@ class UserApiHelper {
13
15
  for (const sb of json.items) {
14
16
  if (sb.name === name) {
15
17
  if (sb.id !== null) {
18
+ // It takes a while to create the user, so if we delete it too fast. We get a DB lock
19
+ await this.page.waitForTimeout(500);
16
20
  return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/' + sb.id);
17
21
  }
18
22
  }
@@ -62,6 +66,7 @@ class UserApiHelper {
62
66
  return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id, userData);
63
67
  }
64
68
  async delete(id) {
69
+ await this.page.waitForTimeout(500);
65
70
  return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/' + id);
66
71
  }
67
72
  async deleteByName(name) {
@@ -70,6 +75,7 @@ class UserApiHelper {
70
75
  for (const sb of json.items) {
71
76
  if (sb.name === name) {
72
77
  if (sb.id !== null) {
78
+ await this.page.waitForTimeout(500);
73
79
  return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/' + sb.id);
74
80
  }
75
81
  }
@@ -89,6 +95,7 @@ class UserApiHelper {
89
95
  return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user/avatar/' + id, avatar);
90
96
  }
91
97
  async removeAvatar(id) {
98
+ await this.page.waitForTimeout(500);
92
99
  return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user/avatar/' + id);
93
100
  }
94
101
  // Enable/Disabled and Unlock