dimsum-e2e-tests 3.70.0-next.4 → 3.70.0-next.40

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 (123) hide show
  1. package/CHANGELOG.md +204 -0
  2. package/ds-accordion/DSAccordion.visual.spec.js +6 -0
  3. package/ds-accordion/DSAccordionCO.js +11 -3
  4. package/ds-accordion/controlled/DSAccordion.controlled.func.spec.js +23 -0
  5. package/ds-accordion/header-structure/DSAccordion.header-structure.func.spec.js +49 -0
  6. package/ds-accordion/input-inside/DSAccordion.input-inside.func.spec.js +17 -0
  7. package/ds-accordion-native/DSAccordionNative.axe-core.func.spec.js +135 -0
  8. package/ds-accordion-native/DSAccordionNative.func.spec.js +200 -0
  9. package/ds-accordion-native/DSAccordionNative.visual.spec.js +158 -0
  10. package/ds-accordion-native/DSAccordionNativeCO.js +161 -0
  11. package/ds-accordion-native/QA_NOTES.md +88 -0
  12. package/ds-accordion-native/aria-disabled/DSAccordionNative.aria-disabled.axe-core.func.spec.js +25 -0
  13. package/ds-accordion-native/aria-disabled/DSAccordionNative.aria-disabled.visual.spec.js +28 -0
  14. package/ds-accordion-native/controlled/DSAccordionNative.controlled.func.spec.js +22 -0
  15. package/ds-accordion-native/header-structure/DSAccordionNative.header-structure.func.spec.js +53 -0
  16. package/ds-accordion-native/input-inside/DSAccordionNative.input-inside.func.spec.js +16 -0
  17. package/ds-accordion-native/role/DSAccordionNative.role-heading.func.spec.js +27 -0
  18. package/ds-accordion-native/scrollable-content/DSAccordionNative.scrollable-content.visual.spec.js +49 -0
  19. package/ds-accordion-native/slots/DSAccordionNative.slots.axe-core.func.spec.js +25 -0
  20. package/ds-accordion-native/slots/DSAccordionNative.slots.func.spec.js +73 -0
  21. package/ds-accordion-native/slots/DSAccordionNative.slots.visual.spec.js +21 -0
  22. package/ds-accordion-native/wrapLabel/DSAccordionNative.wrap-label.visual.spec.js +21 -0
  23. package/ds-apppicker/DSAppPickerCO.js +1 -1
  24. package/ds-autocomplete/DSAutocomplete.visual.spec.js +34 -0
  25. package/ds-autocomplete/DSAutocompleteCO.js +2 -0
  26. package/ds-card-v3/DSCardV3CO.js +14 -0
  27. package/ds-card-v3/accordion/DSCardV3.accordion-aria-structure.func.spec.js +41 -0
  28. package/ds-card-v3/disabled/DSCardV3.disabled-non-interactive.func.spec.js +25 -0
  29. package/ds-card-v3/multi-select/DSCardV3.multi-select.aria-grouping.func.spec.js +24 -0
  30. package/ds-card-v3/single-select/DSCardV3.single-select.aria-grouping.func.spec.js +24 -0
  31. package/ds-chat/DSChat.axe-core.func.spec.js +2 -2
  32. package/ds-chat/DSChat.visual.spec.js +3 -3
  33. package/ds-chat/DSChatCO.js +17 -23
  34. package/ds-chat/bubbles/slots/DSChatBubble.slots.axe-core.func.spec.js +24 -0
  35. package/ds-chat/bubbles/slots/DSChatBubble.slots.func.spec.js +49 -0
  36. package/ds-chat/bubbles/slots/DSChatBubble.slots.visual.spec.js +25 -0
  37. package/ds-chat/card/slots/DSChatCard.slots.axe-core.func.spec.js +24 -0
  38. package/ds-chat/card/slots/DSChatCard.slots.func.spec.js +47 -0
  39. package/ds-chat/card/slots/DSChatCard.slots.visual.spec.js +18 -0
  40. package/ds-chat/card/truncated-text/DSChatCard.truncated-text.func.spec.js +32 -0
  41. package/ds-chat/card/truncated-text/DSChatCard.truncated-text.visual.spec.js +26 -0
  42. package/ds-chat/card/with-notification-badges/DSChatCard.with-notification-badges.axe-core.func.spec.js +23 -0
  43. package/ds-chat/card/with-notification-badges/DSChatCard.with-notification-badges.visual.spec.js +17 -0
  44. package/ds-chat/components/BubbleCO.js +46 -3
  45. package/ds-chat/components/CardCO.js +77 -0
  46. package/ds-chat/components/ComposerCO.js +6 -6
  47. package/ds-chat/components/FloatingButtonCO.js +2 -2
  48. package/ds-chat/components/HeaderCO.js +2 -2
  49. package/ds-chat/components/TileCO.js +82 -0
  50. package/ds-chat/components/index.js +3 -2
  51. package/ds-chat/loadmore/DSChat-loadmore.func.spec.js +1 -1
  52. package/{ds-chat-tile → ds-chat/tile}/DSChat-tile.axe-core.func.spec.js +2 -2
  53. package/{ds-chat-tile → ds-chat/tile}/DSChat-tile.func.spec.js +1 -1
  54. package/{ds-chat-tile → ds-chat/tile}/DSChat-tile.visual.spec.js +2 -2
  55. package/{ds-chat-tile → ds-chat/tile}/aria-disabled/DSChat-tile.aria-disabled.axe-core.func.spec.js +2 -2
  56. package/{ds-chat-tile → ds-chat/tile}/aria-disabled/DSChat-tile.aria-disabled.visual.spec.js +1 -1
  57. package/ds-chat/tile/slots/DSChatTile.slots.func.spec.js +53 -0
  58. package/ds-chat/tile/slots/DSChatTile.slots.visual.spec.js +18 -0
  59. package/ds-controlled-form/ds-combobox/DSComboboxCO.js +2 -2
  60. package/ds-controlled-form/ds-controlled-checkbox/DSControlledCheckboxCO.js +1 -1
  61. package/ds-controlled-form/ds-controlled-inputgroup/DSControlledInputGroupCO.js +1 -1
  62. package/ds-data-table-async/DSDataTableCO.js +14 -12
  63. package/ds-data-table-async/basic/DSDataTable.basic.visual.spec.js +1 -1
  64. package/ds-data-table-async/components/FiltersCO.js +1 -1
  65. package/ds-data-table-async/menubutton/DSDataTable.MenuButton.keyboard.func.spec.js +8 -7
  66. package/ds-data-table-async/menubutton/DSDataTable.MenuButton.mouse.func.spec.js +6 -7
  67. package/ds-floating-context/DSFloatingContextCO.js +10 -0
  68. package/ds-floating-context/placement/DSFloatingContext.placement.visual.spec.js +48 -0
  69. package/ds-form-combobox-multi/DSComboboxMultiCO.js +11 -3
  70. package/ds-form-combobox-multi/aria-busy-loading/DSComboboxMulti.aria-busy-loading.axe-core.func.spec.js +55 -0
  71. package/ds-form-combobox-multi/aria-busy-loading/DSComboboxMulti.aria-busy-loading.func.spec.js +57 -0
  72. package/ds-form-combobox-multi/aria-disabled/DSComboboxMulti.aria-disabled.visual.spec.js +15 -0
  73. package/ds-form-combobox-multi/disabled/DSComboboxMulti.disabled.axe-core.func.spec.js +24 -0
  74. package/ds-form-combobox-multi/disabled/DSComboboxMulti.disabled.visual.spec.js +22 -0
  75. package/ds-form-combobox-multi/grouped/DSComboboxMulti.grouped.visual.spec.js +42 -0
  76. package/ds-form-combobox-multi/inline/DSComboboxMulti.inline.visual.spec.js +21 -0
  77. package/ds-form-combobox-multi/skeleton/DSComboboxMulti.skeleton.visual.spec.js +25 -0
  78. package/ds-form-combobox-single/DSComboboxSingleCO.js +11 -3
  79. package/ds-form-combobox-single/aria-busy-loading/DSComboboxSingle.aria-busy-loading.axe-core.func.spec.js +49 -0
  80. package/ds-form-combobox-single/aria-busy-loading/DSComboboxSingle.aria-busy-loading.func.spec.js +54 -0
  81. package/ds-form-combobox-single/aria-disabled/DSComboboxSingle.aria-disabled.visual.spec.js +18 -0
  82. package/ds-form-combobox-single/disabled/DSComboboxSingle.disabled.axe-core.func.spec.js +24 -0
  83. package/ds-form-combobox-single/disabled/DSComboboxSingle.disabled.visual.spec.js +22 -0
  84. package/ds-form-combobox-single/grouped/DSComboboxSingle.grouped.visual.spec.js +45 -0
  85. package/ds-form-combobox-single/inline/DSComboboxSingle.inline.visual.spec.js +23 -0
  86. package/ds-form-combobox-single/skeleton/DSComboboxSingle.skeleton.visual.spec.js +25 -0
  87. package/ds-form-date-range-picker/date-segment-aria-labels/DateRangePicker.date-segment-aria-labels.func.spec.js +64 -0
  88. package/ds-form-native-select/NativeSelect.axe-core.func.spec.js +39 -0
  89. package/ds-form-native-select/NativeSelect.visual.spec.js +33 -0
  90. package/ds-form-native-select/NativeSelectCO.js +6 -0
  91. package/ds-form-native-select/option-selection/NativeSelect.option-selection.func.spec.js +25 -0
  92. package/ds-leftnavigation/LeftNavigationCO.js +2 -2
  93. package/ds-menu-button/DSMenuButtonCO.js +23 -0
  94. package/ds-menu-button/slots/DSMenuButton.slots.func.spec.js +40 -0
  95. package/ds-menu-button/slots/DSMenuButton.slots.visual.spec.js +26 -0
  96. package/ds-modal-slide/ModalSlideCO.js +39 -0
  97. package/ds-modal-slide/custom-header/ModalSlide.customHeader.focusRing.visual.spec.js +2 -1
  98. package/ds-modal-slide/slots/ModalSlide.slots.func.spec.js +74 -0
  99. package/ds-modal-slide/slots/ModalSlide.slots.visual.spec.js +27 -0
  100. package/ds-notification-badge/DSNotificationBadge.visual.spec.js +17 -20
  101. package/ds-page-layout/PageLayoutCO.js +4 -4
  102. package/ds-progress-indicator/DSProgressIndicator.axe-core.func.spec.js +2 -0
  103. package/ds-progress-indicator/DSProgressIndicatorCO.js +1 -1
  104. package/ds-shuttle-v2/DSShuttleV2CO.js +11 -1
  105. package/ds-shuttle-v2/explicit-selection-ui/DSShuttleV2.explicit-selection-ui.func.spec.js +37 -0
  106. package/ds-shuttle-v2/explicit-selection-ui/DSShuttleV2.explicit-selection-ui.visual.spec.js +27 -0
  107. package/ds-shuttle-v2/skipped/DSShuttleV2.extra.axe-core.skipped.js +1 -1
  108. package/ds-shuttle-v2/skipped/DSShuttleV2.filter.axe-core.skipped.js +1 -1
  109. package/ds-shuttle-v2/skipped/DSShuttleV2.globalcheckbox.axe-core.skipped.js +1 -1
  110. package/ds-shuttle-v2/skipped/DSShuttleV2.items.axe-core.skipped.js +3 -3
  111. package/ds-shuttle-v2/skipped/DSShuttleV2.skipped.js +5 -5
  112. package/ds-tab-button/DSTabButton.func.spec.js +1 -1
  113. package/ds-tooltip-v3/DSTooltipV3CO.js +21 -0
  114. package/ds-tooltip-v3/aria-tooltip-pattern/DSTooltipV3.aria-tooltip-pattern.axe-core.func.spec.js +23 -0
  115. package/ds-tooltip-v3/aria-tooltip-pattern/DSTooltipV3.aria-tooltip-pattern.func.spec.js +29 -0
  116. package/ds-tooltip-v3/dialog/DSTooltipV3.dialog.func.spec.js +45 -0
  117. package/ds-tooltip-v3/dialog/DSTooltipV3.dialog.visual.spec.js +29 -0
  118. package/ds-treeview/DSTreeViewCO.js +25 -2
  119. package/ds-treeview/dragAndDrop/TreeView-dnd_keyboard.func.spec.js +96 -0
  120. package/package.json +150 -152
  121. package/paths.js +9 -1
  122. package/ds-chat-tile/TileCO.js +0 -35
  123. package/ds-treeview/dragAndDrop/TreeView-dnd_mouse.func.spec.js +0 -61
