dimsum-e2e-tests 3.70.0-next.63 → 3.70.0-next.69

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.
@@ -0,0 +1,63 @@
1
+ import { Key } from 'webdriverio';
2
+ import GlobalHeaderCO from '../GlobalHeaderCO';
3
+
4
+ // Tests for the popup-menu focus fixes shipped with PUI-18647:
5
+ //
6
+ // - (NEW) ArrowDown on the trigger opens onto the FIRST item; ArrowUp opens onto the LAST. ArrowUp
7
+ // did not open the menu at all before.
8
+ // - (FIX) Clicking outside no longer drags focus back to the trigger. It stays where the click put
9
+ // it, so focus is no longer lost arbitrarily on a pointer dismissal.
10
+ // - (unchanged) Escape still closes and returns focus to the trigger.
11
+ //
12
+ // Full browser matrix on purpose: pointer-driven dismissal and where focus settles afterwards is
13
+ // precisely the behaviour engines implement differently.
14
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
15
+ describe('PUI-19018 - GlobalHeader:: popup-menu open and focus return paths - Func', () => {
16
+ before('loading page', async () => {
17
+ const errorOnGo = await GlobalHeaderCO.popupMenuSlotSurfaceURL.go();
18
+ if (errorOnGo) throw errorOnGo;
19
+ });
20
+
21
+ it('01: should open onto the first menu item with ArrowDown', async () => {
22
+ // Focused programmatically rather than by clicking: a click would open the menu, and closing it
23
+ // again to get back to "closed trigger, focused" makes the starting state depend on where a
24
+ // dismissal leaves focus, which varies by engine. The ArrowDown behaviour is the case here.
25
+ const trigger = await GlobalHeaderCO.getGHToolbarItem(0);
26
+ await trigger.waitForDisplayed();
27
+ await browser.execute((el) => el.focus(), trigger);
28
+ await expect(trigger).toBeFocused();
29
+
30
+ await browser.keys(Key.ArrowDown);
31
+ await (await GlobalHeaderCO.getPopupContent()).waitForDisplayed();
32
+
33
+ const firstItem = await GlobalHeaderCO.getPopupMenuItemButtonByIndex(0);
34
+ await expect(firstItem).toBeFocused();
35
+ await expect(firstItem).toHaveText('Preferences');
36
+ });
37
+
38
+ it('02: should close and return focus to the trigger on Escape', async () => {
39
+ await browser.keys(Key.Escape);
40
+
41
+ await expect(await GlobalHeaderCO.getPopupContent()).not.toBeDisplayed();
42
+ await expect(await GlobalHeaderCO.getGHToolbarItem(0)).toBeFocused();
43
+ });
44
+
45
+ it('03: should open onto the last menu item with ArrowUp', async () => {
46
+ await browser.keys(Key.ArrowUp);
47
+ await (await GlobalHeaderCO.getPopupContent()).waitForDisplayed();
48
+
49
+ const lastItem = await GlobalHeaderCO.getPopupMenuItemButtonByIndex(1);
50
+ await expect(lastItem).toBeFocused();
51
+ await expect(lastItem).toHaveText('Sign out');
52
+ });
53
+
54
+ it('04: should close without returning focus to the trigger on an outside click', async () => {
55
+ await (await GlobalHeaderCO.getOutsideClickTarget()).click();
56
+
57
+ await expect(await GlobalHeaderCO.getPopupContent()).not.toBeDisplayed();
58
+ // The heading is not focusable, so focus settles on the body. The point is only that it did
59
+ // NOT get pulled back to the trigger, which is what used to happen.
60
+ await expect(await GlobalHeaderCO.getGHToolbarItem(0)).not.toBeFocused();
61
+ });
62
+ });
63
+ }
@@ -0,0 +1,70 @@
1
+ import { Key } from 'webdriverio';
2
+ import GlobalHeaderCO from '../GlobalHeaderCO';
3
+
4
+ // Tests for the new slot introduced in PUI-18647. The ds-popup-menu item's outermost element used to
5
+ // be an unstyled wrapper with no slot and no data-testid, so the item as a whole had no injection
6
+ // point — nowhere to reach it, nowhere for xstyled props to land. It is now
7
+ // `dsGlobalheaderMenubarItemPopupmenuContainer` / `ds-globalheader-menubar-item-popupmenu-container`.
8
+ //
9
+ // The change is additive: every pre-existing slot name and data-testid in this subtree is unchanged
10
+ // and sits in the same DOM position, so no existing selector moves. Both the new and the pre-existing
11
+ // slots are asserted here so a regression in either fails.
12
+ //
13
+ // Chrome only — pure DOM attribute assertions. The `|| 'Chrome'` arm is mandatory (BrowserStack
14
+ // capitalises browserName; a lowercase-only guard silently registers zero tests and still exits 0).
15
+ if (
16
+ (!browser.capabilities['ice:options'].isPhone &&
17
+ !browser.capabilities['ice:options'].isTablet &&
18
+ browser.capabilities.browserName === 'chrome') ||
19
+ browser.capabilities.browserName === 'Chrome'
20
+ ) {
21
+ describe('PUI-19017 - GlobalHeader:: popup-menu item slot surface - Func', () => {
22
+ before('loading page', async () => {
23
+ const errorOnGo = await GlobalHeaderCO.popupMenuSlotSurfaceURL.go();
24
+ if (errorOnGo) throw errorOnGo;
25
+ });
26
+
27
+ it('01: should expose the new item container slot while the menu is closed', async () => {
28
+ const container = await GlobalHeaderCO.getPopupMenuContainer();
29
+ await container.waitForDisplayed();
30
+ await expect(container).toHaveAttribute('data-dimsum-slot', 'dsGlobalheaderMenubarItemPopupmenuContainer');
31
+
32
+ // Closed, the reachable surface is the item container plus the trigger button. Item-level
33
+ // attributes land on the TRIGGER for this item type, not on the container.
34
+ const publicTestIds = await GlobalHeaderCO.getPublicNodeTestIds();
35
+ await expect(publicTestIds).toEqual(['ds-globalheader-menubar-item-popupmenu-container', 'gh-toolbar-item']);
36
+
37
+ const dsTypedFlag = await GlobalHeaderCO.getDsTypedItemExistFlag();
38
+ await expect(dsTypedFlag).toHaveText('No');
39
+ });
40
+
41
+ it('02: should expose every popup-menu slot once the menu is open', async () => {
42
+ const trigger = await GlobalHeaderCO.getGHToolbarItem(0);
43
+ await trigger.click();
44
+ await (await GlobalHeaderCO.getPopupContent()).waitForDisplayed();
45
+
46
+ // Two options and one separator, so the per-item slots appear twice. The exact testid spelling
47
+ // is asserted rather than normalised: the container and the item label use `ds-globalheader-`
48
+ // while their siblings use `ds-global-header-`, and that inconsistency is what consumers'
49
+ // selectors have to match.
50
+ const publicTestIds = await GlobalHeaderCO.getPublicNodeTestIds();
51
+ await expect(publicTestIds).toEqual([
52
+ 'ds-globalheader-menubar-item-popupmenu-container',
53
+ 'gh-toolbar-item',
54
+ 'ds-global-header-menubar-item-popupmenu-list',
55
+ 'ds-global-header-menubar-item-popupmenu-item',
56
+ 'ds-global-header-menubar-item-popupmenu-item-button',
57
+ 'ds-globalheader-menubar-item-popupmenu-item-label',
58
+ 'ds-global-header-menubar-item-popupmenu-separator',
59
+ 'ds-global-header-menubar-item-popupmenu-item',
60
+ 'ds-global-header-menubar-item-popupmenu-item-button',
61
+ 'ds-globalheader-menubar-item-popupmenu-item-label',
62
+ ]);
63
+
64
+ const dsTypedFlag = await GlobalHeaderCO.getDsTypedItemExistFlag();
65
+ await expect(dsTypedFlag).toHaveText('No');
66
+
67
+ await browser.keys(Key.Escape);
68
+ });
69
+ });
70
+ }
@@ -0,0 +1,118 @@
1
+ import { Key } from 'webdriverio';
2
+ import GlobalHeaderCO from '../GlobalHeaderCO';
3
+ import { type } from '../../helpers';
4
+
5
+ // Tests for the ds-search-toggle changes in PUI-18647:
6
+ //
7
+ // - (NEW) item-level attributes now land on the item's ROOT CONTAINER, not on the trigger button as
8
+ // with the sibling item types. The type declared that surface on its configuration type and
9
+ // forwarded none of it, so data-public on a search-toggle entry appeared nowhere.
10
+ // - (RENAMED) that container's data-testid moved from `ds-global-header-menubar-item-searchtoggle-
11
+ // container` to `ds-globalheader-menubar-item-searchtoggle-container`. The element itself is
12
+ // unchanged; commit 295f110651c dropped its legacy override in constants/index.ts, so the
13
+ // auto-generated post-convention value now wins. Asserted as the DOM currently renders it — if
14
+ // the legacy override is restored, this expectation flips back to the hyphenated spelling.
15
+ // - (BREAKING) the two spinbutton result-navigation identifiers were INVERTED: the control that
16
+ // triggered NEXT was slotted as PREVIOUS and vice versa. The accessible names were always right,
17
+ // so testid and accessible name now agree. This is the one breaking change for QA here.
18
+ // - (FIX) Escape was handled twice — on the input and again on the container it bubbles to — so one
19
+ // press collapsed twice and called onClear three times. It now fires once.
20
+ //
21
+ // Chrome only: attribute assertions plus click-to-state-change, both engine-independent. The
22
+ // `|| 'Chrome'` arm is mandatory (BrowserStack capitalises browserName; a lowercase-only guard
23
+ // registers zero tests and still exits 0).
24
+ if (
25
+ (!browser.capabilities['ice:options'].isPhone &&
26
+ !browser.capabilities['ice:options'].isTablet &&
27
+ browser.capabilities.browserName === 'chrome') ||
28
+ browser.capabilities.browserName === 'Chrome'
29
+ ) {
30
+ describe('PUI-19019 - GlobalHeader:: search-toggle item slots and result controls - Func', () => {
31
+ before('loading page', async () => {
32
+ const errorOnGo = await GlobalHeaderCO.searchToggleSlotsURL.go();
33
+ if (errorOnGo) throw errorOnGo;
34
+ });
35
+
36
+ it('01: should forward item-level attributes to the new item container while collapsed', async () => {
37
+ const container = await GlobalHeaderCO.getSearchToggleContainer();
38
+ await container.waitForDisplayed();
39
+ await expect(container).toHaveAttribute('data-dimsum-slot', 'dsGlobalheaderMenubarItemSearchtoggleContainer');
40
+
41
+ const publicTestIds = await GlobalHeaderCO.getPublicNodeTestIds();
42
+ await expect(publicTestIds).toEqual(['ds-globalheader-menubar-item-searchtoggle-container', 'gh-toolbar-item']);
43
+
44
+ const dsTypedFlag = await GlobalHeaderCO.getDsTypedItemExistFlag();
45
+ await expect(dsTypedFlag).toHaveText('No');
46
+ });
47
+
48
+ it('02: should expose the full search-toggle slot surface once expanded', async () => {
49
+ await (await GlobalHeaderCO.getGHToolbarItem(0)).click();
50
+ await (await GlobalHeaderCO.getSearchToggleInput()).waitForDisplayed();
51
+
52
+ const publicTestIds = await GlobalHeaderCO.getPublicNodeTestIds();
53
+ await expect(publicTestIds).toEqual([
54
+ 'ds-globalheader-menubar-item-searchtoggle-container',
55
+ 'gh-toolbar-item',
56
+ 'ds-globalheader-searchtoggle-expanded-content-wrapper',
57
+ 'ds-globalheader-searchtoggle-textinput',
58
+ 'ds-globalheader-searchtoggle-spinbutton-wrapper',
59
+ 'ds-globalheader-searchtoggle-spinbutton-text',
60
+ 'ds-globalheader-searchtoggle-spinbutton-separator',
61
+ 'ds-globalheader-searchtoggle-spinbutton-next',
62
+ 'ds-globalheader-searchtoggle-spinbutton-prev',
63
+ ]);
64
+ });
65
+
66
+ it('03: should match each spinbutton data-testid to its accessible name', async () => {
67
+ // The un-inversion. Note the DOM order is next-then-prev, which is what made the original
68
+ // swap easy to miss — so identity is read off the accessible name, never off position.
69
+ await expect(await GlobalHeaderCO.getSearchTogglePrevButton()).toHaveAttribute(
70
+ 'aria-label',
71
+ 'Previous search result',
72
+ );
73
+ await expect(await GlobalHeaderCO.getSearchToggleNextButton()).toHaveAttribute(
74
+ 'aria-label',
75
+ 'Next search result',
76
+ );
77
+ });
78
+
79
+ it('04: should navigate results forward with next and backward with prev', async () => {
80
+ const input = await GlobalHeaderCO.getSearchToggleInput();
81
+ await input.click();
82
+ await type('L');
83
+
84
+ const spinbuttonText = await GlobalHeaderCO.getSearchToggleSpinbutton();
85
+ await browser.waitUntil(async () => (await spinbuttonText.getText()) === '4', {
86
+ timeout: 3000,
87
+ timeoutMsg: 'search results did not populate after typing',
88
+ });
89
+
90
+ // Four rows match "L"; the first hit is row 0 and the last is row 4.
91
+ await (await GlobalHeaderCO.getSearchToggleNextButton()).click();
92
+ await expect(spinbuttonText).toHaveText('1 / 4');
93
+ const firstMatch = await GlobalHeaderCO.getSearchableRowByIndex(0);
94
+ await expect(await GlobalHeaderCO.isRowHighlighted(firstMatch)).toBe(true);
95
+
96
+ // Prev from the first result wraps to the last, proving the control moves backward.
97
+ await (await GlobalHeaderCO.getSearchTogglePrevButton()).click();
98
+ await expect(spinbuttonText).toHaveText('4 / 4');
99
+ const lastMatch = await GlobalHeaderCO.getSearchableRowByIndex(4);
100
+ await expect(await GlobalHeaderCO.isRowHighlighted(lastMatch)).toBe(true);
101
+ });
102
+
103
+ it('05: should collapse, clear and return focus on a single Escape', async () => {
104
+ await (await GlobalHeaderCO.getSearchToggleInput()).click();
105
+ await browser.keys(Key.Escape);
106
+
107
+ await expect(await GlobalHeaderCO.getSearchToggleInput()).not.toBeDisplayed();
108
+ await expect(await GlobalHeaderCO.getGHToolbarItem(0)).toBeFocused();
109
+
110
+ // Collapsing clears the query, so the highlight is gone and the reachable surface is back to
111
+ // the two collapsed-state nodes.
112
+ const lastMatch = await GlobalHeaderCO.getSearchableRowByIndex(4);
113
+ await expect(await GlobalHeaderCO.isRowHighlighted(lastMatch)).toBe(false);
114
+ const publicTestIds = await GlobalHeaderCO.getPublicNodeTestIds();
115
+ await expect(publicTestIds).toEqual(['ds-globalheader-menubar-item-searchtoggle-container', 'gh-toolbar-item']);
116
+ });
117
+ });
118
+ }
@@ -0,0 +1,53 @@
1
+ import GlobalHeaderCO from '../GlobalHeaderCO';
2
+
3
+ // Tests for the contract formalised in PUI-18647: item-level global attributes are forwarded to
4
+ // whatever an out-of-the-box toolbar item renders as its root. The typeless (icon button) item
5
+ // already behaved this way before the refactor — this pins the baseline so the widened contract
6
+ // cannot quietly move it.
7
+ //
8
+ // Also guards the `type` discriminator: it routes the item internally and must never reach the DOM,
9
+ // because `type` is a reserved HTML attribute.
10
+ //
11
+ // Chrome only: every assertion is a DOM attribute or a rendered text value, identical in every
12
+ // engine. The `|| 'Chrome'` arm is mandatory — BrowserStack capitalises browserName, and a
13
+ // lowercase-only guard registers zero tests while still exiting 0.
14
+ if (
15
+ (!browser.capabilities['ice:options'].isPhone &&
16
+ !browser.capabilities['ice:options'].isTablet &&
17
+ browser.capabilities.browserName === 'chrome') ||
18
+ browser.capabilities.browserName === 'Chrome'
19
+ ) {
20
+ describe('PUI-19016 - GlobalHeader:: typeless toolbar item attributes and onClick - Func', () => {
21
+ before('loading page', async () => {
22
+ const errorOnGo = await GlobalHeaderCO.iconButtonItemURL.go();
23
+ if (errorOnGo) throw errorOnGo;
24
+ });
25
+
26
+ it('01: should forward item-level attributes only to the rendered button', async () => {
27
+ const button = await GlobalHeaderCO.getGHToolbarItem(0);
28
+ await button.waitForDisplayed();
29
+
30
+ // The story wires data-public at item level only, so the button is the single element that may
31
+ // carry it. Asserting the whole collection rather than just the button is what catches the
32
+ // attribute leaking onto an ancestor.
33
+ const publicTestIds = await GlobalHeaderCO.getPublicNodeTestIds();
34
+ await expect(publicTestIds).toEqual(['gh-toolbar-item']);
35
+
36
+ await expect(button).toHaveAttribute('data-dimsum-slot', 'dsGlobalheaderMenubarItemButton');
37
+ // The button's own type, not the toolbar item's routing discriminator.
38
+ await expect(button).toHaveAttribute('type', 'button');
39
+
40
+ const dsTypedFlag = await GlobalHeaderCO.getDsTypedItemExistFlag();
41
+ await expect(dsTypedFlag).toHaveText('No');
42
+ });
43
+
44
+ it('02: should forward the item-level onClick handler to the rendered button', async () => {
45
+ const clickCount = await GlobalHeaderCO.getClickCount();
46
+ await expect(clickCount).toHaveText('0');
47
+
48
+ await (await GlobalHeaderCO.getGHToolbarItem(0)).click();
49
+
50
+ await expect(clickCount).toHaveText('1');
51
+ });
52
+ });
53
+ }
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.63",
4
+ "version": "3.70.0-next.69",
5
5
  "description": "End-to-end tests for dimsum library",
