dimsum-e2e-tests 3.70.0-next.19 → 3.70.0-next.20

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 3.70.0-next.20 (2026-06-01)
7
+
8
+ ### Bug Fixes
9
+
10
+ - environment:: fix CO URL routing for ds-chat [PUI-18039](https://jira.elliemae.io/browse/PUI-18039) ([#8064](https://git.elliemae.io/platform-ui/dimsum/issues/8064)) ([ad7ba54](https://git.elliemae.io/platform-ui/dimsum/commit/ad7ba54dc4aafdcff00aeb17b20a39f3cd9b458b))
11
+
6
12
  ## 3.70.0-next.19 (2026-05-28)
7
13
 
8
14
  ### Features
@@ -18,4 +18,38 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
18
18
  await expect(snapshot).toEqual(0);
19
19
  });
20
20
  });
21
+ describe('PUI-17180 - Autocomplete:: Floating After Filtering -Visual', () => {
22
+ before('loading page', async () => {
23
+ const errorOnGo = await DSAutocompleteCO.floatingAfterFiltering.go();
24
+ if (errorOnGo) throw errorOnGo;
25
+ });
26
+ it('01: should display menu correctly - after filtering', async () => {
27
+ await browser.keys(Key.Tab);
28
+ await type('44444-');
29
+ const menulist = await DSAutocompleteCO.getAutocompleteMenuList();
30
+ await menulist.waitForDisplayed({ timeout: 2000 });
31
+ const snapshot = await browser.percyCheckScreenshot(
32
+ DSAutocompleteCO.snapshotPath('autocomplete-floating-after-filtering'),
33
+ );
34
+ await expect(snapshot).toEqual(0);
35
+ });
36
+ it('02: should display menu correctly - after re filtering', async () => {
37
+ await type('6');
38
+ const menulist = await DSAutocompleteCO.getAutocompleteMenuList();
39
+ await menulist.waitForDisplayed({ timeout: 2000 });
40
+ const snapshot = await browser.percyCheckScreenshot(
41
+ DSAutocompleteCO.snapshotPath('autocomplete-floating-after-re-filtering'),
42
+ );
43
+ await expect(snapshot).toEqual(0);
44
+ });
45
+ it('03: should display menu correctly - after backspace', async () => {
46
+ await browser.keys(Key.Backspace);
47
+ const menulist = await DSAutocompleteCO.getAutocompleteMenuList();
48
+ await menulist.waitForDisplayed({ timeout: 2000 });
49
+ const snapshot = await browser.percyCheckScreenshot(
50
+ DSAutocompleteCO.snapshotPath('autocomplete-floating-after-backspace'),
51
+ );
52
+ await expect(snapshot).toEqual(0);
53
+ });
54
+ });
21
55
  }