package/CHANGELOG.md CHANGED
@@ -3,6 +3,210 @@
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.40 (2026-06-29)
7
+
8
+ ### Features
9
+
10
+ - ds-card-v3:: add theming example story in slots [PUI-17890](https://jira.elliemae.io/browse/PUI-17890) ([#8137](https://git.elliemae.io/platform-ui/dimsum/issues/8137)) ([322a618](https://git.elliemae.io/platform-ui/dimsum/commit/322a618b813f5f5261b423f556baadd60844d945))
11
+
12
+ ## 3.70.0-next.39 (2026-06-25)
13
+
14
+ ### Features
15
+
16
+ - dimsum:: added internal diagnostic via fallow and dashboard ([#8075](https://git.elliemae.io/platform-ui/dimsum/issues/8075)) ([ee77882](https://git.elliemae.io/platform-ui/dimsum/commit/ee77882bb5276c0299bd2f3cee59d8e71d462c0a))
17
+
18
+ ## 3.70.0-next.38 (2026-06-24)
19
+
20
+ ### Bug Fixes
21
+
22
+ - ds-shuttle-v2:: re-point skipped axe-core gate comments to [PUI-18632](https://jira.elliemae.io/browse/PUI-18632) ([#8126](https://git.elliemae.io/platform-ui/dimsum/issues/8126)) ([bec49f6](https://git.elliemae.io/platform-ui/dimsum/commit/bec49f6365074807eebbfe4492d4127fb09e3874))
23
+
24
+ ## 3.70.0-next.37 (2026-06-22)
25
+
26
+ ### Features
27
+
28
+ - ds-icons:: new audio fill play/pause [PUI-18631](https://jira.elliemae.io/browse/PUI-18631) ([#8125](https://git.elliemae.io/platform-ui/dimsum/issues/8125)) ([218062c](https://git.elliemae.io/platform-ui/dimsum/commit/218062c219405e757f9cdac622ce2398a519535d))
29
+
30
+ ## 3.70.0-next.36 (2026-06-22)
31
+
32
+ **Note:** Version bump only for package dimsum-e2e-tests
33
+
34
+ ## 3.70.0-next.35 (2026-06-19)
35
+
36
+ ### Bug Fixes
37
+
38
+ - ds-data-table:: header wrap layout — word-break, vertical alignment and reactive paddingStart [PUI-17819](https://jira.elliemae.io/browse/PUI-17819) ([#8119](https://git.elliemae.io/platform-ui/dimsum/issues/8119)) ([af25ca5](https://git.elliemae.io/platform-ui/dimsum/commit/af25ca52f48b68819ff89efb74fa11739dc69d51))
39
+
40
+ ## 3.70.0-next.34 (2026-06-17)
41
+
42
+ ### Features
43
+
44
+ - dimsum:: theme comparasion typography and button [PUI-18210](https://jira.elliemae.io/browse/PUI-18210) ([#8116](https://git.elliemae.io/platform-ui/dimsum/issues/8116)) ([a206f08](https://git.elliemae.io/platform-ui/dimsum/commit/a206f08628b4277771f6a9c7df6e586a0b3437e3))
45
+
46
+ ## 3.70.0-next.33 (2026-06-16)
47
+
48
+ ### Bug Fixes
49
+
50
+ - ds-shuttle-v2:: fixed typescript and exposed a11y examples [PUI-12852](https://jira.elliemae.io/browse/PUI-12852) ([#8111](https://git.elliemae.io/platform-ui/dimsum/issues/8111)) ([a8707eb](https://git.elliemae.io/platform-ui/dimsum/commit/a8707eb9ef9c24c94b373b195f39eea8c0b2d9b3))
51
+
52
+ ## 3.70.0-next.32 (2026-06-16)
53
+
54
+ ### Features
55
+
56
+ - dimsum:: portal layout improvements [PUI-18441](https://jira.elliemae.io/browse/PUI-18441) ([#8110](https://git.elliemae.io/platform-ui/dimsum/issues/8110)) ([43e1a36](https://git.elliemae.io/platform-ui/dimsum/commit/43e1a36fa6c9582b2dcd4f6f5f0e64a645584132))
57
+
58
+ ## 3.70.0-next.31 (2026-06-12)
59
+
60
+ ### Features
61
+
62
+ - storybook:: improve start logging exp ([#8102](https://git.elliemae.io/platform-ui/dimsum/issues/8102)) ([da22cef](https://git.elliemae.io/platform-ui/dimsum/commit/da22cef0401496b9d1d5432703fea28235e7ab6d))
63
+
64
+ ## 3.70.0-next.30 (2026-06-12)
65
+
66
+ ### Features
67
+
68
+ - ds-accordion:: pitfalls updated [PUI-17911](https://jira.elliemae.io/browse/PUI-17911) ([#8100](https://git.elliemae.io/platform-ui/dimsum/issues/8100)) ([f745362](https://git.elliemae.io/platform-ui/dimsum/commit/f74536235b9eedc75113bf39b127ddf3ecd30c51))
69
+
70
+ ## 3.70.0-next.29 (2026-06-11)
71
+
72
+ **Note:** Version bump only for package dimsum-e2e-tests
73
+
74
+ ## 3.70.0-next.28 (2026-06-10)
75
+
76
+ ### Bug Fixes
77
+
78
+ - ds-form-combobox:: style group label per b3-strong spec and add grouped feature stories [PUI-15487](https://jira.elliemae.io/browse/PUI-15487) ([#8083](https://git.elliemae.io/platform-ui/dimsum/issues/8083)) ([a4713b7](https://git.elliemae.io/platform-ui/dimsum/commit/a4713b79b26ed2102a878ce7418031b77fca7746))
79
+
80
+ ## 3.70.0-next.27 (2026-06-08)
81
+
82
+ **Note:** Version bump only for package dimsum-e2e-tests
83
+
84
+ ## 3.70.0-next.26 (2026-06-04)
85
+
86
+ ### Features
87
+
88
+ - ds-card-v3:: dimsum compliance [PUI-17888] (https://jira.elliemae.io/browse/PUI-17888) ([#8079](https://git.elliemae.io/platform-ui/dimsum/issues/8079)) ([4a2695f](https://git.elliemae.io/platform-ui/dimsum/commit/4a2695f012d92e25cfd779c90fc32303c5bc0c7f))
89
+
90
+ ## 3.70.0-next.25 (2026-06-02)
91
+
92
+ **Note:** Version bump only for package dimsum-e2e-tests
93
+
94
+ ## 3.70.0-next.24 (2026-06-02)
95
+
96
+ ### Bug Fixes
97
+
98
+ - ds-form-native-select:: fix disabled color contrast [PUI-14617](https://jira.elliemae.io/browse/PUI-14617) ([#8070](https://git.elliemae.io/platform-ui/dimsum/issues/8070)) ([fcbf80e](https://git.elliemae.io/platform-ui/dimsum/commit/fcbf80efbd12904a003cdc3c69ff4be40d3777c8))
99
+
100
+ ## 3.70.0-next.23 (2026-06-02)
101
+
102
+ ### Bug Fixes
103
+
104
+ - ds-shuttle-v2:: Missing current selection announcement [PUI-15537](https://jira.elliemae.io/browse/PUI-15537) ([#8067](https://git.elliemae.io/platform-ui/dimsum/issues/8067)) ([614de10](https://git.elliemae.io/platform-ui/dimsum/commit/614de10c3c8ddf1c4f708b5195df6e025dc40c06))
105
+
106
+ ## 3.70.0-next.22 (2026-06-01)
107
+
108
+ ### Features
109
+
110
+ - dimsum:: portal final touches to search algorithm and load times [PUI-18454](https://jira.elliemae.io/browse/PUI-18454) ([#8065](https://git.elliemae.io/platform-ui/dimsum/issues/8065)) ([4f70bfd](https://git.elliemae.io/platform-ui/dimsum/commit/4f70bfd3a300de1baa3e0761e5b99c7ff88d968f))
111
+
112
+ ## 3.70.0-next.21 (2026-06-01)
113
+
114
+ **Note:** Version bump only for package dimsum-e2e-tests
115
+
116
+ ## 3.70.0-next.20 (2026-06-01)
117
+
118
+ ### Bug Fixes
119
+
120
+ - 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))
121
+
122
+ ## 3.70.0-next.19 (2026-05-28)
123
+
124
+ ### Features
125
+
126
+ - ds-chat-empty-state:: slot system constants module, test pillars, deviations register, promote storybook to Chat section [PUI-17908](https://jira.elliemae.io/browse/PUI-17908) ([#8062](https://git.elliemae.io/platform-ui/dimsum/issues/8062)) ([08ed09e](https://git.elliemae.io/platform-ui/dimsum/commit/08ed09e95484763ec0fdddc81d1a8124a3918333))
127
+
128
+ ## 3.70.0-next.18 (2026-05-27)
129
+
130
+ ### Features
131
+
132
+ - ds-chat-message-delimeter:: bring package to full Dimsum compliance — slot system, constants module, test pillars, deviations register, promote storybook to Chat section [PUI-17908](https://jira.elliemae.io/browse/PUI-17908) ([#8061](https://git.elliemae.io/platform-ui/dimsum/issues/8061)) ([d6cd0f9](https://git.elliemae.io/platform-ui/dimsum/commit/d6cd0f93543645f14d0792f78cf4ecfccf1b9bef))
133
+
134
+ ## 3.70.0-next.17 (2026-05-27)
135
+
136
+ ### Features
137
+
138
+ - dimsum:: new portal now has support for searching content [PUI-18454](https://jira.elliemae.io/browse/PUI-18454) ([#8059](https://git.elliemae.io/platform-ui/dimsum/issues/8059)) ([405dbe5](https://git.elliemae.io/platform-ui/dimsum/commit/405dbe5203782b4019c3d31777ca9a525f54518d))
139
+
140
+ ## 3.70.0-next.16 (2026-05-25)
141
+
142
+ **Note:** Version bump only for package dimsum-e2e-tests
143
+
144
+ ## 3.70.0-next.15 (2026-05-22)
145
+
146
+ ### Features
147
+
148
+ - dimsum:: created open-spec dimsum wrapper for monorepo operation [PUI-18489](https://jira.elliemae.io/browse/PUI-18489) ([#8045](https://git.elliemae.io/platform-ui/dimsum/issues/8045)) ([0c8e422](https://git.elliemae.io/platform-ui/dimsum/commit/0c8e422cb87de489439faa38eab4129a6ebf8299))
149
+
150
+ ## 3.70.0-next.14 (2026-05-21)
151
+
152
+ ### Features
153
+
154
+ - ds-chat:: add visual and functional tests for slot support [PUI-17908](https://jira.elliemae.io/browse/PUI-17908) ([#8042](https://git.elliemae.io/platform-ui/dimsum/issues/8042)) ([e1fe993](https://git.elliemae.io/platform-ui/dimsum/commit/e1fe993dca1b73f003daa87558fd75097d2bb79a))
155
+
156
+ ## 3.70.0-next.13 (2026-05-19)
157
+
158
+ ### Bug Fixes
159
+
160
+ - ds-data-table:: clickout side filters improve [PUI-18469](https://jira.elliemae.io/browse/PUI-18469) ([#8035](https://git.elliemae.io/platform-ui/dimsum/issues/8035)) ([b6d1549](https://git.elliemae.io/platform-ui/dimsum/commit/b6d1549b9b369692ab93487ba24a37216f4738de))
161
+
162
+ ## 3.70.0-next.12 (2026-05-15)
163
+
164
+ ### Features
165
+
166
+ - ds-chat-floating-button:: dimsum compliance and slots support [PUI-17908](https://jira.elliemae.io/browse/PUI-17908) ([#8032](https://git.elliemae.io/platform-ui/dimsum/issues/8032)) ([9bc4ae8](https://git.elliemae.io/platform-ui/dimsum/commit/9bc4ae814b9276d369688d4ab4e0150b3e7cc09a))
167
+
168
+ ## 3.70.0-next.11 (2026-05-14)
169
+
170
+ ### Bug Fixes
171
+
172
+ - ds-combobox-multi:: combobox aria busy e2e [PUI-18445](https://jira.elliemae.io/browse/PUI-18445) ([#8027](https://git.elliemae.io/platform-ui/dimsum/issues/8027)) ([cdbff4e](https://git.elliemae.io/platform-ui/dimsum/commit/cdbff4eb2a09af6de888dc8a13af5027836bd0a4))
173
+
174
+ ## 3.70.0-next.10 (2026-05-14)
175
+
176
+ ### Features
177
+
178
+ - ds-chat-sidebar:: dimsum compliance and slots support [PUI-17908](https://jira.elliemae.io/browse/PUI-17908) ([#8030](https://git.elliemae.io/platform-ui/dimsum/issues/8030)) ([0377613](https://git.elliemae.io/platform-ui/dimsum/commit/0377613123d62602a8128d754f201f45a4c3f396))
179
+
180
+ ## 3.70.0-next.9 (2026-05-12)
181
+
182
+ ### Features
183
+
184
+ - ds-floating-context:: external ref feature [PUI-18440](https://jira.elliemae.io/browse/PUI-18440) ([#8023](https://git.elliemae.io/platform-ui/dimsum/issues/8023)) ([ee46ed5](https://git.elliemae.io/platform-ui/dimsum/commit/ee46ed5163f1771ff6dee22ad0654131fd13ff56))
185
+
186
+ ## 3.70.0-next.8 (2026-05-12)
187
+
188
+ ### Bug Fixes
189
+
190
+ - ds-chat-bubble:: add missing export in test ([57d294a](https://git.elliemae.io/platform-ui/dimsum/commit/57d294aef0b2739cb2ac0afe673d9c4ccfe0e718))
191
+
192
+ ## 3.70.0-next.7 (2026-05-11)
193
+
194
+ ### Bug Fixes
195
+
196
+ - ds-modal-slide:: added e2e test for slots [PUI-18428](https://jira.elliemae.io/browse/PUI-18428) ([#8016](https://git.elliemae.io/platform-ui/dimsum/issues/8016)) ([8fa99f8](https://git.elliemae.io/platform-ui/dimsum/commit/8fa99f8e14fe7d8b1fedd916e392761f2188904e))
197
+
198
+ ## 3.70.0-next.6 (2026-05-11)
199
+
200
+ ### Bug Fixes
201
+
202
+ - ds-form-combobox:: replace racing assertive live region with aria-busy + polite count [PUI-18034](https://jira.elliemae.io/browse/PUI-18034) ([#8018](https://git.elliemae.io/platform-ui/dimsum/issues/8018)) ([6e02644](https://git.elliemae.io/platform-ui/dimsum/commit/6e02644e2c17a53c6ca87737a6e10b59adce57fb))
203
+
204
+ ## 3.70.0-next.5 (2026-05-08)
205
+
206
+ ### Features
207
+
208
+ - ds-popperjs:: deprecated & migration to fc [PUI-18079](https://jira.elliemae.io/browse/PUI-18079) ([#8000](https://git.elliemae.io/platform-ui/dimsum/issues/8000)) ([c5f1d5c](https://git.elliemae.io/platform-ui/dimsum/commit/c5f1d5c0163f831b33327e5783d26380a9f2798a))
209
+
6
210
  ## 3.70.0-next.4 (2026-05-06)
7
211
 
8
212
  ### Bug Fixes
@@ -81,6 +81,12 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
81
81
  if (errorOnGo) throw errorOnGo;
82
82
  });
83
83
  it('01: should display accordion with global height, not trimmed', async () => {
84
+ const addRow = await $('[data-testid="add-row"]');
85
+ await addRow.click();
86
+ await addRow.click();
87
+ await addRow.click();
88
+ const content = await DSAccordionCO.getContents(0);
89
+ await content.waitForDisplayed();
84
90
  const snapshot = await browser.checkSnapshot(DSAccordionCO.snapshotPath('accordion-globalheight'));
85
91
  await expect(snapshot).toEqual(0);
86
92
  });
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable import/no-relative-packages */
2
- import { PATH_E2E_ACCORDION } from '../paths';
2
+ import { PATH_E2E_ACCORDION, PATH_E2E_ACCORDION_PITFALLS } from '../paths';
3
3
  import { PageObject, Urlbuilder, getElementByIndex } from '../helpers';
4
4
 
5
5
  export default class DSAccordionCO extends PageObject {
@@ -20,7 +20,9 @@ export default class DSAccordionCO extends PageObject {
20
20
 
21
21
  static tooltip = new Urlbuilder(PATH_E2E_ACCORDION, 'tooltip');
22
22
 
23
- static inputInside = new Urlbuilder(PATH_E2E_ACCORDION, 'PUI-9261-input-inside');
23
+ static inputInside = new Urlbuilder(PATH_E2E_ACCORDION, 'pui-9261-input-inside');
24
+
25
+ static controlled = new Urlbuilder(PATH_E2E_ACCORDION, 'controlled-test');
24
26
 
25
27
  static datepickerInside = new Urlbuilder(PATH_E2E_ACCORDION, 'actionable-within');
26
28
 
@@ -34,7 +36,7 @@ export default class DSAccordionCO extends PageObject {
34
36
 
35
37
  static keepContentURL = new Urlbuilder(PATH_E2E_ACCORDION, 'keep-content-mounted');
36
38
 
37
- static focusOnItemURL = new Urlbuilder(PATH_E2E_ACCORDION, 'focus-on-item');
39
+ static focusOnItemURL = new Urlbuilder(PATH_E2E_ACCORDION_PITFALLS, 'focus-on-item-test');
38
40
 
39
41
  static applyAriaDisabled = new Urlbuilder(PATH_E2E_ACCORDION, 'apply-aria-disabled-test');
40
42
 
@@ -105,6 +107,12 @@ export default class DSAccordionCO extends PageObject {
105
107
  static getAccordionItemHeaderContainerByIndex = async (index) =>
106
108
  getElementByIndex(this.getAccordionItemHeaderContainers, index);
107
109
 
110
+ static getAccordionItemHeaderCustomActionsContainers = async () =>
111
+ $$('[data-testid="ds-accordion-item-header-custom-actions-container"]');
112
+
113
+ static getAccordionItemHeaderCustomActionsContainerByIndex = async (index) =>
114
+ getElementByIndex(this.getAccordionItemHeaderCustomActionsContainers, index);
115
+
108
116
  // slots
109
117
 
110
118
  static async getAccordionContainerSlotByIndex(index = 0) {
@@ -0,0 +1,23 @@
1
+ import DSAccordionCO from '../DSAccordionCO';
2
+
3
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
4
+ // New coverage for the ControlledTest story (previously untested).
5
+ describe('PUI-18650 - Accordion, controlled -func', () => {
6
+ before('loading page', async () => {
7
+ const errorOnGo = await DSAccordionCO.controlled.go();
8
+ if (errorOnGo) throw errorOnGo;
9
+ });
10
+ it('01: single-open: opening another item collapses the previously open one', async () => {
11
+ await expect(await DSAccordionCO.getAccordionHeader(0)).toHaveAttribute('aria-expanded', 'true');
12
+ await (await DSAccordionCO.getAccordionHeader(1)).click();
13
+ await expect(await DSAccordionCO.getAccordionHeader(1)).toHaveAttribute('aria-expanded', 'true');
14
+ await expect(await DSAccordionCO.getAccordionHeader(0)).toHaveAttribute('aria-expanded', 'false');
15
+ });
16
+ it('02: multiple-open: opening two items keeps both expanded', async () => {
17
+ await (await DSAccordionCO.getAccordionHeader(3)).click();
18
+ await (await DSAccordionCO.getAccordionHeader(4)).click();
19
+ await expect(await DSAccordionCO.getAccordionHeader(3)).toHaveAttribute('aria-expanded', 'true');
20
+ await expect(await DSAccordionCO.getAccordionHeader(4)).toHaveAttribute('aria-expanded', 'true');
21
+ });
22
+ });
23
+ }
@@ -0,0 +1,49 @@
1
+ import DSAccordionCO from '../DSAccordionCO';
2
+
3
+ if (
4
+ (!browser.capabilities['ice:options'].isPhone &&
5
+ !browser.capabilities['ice:options'].isTablet &&
6
+ browser.capabilities.browserName === 'chrome') ||
7
+ browser.capabilities.browserName === 'Chrome'
8
+ ) {
9
+ // Tests for the DOM structural fix introduced in PUI-17912
10
+ // (custom action buttons moved out of role="heading" container into a sibling)
11
+ describe('PUI-18621 - DSAccordion:: heading container structure after renderCustomActions fix - func', () => {
12
+ before('loading page', async () => {
13
+ const errorOnGo = await DSAccordionCO.headerControls.go();
14
+ if (errorOnGo) throw errorOnGo;
15
+ });
16
+
17
+ it('01: heading container should contain only the toggle button and no other interactive elements', async () => {
18
+ const headingContainer = await DSAccordionCO.getAccordionItemHeaderContainerByIndex(0);
19
+ await expect(headingContainer).toHaveAttribute('role', 'heading');
20
+ const buttonsInsideHeading = await headingContainer.$$('button');
21
+ await expect(buttonsInsideHeading.length).toBe(1);
22
+ });
23
+
24
+ it('02: custom actions container should exist outside the heading container', async () => {
25
+ const customActionsContainer = await DSAccordionCO.getAccordionItemHeaderCustomActionsContainerByIndex(0);
26
+ await expect(customActionsContainer).toExist();
27
+ });
28
+
29
+ it('03: action buttons in custom actions container should reflect correct enabled/disabled state', async () => {
30
+ const enabledContainer = await DSAccordionCO.getAccordionItemHeaderCustomActionsContainerByIndex(0);
31
+ const enabledButton = await enabledContainer.$('[data-testid="ds-button"]');
32
+ await expect(enabledButton).toBeDisplayed();
33
+ await expect(enabledButton).toBeEnabled();
34
+
35
+ const disabledContainer = await DSAccordionCO.getAccordionItemHeaderCustomActionsContainerByIndex(2);
36
+ const disabledButton = await disabledContainer.$('[data-testid="ds-button"]');
37
+ await expect(disabledButton).toBeDisplayed();
38
+ await expect(disabledButton).not.toBeEnabled();
39
+ });
40
+
41
+ it('04: toolbar trigger in custom actions should open dropdown menu on click', async () => {
42
+ const toolbar = await DSAccordionCO.getToolbarByIndex(0);
43
+ await toolbar.click();
44
+ const firstMenuOption = await $('*=Login');
45
+ await firstMenuOption.waitForDisplayed();
46
+ await expect(firstMenuOption).toBeDisplayed();
47
+ });
48
+ });
49
+ }
@@ -0,0 +1,17 @@
1
+ import DSAccordionCO from '../DSAccordionCO';
2
+
3
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
4
+ // New coverage for the PUI9261InputInside story (previously untested).
5
+ describe('PUI-18651 - Accordion, input inside content -func', () => {
6
+ before('loading page', async () => {
7
+ const errorOnGo = await DSAccordionCO.inputInside.go();
8
+ if (errorOnGo) throw errorOnGo;
9
+ });
10
+ it('01: should type into an input rendered inside the open accordion item', async () => {
11
+ const input = await $('[data-testid="task-name"] input');
12
+ await input.waitForDisplayed();
13
+ await input.setValue('Test task');
14
+ await expect(input).toHaveValue('Test task');
15
+ });
16
+ });
17
+ }
@@ -0,0 +1,135 @@
1
+ /* eslint-disable max-lines */
2
+ import { Key } from 'webdriverio';
3
+ import DSAccordionNativeCO from './DSAccordionNativeCO';
4
+ import { axeCoreCheck } from '../helpers';
5
+
6
+ if (
7
+ (!browser.capabilities['ice:options'].isPhone &&
8
+ !browser.capabilities['ice:options'].isTablet &&
9
+ browser.capabilities.browserName === 'chrome') ||
10
+ browser.capabilities.browserName === 'Chrome'
11
+ ) {
12
+ describe('PUI-18083 - AccordionNative, header controls & subtitle -AxeCore', () => {
13
+ before('loading page', async () => {
14
+ const errorOnGo = await DSAccordionNativeCO.headerControls.go();
15
+ if (errorOnGo) throw errorOnGo;
16
+ });
17
+ it('01: should display accordion expanded with header props (and subtitle) and pass axecore scan', async () => {
18
+ await (await DSAccordionNativeCO.getAccordionHeader(1)).waitForDisplayed();
19
+ await (await DSAccordionNativeCO.getAccordionHeader(1)).click();
20
+ const content = await DSAccordionNativeCO.getContents(1);
21
+ await content.waitForDisplayed();
22
+ const result = await axeCoreCheck();
23
+ expect(result.length).toBe(0);
24
+ });
25
+ it('02: should display accordion with open toolbar and pass axecore scan', async () => {
26
+ await (await DSAccordionNativeCO.getToolbarByIndex(1)).click();
27
+ const result = await axeCoreCheck();
28
+ expect(result.length).toBe(0);
29
+ });
30
+ });
31
+
32
+ describe('PUI-18083 - AccordionNative, basic -AxeCore', () => {
33
+ before('loading page', async () => {
34
+ const errorOnGo = await DSAccordionNativeCO.basicURL.go();
35
+ if (errorOnGo) throw errorOnGo;
36
+ });
37
+ it('01: should display the accordion closed and pass axecore test', async () => {
38
+ await (await DSAccordionNativeCO.getAccordionHeader(1)).waitForDisplayed();
39
+ const result = await axeCoreCheck();
40
+ expect(result.length).toBe(0);
41
+ });
42
+ it('02: should open the accordion and pass axecore test', async () => {
43
+ await (await DSAccordionNativeCO.getAccordionHeader(1)).click();
44
+ const content = await DSAccordionNativeCO.getContents(1);
45
+ await content.waitForDisplayed();
46
+ const result = await axeCoreCheck();
47
+ expect(result.length).toBe(0);
48
+ });
49
+ });
50
+
51
+ describe('PUI-18083 - AccordionNative, Disabled -AxeCore', () => {
52
+ before('loading page', async () => {
53
+ const errorOnGo = await DSAccordionNativeCO.disabled.go();
54
+ if (errorOnGo) throw errorOnGo;
55
+ });
56
+ it('01: should display the disabled accordion and pass axecore test', async () => {
57
+ await (await DSAccordionNativeCO.getAccordionHeader(1)).waitForDisplayed();
58
+ const result = await axeCoreCheck();
59
+ expect(result.length).toBe(0);
60
+ });
61
+ });
62
+
63
+ describe('PUI-18083 - AccordionNative, multiple -AxeCore', () => {
64
+ before('loading page', async () => {
65
+ const errorOnGo = await DSAccordionNativeCO.multipleURL.go();
66
+ if (errorOnGo) throw errorOnGo;
67
+ });
68
+ it('01: should open the second accordion without closing the first and pass axecore test', async () => {
69
+ await (await DSAccordionNativeCO.getAccordionHeader(1)).click();
70
+ await (await DSAccordionNativeCO.getAccordionHeader(0)).click();
71
+ const firstContent = await DSAccordionNativeCO.getContents(0);
72
+ const secondContent = await DSAccordionNativeCO.getContents(1);
73
+ await firstContent.waitForDisplayed();
74
+ await secondContent.waitForDisplayed();
75
+ const result = await axeCoreCheck();
76
+ expect(result.length).toBe(0);
77
+ });
78
+ });
79
+
80
+ describe('PUI-18083 - AccordionNative, Custom actions with hooks -AxeCore', () => {
81
+ before('loading page', async () => {
82
+ const errorOnGo = await DSAccordionNativeCO.customActionHooks.go();
83
+ if (errorOnGo) throw errorOnGo;
84
+ });
85
+ it('01: should have custom actions rendered and pass axecore scan', async () => {
86
+ const customAction1text = await DSAccordionNativeCO.getButtonsByIndex(0);
87
+ const customAction2text = await DSAccordionNativeCO.getButtonsByIndex(1);
88
+ const customAction3text = await DSAccordionNativeCO.getButtonsByIndex(2);
89
+ await customAction1text.waitForDisplayed();
90
+ await customAction2text.waitForDisplayed();
91
+ await customAction3text.waitForDisplayed();
92
+ const result = await axeCoreCheck();
93
+ expect(result.length).toBe(0);
94
+ });
95
+ });
96
+
97
+ describe('PUI-18083 - AccordionNative, Actionable within -AxeCore', () => {
98
+ before('loading page', async () => {
99
+ const errorOnGo = await DSAccordionNativeCO.datepickerInside.go();
100
+ if (errorOnGo) throw errorOnGo;
101
+ });
102
+ it('01: should input focused within accordion and pass axecore scan', async () => {
103
+ await browser.keys(Key.Tab);
104
+ await browser.keys(Key.Tab);
105
+ const result = await axeCoreCheck();
106
+ expect(result.length).toBe(0);
107
+ });
108
+ });
109
+
110
+ describe('PUI-18083 - AccordionNative, keep content mounted -a11y', () => {
111
+ before('loading page', async () => {
112
+ const errorOnGo = await DSAccordionNativeCO.keepContentURL.go();
113
+ if (errorOnGo) throw errorOnGo;
114
+ });
115
+ it('01: should be a11y compliant with hidden accordion content', async () => {
116
+ const accordionContent = await $('[data-testid="accordion-native-keep-content"]');
117
+ await accordionContent.waitForExist();
118
+ const result = await axeCoreCheck();
119
+ expect(result.length).toBe(0);
120
+ });
121
+ });
122
+
123
+ describe('PUI-18083 - AccordionNative, Focus with useRef -a11y', () => {
124
+ before('loading page', async () => {
125
+ const errorOnGo = await DSAccordionNativeCO.focusOnItemURL.go();
126
+ if (errorOnGo) throw errorOnGo;
127
+ });
128
+ it('01: should be a11y compliant with useRef', async () => {
129
+ const secondAccordion = await DSAccordionNativeCO.getAccordionHeader(1);
130
+ await secondAccordion.waitForDisplayed();
131
+ const result = await axeCoreCheck();
132
+ expect(result.length).toBe(0);
133
+ });
134
+ });
135
+ }