6
6
  "dependencies": {
7
7
  "@elliemae/ds-legacy-button": "1.0.16",
@@ -38,154 +38,154 @@
38
38
  "@elliemae/ds-legacy-wysiwygeditor": "1.0.16",
39
39
  "@elliemae/ds-legacy-zipcode-search": "1.0.16",
40
40
  "@elliemae/ds-legacy-zoom": "1.0.16",
41
- "@elliemae/ds-accessibility": "3.70.0-next.63",
42
- "@elliemae/ds-accordion": "3.70.0-next.63",
43
- "@elliemae/ds-app-picker": "3.70.0-next.63",
44
- "@elliemae/ds-backdrop": "3.70.0-next.63",
45
- "@elliemae/ds-basic": "3.70.0-next.63",
46
- "@elliemae/ds-banner": "3.70.0-next.63",
47
- "@elliemae/ds-breadcrumb": "3.70.0-next.63",
48
- "@elliemae/ds-button-v2": "3.70.0-next.63",
49
- "@elliemae/ds-card-v1": "3.70.0-next.63",
50
- "@elliemae/ds-card-navigation": "3.70.0-next.63",
51
- "@elliemae/ds-card": "3.70.0-next.63",
52
- "@elliemae/ds-card-v2": "3.70.0-next.63",
53
- "@elliemae/ds-card-v1-detail": "3.70.0-next.63",
54
- "@elliemae/ds-card-v2-group": "3.70.0-next.63",
55
- "@elliemae/ds-card-v2-action-addon": "3.70.0-next.63",
56
- "@elliemae/ds-card-v3": "3.70.0-next.63",
57
- "@elliemae/ds-chat-bubble": "3.70.0-next.63",
58
- "@elliemae/ds-card-v3-poc": "3.70.0-next.63",
59
- "@elliemae/ds-chat": "3.70.0-next.63",
60
- "@elliemae/ds-chat-card": "3.70.0-next.63",
61
- "@elliemae/ds-chat-container": "3.70.0-next.63",
62
- "@elliemae/ds-chat-container-header": "3.70.0-next.63",
63
- "@elliemae/ds-chat-empty-state": "3.70.0-next.63",
64
- "@elliemae/ds-chat-message-delimeter": "3.70.0-next.63",
65
- "@elliemae/ds-chat-sidebar": "3.70.0-next.63",
66
- "@elliemae/ds-chip": "3.70.0-next.63",
67
- "@elliemae/ds-chat-tile": "3.70.0-next.63",
68
- "@elliemae/ds-chat-system-message": "3.70.0-next.63",
69
- "@elliemae/ds-classnames": "3.70.0-next.63",
70
- "@elliemae/ds-circular-progress-indicator": "3.70.0-next.63",
71
- "@elliemae/ds-codeeditor": "3.70.0-next.63",
72
- "@elliemae/ds-comments": "3.70.0-next.63",
73
- "@elliemae/ds-chat-floating-button": "3.70.0-next.63",
74
- "@elliemae/ds-controlled-form": "3.70.0-next.63",
75
- "@elliemae/ds-csv-converter": "3.70.0-next.63",
76
- "@elliemae/ds-data-table": "3.70.0-next.63",
77
- "@elliemae/ds-data-table-cell-header": "3.70.0-next.63",
78
- "@elliemae/ds-data-table-action-cell": "3.70.0-next.63",
79
- "@elliemae/ds-data-table-cell": "3.70.0-next.63",
80
- "@elliemae/ds-data-table-expand-cell": "3.70.0-next.63",
81
- "@elliemae/ds-data-table-drag-and-drop-cell": "3.70.0-next.63",
82
- "@elliemae/ds-data-table-filters": "3.70.0-next.63",
83
- "@elliemae/ds-data-table-multi-select-cell": "3.70.0-next.63",
84
- "@elliemae/ds-data-table-single-select-cell": "3.70.0-next.63",
85
- "@elliemae/ds-dataviz": "3.70.0-next.63",
86
- "@elliemae/ds-date-time-picker": "3.70.0-next.63",
87
- "@elliemae/ds-decision-graph": "3.70.0-next.63",
88
- "@elliemae/ds-dropzone": "3.70.0-next.63",
89
- "@elliemae/ds-drag-and-drop": "3.70.0-next.63",
90
- "@elliemae/ds-fast-list": "3.70.0-next.63",
91
- "@elliemae/ds-filter-bar": "3.70.0-next.63",
92
- "@elliemae/ds-dataviz-pie": "3.70.0-next.63",
93
- "@elliemae/ds-form-checkbox": "3.70.0-next.63",
94
- "@elliemae/ds-floating-context": "3.70.0-next.63",
95
- "@elliemae/ds-form-combobox": "3.70.0-next.63",
96
- "@elliemae/ds-form-date-range-picker": "3.70.0-next.63",
97
- "@elliemae/ds-form-helpers-mask-hooks": "3.70.0-next.63",
98
- "@elliemae/ds-form-date-time-picker": "3.70.0-next.63",
99
- "@elliemae/ds-form-input-text": "3.70.0-next.63",
100
- "@elliemae/ds-form-layout-autocomplete": "3.70.0-next.63",
101
- "@elliemae/ds-form-input-textarea": "3.70.0-next.63",
102
- "@elliemae/ds-form-layout-blocks": "3.70.0-next.63",
103
- "@elliemae/ds-form-layout-input-group": "3.70.0-next.63",
104
- "@elliemae/ds-form-layout-label": "3.70.0-next.63",
105
- "@elliemae/ds-form-native-select": "3.70.0-next.63",
106
- "@elliemae/ds-form-radio": "3.70.0-next.63",
107
- "@elliemae/ds-form-select": "3.70.0-next.63",
108
- "@elliemae/ds-form-multi-combobox": "3.70.0-next.63",
109
- "@elliemae/ds-form-toggle": "3.70.0-next.63",
110
- "@elliemae/ds-form-single-combobox": "3.70.0-next.63",
111
- "@elliemae/ds-global-header": "3.70.0-next.63",
112
- "@elliemae/ds-grid": "3.70.0-next.63",
113
- "@elliemae/ds-hooks-focus-trap": "3.70.0-next.63",
114
- "@elliemae/ds-hooks-focus-stack": "3.70.0-next.63",
115
- "@elliemae/ds-hooks-is-mobile": "3.70.0-next.63",
116
- "@elliemae/ds-hooks-fontsize-media": "3.70.0-next.63",
117
- "@elliemae/ds-hooks-fontsize-detector": "3.70.0-next.63",
118
- "@elliemae/ds-hooks-headless-tooltip": "3.70.0-next.63",
119
- "@elliemae/ds-hooks-is-showing-ellipsis": "3.70.0-next.63",
120
- "@elliemae/ds-hooks-keyboard-navigation": "3.70.0-next.63",
121
- "@elliemae/ds-hooks-on-blur-out": "3.70.0-next.63",
122
- "@elliemae/ds-hooks-on-first-focus-in": "3.70.0-next.63",
123
- "@elliemae/ds-icon": "3.70.0-next.63",
124
- "@elliemae/ds-imagelibrarymodal": "3.70.0-next.63",
125
- "@elliemae/ds-image": "3.70.0-next.63",
126
- "@elliemae/ds-icons": "3.70.0-next.63",
127
- "@elliemae/ds-layout-provider": "3.70.0-next.63",
128
- "@elliemae/ds-indeterminate-progress-indicator": "3.70.0-next.63",
129
- "@elliemae/ds-left-navigation": "3.70.0-next.63",
130
- "@elliemae/ds-menu-button": "3.70.0-next.63",
131
- "@elliemae/ds-loading-indicator": "3.70.0-next.63",
132
- "@elliemae/ds-menu-items": "3.70.0-next.63",
133
- "@elliemae/ds-menu-items-commons": "3.70.0-next.63",
134
- "@elliemae/ds-menu-items-action": "3.70.0-next.63",
135
- "@elliemae/ds-menu-items-multi": "3.70.0-next.63",
136
- "@elliemae/ds-menu-items-single": "3.70.0-next.63",
137
- "@elliemae/ds-menu-items-section": "3.70.0-next.63",
138
- "@elliemae/ds-menu-items-skeleton": "3.70.0-next.63",
139
- "@elliemae/ds-menu-items-separator": "3.70.0-next.63",
140
- "@elliemae/ds-menu-items-single-with-submenu": "3.70.0-next.63",
141
- "@elliemae/ds-menu-items-submenu": "3.70.0-next.63",
142
- "@elliemae/ds-menu-tree-item": "3.70.0-next.63",
143
- "@elliemae/ds-mobile": "3.70.0-next.63",
144
- "@elliemae/ds-overlay": "3.70.0-next.63",
145
- "@elliemae/ds-notification-badge": "3.70.0-next.63",
146
- "@elliemae/ds-page-header-v1": "3.70.0-next.63",
147
- "@elliemae/ds-page-header": "3.70.0-next.63",
148
- "@elliemae/ds-page-layout": "3.70.0-next.63",
149
- "@elliemae/ds-page-header-v2": "3.70.0-next.63",
150
- "@elliemae/ds-pagination": "3.70.0-next.63",
151
- "@elliemae/ds-modal-slide": "3.70.0-next.63",
152
- "@elliemae/ds-pills-v2": "3.70.0-next.63",
153
- "@elliemae/ds-query-builder": "3.70.0-next.63",
154
- "@elliemae/ds-read-more": "3.70.0-next.63",
155
- "@elliemae/ds-resizeable-container": "3.70.0-next.63",
156
- "@elliemae/ds-dropdownmenu-v2": "3.70.0-next.63",
157
- "@elliemae/ds-ribbon": "3.70.0-next.63",
158
- "@elliemae/ds-props-helpers": "3.70.0-next.63",
159
- "@elliemae/ds-progress-indicator": "3.70.0-next.63",
160
- "@elliemae/ds-scrollable-container": "3.70.0-next.63",
161
- "@elliemae/ds-separator": "3.70.0-next.63",
162
- "@elliemae/ds-shared": "3.70.0-next.63",
163
- "@elliemae/ds-side-panel-header": "3.70.0-next.63",
164
- "@elliemae/ds-side-panel": "3.70.0-next.63",
165
- "@elliemae/ds-skeleton": "3.70.0-next.63",
166
- "@elliemae/ds-shuttle-v2": "3.70.0-next.63",
167
- "@elliemae/ds-stepper": "3.70.0-next.63",
168
- "@elliemae/ds-slider-v2": "3.70.0-next.63",
169
- "@elliemae/ds-square-indicator": "3.70.0-next.63",
170
- "@elliemae/ds-svg": "3.70.0-next.63",
171
- "@elliemae/ds-tabs": "3.70.0-next.63",
172
- "@elliemae/ds-test-utils": "3.70.0-next.63",
173
- "@elliemae/ds-system": "3.70.0-next.63",
174
- "@elliemae/ds-toast": "3.70.0-next.63",
175
- "@elliemae/ds-toolbar-v2": "3.70.0-next.63",
176
- "@elliemae/ds-toolbar-v1": "3.70.0-next.63",
177
- "@elliemae/ds-transition": "3.70.0-next.63",
178
- "@elliemae/ds-tooltip-v3": "3.70.0-next.63",
179
- "@elliemae/ds-tree-model": "3.70.0-next.63",
180
- "@elliemae/ds-typescript-helpers": "3.70.0-next.63",
181
- "@elliemae/ds-treeview": "3.70.0-next.63",
182
- "@elliemae/ds-virtual-list": "3.70.0-next.63",
183
- "@elliemae/ds-wizard": "3.70.0-next.63",
184
- "@elliemae/ds-truncated-expandable-text": "3.70.0-next.63",
185
- "@elliemae/ds-zustand-helpers": "3.70.0-next.63",
186
- "@elliemae/ds-typography": "3.70.0-next.63",
187
- "@elliemae/ds-dialog": "3.70.0-next.63",
188
- "@elliemae/ds-portal": "3.70.0-next.63"
41
+ "@elliemae/ds-accessibility": "3.70.0-next.69",
42
+ "@elliemae/ds-backdrop": "3.70.0-next.69",
43
+ "@elliemae/ds-accordion": "3.70.0-next.69",
44
+ "@elliemae/ds-banner": "3.70.0-next.69",
45
+ "@elliemae/ds-basic": "3.70.0-next.69",
46
+ "@elliemae/ds-breadcrumb": "3.70.0-next.69",
47
+ "@elliemae/ds-button-v2": "3.70.0-next.69",
48
+ "@elliemae/ds-card-navigation": "3.70.0-next.69",
49
+ "@elliemae/ds-card": "3.70.0-next.69",
50
+ "@elliemae/ds-card-v1-detail": "3.70.0-next.69",
51
+ "@elliemae/ds-card-v2": "3.70.0-next.69",
52
+ "@elliemae/ds-card-v1": "3.70.0-next.69",
53
+ "@elliemae/ds-card-v2-action-addon": "3.70.0-next.69",
54
+ "@elliemae/ds-card-v3": "3.70.0-next.69",
55
+ "@elliemae/ds-card-v2-group": "3.70.0-next.69",
56
+ "@elliemae/ds-card-v3-poc": "3.70.0-next.69",
57
+ "@elliemae/ds-chat": "3.70.0-next.69",
58
+ "@elliemae/ds-chat-bubble": "3.70.0-next.69",
59
+ "@elliemae/ds-chat-card": "3.70.0-next.69",
60
+ "@elliemae/ds-chat-container": "3.70.0-next.69",
61
+ "@elliemae/ds-chat-container-header": "3.70.0-next.69",
62
+ "@elliemae/ds-chat-empty-state": "3.70.0-next.69",
63
+ "@elliemae/ds-chat-floating-button": "3.70.0-next.69",
64
+ "@elliemae/ds-chat-message-delimeter": "3.70.0-next.69",
65
+ "@elliemae/ds-chat-sidebar": "3.70.0-next.69",
66
+ "@elliemae/ds-chat-system-message": "3.70.0-next.69",
67
+ "@elliemae/ds-chat-tile": "3.70.0-next.69",
68
+ "@elliemae/ds-chip": "3.70.0-next.69",
69
+ "@elliemae/ds-circular-progress-indicator": "3.70.0-next.69",
70
+ "@elliemae/ds-classnames": "3.70.0-next.69",
71
+ "@elliemae/ds-codeeditor": "3.70.0-next.69",
72
+ "@elliemae/ds-comments": "3.70.0-next.69",
73
+ "@elliemae/ds-controlled-form": "3.70.0-next.69",
74
+ "@elliemae/ds-csv-converter": "3.70.0-next.69",
75
+ "@elliemae/ds-data-table": "3.70.0-next.69",
76
+ "@elliemae/ds-data-table-action-cell": "3.70.0-next.69",
77
+ "@elliemae/ds-data-table-cell": "3.70.0-next.69",
78
+ "@elliemae/ds-data-table-cell-header": "3.70.0-next.69",
79
+ "@elliemae/ds-data-table-drag-and-drop-cell": "3.70.0-next.69",
80
+ "@elliemae/ds-data-table-multi-select-cell": "3.70.0-next.69",
81
+ "@elliemae/ds-data-table-expand-cell": "3.70.0-next.69",
82
+ "@elliemae/ds-data-table-filters": "3.70.0-next.69",
83
+ "@elliemae/ds-data-table-single-select-cell": "3.70.0-next.69",
84
+ "@elliemae/ds-dataviz": "3.70.0-next.69",
85
+ "@elliemae/ds-dataviz-pie": "3.70.0-next.69",
86
+ "@elliemae/ds-date-time-picker": "3.70.0-next.69",
87
+ "@elliemae/ds-app-picker": "3.70.0-next.69",
88
+ "@elliemae/ds-dropdownmenu-v2": "3.70.0-next.69",
89
+ "@elliemae/ds-drag-and-drop": "3.70.0-next.69",
90
+ "@elliemae/ds-dropzone": "3.70.0-next.69",
91
+ "@elliemae/ds-decision-graph": "3.70.0-next.69",
92
+ "@elliemae/ds-fast-list": "3.70.0-next.69",
93
+ "@elliemae/ds-filter-bar": "3.70.0-next.69",
94
+ "@elliemae/ds-floating-context": "3.70.0-next.69",
95
+ "@elliemae/ds-form-combobox": "3.70.0-next.69",
96
+ "@elliemae/ds-form-date-time-picker": "3.70.0-next.69",
97
+ "@elliemae/ds-form-checkbox": "3.70.0-next.69",
98
+ "@elliemae/ds-form-helpers-mask-hooks": "3.70.0-next.69",
99
+ "@elliemae/ds-form-input-text": "3.70.0-next.69",
100
+ "@elliemae/ds-dialog": "3.70.0-next.69",
101
+ "@elliemae/ds-form-date-range-picker": "3.70.0-next.69",
102
+ "@elliemae/ds-form-input-textarea": "3.70.0-next.69",
103
+ "@elliemae/ds-form-layout-autocomplete": "3.70.0-next.69",
104
+ "@elliemae/ds-form-layout-input-group": "3.70.0-next.69",
105
+ "@elliemae/ds-form-layout-blocks": "3.70.0-next.69",
106
+ "@elliemae/ds-form-layout-label": "3.70.0-next.69",
107
+ "@elliemae/ds-form-multi-combobox": "3.70.0-next.69",
108
+ "@elliemae/ds-form-native-select": "3.70.0-next.69",
109
+ "@elliemae/ds-form-select": "3.70.0-next.69",
110
+ "@elliemae/ds-form-single-combobox": "3.70.0-next.69",
111
+ "@elliemae/ds-form-radio": "3.70.0-next.69",
112
+ "@elliemae/ds-global-header": "3.70.0-next.69",
113
+ "@elliemae/ds-hooks-focus-stack": "3.70.0-next.69",
114
+ "@elliemae/ds-form-toggle": "3.70.0-next.69",
115
+ "@elliemae/ds-grid": "3.70.0-next.69",
116
+ "@elliemae/ds-hooks-fontsize-detector": "3.70.0-next.69",
117
+ "@elliemae/ds-hooks-focus-trap": "3.70.0-next.69",
118
+ "@elliemae/ds-hooks-headless-tooltip": "3.70.0-next.69",
119
+ "@elliemae/ds-hooks-is-mobile": "3.70.0-next.69",
120
+ "@elliemae/ds-hooks-fontsize-media": "3.70.0-next.69",
121
+ "@elliemae/ds-hooks-is-showing-ellipsis": "3.70.0-next.69",
122
+ "@elliemae/ds-hooks-keyboard-navigation": "3.70.0-next.69",
123
+ "@elliemae/ds-hooks-on-blur-out": "3.70.0-next.69",
124
+ "@elliemae/ds-icon": "3.70.0-next.69",
125
+ "@elliemae/ds-hooks-on-first-focus-in": "3.70.0-next.69",
126
+ "@elliemae/ds-image": "3.70.0-next.69",
127
+ "@elliemae/ds-imagelibrarymodal": "3.70.0-next.69",
128
+ "@elliemae/ds-layout-provider": "3.70.0-next.69",
129
+ "@elliemae/ds-indeterminate-progress-indicator": "3.70.0-next.69",
130
+ "@elliemae/ds-loading-indicator": "3.70.0-next.69",
131
+ "@elliemae/ds-menu-button": "3.70.0-next.69",
132
+ "@elliemae/ds-left-navigation": "3.70.0-next.69",
133
+ "@elliemae/ds-menu-items-action": "3.70.0-next.69",
134
+ "@elliemae/ds-menu-items": "3.70.0-next.69",
135
+ "@elliemae/ds-menu-items-multi": "3.70.0-next.69",
136
+ "@elliemae/ds-menu-items-commons": "3.70.0-next.69",
137
+ "@elliemae/ds-menu-items-section": "3.70.0-next.69",
138
+ "@elliemae/ds-menu-items-separator": "3.70.0-next.69",
139
+ "@elliemae/ds-menu-items-single": "3.70.0-next.69",
140
+ "@elliemae/ds-menu-items-single-with-submenu": "3.70.0-next.69",
141
+ "@elliemae/ds-menu-tree-item": "3.70.0-next.69",
142
+ "@elliemae/ds-modal-slide": "3.70.0-next.69",
143
+ "@elliemae/ds-mobile": "3.70.0-next.69",
144
+ "@elliemae/ds-overlay": "3.70.0-next.69",
145
+ "@elliemae/ds-page-header": "3.70.0-next.69",
146
+ "@elliemae/ds-notification-badge": "3.70.0-next.69",
147
+ "@elliemae/ds-page-header-v1": "3.70.0-next.69",
148
+ "@elliemae/ds-page-header-v2": "3.70.0-next.69",
149
+ "@elliemae/ds-icons": "3.70.0-next.69",
150
+ "@elliemae/ds-page-layout": "3.70.0-next.69",
151
+ "@elliemae/ds-menu-items-skeleton": "3.70.0-next.69",
152
+ "@elliemae/ds-pills-v2": "3.70.0-next.69",
153
+ "@elliemae/ds-portal": "3.70.0-next.69",
154
+ "@elliemae/ds-props-helpers": "3.70.0-next.69",
155
+ "@elliemae/ds-pagination": "3.70.0-next.69",
156
+ "@elliemae/ds-progress-indicator": "3.70.0-next.69",
157
+ "@elliemae/ds-read-more": "3.70.0-next.69",
158
+ "@elliemae/ds-resizeable-container": "3.70.0-next.69",
159
+ "@elliemae/ds-ribbon": "3.70.0-next.69",
160
+ "@elliemae/ds-scrollable-container": "3.70.0-next.69",
161
+ "@elliemae/ds-separator": "3.70.0-next.69",
162
+ "@elliemae/ds-shared": "3.70.0-next.69",
163
+ "@elliemae/ds-shuttle-v2": "3.70.0-next.69",
164
+ "@elliemae/ds-side-panel": "3.70.0-next.69",
165
+ "@elliemae/ds-skeleton": "3.70.0-next.69",
166
+ "@elliemae/ds-side-panel-header": "3.70.0-next.69",
167
+ "@elliemae/ds-slider-v2": "3.70.0-next.69",
168
+ "@elliemae/ds-square-indicator": "3.70.0-next.69",
169
+ "@elliemae/ds-stepper": "3.70.0-next.69",
170
+ "@elliemae/ds-system": "3.70.0-next.69",
171
+ "@elliemae/ds-svg": "3.70.0-next.69",
172
+ "@elliemae/ds-tabs": "3.70.0-next.69",
173
+ "@elliemae/ds-test-utils": "3.70.0-next.69",
174
+ "@elliemae/ds-toast": "3.70.0-next.69",
175
+ "@elliemae/ds-toolbar-v1": "3.70.0-next.69",
176
+ "@elliemae/ds-toolbar-v2": "3.70.0-next.69",
177
+ "@elliemae/ds-tooltip-v3": "3.70.0-next.69",
178
+ "@elliemae/ds-transition": "3.70.0-next.69",
179
+ "@elliemae/ds-tree-model": "3.70.0-next.69",
180
+ "@elliemae/ds-typescript-helpers": "3.70.0-next.69",
181
+ "@elliemae/ds-treeview": "3.70.0-next.69",
182
+ "@elliemae/ds-truncated-expandable-text": "3.70.0-next.69",
183
+ "@elliemae/ds-typography": "3.70.0-next.69",
184
+ "@elliemae/ds-virtual-list": "3.70.0-next.69",
185
+ "@elliemae/ds-menu-items-submenu": "3.70.0-next.69",
186
+ "@elliemae/ds-wizard": "3.70.0-next.69",
187
+ "@elliemae/ds-zustand-helpers": "3.70.0-next.69",
188
+ "@elliemae/ds-query-builder": "3.70.0-next.69"
189
189
  },
190
190
  "publishConfig": {
191
191
  "access": "public"