@@ -12,6 +12,8 @@ export default class DSAutocompleteCO extends PageObject {
12
12
 
13
13
  static sectionTitles = new Urlbuilder(PATH_E2E_AUTOCOMPLETE, 'with-section-titles-test');
14
14
 
15
+ static floatingAfterFiltering = new Urlbuilder(PATH_E2E_AUTOCOMPLETE, 'floating-after-filtering');
16
+
15
17
  // Snapshots
16
18
  static snapshotPath(example = 'basic') {
17
19
  return PageObject.getSnapshotPathBuilder('Autocomplete', example);
@@ -1,43 +1,43 @@
1
1
  /* eslint-disable import/no-relative-packages */
2
- import { PATH_CHAT_EXAMPLES, PATH_CHAT_PARTS, PATH_E2E_CHAT } from '../paths';
2
+ import { PATH_E2E_CHAT } from '../paths';
3
3
  import { PageObject, Urlbuilder, getElementByIndex } from '../helpers';
4
4
 
5
5
  export default class DSChatCO extends PageObject {
6
6
  static TEST_STR = 'this is a test string';
7
7
 
8
- static systemMessageURL = new Urlbuilder(PATH_CHAT_PARTS, 'chat-system-message');
8
+ static systemMessageURL = new Urlbuilder(PATH_E2E_CHAT, 'chat-system-message');
9
9
 
10
- static messageDelimiterURL = new Urlbuilder(PATH_CHAT_PARTS, 'chat-message-delimiter');
10
+ static messageDelimiterURL = new Urlbuilder(PATH_E2E_CHAT, 'chat-message-delimiter');
11
11
 
12
- static containerURL = new Urlbuilder(PATH_CHAT_PARTS, 'container');
12
+ static containerURL = new Urlbuilder(PATH_E2E_CHAT, 'container');
13
13
 
14
- static loadMoreURL = new Urlbuilder(PATH_CHAT_EXAMPLES, 'container-load-more');
14
+ static loadMoreURL = new Urlbuilder(PATH_E2E_CHAT, 'container-load-more');
15
15
 
16
- static loadingURL = new Urlbuilder(PATH_CHAT_EXAMPLES, 'loading-container');
16
+ static loadingURL = new Urlbuilder(PATH_E2E_CHAT, 'loading-container');
17
17
 
18
- static loadingErrorURL = new Urlbuilder(PATH_CHAT_EXAMPLES, 'loading-error');
18
+ static loadingErrorURL = new Urlbuilder(PATH_E2E_CHAT, 'loading-error');
19
19
 
20
- static floatingExampleURL = new Urlbuilder(PATH_CHAT_EXAMPLES, 'floating-example');
20
+ static floatingExampleURL = new Urlbuilder(PATH_E2E_CHAT, 'floating-example');
21
21
 
22
- static focusCasesURL = new Urlbuilder(PATH_CHAT_EXAMPLES, 'container-focus-cases');
22
+ static focusCasesURL = new Urlbuilder(PATH_E2E_CHAT, 'container-focus-cases');
23
23
 
24
- static mobileContainerURL = new Urlbuilder(PATH_CHAT_EXAMPLES, 'mobile-container');
24
+ static mobileContainerURL = new Urlbuilder(PATH_E2E_CHAT, 'mobile-container');
25
25
 
26
26
  static sidePanelIntegrationURL = new Urlbuilder(PATH_E2E_CHAT, 'side-panel-integration-test');
27
27
 
28
- static tooltipPosition = new Urlbuilder(PATH_CHAT_EXAMPLES, 'tooltip-position');
28
+ static tooltipPosition = new Urlbuilder(PATH_E2E_CHAT, 'tooltip-position');
29
29
 
30
- static focuseableBanners = new Urlbuilder(PATH_CHAT_EXAMPLES, 'focus-on-banner');
30
+ static focuseableBanners = new Urlbuilder(PATH_E2E_CHAT, 'focus-on-banner');
31
31
 
32
- static newMessages = new Urlbuilder(PATH_CHAT_EXAMPLES, 'container-new-messages');
32
+ static newMessages = new Urlbuilder(PATH_E2E_CHAT, 'container-new-messages');
33
33
 
34
- static nonDeliveredURL = new Urlbuilder(PATH_CHAT_EXAMPLES, 'non-delivered-messages');
34
+ static nonDeliveredURL = new Urlbuilder(PATH_E2E_CHAT, 'non-delivered-messages');
35
35
 
36
- static nonGridInfluencerURL = new Urlbuilder(PATH_CHAT_EXAMPLES, 'non-grid-influencer-integration');
36
+ static nonGridInfluencerURL = new Urlbuilder(PATH_E2E_CHAT, 'non-grid-influencer-integration');
37
37
 
38
- static customBanner = new Urlbuilder(PATH_CHAT_EXAMPLES, 'custom-banner');
38
+ static customBanner = new Urlbuilder(PATH_E2E_CHAT, 'custom-banner');
39
39
 
40
- static emptyState = new Urlbuilder(PATH_CHAT_EXAMPLES, 'empty-state');
40
+ static emptyState = new Urlbuilder(PATH_E2E_CHAT, 'empty-state');
41
41
 
42
42
  static globalLineHeight = new Urlbuilder(PATH_E2E_CHAT, 'global-line-height');
43
43
 
@@ -1,19 +1,19 @@
1
1
  /* eslint-disable import/no-relative-packages */
2
- import { PATH_CHAT_EXAMPLES, PATH_E2E_CHAT, PATH_CHAT_PARTS } from '../../paths';
2
+ import { PATH_E2E_CHAT } from '../../paths';
3
3
  import { PageObject, Urlbuilder } from '../../helpers';
4
4
 
5
5
  export default class ComposerCO extends PageObject {
6
- static composerURL = new Urlbuilder(PATH_CHAT_PARTS, 'composer');
6
+ static composerURL = new Urlbuilder(PATH_E2E_CHAT, 'composer');
7
7
 
8
- static mobileComposerURL = new Urlbuilder(PATH_CHAT_EXAMPLES, 'mobile-container');
8
+ static mobileComposerURL = new Urlbuilder(PATH_E2E_CHAT, 'mobile-container');
9
9
 
10
- static characterCountURL = new Urlbuilder(PATH_CHAT_PARTS, 'composer-character-count');
10
+ static characterCountURL = new Urlbuilder(PATH_E2E_CHAT, 'composer-character-count');
11
11
 
12
- static characterCountCustomURL = new Urlbuilder(PATH_CHAT_PARTS, 'composer-character-count-custom-message');
12
+ static characterCountCustomURL = new Urlbuilder(PATH_E2E_CHAT, 'composer-character-count-custom-message');
13
13
 
14
14
  static responsiveContainerUCURL = new Urlbuilder(PATH_E2E_CHAT, 'responsive-container');
15
15
 
16
- static containerFocusCasesURL = new Urlbuilder(PATH_CHAT_EXAMPLES, 'container-focus-cases');
16
+ static containerFocusCasesURL = new Urlbuilder(PATH_E2E_CHAT, 'container-focus-cases');
17
17
 
18
18
  static LONG_STRING = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vehicula bibendum nulla';
19
19
 
@@ -1,8 +1,8 @@
1
- import { PATH_CHAT_PARTS, PATH_E2E_CHAT } from '../../paths';
1
+ import { PATH_E2E_CHAT } from '../../paths';
2
2
  import { PageObject, Urlbuilder } from '../../helpers';
3
3
 
4
4
  export default class FloatingButtonCO extends PageObject {
5
- static floatingButtonURL = new Urlbuilder(PATH_CHAT_PARTS, 'float-button');
5
+ static floatingButtonURL = new Urlbuilder(PATH_E2E_CHAT, 'float-button');
6
6
 
7
7
  static floatingExampleURL = new Urlbuilder(PATH_E2E_CHAT, 'floating-example-test');
8
8
 
@@ -1,9 +1,9 @@
1
1
  /* eslint-disable import/no-relative-packages */
2
- import { PATH_CHAT_PARTS, PATH_E2E_CHAT } from '../../paths';
2
+ import { PATH_E2E_CHAT } from '../../paths';
3
3
  import { PageObject, Urlbuilder } from '../../helpers';
4
4
 
5
5
  export default class HeaderCO extends PageObject {
6
- static headerURL = new Urlbuilder(PATH_CHAT_PARTS, 'header');
6
+ static headerURL = new Urlbuilder(PATH_E2E_CHAT, 'header');
7
7
 
8
8
  static withConditionalRenderingUCURL = new Urlbuilder(PATH_E2E_CHAT, 'conditional-rendering-header-buttons');
9
9
 
@@ -1,10 +1,10 @@
1
- import { PATH_CHAT_PARTS, PATH_E2E_CHAT_TILE } from '../../paths';
1
+ import { PATH_E2E_CHAT, PATH_E2E_CHAT_TILE } from '../../paths';
2
2
  import { PageObject, Urlbuilder } from '../../helpers';
3
3
 
4
4
  export default class TileCO extends PageObject {
5
- static tilesURL = new Urlbuilder(PATH_CHAT_PARTS, 'tile');
5
+ static tilesURL = new Urlbuilder(PATH_E2E_CHAT, 'tile');
6
6
 
7
- static sidebarURL = new Urlbuilder(PATH_CHAT_PARTS, 'sidebar');
7
+ static sidebarURL = new Urlbuilder(PATH_E2E_CHAT, 'sidebar');
8
8
 
9
9
  static applyAriaDisabledURL = new Urlbuilder(PATH_E2E_CHAT_TILE, 'apply-aria-disabled-test');
10
10
 
@@ -142,10 +142,6 @@ export default class DataTableCO extends PageObject {
142
142
 
143
143
  static performance = new Urlbuilder(PATH_E2E_DATATABLE_ADVANCED, 'performance');
144
144
 
145
- static emptyStateFullCustom = new Urlbuilder(PATH_E2E_DATATABLE_ADVANCED, 'empty-state-full-custom');
146
-
147
- static customCellRowHeader = new Urlbuilder(PATH_E2E_DATATABLE_ADVANCED, 'custom-cell-row-and-header');
148
-
149
145
  static responsive = new Urlbuilder(PATH_E2E_DATATABLE_ADVANCED, 'responsive');
150
146
 
151
147
  // ROW
@@ -162,10 +158,15 @@ export default class DataTableCO extends PageObject {
162
158
 
163
159
  static singleSelectDisabledSelectionUC = new Urlbuilder(PATH_E2E_DATATABLE, 'single-select-disabled-selection');
164
160
 
165
- static multiSelectDisabledSelectionUC = new Urlbuilder(PATH_E2E_DATATABLE, 'multi-select-disabled-selection');
161
+ static multiSelectDisabledSelectionUC = new Urlbuilder(PATH_E2E_DATATABLE_ROW, 'multi-select-disabled-selection');
166
162
 
167
163
  static multiSelectEmpty = new Urlbuilder(PATH_E2E_DATATABLE_ROW, 'multi-select-empty');
168
164
 
165
+ static multiSelectDisabledWithUniqueRowAccessor = new Urlbuilder(
166
+ PATH_E2E_DATATABLE_ROW,
167
+ 'multi-select-disabled-selection-with-unique-row-accessor',
168
+ );
169
+
169
170
  // Column
170
171
 
171
172
  static columnLayout = new Urlbuilder(PATH_E2E_DATATABLE_COLUMN, 'basic-column-layout');
@@ -242,6 +243,8 @@ export default class DataTableCO extends PageObject {
242
243
 
243
244
  static pui16461SkeletonAndNoResults = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'pui-16461-skeleton-and-no-results');
244
245
 
246
+ static emptyStateFullCustom = new Urlbuilder(PATH_E2E_DATATABLE_STATES, 'empty-state-full-custom');
247
+
245
248
  // Cell
246
249
  static editableCells = new Urlbuilder(PATH_E2E_DATATABLE_CELL, 'editable-cells');
247
250
 
@@ -297,11 +300,6 @@ export default class DataTableCO extends PageObject {
297
300
 
298
301
  // eslint-disable-next-line max-len
299
302
 
300
- static multiSelectDisabledWithUniqueRowAccessor = new Urlbuilder(
301
- PATH_E2E_DATATABLE,
302
- 'multi-select-disabled-selection-with-unique-row-accessor',
303
- );
304
-
305
303
  static resizableWithConstrains = new Urlbuilder(PATH_E2E_DATATABLE, 'pui-8896-resizable-with-constrains');
306
304
 
307
305
  static memoizedSearchFilterTest = new Urlbuilder(PATH_E2E_DATATABLE, 'pui-12253-memoized-filter-component');
@@ -20,7 +20,7 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
20
20
  });
21
21
  describe('PUI-6988 - DataTable, Custom cell and row header -visual.', async () => {
22
22
  before('loading page', async () => {
23
- const errorOnGo = await DSDataTableCO.customCellRowHeader.go();
23
+ const errorOnGo = await DSDataTableCO.customCellRowAndHeaderTest.go();
24
24
  if (errorOnGo) throw errorOnGo;
25
25
  await DSDataTableCO.waitForDataTable();
26
26
  });
@@ -145,7 +145,7 @@ export default class FiltersCO extends PageObject {
145
145
 
146
146
  static getFilterMenuContentSlot = async () => $('[data-dimsum-slot="dsDatatableFilterPopoverContent"]');
147
147
 
148
- static getFilterPopoverSlot = async () => $('[data-dimsum-slot="dsDatatableFilterPopover"]');
148
+ static getFilterPopoverSlot = async () => $('[data-dimsum-parent-slot="dsDatatableFilterPopover"]');
149
149
 
150
150
  static getFreeTextSearchWrapperSlot = async () => $('[data-dimsum-slot="dsDatatableFreeTextSearchWrapper"]');
151
151
 
@@ -0,0 +1,49 @@
1
+ import DSComboboxMultiCO from '../DSComboboxMultiCO';
2
+ import { axeCoreCheck } from '../../helpers';
3
+
4
+ // Tests for the fix introduced in PUI-18034
5
+ // (busy listbox with aria-busy + aria-label so screen readers announce the
6
+ // in-progress state via the input's aria-controls linkage; this spec verifies
7
+ // the busy listbox surface passes axe-core).
8
+ if (
9
+ (!browser.capabilities['ice:options'].isPhone &&
10
+ !browser.capabilities['ice:options'].isTablet &&
11
+ browser.capabilities.browserName === 'chrome') ||
12
+ browser.capabilities.browserName === 'Chrome'
13
+ ) {
14
+ describe('PUI-18471 - ComboboxMulti:: busy listbox while isLoading - axe-core', () => {
15
+ before('loading page', async () => {
16
+ const errorOnGo = await DSComboboxMultiCO.loadingTest.go();
17
+ if (errorOnGo) throw errorOnGo;
18
+ });
19
+
20
+ it('01: busy listbox while isLoading should pass axe-core scan', async () => {
21
+ const dropdownMenuBtn = await DSComboboxMultiCO.getDropDownMenuBtn();
22
+ await dropdownMenuBtn.click();
23
+
24
+ const listbox = await DSComboboxMultiCO.getComboListbox();
25
+ await listbox.waitForExist();
26
+
27
+ const result = await axeCoreCheck();
28
+ expect(result.length).toBe(0);
29
+ });
30
+ });
31
+
32
+ describe('PUI-18472 - ComboboxMulti:: busy listbox while isSkeleton - axe-core', () => {
33
+ before('loading page', async () => {
34
+ const errorOnGo = await DSComboboxMultiCO.skeletonTest.go();
35
+ if (errorOnGo) throw errorOnGo;
36
+ });
37
+
38
+ it('01: busy listbox while isSkeleton should pass axe-core scan', async () => {
39
+ const dropdownMenuBtn = await DSComboboxMultiCO.getDropDownMenuBtn();
40
+ await dropdownMenuBtn.click();
41
+
42
+ const listbox = await DSComboboxMultiCO.getComboListbox();
43
+ await listbox.waitForExist();
44
+
45
+ const result = await axeCoreCheck();
46
+ expect(result.length).toBe(0);
47
+ });
48
+ });
49
+ }
@@ -0,0 +1,24 @@
1
+ import DSComboboxMultiCO from '../DSComboboxMultiCO';
2
+ import { axeCoreCheck } from '../../helpers';
3
+
4
+ if (
5
+ (!browser.capabilities['ice:options'].isPhone &&
6
+ !browser.capabilities['ice:options'].isTablet &&
7
+ browser.capabilities.browserName === 'chrome') ||
8
+ browser.capabilities.browserName === 'Chrome'
9
+ ) {
10
+ describe('PUI-18473 - ComboboxMulti:: disabled - axe-core', () => {
11
+ before('loading page', async () => {
12
+ const errorOnGo = await DSComboboxMultiCO.disabled.go();
13
+ if (errorOnGo) throw errorOnGo;
14
+ });
15
+
16
+ it('01: disabled combobox should pass axe-core scan', async () => {
17
+ const combobox = await DSComboboxMultiCO.getCombobox();
18
+ await combobox.waitForExist();
19
+
20
+ const result = await axeCoreCheck();
21
+ expect(result.length).toBe(0);
22
+ });
23
+ });
24
+ }
@@ -0,0 +1,49 @@
1
+ import DSComboboxSingleCO from '../DSComboboxSingleCO';
2
+ import { axeCoreCheck } from '../../helpers';
3
+
4
+ // Tests for the fix introduced in PUI-18034
5
+ // (busy listbox with aria-busy + aria-label so screen readers announce the
6
+ // in-progress state via the input's aria-controls linkage; this spec verifies
7
+ // the busy listbox surface passes axe-core).
8
+ if (
9
+ (!browser.capabilities['ice:options'].isPhone &&
10
+ !browser.capabilities['ice:options'].isTablet &&
11
+ browser.capabilities.browserName === 'chrome') ||
12
+ browser.capabilities.browserName === 'Chrome'
13
+ ) {
14
+ describe('PUI-18474 - ComboboxSingle:: busy listbox while isLoading - axe-core', () => {
15
+ before('loading page', async () => {
16
+ const errorOnGo = await DSComboboxSingleCO.loadingTest.go();
17
+ if (errorOnGo) throw errorOnGo;
18
+ });
19
+
20
+ it('01: busy listbox while isLoading should pass axe-core scan', async () => {
21
+ const dropdownMenuBtn = await DSComboboxSingleCO.getDropDownMenuBtn();
22
+ await dropdownMenuBtn.click();
23
+
24
+ const listbox = await DSComboboxSingleCO.getComboListbox();
25
+ await listbox.waitForExist();
26
+
27
+ const result = await axeCoreCheck();
28
+ expect(result.length).toBe(0);
29
+ });
30
+ });
31
+
32
+ describe('PUI-18475 - ComboboxSingle:: busy listbox while isSkeleton - axe-core', () => {
33
+ before('loading page', async () => {
34
+ const errorOnGo = await DSComboboxSingleCO.skeletonTest.go();
35
+ if (errorOnGo) throw errorOnGo;
36
+ });
37
+
38
+ it('01: busy listbox while isSkeleton should pass axe-core scan', async () => {
39
+ const dropdownMenuBtn = await DSComboboxSingleCO.getDropDownMenuBtn();
40
+ await dropdownMenuBtn.click();
41
+
42
+ const listbox = await DSComboboxSingleCO.getComboListbox();
43
+ await listbox.waitForExist();
44
+
45
+ const result = await axeCoreCheck();
46
+ expect(result.length).toBe(0);
47
+ });
48
+ });
49
+ }
@@ -0,0 +1,24 @@
1
+ import DSComboboxSingleCO from '../DSComboboxSingleCO';
2
+ import { axeCoreCheck } from '../../helpers';
3
+
4
+ if (
5
+ (!browser.capabilities['ice:options'].isPhone &&
6
+ !browser.capabilities['ice:options'].isTablet &&
7
+ browser.capabilities.browserName === 'chrome') ||
8
+ browser.capabilities.browserName === 'Chrome'
9
+ ) {
10
+ describe('PUI-18476 - ComboboxSingle:: disabled - axe-core', () => {
11
+ before('loading page', async () => {
12
+ const errorOnGo = await DSComboboxSingleCO.disabled.go();
13
+ if (errorOnGo) throw errorOnGo;
14
+ });
15
+
16
+ it('01: disabled combobox should pass axe-core scan', async () => {
17
+ const combobox = await DSComboboxSingleCO.getComboboxByIndex(0);
18
+ await combobox.waitForExist();
19
+
20
+ const result = await axeCoreCheck();
21
+ expect(result.length).toBe(0);
22
+ });
23
+ });
24
+ }
@@ -12,7 +12,7 @@ import DSTabButtonCO from './DSTabButtonCO';
12
12
  });
13
13
  }
14
14
  */
15
- describe('PUI-XXXX - TabButton:: example test - data-testid exists', () => {
15
+ describe.skip('PUI-XXXX - TabButton:: example test - data-testid exists', () => {
16
16
  before('loading page', async () => {
17
17
  const errorOnGo = await DSTabButtonCO.basic.go();
18
18
  if (errorOnGo) throw errorOnGo;
@@ -8,6 +8,8 @@ export default class DSTooltipV3CO extends PageObject {
8
8
 
9
9
  static uncontrolledTestUrl = new Urlbuilder(PATH_E2E_TOOLTIP_V3, 'uncontrolled-test');
10
10
 
11
+ static basicTestUrl = new Urlbuilder(PATH_E2E_TOOLTIP_V3, 'basic-test');
12
+
11
13
  static slotsURL = new Urlbuilder(PATH_E2E_TOOLTIP_V3, 'slots-test');
12
14
 
13
15
  // Snapshots
@@ -20,6 +22,10 @@ export default class DSTooltipV3CO extends PageObject {
20
22
  return $('[data-testid="ds-tooltip-v3-tooltip-text-wrapper"]');
21
23
  }
22
24
 
25
+ static async getBasicTestTriggerButton() {
26
+ return $('button[aria-describedby="basic-tooltip"]');
27
+ }
28
+
23
29
  static async getTooltipContentByIndex(index = 0) {
24
30
  return $$('[data-testid="ds-tooltip-v3-tooltip-text-wrapper"] [data-testid="ds-typography-element"]')[index];
25
31
  }
@@ -0,0 +1,23 @@
1
+ import DSTooltipV3CO from '../DSTooltipV3CO';
2
+ import { axeCoreCheck } from '../../helpers';
3
+
4
+ if (
5
+ (!browser.capabilities['ice:options'].isPhone &&
6
+ !browser.capabilities['ice:options'].isTablet &&
7
+ browser.capabilities.browserName === 'chrome') ||
8
+ browser.capabilities.browserName === 'Chrome'
9
+ ) {
10
+ describe('PUI-18498 - TooltipV3:: WAI-ARIA tooltip pattern - AxeCore', () => {
11
+ before('loading page', async () => {
12
+ const errorOnGo = await DSTooltipV3CO.basicTestUrl.go();
13
+ if (errorOnGo) throw errorOnGo;
14
+ });
15
+
16
+ it('01: should render the basic tooltip pattern and pass axe-core scan', async () => {
17
+ const tooltipContainer = await DSTooltipV3CO.getTooltip();
18
+ await tooltipContainer.waitForDisplayed();
19
+ const result = await axeCoreCheck();
20
+ expect(result.length).toBe(0);
21
+ });
22
+ });
23
+ }
@@ -0,0 +1,29 @@
1
+ import DSTooltipV3CO from '../DSTooltipV3CO';
2
+
3
+ // Tests for the fix introduced in PUI-18011 / PUI-18010:
4
+ // the tooltip container must expose role="tooltip" and its `id` so that consumers
5
+ // can wire `aria-describedby` from the trigger element (W3C WAI-ARIA tooltip pattern).
6
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
7
+ describe('PUI-18495 - TooltipV3:: WAI-ARIA tooltip pattern (role + aria-describedby) - func', () => {
8
+ before('loading page', async () => {
9
+ const errorOnGo = await DSTooltipV3CO.basicTestUrl.go();
10
+ if (errorOnGo) throw errorOnGo;
11
+ });
12
+
13
+ it('01: should expose role="tooltip", a matching id on the container and aria-describedby on trigger', async () => {
14
+ const tooltipContainer = await DSTooltipV3CO.getTooltip();
15
+ const triggerButton = await DSTooltipV3CO.getBasicTestTriggerButton();
16
+
17
+ await expect(tooltipContainer).toBeExisting();
18
+ await expect(tooltipContainer).toHaveAttribute('role', 'tooltip');
19
+ await expect(tooltipContainer).toHaveAttribute('id', 'basic-tooltip');
20
+
21
+ await expect(triggerButton).toBeExisting();
22
+ await expect(triggerButton).toHaveAttribute('aria-describedby', 'basic-tooltip');
23
+
24
+ const containerId = await tooltipContainer.getAttribute('id');
25
+ const triggerDescribedBy = await triggerButton.getAttribute('aria-describedby');
26
+ await expect(containerId).toBe(triggerDescribedBy);
27
+ });
28
+ });
29
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "dimsum-e2e-tests",
4
- "version": "3.70.0-next.19",
4
+ "version": "3.70.0-next.20",
5
5
  "description": "End-to-end tests for dimsum library",
6
6
  "dependencies": {
7
7
  "@elliemae/ds-legacy-button": "1.0.16",
@@ -41,154 +41,154 @@
41
41
  "@elliemae/ds-legacy-wysiwygeditor": "1.0.16",
42
42
  "@elliemae/ds-legacy-zipcode-search": "1.0.16",
43
43
  "@elliemae/ds-legacy-zoom": "1.0.16",
44
- "@elliemae/ds-accordion": "3.70.0-next.19",
45
- "@elliemae/ds-app-picker": "3.70.0-next.19",
46
- "@elliemae/ds-backdrop": "3.70.0-next.19",
47
- "@elliemae/ds-accessibility": "3.70.0-next.19",
48
- "@elliemae/ds-banner": "3.70.0-next.19",
49
- "@elliemae/ds-button-v2": "3.70.0-next.19",
50
- "@elliemae/ds-breadcrumb": "3.70.0-next.19",
51
- "@elliemae/ds-basic": "3.70.0-next.19",
52
- "@elliemae/ds-card": "3.70.0-next.19",
53
- "@elliemae/ds-card-v1": "3.70.0-next.19",
54
- "@elliemae/ds-card-v1-detail": "3.70.0-next.19",
55
- "@elliemae/ds-card-navigation": "3.70.0-next.19",
56
- "@elliemae/ds-card-v2": "3.70.0-next.19",
57
- "@elliemae/ds-card-v2-action-addon": "3.70.0-next.19",
58
- "@elliemae/ds-card-v2-group": "3.70.0-next.19",
59
- "@elliemae/ds-card-v3": "3.70.0-next.19",
60
- "@elliemae/ds-card-v3-poc": "3.70.0-next.19",
61
- "@elliemae/ds-chat": "3.70.0-next.19",
62
- "@elliemae/ds-chat-card": "3.70.0-next.19",
63
- "@elliemae/ds-chat-bubble": "3.70.0-next.19",
64
- "@elliemae/ds-chat-container": "3.70.0-next.19",
65
- "@elliemae/ds-chat-empty-state": "3.70.0-next.19",
66
- "@elliemae/ds-chat-container-header": "3.70.0-next.19",
67
- "@elliemae/ds-chat-floating-button": "3.70.0-next.19",
68
- "@elliemae/ds-chat-message-delimeter": "3.70.0-next.19",
69
- "@elliemae/ds-chat-sidebar": "3.70.0-next.19",
70
- "@elliemae/ds-chat-system-message": "3.70.0-next.19",
71
- "@elliemae/ds-chip": "3.70.0-next.19",
72
- "@elliemae/ds-circular-progress-indicator": "3.70.0-next.19",
73
- "@elliemae/ds-chat-tile": "3.70.0-next.19",
74
- "@elliemae/ds-classnames": "3.70.0-next.19",
75
- "@elliemae/ds-codeeditor": "3.70.0-next.19",
76
- "@elliemae/ds-comments": "3.70.0-next.19",
77
- "@elliemae/ds-controlled-form": "3.70.0-next.19",
78
- "@elliemae/ds-csv-converter": "3.70.0-next.19",
79
- "@elliemae/ds-data-table": "3.70.0-next.19",
80
- "@elliemae/ds-data-table-action-cell": "3.70.0-next.19",
81
- "@elliemae/ds-data-table-cell-header": "3.70.0-next.19",
82
- "@elliemae/ds-data-table-cell": "3.70.0-next.19",
83
- "@elliemae/ds-data-table-drag-and-drop-cell": "3.70.0-next.19",
84
- "@elliemae/ds-data-table-expand-cell": "3.70.0-next.19",
85
- "@elliemae/ds-data-table-filters": "3.70.0-next.19",
86
- "@elliemae/ds-dataviz": "3.70.0-next.19",
87
- "@elliemae/ds-dataviz-pie": "3.70.0-next.19",
88
- "@elliemae/ds-data-table-multi-select-cell": "3.70.0-next.19",
89
- "@elliemae/ds-data-table-single-select-cell": "3.70.0-next.19",
90
- "@elliemae/ds-decision-graph": "3.70.0-next.19",
91
- "@elliemae/ds-dialog": "3.70.0-next.19",
92
- "@elliemae/ds-date-time-picker": "3.70.0-next.19",
93
- "@elliemae/ds-dropdownmenu-v2": "3.70.0-next.19",
94
- "@elliemae/ds-dropzone": "3.70.0-next.19",
95
- "@elliemae/ds-drag-and-drop": "3.70.0-next.19",
96
- "@elliemae/ds-fast-list": "3.70.0-next.19",
97
- "@elliemae/ds-filter-bar": "3.70.0-next.19",
98
- "@elliemae/ds-floating-context": "3.70.0-next.19",
99
- "@elliemae/ds-form-checkbox": "3.70.0-next.19",
100
- "@elliemae/ds-form-combobox": "3.70.0-next.19",
101
- "@elliemae/ds-form-date-range-picker": "3.70.0-next.19",
102
- "@elliemae/ds-form-date-time-picker": "3.70.0-next.19",
103
- "@elliemae/ds-form-helpers-mask-hooks": "3.70.0-next.19",
104
- "@elliemae/ds-form-input-text": "3.70.0-next.19",
105
- "@elliemae/ds-form-layout-autocomplete": "3.70.0-next.19",
106
- "@elliemae/ds-form-input-textarea": "3.70.0-next.19",
107
- "@elliemae/ds-form-layout-blocks": "3.70.0-next.19",
108
- "@elliemae/ds-form-layout-input-group": "3.70.0-next.19",
109
- "@elliemae/ds-form-multi-combobox": "3.70.0-next.19",
110
- "@elliemae/ds-form-radio": "3.70.0-next.19",
111
- "@elliemae/ds-form-layout-label": "3.70.0-next.19",
112
- "@elliemae/ds-form-native-select": "3.70.0-next.19",
113
- "@elliemae/ds-form-toggle": "3.70.0-next.19",
114
- "@elliemae/ds-form-select": "3.70.0-next.19",
115
- "@elliemae/ds-form-single-combobox": "3.70.0-next.19",
116
- "@elliemae/ds-global-header": "3.70.0-next.19",
117
- "@elliemae/ds-grid": "3.70.0-next.19",
118
- "@elliemae/ds-hooks-focus-stack": "3.70.0-next.19",
119
- "@elliemae/ds-hooks-focus-trap": "3.70.0-next.19",
120
- "@elliemae/ds-hooks-fontsize-detector": "3.70.0-next.19",
121
- "@elliemae/ds-hooks-fontsize-media": "3.70.0-next.19",
122
- "@elliemae/ds-hooks-headless-tooltip": "3.70.0-next.19",
123
- "@elliemae/ds-hooks-is-showing-ellipsis": "3.70.0-next.19",
124
- "@elliemae/ds-hooks-is-mobile": "3.70.0-next.19",
125
- "@elliemae/ds-hooks-on-blur-out": "3.70.0-next.19",
126
- "@elliemae/ds-hooks-keyboard-navigation": "3.70.0-next.19",
127
- "@elliemae/ds-icon": "3.70.0-next.19",
128
- "@elliemae/ds-hooks-on-first-focus-in": "3.70.0-next.19",
129
- "@elliemae/ds-icons": "3.70.0-next.19",
130
- "@elliemae/ds-image": "3.70.0-next.19",
131
- "@elliemae/ds-imagelibrarymodal": "3.70.0-next.19",
132
- "@elliemae/ds-indeterminate-progress-indicator": "3.70.0-next.19",
133
- "@elliemae/ds-left-navigation": "3.70.0-next.19",
134
- "@elliemae/ds-layout-provider": "3.70.0-next.19",
135
- "@elliemae/ds-loading-indicator": "3.70.0-next.19",
136
- "@elliemae/ds-menu-button": "3.70.0-next.19",
137
- "@elliemae/ds-menu-items": "3.70.0-next.19",
138
- "@elliemae/ds-menu-items-commons": "3.70.0-next.19",
139
- "@elliemae/ds-menu-items-action": "3.70.0-next.19",
140
- "@elliemae/ds-menu-items-multi": "3.70.0-next.19",
141
- "@elliemae/ds-menu-items-section": "3.70.0-next.19",
142
- "@elliemae/ds-menu-items-separator": "3.70.0-next.19",
143
- "@elliemae/ds-menu-items-single": "3.70.0-next.19",
144
- "@elliemae/ds-menu-items-single-with-submenu": "3.70.0-next.19",
145
- "@elliemae/ds-menu-items-submenu": "3.70.0-next.19",
146
- "@elliemae/ds-menu-tree-item": "3.70.0-next.19",
147
- "@elliemae/ds-menu-items-skeleton": "3.70.0-next.19",
148
- "@elliemae/ds-mobile": "3.70.0-next.19",
149
- "@elliemae/ds-modal-slide": "3.70.0-next.19",
150
- "@elliemae/ds-notification-badge": "3.70.0-next.19",
151
- "@elliemae/ds-overlay": "3.70.0-next.19",
152
- "@elliemae/ds-page-header": "3.70.0-next.19",
153
- "@elliemae/ds-page-header-v1": "3.70.0-next.19",
154
- "@elliemae/ds-page-header-v2": "3.70.0-next.19",
155
- "@elliemae/ds-page-layout": "3.70.0-next.19",
156
- "@elliemae/ds-pagination": "3.70.0-next.19",
157
- "@elliemae/ds-pills-v2": "3.70.0-next.19",
158
- "@elliemae/ds-portal": "3.70.0-next.19",
159
- "@elliemae/ds-progress-indicator": "3.70.0-next.19",
160
- "@elliemae/ds-props-helpers": "3.70.0-next.19",
161
- "@elliemae/ds-query-builder": "3.70.0-next.19",
162
- "@elliemae/ds-resizeable-container": "3.70.0-next.19",
163
- "@elliemae/ds-scrollable-container": "3.70.0-next.19",
164
- "@elliemae/ds-ribbon": "3.70.0-next.19",
165
- "@elliemae/ds-read-more": "3.70.0-next.19",
166
- "@elliemae/ds-separator": "3.70.0-next.19",
167
- "@elliemae/ds-side-panel-header": "3.70.0-next.19",
168
- "@elliemae/ds-shuttle-v2": "3.70.0-next.19",
169
- "@elliemae/ds-shared": "3.70.0-next.19",
170
- "@elliemae/ds-side-panel": "3.70.0-next.19",
171
- "@elliemae/ds-skeleton": "3.70.0-next.19",
172
- "@elliemae/ds-slider-v2": "3.70.0-next.19",
173
- "@elliemae/ds-square-indicator": "3.70.0-next.19",
174
- "@elliemae/ds-stepper": "3.70.0-next.19",
175
- "@elliemae/ds-system": "3.70.0-next.19",
176
- "@elliemae/ds-test-utils": "3.70.0-next.19",
177
- "@elliemae/ds-svg": "3.70.0-next.19",
178
- "@elliemae/ds-tabs": "3.70.0-next.19",
179
- "@elliemae/ds-toast": "3.70.0-next.19",
180
- "@elliemae/ds-tooltip-v3": "3.70.0-next.19",
181
- "@elliemae/ds-toolbar-v2": "3.70.0-next.19",
182
- "@elliemae/ds-toolbar-v1": "3.70.0-next.19",
183
- "@elliemae/ds-transition": "3.70.0-next.19",
184
- "@elliemae/ds-treeview": "3.70.0-next.19",
185
- "@elliemae/ds-typescript-helpers": "3.70.0-next.19",
186
- "@elliemae/ds-truncated-expandable-text": "3.70.0-next.19",
187
- "@elliemae/ds-tree-model": "3.70.0-next.19",
188
- "@elliemae/ds-typography": "3.70.0-next.19",
189
- "@elliemae/ds-zustand-helpers": "3.70.0-next.19",
190
- "@elliemae/ds-wizard": "3.70.0-next.19",
191
- "@elliemae/ds-virtual-list": "3.70.0-next.19"
44
+ "@elliemae/ds-accessibility": "3.70.0-next.20",
45
+ "@elliemae/ds-backdrop": "3.70.0-next.20",
46
+ "@elliemae/ds-accordion": "3.70.0-next.20",
47
+ "@elliemae/ds-basic": "3.70.0-next.20",
48
+ "@elliemae/ds-banner": "3.70.0-next.20",
49
+ "@elliemae/ds-app-picker": "3.70.0-next.20",
50
+ "@elliemae/ds-button-v2": "3.70.0-next.20",
51
+ "@elliemae/ds-breadcrumb": "3.70.0-next.20",
52
+ "@elliemae/ds-card": "3.70.0-next.20",
53
+ "@elliemae/ds-card-v1": "3.70.0-next.20",
54
+ "@elliemae/ds-card-navigation": "3.70.0-next.20",
55
+ "@elliemae/ds-card-v1-detail": "3.70.0-next.20",
56
+ "@elliemae/ds-card-v2": "3.70.0-next.20",
57
+ "@elliemae/ds-card-v2-action-addon": "3.70.0-next.20",
58
+ "@elliemae/ds-card-v2-group": "3.70.0-next.20",
59
+ "@elliemae/ds-card-v3": "3.70.0-next.20",
60
+ "@elliemae/ds-card-v3-poc": "3.70.0-next.20",
61
+ "@elliemae/ds-chat-bubble": "3.70.0-next.20",
62
+ "@elliemae/ds-chat": "3.70.0-next.20",
63
+ "@elliemae/ds-chat-card": "3.70.0-next.20",
64
+ "@elliemae/ds-chat-container-header": "3.70.0-next.20",
65
+ "@elliemae/ds-chat-floating-button": "3.70.0-next.20",
66
+ "@elliemae/ds-chat-empty-state": "3.70.0-next.20",
67
+ "@elliemae/ds-chat-container": "3.70.0-next.20",
68
+ "@elliemae/ds-chat-message-delimeter": "3.70.0-next.20",
69
+ "@elliemae/ds-chat-sidebar": "3.70.0-next.20",
70
+ "@elliemae/ds-chat-system-message": "3.70.0-next.20",
71
+ "@elliemae/ds-chat-tile": "3.70.0-next.20",
72
+ "@elliemae/ds-chip": "3.70.0-next.20",
73
+ "@elliemae/ds-circular-progress-indicator": "3.70.0-next.20",
74
+ "@elliemae/ds-classnames": "3.70.0-next.20",
75
+ "@elliemae/ds-comments": "3.70.0-next.20",
76
+ "@elliemae/ds-codeeditor": "3.70.0-next.20",
77
+ "@elliemae/ds-csv-converter": "3.70.0-next.20",
78
+ "@elliemae/ds-controlled-form": "3.70.0-next.20",
79
+ "@elliemae/ds-data-table": "3.70.0-next.20",
80
+ "@elliemae/ds-data-table-action-cell": "3.70.0-next.20",
81
+ "@elliemae/ds-data-table-cell": "3.70.0-next.20",
82
+ "@elliemae/ds-data-table-drag-and-drop-cell": "3.70.0-next.20",
83
+ "@elliemae/ds-data-table-cell-header": "3.70.0-next.20",
84
+ "@elliemae/ds-data-table-expand-cell": "3.70.0-next.20",
85
+ "@elliemae/ds-data-table-multi-select-cell": "3.70.0-next.20",
86
+ "@elliemae/ds-data-table-filters": "3.70.0-next.20",
87
+ "@elliemae/ds-dataviz": "3.70.0-next.20",
88
+ "@elliemae/ds-data-table-single-select-cell": "3.70.0-next.20",
89
+ "@elliemae/ds-dataviz-pie": "3.70.0-next.20",
90
+ "@elliemae/ds-date-time-picker": "3.70.0-next.20",
91
+ "@elliemae/ds-decision-graph": "3.70.0-next.20",
92
+ "@elliemae/ds-dialog": "3.70.0-next.20",
93
+ "@elliemae/ds-drag-and-drop": "3.70.0-next.20",
94
+ "@elliemae/ds-dropdownmenu-v2": "3.70.0-next.20",
95
+ "@elliemae/ds-dropzone": "3.70.0-next.20",
96
+ "@elliemae/ds-fast-list": "3.70.0-next.20",
97
+ "@elliemae/ds-filter-bar": "3.70.0-next.20",
98
+ "@elliemae/ds-floating-context": "3.70.0-next.20",
99
+ "@elliemae/ds-form-checkbox": "3.70.0-next.20",
100
+ "@elliemae/ds-form-combobox": "3.70.0-next.20",
101
+ "@elliemae/ds-form-date-time-picker": "3.70.0-next.20",
102
+ "@elliemae/ds-form-date-range-picker": "3.70.0-next.20",
103
+ "@elliemae/ds-form-helpers-mask-hooks": "3.70.0-next.20",
104
+ "@elliemae/ds-form-input-text": "3.70.0-next.20",
105
+ "@elliemae/ds-form-input-textarea": "3.70.0-next.20",
106
+ "@elliemae/ds-form-layout-input-group": "3.70.0-next.20",
107
+ "@elliemae/ds-form-layout-autocomplete": "3.70.0-next.20",
108
+ "@elliemae/ds-form-layout-blocks": "3.70.0-next.20",
109
+ "@elliemae/ds-form-layout-label": "3.70.0-next.20",
110
+ "@elliemae/ds-form-multi-combobox": "3.70.0-next.20",
111
+ "@elliemae/ds-form-radio": "3.70.0-next.20",
112
+ "@elliemae/ds-form-native-select": "3.70.0-next.20",
113
+ "@elliemae/ds-form-select": "3.70.0-next.20",
114
+ "@elliemae/ds-form-single-combobox": "3.70.0-next.20",
115
+ "@elliemae/ds-form-toggle": "3.70.0-next.20",
116
+ "@elliemae/ds-global-header": "3.70.0-next.20",
117
+ "@elliemae/ds-grid": "3.70.0-next.20",
118
+ "@elliemae/ds-hooks-focus-stack": "3.70.0-next.20",
119
+ "@elliemae/ds-hooks-fontsize-media": "3.70.0-next.20",
120
+ "@elliemae/ds-hooks-fontsize-detector": "3.70.0-next.20",
121
+ "@elliemae/ds-hooks-focus-trap": "3.70.0-next.20",
122
+ "@elliemae/ds-hooks-headless-tooltip": "3.70.0-next.20",
123
+ "@elliemae/ds-hooks-is-mobile": "3.70.0-next.20",
124
+ "@elliemae/ds-hooks-is-showing-ellipsis": "3.70.0-next.20",
125
+ "@elliemae/ds-hooks-on-blur-out": "3.70.0-next.20",
126
+ "@elliemae/ds-hooks-keyboard-navigation": "3.70.0-next.20",
127
+ "@elliemae/ds-hooks-on-first-focus-in": "3.70.0-next.20",
128
+ "@elliemae/ds-icon": "3.70.0-next.20",
129
+ "@elliemae/ds-icons": "3.70.0-next.20",
130
+ "@elliemae/ds-image": "3.70.0-next.20",
131
+ "@elliemae/ds-imagelibrarymodal": "3.70.0-next.20",
132
+ "@elliemae/ds-indeterminate-progress-indicator": "3.70.0-next.20",
133
+ "@elliemae/ds-left-navigation": "3.70.0-next.20",
134
+ "@elliemae/ds-loading-indicator": "3.70.0-next.20",
135
+ "@elliemae/ds-layout-provider": "3.70.0-next.20",
136
+ "@elliemae/ds-menu-button": "3.70.0-next.20",
137
+ "@elliemae/ds-menu-items-action": "3.70.0-next.20",
138
+ "@elliemae/ds-menu-items": "3.70.0-next.20",
139
+ "@elliemae/ds-menu-items-commons": "3.70.0-next.20",
140
+ "@elliemae/ds-menu-items-multi": "3.70.0-next.20",
141
+ "@elliemae/ds-menu-items-section": "3.70.0-next.20",
142
+ "@elliemae/ds-menu-items-separator": "3.70.0-next.20",
143
+ "@elliemae/ds-menu-items-skeleton": "3.70.0-next.20",
144
+ "@elliemae/ds-menu-items-single": "3.70.0-next.20",
145
+ "@elliemae/ds-menu-items-single-with-submenu": "3.70.0-next.20",
146
+ "@elliemae/ds-menu-items-submenu": "3.70.0-next.20",
147
+ "@elliemae/ds-menu-tree-item": "3.70.0-next.20",
148
+ "@elliemae/ds-mobile": "3.70.0-next.20",
149
+ "@elliemae/ds-modal-slide": "3.70.0-next.20",
150
+ "@elliemae/ds-page-header": "3.70.0-next.20",
151
+ "@elliemae/ds-notification-badge": "3.70.0-next.20",
152
+ "@elliemae/ds-overlay": "3.70.0-next.20",
153
+ "@elliemae/ds-page-header-v2": "3.70.0-next.20",
154
+ "@elliemae/ds-page-header-v1": "3.70.0-next.20",
155
+ "@elliemae/ds-page-layout": "3.70.0-next.20",
156
+ "@elliemae/ds-pills-v2": "3.70.0-next.20",
157
+ "@elliemae/ds-pagination": "3.70.0-next.20",
158
+ "@elliemae/ds-portal": "3.70.0-next.20",
159
+ "@elliemae/ds-progress-indicator": "3.70.0-next.20",
160
+ "@elliemae/ds-props-helpers": "3.70.0-next.20",
161
+ "@elliemae/ds-query-builder": "3.70.0-next.20",
162
+ "@elliemae/ds-read-more": "3.70.0-next.20",
163
+ "@elliemae/ds-resizeable-container": "3.70.0-next.20",
164
+ "@elliemae/ds-ribbon": "3.70.0-next.20",
165
+ "@elliemae/ds-scrollable-container": "3.70.0-next.20",
166
+ "@elliemae/ds-separator": "3.70.0-next.20",
167
+ "@elliemae/ds-shared": "3.70.0-next.20",
168
+ "@elliemae/ds-side-panel": "3.70.0-next.20",
169
+ "@elliemae/ds-shuttle-v2": "3.70.0-next.20",
170
+ "@elliemae/ds-side-panel-header": "3.70.0-next.20",
171
+ "@elliemae/ds-square-indicator": "3.70.0-next.20",
172
+ "@elliemae/ds-slider-v2": "3.70.0-next.20",
173
+ "@elliemae/ds-skeleton": "3.70.0-next.20",
174
+ "@elliemae/ds-stepper": "3.70.0-next.20",
175
+ "@elliemae/ds-svg": "3.70.0-next.20",
176
+ "@elliemae/ds-tabs": "3.70.0-next.20",
177
+ "@elliemae/ds-system": "3.70.0-next.20",
178
+ "@elliemae/ds-toast": "3.70.0-next.20",
179
+ "@elliemae/ds-toolbar-v1": "3.70.0-next.20",
180
+ "@elliemae/ds-toolbar-v2": "3.70.0-next.20",
181
+ "@elliemae/ds-test-utils": "3.70.0-next.20",
182
+ "@elliemae/ds-tooltip-v3": "3.70.0-next.20",
183
+ "@elliemae/ds-tree-model": "3.70.0-next.20",
184
+ "@elliemae/ds-transition": "3.70.0-next.20",
185
+ "@elliemae/ds-truncated-expandable-text": "3.70.0-next.20",
186
+ "@elliemae/ds-treeview": "3.70.0-next.20",
187
+ "@elliemae/ds-typescript-helpers": "3.70.0-next.20",
188
+ "@elliemae/ds-typography": "3.70.0-next.20",
189
+ "@elliemae/ds-zustand-helpers": "3.70.0-next.20",
190
+ "@elliemae/ds-virtual-list": "3.70.0-next.20",
191
+ "@elliemae/ds-wizard": "3.70.0-next.20"
192
192
  },
193
193
  "publishConfig": {
194
194
  "access": "public"