dimsum-e2e-tests 3.70.0-next.6 → 3.70.0-next.60

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 (269) hide show
  1. package/CHANGELOG.md +300 -0
  2. package/ds-accordion/DSAccordion.visual.spec.js +6 -0
  3. package/ds-accordion/DSAccordionCO.js +15 -3
  4. package/ds-accordion/QA_NOTES.md +105 -0
  5. package/ds-accordion/controlled/DSAccordion.controlled.func.spec.js +23 -0
  6. package/ds-accordion/header-structure/DSAccordion.header-structure.func.spec.js +65 -0
  7. package/ds-accordion/input-inside/DSAccordion.input-inside.func.spec.js +19 -0
  8. package/ds-apppicker/DSAppPickerCO.js +1 -1
  9. package/ds-apppicker/truncation/DSAppPicker.truncation.visual.spec.js +5 -9
  10. package/ds-autocomplete/DSAutocomplete.visual.spec.js +34 -0
  11. package/ds-autocomplete/DSAutocompleteCO.js +36 -1
  12. package/ds-autocomplete/aria-busy-loading/DSAutocomplete.aria-busy-loading.axe-core.func.spec.js +50 -0
  13. package/ds-autocomplete/aria-busy-loading/DSAutocomplete.aria-busy-loading.func.spec.js +122 -0
  14. package/ds-autocomplete/aria-busy-loading/DSAutocomplete.aria-busy-loading.visual.spec.js +48 -0
  15. package/ds-autocomplete/slots/DSAutocomplete.slots.func.spec.js +6 -1
  16. package/ds-button-v3/DSButtonV3.aria-disabled-attribute.func.spec.js +33 -0
  17. package/ds-button-v3/DSButtonV3CO.js +10 -0
  18. package/ds-button-v3/theme-font/DSButtonV3.theme-font.func.spec.js +30 -0
  19. package/ds-card/DSCard.cardv2_v1.func.spec.js +54 -0
  20. package/ds-card/DSCard.cardv2_v1.visual.spec.js +29 -0
  21. package/ds-card/DSCardCO.js +50 -0
  22. package/ds-card/detail-slots/DSCard.detail-slots.axe-core.func.spec.js +29 -0
  23. package/ds-card/detail-slots/DSCard.detail-slots.func.spec.js +72 -0
  24. package/ds-card/detail-slots/DSCard.detail-slots.visual.spec.js +19 -0
  25. package/ds-card-v3/DSCardV3CO.js +93 -1
  26. package/ds-card-v3/accordion/DSCardV3.accordion-aria-structure.func.spec.js +41 -0
  27. package/ds-card-v3/accordion/DSCardV3.accordion-aria.keyboard.func.spec.js +49 -0
  28. package/ds-card-v3/accordion/DSCardV3.accordion.axe-core.func.spec.js +28 -0
  29. package/ds-card-v3/accordion/DSCardV3.accordion.visual.spec.js +4 -6
  30. package/ds-card-v3/action/DSCardV3.action.axe-core.func.spec.js +24 -0
  31. package/ds-card-v3/action/DSCardV3.action.func.spec.js +53 -0
  32. package/ds-card-v3/action/DSCardV3.action.visual.spec.js +28 -0
  33. package/ds-card-v3/drag-n-drop/DSCardV3.DnD.axe-core.func.spec.js +42 -0
  34. package/ds-card-v3/drag-n-drop/DSCardV3.DnD.func.spec.js +129 -0
  35. package/ds-card-v3/drag-n-drop/DSCardV3.DnD.reorder.func.spec.js +73 -0
  36. package/ds-card-v3/drag-n-drop/DSCardV3.DnD.visual.spec.js +5 -12
  37. package/ds-card-v3/global-attributes/DSCardV3.global-attributes.axe-core.func.spec.js +33 -0
  38. package/ds-card-v3/global-attributes/DSCardV3.global-attributes.visual.spec.js +20 -0
  39. package/ds-card-v3/multi-select/DSCardV3.multi-select.aria-grouping.func.spec.js +24 -0
  40. package/ds-card-v3/multi-select/DSCardV3.multiselect.axe-core.func.spec.js +47 -0
  41. package/ds-card-v3/multi-select/DSCardV3.multiselect.keyboard.func.spec.js +65 -0
  42. package/ds-card-v3/multi-select/DSCardV3.multiselect.visual.spec.js +17 -0
  43. package/ds-card-v3/multiple-action/DSCardV3.multiple-action.axe-core.func.spec.js +35 -0
  44. package/ds-card-v3/multiple-action/DSCardV3.multiple-action.func.spec.js +53 -0
  45. package/ds-card-v3/multiple-action/DSCardV3.multiple-action.visual.spec.js +18 -0
  46. package/ds-card-v3/multiple-control/DSCardV3.multi-control.axe-core.func.spec.js +34 -0
  47. package/ds-card-v3/multiple-control/DSCardV3.multi-control.func.spec.js +26 -0
  48. package/ds-card-v3/multiple-control/DSCardV3.multi-control.visual.spec.js +29 -0
  49. package/ds-card-v3/no-action/DSCardV3.no-action.axe-core.func.spec.js +22 -0
  50. package/ds-card-v3/no-action/DSCardV3.no-action.func.spec.js +23 -0
  51. package/ds-card-v3/no-action/DSCardV3.no-action.visual.spec.js +15 -0
  52. package/ds-card-v3/notification-badges/DSCardV3.notification-badges.axe-core.func.spec.js +33 -0
  53. package/ds-card-v3/notification-badges/DSCardV3.notification-badges.func.spec.js +19 -0
  54. package/ds-card-v3/notification-badges/DSCardV3.notification-badges.visual.spec.js +28 -0
  55. package/ds-card-v3/reflow/DSCardV3.reflow.axe-core.func.spec.js +28 -0
  56. package/ds-card-v3/reflow/DSCardV3.reflow.func.spec.js +36 -0
  57. package/ds-card-v3/reflow/DSCardV3.reflow.visual.spec.js +1 -2
  58. package/ds-card-v3/single-select/DSCardV3.single-select.aria-grouping.func.spec.js +24 -0
  59. package/ds-card-v3/single-select/DSCardV3.single-select.axe-core.func.spec.js +37 -0
  60. package/ds-card-v3/single-select/DSCardV3.single-select.visual.spec.js +1 -2
  61. package/ds-card-v3/slots/DSCardV3.slots.visual.spec.js +1 -2
  62. package/ds-card-v3/variant-accented/DSCardV3.variant-accented.axe-core.func.spec.js +45 -0
  63. package/ds-card-v3/variant-accented/DSCardV3.variant-accented.func.spec.js +28 -0
  64. package/ds-card-v3/variant-accented/DSCardV3.variant-accented.visual.spec.js +35 -0
  65. package/ds-card-v3/variant-accented-disabled/DSCardV3.variant-accented-disabled.axe-core.func.spec.js +35 -0
  66. package/ds-card-v3/variant-accented-disabled/DSCardV3.variant-accented-disabled.func.spec.js +53 -0
  67. package/ds-card-v3/variant-accented-disabled/DSCardV3.variant-accented-disabled.visual.spec.js +28 -0
  68. package/ds-card-v3/variant-disabled/DSCardV3.variant-disabled.axe-core.func.spec.js +22 -0
  69. package/ds-card-v3/variant-disabled/DSCardV3.variant-disabled.func.spec.js +61 -0
  70. package/ds-card-v3/variant-disabled/DSCardV3.variant-disabled.visual.spec.js +20 -0
  71. package/ds-card-v3/variant-disabled/DSCardV3.variantDisabled-non-interactive.func.spec.js +25 -0
  72. package/ds-chat/DSChat.axe-core.func.spec.js +2 -2
  73. package/ds-chat/DSChat.visual.spec.js +4 -4
  74. package/ds-chat/DSChatCO.js +18 -24
  75. package/ds-chat/bubbles/slots/DSChatBubble.slots.axe-core.func.spec.js +24 -0
  76. package/ds-chat/bubbles/slots/DSChatBubble.slots.func.spec.js +49 -0
  77. package/ds-chat/bubbles/slots/DSChatBubble.slots.visual.spec.js +25 -0
  78. package/ds-chat/card/slots/DSChatCard.slots.axe-core.func.spec.js +24 -0
  79. package/ds-chat/card/slots/DSChatCard.slots.func.spec.js +47 -0
  80. package/ds-chat/card/slots/DSChatCard.slots.visual.spec.js +18 -0
  81. package/ds-chat/card/truncated-text/DSChatCard.truncated-text.func.spec.js +32 -0
  82. package/ds-chat/card/truncated-text/DSChatCard.truncated-text.visual.spec.js +26 -0
  83. package/ds-chat/card/with-notification-badges/DSChatCard.with-notification-badges.axe-core.func.spec.js +23 -0
  84. package/ds-chat/card/with-notification-badges/DSChatCard.with-notification-badges.visual.spec.js +17 -0
  85. package/ds-chat/components/BubbleCO.js +46 -3
  86. package/ds-chat/components/CardCO.js +75 -0
  87. package/ds-chat/components/ComposerCO.js +6 -6
  88. package/ds-chat/components/FloatingButtonCO.js +5 -3
  89. package/ds-chat/components/HeaderCO.js +2 -2
  90. package/ds-chat/components/TileCO.js +82 -0
  91. package/ds-chat/components/index.js +3 -2
  92. package/ds-chat/floatingbutton/DSChat-floating-button.visual.spec.js +1 -1
  93. package/ds-chat/loadmore/DSChat-loadmore.func.spec.js +1 -1
  94. package/{ds-chat-tile → ds-chat/tile}/DSChat-tile.axe-core.func.spec.js +2 -2
  95. package/{ds-chat-tile → ds-chat/tile}/DSChat-tile.func.spec.js +1 -1
  96. package/{ds-chat-tile → ds-chat/tile}/DSChat-tile.visual.spec.js +2 -2
  97. package/{ds-chat-tile → ds-chat/tile}/aria-disabled/DSChat-tile.aria-disabled.axe-core.func.spec.js +2 -2
  98. package/{ds-chat-tile → ds-chat/tile}/aria-disabled/DSChat-tile.aria-disabled.visual.spec.js +1 -1
  99. package/ds-chat/tile/slots/DSChatTile.slots.func.spec.js +53 -0
  100. package/ds-chat/tile/slots/DSChatTile.slots.visual.spec.js +18 -0
  101. package/ds-controlled-form/ds-combobox/DSComboboxCO.js +2 -2
  102. package/ds-controlled-form/ds-combobox/creatable/DSCombobox.creatable-tooltip.func.spec.js +47 -0
  103. package/ds-controlled-form/ds-combobox/creatable/DSCombobox.creatable.visual.spec.js +12 -21
  104. package/ds-controlled-form/ds-combobox/disabled/DSCombobox.disabled.visual.spec.js +6 -1
  105. package/ds-controlled-form/ds-controlled-checkbox/Basic/DSControlledCheckbox.axe-core.basic.func.spec.js +4 -4
  106. package/ds-controlled-form/ds-controlled-checkbox/Basic/DSControlledCheckbox.basic.visual.spec.js +56 -0
  107. package/ds-controlled-form/ds-controlled-checkbox/DSControlledCheckboxCO.js +15 -1
  108. package/ds-controlled-form/ds-controlled-checkbox/Disabled/DSControlledCheckbox.axe-core.disabled.func.spec.js +1 -1
  109. package/ds-controlled-form/ds-controlled-checkbox/Disabled/DSControlledCheckbox.disabled.visual.spec.js +1 -1
  110. package/ds-controlled-form/ds-controlled-checkbox/HasError/DSControlledCheckbox.axe-core.hasError.func.spec.js +4 -4
  111. package/ds-controlled-form/ds-controlled-checkbox/HasError/DSControlledCheckbox.has-error.visual.spec.js +71 -1
  112. package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.axe-core.mixed.func.spec.js +4 -4
  113. package/ds-controlled-form/ds-controlled-checkbox/Mixed/DSControlledCheckbox.mixed.visual.spec.js +1 -1
  114. package/ds-controlled-form/ds-controlled-checkbox/ReadOnly/DSControlledCheckbox.axe-core.read-only.func.spec.js +3 -3
  115. package/ds-controlled-form/ds-controlled-checkbox/ReadOnly/DSControlledCheckbox.read-only.visual.spec.js +1 -1
  116. package/ds-controlled-form/ds-controlled-checkbox/WithTooltip/DSControlledCheckbox.axe-core.with-tooltip.func.spec.js +1 -1
  117. package/ds-controlled-form/ds-controlled-checkbox/WithTooltip/DSControlledCheckbox.with-tooltip.visual.spec.js +1 -3
  118. package/ds-controlled-form/ds-controlled-checkbox/WrapLabel/DSControlledCheckbox.axe-core.wrap-label.func.spec.js +1 -1
  119. package/ds-controlled-form/ds-controlled-checkbox/WrapLabel/DSControlledCheckbox.wrap-label.visual.spec.js +1 -1
  120. package/ds-controlled-form/ds-controlled-checkbox/aria-disabled/DSControlledCheckbox.aria-disabled.visual.spec.js +2 -6
  121. package/ds-controlled-form/ds-controlled-checkbox/aria-disabled/DSControlledCheckbox.axe-core.aria-disabled.func.spec.js +1 -1
  122. package/ds-controlled-form/ds-controlled-checkbox/theme-font/DSControlledCheckbox.theme-font.func.spec.js +30 -0
  123. package/ds-controlled-form/ds-controlled-checkbox-group/DSControlledCheckboxGroup.axe-core.func.spec.js +4 -4
  124. package/ds-controlled-form/ds-controlled-checkbox-group/DSControlledCheckboxGroup.visual.spec.js +1 -1
  125. package/ds-controlled-form/ds-controlled-inputgroup/DSControlledInputGroupCO.js +1 -1
  126. package/ds-controlled-form/ds-controlled-radio/DSControlledRadioCO.js +10 -0
  127. package/ds-controlled-form/ds-controlled-radio/aria-disabled/DSControlledRadio.aria-disabled.axe-core.func.spec.js +16 -2
  128. package/ds-controlled-form/ds-controlled-radio/aria-disabled/DSControlledRadio.aria-disabled.func.spec.js +37 -0
  129. package/ds-controlled-form/ds-controlled-radio/theme-font/DSControlledRadio.theme-font.func.spec.js +30 -0
  130. package/ds-controlled-form/react-hook-form/ReactHook.func.spec.js +1 -3
  131. package/ds-data-table-async/DSDataTableCO.js +189 -12
  132. package/ds-data-table-async/basic/DSDataTable.basic.visual.spec.js +1 -1
  133. package/ds-data-table-async/components/FilterBarCO.js +7 -0
  134. package/ds-data-table-async/components/FiltersCO.js +1 -1
  135. package/ds-data-table-async/components/HeaderCO.js +45 -1
  136. package/ds-data-table-async/dnd/DSDataTable.dnd-keyboard-scroll.func.spec.js +51 -0
  137. package/ds-data-table-async/filter-menu-close/DSDataTable.filter-menu-close.func.spec.js +77 -0
  138. package/ds-data-table-async/filter-popover-boundary/DSDataTable.filter-popover-boundary.func.spec.js +98 -0
  139. package/ds-data-table-async/filters/DSDataTable.filters-creatable-active-descendant.func.spec.js +51 -0
  140. package/ds-data-table-async/filters/DSDataTable.filters-creatable.func.spec.js +39 -0
  141. package/ds-data-table-async/filters/DSDataTable.filters.axe-core.func.spec.js +11 -9
  142. package/ds-data-table-async/filtersV2/DSDataTable.filtersV2-creatablemultiselect.keyboard.func.spec.js +2 -2
  143. package/ds-data-table-async/filtersV2/DSDataTable.filtersV2-creatableselect.keyboard.func.spec.js +2 -2
  144. package/ds-data-table-async/filtersV2/DSDataTable.filtersV2.axe-core.func.spec.js +45 -29
  145. package/ds-data-table-async/filtersV2/pill-label/DSDataTable.pillLabel.axe-core.func.spec.js +23 -0
  146. package/ds-data-table-async/filtersV2/pill-label/DSDataTable.pillLabel.func.spec.js +50 -0
  147. package/ds-data-table-async/filtersV2/pill-label/DSDataTable.pillLabel.visual.spec.js +21 -0
  148. package/ds-data-table-async/header-affordances/DSDataTable.header-affordances.func.spec.js +92 -0
  149. package/ds-data-table-async/helpers/getInputSelection.js +6 -0
  150. package/ds-data-table-async/helpers/index.js +1 -0
  151. package/ds-data-table-async/keyboard-scroll/DSDataTable.keyboard-scroll.func.spec.js +39 -0
  152. package/ds-data-table-async/menubutton/DSDataTable.MenuButton.keyboard.func.spec.js +8 -7
  153. package/ds-data-table-async/menubutton/DSDataTable.MenuButton.mouse.func.spec.js +6 -7
  154. package/ds-data-table-async/pagination/DSDataTable.pagination.func.spec.js +3 -2
  155. package/ds-data-table-async/resizable/DSDataTable.resize-min-clamp.func.spec.js +72 -0
  156. package/ds-data-table-async/resizable/DSDataTable.resizerA11y.axe-core.func.spec.js +43 -0
  157. package/ds-data-table-async/resizable/DSDataTable.resizerA11y.func.spec.js +92 -0
  158. package/ds-data-table-async/textwrapping/DSDataTable.header-wrap-alignment.axe-core.func.spec.js +23 -0
  159. package/ds-data-table-async/textwrapping/DSDataTable.header-wrap-alignment.visual.spec.js +106 -0
  160. package/ds-data-table-async/textwrapping/DSDataTable.text-wrap-toolbar.visual.spec.js +27 -0
  161. package/ds-data-table-async/toggle-cell-focus/DSDataTable.toggle-cell-enter-focus.func.spec.js +31 -0
  162. package/ds-data-table-async/vissibility/DSDataTable.vissibility.visual.spec.js +2 -0
  163. package/ds-dataviz/DSDataVizCO.js +2 -0
  164. package/ds-dataviz/axecore/DSDataViz.axis.axe-core.func.spec.js +1 -1
  165. package/ds-floating-context/DSFloatingContextCO.js +10 -0
  166. package/ds-floating-context/placement/DSFloatingContext.placement.visual.spec.js +48 -0
  167. package/ds-form-combobox-multi/DSComboboxMultiCO.js +22 -3
  168. package/ds-form-combobox-multi/aria-busy-loading/DSComboboxMulti.aria-busy-loading.axe-core.func.spec.js +55 -0
  169. package/ds-form-combobox-multi/aria-busy-loading/DSComboboxMulti.aria-busy-loading.func.spec.js +57 -0
  170. package/ds-form-combobox-multi/aria-disabled/DSComboboxMulti.aria-disabled.visual.spec.js +15 -0
  171. package/ds-form-combobox-multi/disabled/DSComboboxMulti.disabled.axe-core.func.spec.js +24 -0
  172. package/ds-form-combobox-multi/disabled/DSComboboxMulti.disabled.visual.spec.js +22 -0
  173. package/ds-form-combobox-multi/grouped/DSComboboxMulti.grouped.visual.spec.js +42 -0
  174. package/ds-form-combobox-multi/inline/DSComboboxMulti.inline.visual.spec.js +21 -0
  175. package/ds-form-combobox-multi/pills/DSComboboxMulti.pills.func.spec.js +59 -0
  176. package/ds-form-combobox-multi/pills/DSComboboxMulti.pills.visual.spec.js +39 -0
  177. package/ds-form-combobox-multi/skeleton/DSComboboxMulti.skeleton.visual.spec.js +25 -0
  178. package/ds-form-combobox-multi/with-tooltip/DSComboboxMulti.with-tooltip.axe-core.func.spec.js +39 -0
  179. package/ds-form-combobox-multi/with-tooltip/DSComboboxMulti.with-tooltip.func.spec.js +39 -0
  180. package/ds-form-combobox-multi/with-tooltip/DSComboboxMulti.with-tooltip.visual.spec.js +29 -0
  181. package/ds-form-combobox-single/DSComboboxSingleCO.js +15 -3
  182. package/ds-form-combobox-single/aria-busy-loading/DSComboboxSingle.aria-busy-loading.axe-core.func.spec.js +49 -0
  183. package/ds-form-combobox-single/aria-busy-loading/DSComboboxSingle.aria-busy-loading.func.spec.js +54 -0
  184. package/ds-form-combobox-single/aria-disabled/DSComboboxSingle.aria-disabled.visual.spec.js +18 -0
  185. package/ds-form-combobox-single/creatable/DSComboboxSingle.creatable.visual.spec.js +30 -0
  186. package/ds-form-combobox-single/disabled/DSComboboxSingle.disabled.axe-core.func.spec.js +24 -0
  187. package/ds-form-combobox-single/disabled/DSComboboxSingle.disabled.visual.spec.js +22 -0
  188. package/ds-form-combobox-single/grouped/DSComboboxSingle.grouped.visual.spec.js +45 -0
  189. package/ds-form-combobox-single/inline/DSComboboxSingle.inline.visual.spec.js +23 -0
  190. package/ds-form-combobox-single/skeleton/DSComboboxSingle.skeleton.visual.spec.js +25 -0
  191. package/ds-form-combobox-single/with-tooltip/DSComboboxSingle.with-tooltip.axe-core.func.spec.js +39 -0
  192. package/ds-form-combobox-single/with-tooltip/DSComboboxSingle.with-tooltip.func.spec.js +39 -0
  193. package/ds-form-combobox-single/with-tooltip/DSComboboxSingle.with-tooltip.visual.spec.js +29 -0
  194. package/ds-form-date-range-picker/DateRangePicker.axe-core.spec.js +5 -0
  195. package/ds-form-date-range-picker/DateRangePicker.functional.spec.js +80 -18
  196. package/ds-form-date-range-picker/DateRangePickerCO.js +13 -0
  197. package/ds-form-date-range-picker/date-segment-aria-labels/DateRangePicker.date-segment-aria-labels.func.spec.js +66 -0
  198. package/ds-form-date-range-picker/grouped-field-error-announcement/DateRangePicker.grouped-field-error-announcement.func.spec.js +59 -0
  199. package/ds-form-date-time-picker/DSControlledDateTimePickerCO.js +7 -0
  200. package/ds-form-date-time-picker/date-time-full/DateTimeFull.axe-core.func.spec.js +8 -1
  201. package/ds-form-date-time-picker/date-time-full/DateTimePicker.DateTimeFull.visual.spec.js +9 -0
  202. package/ds-form-date-time-picker/partial-date-open-focus/DateTimePicker.partial-date-open-focus.func.spec.js +45 -0
  203. package/ds-form-native-select/NativeSelect.axe-core.func.spec.js +39 -0
  204. package/ds-form-native-select/NativeSelect.visual.spec.js +33 -0
  205. package/ds-form-native-select/NativeSelectCO.js +6 -0
  206. package/ds-form-native-select/option-selection/NativeSelect.option-selection.func.spec.js +25 -0
  207. package/ds-form-toggle/DSToggle.func.spec.js +20 -23
  208. package/ds-form-toggle/DSToggleCO.js +11 -2
  209. package/ds-global-header/GlobalHeader.announcements.func.spec.js +27 -0
  210. package/ds-global-header/GlobalHeader.axe-core.func.spec.js +15 -15
  211. package/ds-global-header/GlobalHeader.func.spec.js +70 -1
  212. package/ds-global-header/GlobalHeaderCO.js +25 -1
  213. package/ds-hooks/DSHook.usetree.func.spec.js +3 -2
  214. package/ds-hooks/DSHookCO.js +1 -22
  215. package/ds-hooks/useFocusStack/DSHook.useFocusStack.func.spec.js +83 -0
  216. package/ds-hooks/useFocusTrap/UseFocusTrapCO.js +2 -0
  217. package/ds-hooks/useFocusTrap/UseFocusTrapToggle.func.spec.js +48 -0
  218. package/ds-hooks/useMask/Number/UseNumberMask.axe-core.func.spec.js +48 -0
  219. package/ds-leftnavigation/LeftNavigationCO.js +2 -2
  220. package/ds-menu-button/DSMenuButtonCO.js +23 -0
  221. package/ds-menu-button/slots/DSMenuButton.slots.axe-core.func.spec.js +28 -0
  222. package/ds-menu-button/slots/DSMenuButton.slots.func.spec.js +59 -0
  223. package/ds-menu-button/slots/DSMenuButton.slots.visual.spec.js +26 -0
  224. package/ds-modal-slide/ModalSlideCO.js +46 -0
  225. package/ds-modal-slide/custom-header/ModalSlide.customHeader.focusRing.visual.spec.js +2 -1
  226. package/ds-modal-slide/heading-level/ModalSlide.headingLevel.axe-core.func.spec.js +25 -0
  227. package/ds-modal-slide/heading-level/ModalSlide.headingLevel.func.spec.js +25 -0
  228. package/ds-modal-slide/slots/ModalSlide.slots.func.spec.js +74 -0
  229. package/ds-modal-slide/slots/ModalSlide.slots.visual.spec.js +27 -0
  230. package/ds-notification-badge/DSNotificationBadge.visual.spec.js +17 -20
  231. package/ds-page-layout/PageLayoutCO.js +4 -4
  232. package/ds-pills-v2/DSPillsV2CO.js +12 -0
  233. package/ds-pills-v2/apply-aria-disabled/DSPills.applyAriaDisabled.func.spec.js +53 -0
  234. package/ds-pills-v2/apply-aria-disabled/DSPills.applyAriaDisabled.visual.spec.js +26 -0
  235. package/ds-pills-v2/disabled/DSPills.disabled.func.spec.js +53 -0
  236. package/ds-pills-v2/disabled/DSPills.disabled.visual.spec.js +33 -0
  237. package/ds-progress-indicator/DSProgressIndicator.axe-core.func.spec.js +2 -0
  238. package/ds-progress-indicator/DSProgressIndicatorCO.js +1 -1
  239. package/ds-shuttle-v2/DSShuttleV2CO.js +15 -1
  240. package/ds-shuttle-v2/breadcrumb-a11y/DSShuttleV2.breadcrumb-a11y.func.spec.js +43 -0
  241. package/ds-shuttle-v2/explicit-selection-ui/DSShuttleV2.explicit-selection-ui.func.spec.js +37 -0
  242. package/ds-shuttle-v2/explicit-selection-ui/DSShuttleV2.explicit-selection-ui.visual.spec.js +30 -0
  243. package/ds-shuttle-v2/extra/DSShuttleV2.extra.visual.spec.js +8 -3
  244. package/ds-shuttle-v2/items/DSShuttleV2.items.func.spec.js +4 -2
  245. package/ds-shuttle-v2/skipped/DSShuttleV2.extra.axe-core.skipped.js +1 -1
  246. package/ds-shuttle-v2/skipped/DSShuttleV2.filter.axe-core.skipped.js +1 -1
  247. package/ds-shuttle-v2/skipped/DSShuttleV2.globalcheckbox.axe-core.skipped.js +1 -1
  248. package/ds-shuttle-v2/skipped/DSShuttleV2.items.axe-core.skipped.js +3 -3
  249. package/ds-shuttle-v2/skipped/DSShuttleV2.skipped.js +5 -5
  250. package/ds-slider-v2/DSSliderV2.func.spec.js +36 -25
  251. package/ds-slider-v2/DSSliderV2CO.js +10 -0
  252. package/ds-slider-v2/min-range/DSSliderV2.min-range.func.spec.js +69 -0
  253. package/ds-tab-button/DSTabButton.func.spec.js +1 -1
  254. package/ds-tooltip-v3/DSTooltipV3CO.js +21 -0
  255. package/ds-tooltip-v3/aria-tooltip-pattern/DSTooltipV3.aria-tooltip-pattern.axe-core.func.spec.js +23 -0
  256. package/ds-tooltip-v3/aria-tooltip-pattern/DSTooltipV3.aria-tooltip-pattern.func.spec.js +29 -0
  257. package/ds-tooltip-v3/dialog/DSTooltipV3.dialog.func.spec.js +45 -0
  258. package/ds-tooltip-v3/dialog/DSTooltipV3.dialog.visual.spec.js +29 -0
  259. package/ds-treeview/DSTreeViewCO.js +25 -2
  260. package/ds-treeview/dragAndDrop/TreeView-dnd_keyboard.func.spec.js +96 -0
  261. package/ds-typography/DSTypographyCO.js +10 -0
  262. package/ds-typography/theme-font/DSTypography.theme-font.func.spec.js +30 -0
  263. package/package.json +150 -153
  264. package/paths.js +9 -6
  265. package/ds-card-v3/disabled/DSCardV3.disabled.visual.spec.js +0 -17
  266. package/ds-chat-tile/TileCO.js +0 -35
  267. package/ds-hooks/DSHook.func.spec.js +0 -60
  268. package/ds-hooks/useFocusStack/DSHook.useFocusStack.skipped.js +0 -57
  269. package/ds-treeview/dragAndDrop/TreeView-dnd_mouse.func.spec.js +0 -61
package/CHANGELOG.md CHANGED
@@ -3,6 +3,306 @@
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.60 (2026-08-13)
7
+
8
+ ### Bug Fixes
9
+
10
+ - ds-chip:: correct round shape disabled state colors per spec [PUI-18905](https://jira.elliemae.io/browse/PUI-18905) ([#8290](https://git.elliemae.io/platform-ui/dimsum/issues/8290)) ([42bcb62](https://git.elliemae.io/platform-ui/dimsum/commit/42bcb62fd8b2c45a4c45cd762004dbcdbef7d7eb))
11
+
12
+ ## 3.70.0-next.59 (2026-08-12)
13
+
14
+ ### Features
15
+
16
+ - dimsum:: analysis of size for date-time-input and data-table [PUI-18345](https://jira.elliemae.io/browse/PUI-18345) ([#8285](https://git.elliemae.io/platform-ui/dimsum/issues/8285)) ([70cd13f](https://git.elliemae.io/platform-ui/dimsum/commit/70cd13f8e4f928805fdd8ec7dff1f0042d33abdb))
17
+
18
+ ## [3.70.0-next.58](https://git.elliemae.io/platform-ui/dimsum/compare/v3.70.0-next.57...v3.70.0-next.58) (2026-08-11)
19
+
20
+ **Note:** Version bump only for package dimsum-e2e-tests
21
+
22
+ ## [3.70.0-next.57](https://git.elliemae.io/platform-ui/dimsum/compare/v3.70.0-next.56...v3.70.0-next.57) (2026-08-11)
23
+
24
+ **Note:** Version bump only for package dimsum-e2e-tests
25
+
26
+ ## [3.70.0-next.56](https://git.elliemae.io/platform-ui/dimsum/compare/v3.70.0-next.55...v3.70.0-next.56) (2026-08-11)
27
+
28
+ **Note:** Version bump only for package dimsum-e2e-tests
29
+
30
+ ## 3.70.0-next.55 (2026-08-10)
31
+
32
+ ### Bug Fixes
33
+
34
+ - ds-app-picker:: a11y fixes + axe-test fixes + markdown files fixes [PUI-17213](https://jira.elliemae.io/browse/PUI-17213) [PUI-17860](https://jira.elliemae.io/browse/PUI-17860) ([#8260](https://git.elliemae.io/platform-ui/dimsum/issues/8260)) ([f24df52](https://git.elliemae.io/platform-ui/dimsum/commit/f24df52d0565660595e557ca6df3c2e6fa815644))
35
+
36
+ ## 3.70.0-next.54 (2026-07-31)
37
+
38
+ ### Bug Fixes
39
+
40
+ - ds-app-picker:: re-organized data-flow for improved stability and long-term scaling [PUI-17213](https://jira.elliemae.io/browse/PUI-17213) ([#8242](https://git.elliemae.io/platform-ui/dimsum/issues/8242)) ([753be67](https://git.elliemae.io/platform-ui/dimsum/commit/753be67beb6d5dcca2c6d8808ebe6540cf76ffc3))
41
+
42
+ ## 3.70.0-next.53 (2026-07-28)
43
+
44
+ **Note:** Version bump only for package dimsum-e2e-tests
45
+
46
+ ## 3.70.0-next.52 (2026-07-27)
47
+
48
+ ### Bug Fixes
49
+
50
+ - ds-drag-and-drop:: keyboard row drag no longer restarts smooth-scroll on held arrow key [PUI-8826](https://jira.elliemae.io/browse/PUI-8826) ([#8226](https://git.elliemae.io/platform-ui/dimsum/issues/8226)) ([5325023](https://git.elliemae.io/platform-ui/dimsum/commit/532502386fd2a082f379a8da7957aa52264e7f9d))
51
+
52
+ ## 3.70.0-next.51 (2026-07-27)
53
+
54
+ ### Features
55
+
56
+ - ds-button-v2:: add e2e test for aria-disabled attribute absence [PUI-17909](https://jira.elliemae.io/browse/PUI-17909) ([#8222](https://git.elliemae.io/platform-ui/dimsum/issues/8222)) ([0c972a5](https://git.elliemae.io/platform-ui/dimsum/commit/0c972a5a26a92c6e69979000649521fab87bdb9d))
57
+
58
+ ## 3.70.0-next.50 (2026-07-24)
59
+
60
+ **Note:** Version bump only for package dimsum-e2e-tests
61
+
62
+ ## 3.70.0-next.49 (2026-07-21)
63
+
64
+ ### Bug Fixes
65
+
66
+ - ds-form-checkbox:: update to latest spec [PUI-18112](https://jira.elliemae.io/browse/PUI-18112) ([#8201](https://git.elliemae.io/platform-ui/dimsum/issues/8201)) ([ed9660f](https://git.elliemae.io/platform-ui/dimsum/commit/ed9660fa98038dd1a9fc9c591b6c0980cfba102f))
67
+
68
+ ## 3.70.0-next.48 (2026-07-20)
69
+
70
+ ### Bug Fixes
71
+
72
+ - ds-form-radio:: fixed and expanded radio documentation [PUI-17897](https://jira.elliemae.io/browse/PUI-17897) ([#8191](https://git.elliemae.io/platform-ui/dimsum/issues/8191)) ([e7c892a](https://git.elliemae.io/platform-ui/dimsum/commit/e7c892a9aad4c068e352c00e589253c0c96e5986))
73
+
74
+ ## 3.70.0-next.47 (2026-07-17)
75
+
76
+ ### Features
77
+
78
+ - ds-data-table:: e2e a11y for filter pill customization & resizer roles [PUI-8318](https://jira.elliemae.io/browse/PUI-8318) [PUI-17786](https://jira.elliemae.io/browse/PUI-17786) ([#8189](https://git.elliemae.io/platform-ui/dimsum/issues/8189)) ([f122016](https://git.elliemae.io/platform-ui/dimsum/commit/f122016eb880daec1486bea8e511356658856da7))
79
+
80
+ ## 3.70.0-next.46 (2026-07-17)
81
+
82
+ ### Bug Fixes
83
+
84
+ - ds-global-header:: search toggle pass axe core scan [PUI-17970](https://jira.elliemae.io/browse/PUI-17970) ([#8176](https://git.elliemae.io/platform-ui/dimsum/issues/8176)) ([738a9b2](https://git.elliemae.io/platform-ui/dimsum/commit/738a9b28a0e138a178517f6b9b40dccf03901a3b))
85
+
86
+ ## 3.70.0-next.45 (2026-07-14)
87
+
88
+ ### Bug Fixes
89
+
90
+ - ds-drag-and-drop:: correct tree dnd screen reader announcements [PUI-18684](https://jira.elliemae.io/browse/PUI-18684) ([#8170](https://git.elliemae.io/platform-ui/dimsum/issues/8170)) ([7591ec9](https://git.elliemae.io/platform-ui/dimsum/commit/7591ec9bc54acadaca6912add3f51837977dddc3))
91
+
92
+ ## 3.70.0-next.44 (2026-07-13)
93
+
94
+ **Note:** Version bump only for package dimsum-e2e-tests
95
+
96
+ ## 3.70.0-next.43 (2026-07-08)
97
+
98
+ ### Features
99
+
100
+ - dimsum:: migrated some flaky jest test to equivalent in playwright & ds-chat-container DOM cache fix [PUI-17849](https://jira.elliemae.io/browse/PUI-17849) ([#8132](https://git.elliemae.io/platform-ui/dimsum/issues/8132)) ([3ea36d1](https://git.elliemae.io/platform-ui/dimsum/commit/3ea36d14c6539559bea7e2e301548b521c51571b))
101
+
102
+ ## 3.70.0-next.42 (2026-07-06)
103
+
104
+ ### Features
105
+
106
+ - ds-accordion-native:: harden toolbar dropdown E2E + document QA findings [PUI-18083](https://jira.elliemae.io/browse/PUI-18083) ([#8154](https://git.elliemae.io/platform-ui/dimsum/issues/8154)) ([b0c73e6](https://git.elliemae.io/platform-ui/dimsum/commit/b0c73e6f29d705b502560108e06d255a4277a444))
107
+
108
+ ## 3.70.0-next.41 (2026-07-02)
109
+
110
+ ### Features
111
+
112
+ - dimsum:: add component-vpat skill for WCAG 2.5 conformance reports [PUI-14236](https://jira.elliemae.io/browse/PUI-14236) ([#8146](https://git.elliemae.io/platform-ui/dimsum/issues/8146)) ([dfe5ca6](https://git.elliemae.io/platform-ui/dimsum/commit/dfe5ca657cd3895c8c98262286cd4cca2238d41e))
113
+
114
+ ## 3.70.0-next.40 (2026-06-29)
115
+
116
+ ### Features
117
+
118
+ - 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))
119
+
120
+ ## 3.70.0-next.39 (2026-06-25)
121
+
122
+ ### Features
123
+
124
+ - 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))
125
+
126
+ ## 3.70.0-next.38 (2026-06-24)
127
+
128
+ ### Bug Fixes
129
+
130
+ - 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))
131
+
132
+ ## 3.70.0-next.37 (2026-06-22)
133
+
134
+ ### Features
135
+
136
+ - 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))
137
+
138
+ ## 3.70.0-next.36 (2026-06-22)
139
+
140
+ **Note:** Version bump only for package dimsum-e2e-tests
141
+
142
+ ## 3.70.0-next.35 (2026-06-19)
143
+
144
+ ### Bug Fixes
145
+
146
+ - 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))
147
+
148
+ ## 3.70.0-next.34 (2026-06-17)
149
+
150
+ ### Features
151
+
152
+ - 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))
153
+
154
+ ## 3.70.0-next.33 (2026-06-16)
155
+
156
+ ### Bug Fixes
157
+
158
+ - 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))
159
+
160
+ ## 3.70.0-next.32 (2026-06-16)
161
+
162
+ ### Features
163
+
164
+ - 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))
165
+
166
+ ## 3.70.0-next.31 (2026-06-12)
167
+
168
+ ### Features
169
+
170
+ - 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))
171
+
172
+ ## 3.70.0-next.30 (2026-06-12)
173
+
174
+ ### Features
175
+
176
+ - 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))
177
+
178
+ ## 3.70.0-next.29 (2026-06-11)
179
+
180
+ **Note:** Version bump only for package dimsum-e2e-tests
181
+
182
+ ## 3.70.0-next.28 (2026-06-10)
183
+
184
+ ### Bug Fixes
185
+
186
+ - 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))
187
+
188
+ ## 3.70.0-next.27 (2026-06-08)
189
+
190
+ **Note:** Version bump only for package dimsum-e2e-tests
191
+
192
+ ## 3.70.0-next.26 (2026-06-04)
193
+
194
+ ### Features
195
+
196
+ - 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))
197
+
198
+ ## 3.70.0-next.25 (2026-06-02)
199
+
200
+ **Note:** Version bump only for package dimsum-e2e-tests
201
+
202
+ ## 3.70.0-next.24 (2026-06-02)
203
+
204
+ ### Bug Fixes
205
+
206
+ - 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))
207
+
208
+ ## 3.70.0-next.23 (2026-06-02)
209
+
210
+ ### Bug Fixes
211
+
212
+ - 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))
213
+
214
+ ## 3.70.0-next.22 (2026-06-01)
215
+
216
+ ### Features
217
+
218
+ - 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))
219
+
220
+ ## 3.70.0-next.21 (2026-06-01)
221
+
222
+ **Note:** Version bump only for package dimsum-e2e-tests
223
+
224
+ ## 3.70.0-next.20 (2026-06-01)
225
+
226
+ ### Bug Fixes
227
+
228
+ - 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))
229
+
230
+ ## 3.70.0-next.19 (2026-05-28)
231
+
232
+ ### Features
233
+
234
+ - 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))
235
+
236
+ ## 3.70.0-next.18 (2026-05-27)
237
+
238
+ ### Features
239
+
240
+ - 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))
241
+
242
+ ## 3.70.0-next.17 (2026-05-27)
243
+
244
+ ### Features
245
+
246
+ - 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))
247
+
248
+ ## 3.70.0-next.16 (2026-05-25)
249
+
250
+ **Note:** Version bump only for package dimsum-e2e-tests
251
+
252
+ ## 3.70.0-next.15 (2026-05-22)
253
+
254
+ ### Features
255
+
256
+ - 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))
257
+
258
+ ## 3.70.0-next.14 (2026-05-21)
259
+
260
+ ### Features
261
+
262
+ - 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))
263
+
264
+ ## 3.70.0-next.13 (2026-05-19)
265
+
266
+ ### Bug Fixes
267
+
268
+ - 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))
269
+
270
+ ## 3.70.0-next.12 (2026-05-15)
271
+
272
+ ### Features
273
+
274
+ - 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))
275
+
276
+ ## 3.70.0-next.11 (2026-05-14)
277
+
278
+ ### Bug Fixes
279
+
280
+ - 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))
281
+
282
+ ## 3.70.0-next.10 (2026-05-14)
283
+
284
+ ### Features
285
+
286
+ - 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))
287
+
288
+ ## 3.70.0-next.9 (2026-05-12)
289
+
290
+ ### Features
291
+
292
+ - 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))
293
+
294
+ ## 3.70.0-next.8 (2026-05-12)
295
+
296
+ ### Bug Fixes
297
+
298
+ - ds-chat-bubble:: add missing export in test ([57d294a](https://git.elliemae.io/platform-ui/dimsum/commit/57d294aef0b2739cb2ac0afe673d9c4ccfe0e718))
299
+
300
+ ## 3.70.0-next.7 (2026-05-11)
301
+
302
+ ### Bug Fixes
303
+
304
+ - 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))
305
+
6
306
  ## 3.70.0-next.6 (2026-05-11)
7
307
 
8
308
  ### 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
 
@@ -100,11 +102,21 @@ export default class DSAccordionCO extends PageObject {
100
102
 
101
103
  static getToolbarByIndex = async (index) => getElementByIndex(this.getToolbarTriggers, index);
102
104
 
105
+ static async getToolbarMenuByIndex(index = 0) {
106
+ return $$('[data-testid="ds-menuitem-menu-item-wrapper"]')[index];
107
+ }
108
+
103
109
  static getAccordionItemHeaderContainers = async () => $$('[data-testid="ds-accordion-item-header-container"]');
104
110
 
105
111
  static getAccordionItemHeaderContainerByIndex = async (index) =>
106
112
  getElementByIndex(this.getAccordionItemHeaderContainers, index);
107
113
 
114
+ static getAccordionItemHeaderCustomActionsContainers = async () =>
115
+ $$('[data-testid="ds-accordion-item-header-custom-actions-container"]');
116
+
117
+ static getAccordionItemHeaderCustomActionsContainerByIndex = async (index) =>
118
+ getElementByIndex(this.getAccordionItemHeaderCustomActionsContainers, index);
119
+
108
120
  // slots
109
121
 
110
122
  static async getAccordionContainerSlotByIndex(index = 0) {
@@ -0,0 +1,105 @@
1
+ # QA Notes — ds-accordion E2E
2
+
3
+ Durable QA knowledge for the `accordion` suite. Carried over from the `ds-accordion-native` POC
4
+ notes ([PUI-18083](https://jira.elliemae.io/browse/PUI-18083)) when that parallel suite was removed —
5
+ see "Native migration" below.
6
+
7
+ ## Native migration ([PUI-18742](https://jira.elliemae.io/browse/PUI-18742))
8
+
9
+ `ds-accordion` now renders a native `<details>` / `<summary>` disclosure instead of the previous
10
+ WAI-ARIA button pattern. Public API, slot names and `data-testid` values are unchanged; only the DOM
11
+ engine changed. Full contract: [`stories/ds-accordion/docs/NativeDisclosureMigration.md`](../../stories/ds-accordion/docs/NativeDisclosureMigration.md).
12
+
13
+ ```html
14
+ <div data-testid="ds-accordion_item">
15
+ <details data-testid="ds-accordion-item-details">
16
+ <summary data-testid="ds-accordion_item-header" aria-expanded aria-controls="ds-accordion-content-0">
17
+ <div data-testid="ds-accordion-item-header-container">… chevron + title(s) …</div>
18
+ </summary>
19
+ <div data-testid="ds-accordion_item-content" role="region" aria-labelledby="ds-accordion-header-0">…</div>
20
+ </details>
21
+ <div data-testid="ds-accordion-item-header-custom-actions-container">… custom actions …</div>
22
+ </div>
23
+ ```
24
+
25
+ **What this changes for specs:**
26
+
27
+ - The trigger is a `<summary>`, **not** a `<button>`. `getAccordionHeader(i)` returns the `<summary>`.
28
+ - The heading container lives **inside** the summary (inverse of the pre-migration nesting).
29
+ - `role="heading"` + `aria-level` are **not** emitted by the component. They are opt-in per consumer
30
+ through the `dsAccordionItemHeaderContainer` slot prop. Only stories that set that prop
31
+ (e.g. `WithSecondaryTitleTest`, `AdvancedHeadingStructureCustomization`) expose heading semantics —
32
+ `HeaderControlExamplesTest` does not. Assert the role only on a story that opts in
33
+ (`role/DSAccordion.role-heading.func.spec.js`).
34
+ - Custom actions render as a **sibling of `<details>`**, outside the trigger. Nothing interactive is
35
+ nested inside the `<summary>`.
36
+ - `ds-accordion-item-details` is an additive slot/testid introduced by the migration.
37
+
38
+ The former `ds-accordion-native` E2E suite was deleted here — `ds-accordion` **is** the native engine
39
+ now, so the parity suite had no stories left to point at (`stories/ds-accordion-native` and
40
+ `PATH_E2E_ACCORDION_NATIVE` were removed in PUI-18742).
41
+
42
+ ## header-structure func — test 04 flaky "Login not displayed" (cloud)
43
+
44
+ **Status:** spec hardened (spec-only + one additive CO helper). Investigated 2026-07-02 on the native
45
+ suite; the same hardening now lives in `header-structure/DSAccordion.header-structure.func.spec.js`.
46
+
47
+ **Symptom:** in the cloud run (`E2E_BACKEND=cloud`, `BASE_URL`=NEXT/d3, Chrome-only) test
48
+ `04: toolbar trigger in custom actions should open dropdown menu on click` broke with
49
+ `element ("*=Login") still not displayed after 10000ms`. Only that browser runs it (the spec is
50
+ Chrome-guarded), so it surfaces as 1 broken.
51
+
52
+ **Not a defect.** Reproduced against NEXT/d3 at the SDK viewport (1920×1080): the click opens the
53
+ `DSDropdownMenuV2` (`dropdown-menu-listbox` + `ds-floating-wrapper-root` present), `Login` resolves to
54
+ a single visible `<p>`, not clipped by any overflow ancestor and not occluded (`elementFromPoint` at
55
+ its center returns the element), and it stays open at 3s. Selectors, story and package are correct.
56
+ Passed 100% locally, broke 100% in cloud → the delta is real-Chrome + BrowserStack +
57
+ `browser.maximizeWindow()` (cloud-only).
58
+
59
+ **Root cause:** the pattern "one-shot click on a toggle + `waitForDisplayed` on a deep descendant" is
60
+ fragile. If the click doesn't leave the menu open in that driver, the wait sits the full 10s on a menu
61
+ that never opened.
62
+
63
+ **Fix:** wait for the trigger to be clickable, click it, then assert the `DSDropdownMenuV2` item
64
+ wrapper (`getToolbarMenuByIndex` → `ds-menuitem-menu-item-wrapper`) is displayed _before_ checking the
65
+ first option, and tag-qualify the option selector as `p*=Login` (`DSTypography variant="b1"` renders a
66
+ `<p>`). The SDK's retries absorb residual flakiness. Optional broader mitigation: enable
67
+ `config.specFileRetries` in `wdio.config.mjs`.
68
+
69
+ ## input-inside func — `data-testid` is on the `<input>`, not a wrapper
70
+
71
+ `DSInputText` forwards `data-testid` through its global attributes straight onto `StyledInput`, i.e.
72
+ the `<input>` element. A descendant selector like `[data-testid="task-name"] input` matches nothing
73
+ and breaks on every browser. Target the testid directly.
74
+
75
+ ## Open defects from the native POC — re-verify against ds-accordion
76
+
77
+ These were logged against `ds-accordion-native` while it was a separate POC package. Now that
78
+ `ds-accordion` ships the native engine, **each needs re-verification against `ds-accordion`** before
79
+ being closed or re-pointed — they are listed here so the findings are not lost with the deleted suite,
80
+ not as confirmed `ds-accordion` defects.
81
+
82
+ | Ticket | Summary |
83
+ | ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
84
+ | [PUI-18640](https://jira.elliemae.io/browse/PUI-18640) | Content-container slot did not apply style-props — `maxHeight`/`overflow` (scrollable-content) and padding `p` (XstyledpropsInContent) — the way pre-migration `ds-accordion` did. Breaking for consumers styling content via the slot. |
85
+ | [PUI-18641](https://jira.elliemae.io/browse/PUI-18641) | Default title behavior changed from truncate-with-tooltip to wrap. With `wrapLabel={false}` the title truncates but shows no tooltip on hover → full text unreadable. Backwards-incompatible default + readability gap. |
86
+ | [PUI-18642](https://jira.elliemae.io/browse/PUI-18642) | Arrow Icon visual spec violations (Accordion Draft v1.5.0): region width is not the spec'd 20px; when the title wraps the icon is center-aligned instead of top-aligned ("Fixed Top-aligned — Region A"). |
87
+ | [PUI-18695](https://jira.elliemae.io/browse/PUI-18695) | _Safari-only:_ Tab does not move focus between accordion headers after a click. Click-focus, focus ring and Enter all work; only Tab traversal is broken. Found by E2E visual PUI-14324 - 02 (Safari). |
88
+
89
+ Related upstream: [WebKit bug #319162](https://bugs.webkit.org/show_bug.cgi?id=319162) — in Safari,
90
+ tabbing away from a `<summary>` that contains nested elements after **mouse** activation does not
91
+ advance focus correctly. Keyboard-only navigation is unaffected. Unresolved upstream.
92
+
93
+ ## Known visual baseline note — slots (`PUI-15348 - 01`)
94
+
95
+ Percy flagged a ~0.05% diff: a small lavender box at the left of each "… Secondary" row. Not a
96
+ regression. `StyledHeading` moved from `display: contents` → `display: flex`; an element with
97
+ `display: contents` generates no box and therefore never paints its `background`, so the `SlotsTest`
98
+ story's lavender `item-heading` background was silently dropped before and paints now. Only visible in
99
+ that synthetic story (every slot painted a loud color). Re-approve the baseline if it resurfaces.
100
+
101
+ ---
102
+
103
+ _Historical detail (A/B/C/D divergence audit, Percy mechanism, run commands) lived in
104
+ `stories/ds-accordion-native/POC_FINDINGS.md`, removed in PUI-18742. Recover with
105
+ `git show 3468ca3ccb4^:stories/ds-accordion-native/POC_FINDINGS.md`._
@@ -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,65 @@
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
+ // Structural coverage for custom actions living OUTSIDE the disclosure trigger.
10
+ // Originally written for PUI-17912 (custom actions moved out of the role="heading" container).
11
+ // PUI-18742 migrated ds-accordion to a native <details>/<summary> disclosure, which supersedes
12
+ // that fix: the <summary> IS the toggle, the heading container now sits INSIDE it, and heading
13
+ // semantics (role="heading" + aria-level) are opt-in per consumer via the
14
+ // dsAccordionItemHeaderContainer slot prop — see role/DSAccordion.role-heading.func.spec.js.
15
+ // The invariant that still matters here: nothing interactive is nested inside the trigger.
16
+ describe('PUI-18621 - DSAccordion:: heading container structure after renderCustomActions fix - func', () => {
17
+ before('loading page', async () => {
18
+ const errorOnGo = await DSAccordionCO.headerControls.go();
19
+ if (errorOnGo) throw errorOnGo;
20
+ });
21
+
22
+ it('01: summary trigger should wrap the heading container and no other interactive elements', async () => {
23
+ const trigger = await DSAccordionCO.getAccordionHeader(0);
24
+ await expect(await trigger.getTagName()).toBe('summary');
25
+
26
+ const headingContainer = await DSAccordionCO.getAccordionItemHeaderContainerByIndex(0);
27
+ await expect(headingContainer).toExist();
28
+
29
+ // The <summary> is the toggle itself, so no nested <button> may live inside it.
30
+ const buttonsInsideTrigger = await trigger.$$('button');
31
+ await expect(buttonsInsideTrigger.length).toBe(0);
32
+ });
33
+
34
+ it('02: custom actions container should exist outside the heading container', async () => {
35
+ const customActionsContainer = await DSAccordionCO.getAccordionItemHeaderCustomActionsContainerByIndex(0);
36
+ await expect(customActionsContainer).toExist();
37
+ });
38
+
39
+ it('03: action buttons in custom actions container should reflect correct enabled/disabled state', async () => {
40
+ const enabledContainer = await DSAccordionCO.getAccordionItemHeaderCustomActionsContainerByIndex(0);
41
+ const enabledButton = await enabledContainer.$('[data-testid="ds-button"]');
42
+ await expect(enabledButton).toBeDisplayed();
43
+ await expect(enabledButton).toBeEnabled();
44
+
45
+ const disabledContainer = await DSAccordionCO.getAccordionItemHeaderCustomActionsContainerByIndex(2);
46
+ const disabledButton = await disabledContainer.$('[data-testid="ds-button"]');
47
+ await expect(disabledButton).toBeDisplayed();
48
+ await expect(disabledButton).not.toBeEnabled();
49
+ });
50
+
51
+ it('04: toolbar trigger in custom actions should open dropdown menu on click', async () => {
52
+ // Hardened after the cloud-only "Login not displayed" flake (see QA_NOTES.md): wait for the
53
+ // trigger to be clickable, then assert the DSDropdownMenuV2 item wrapper is displayed before
54
+ // reaching for the option, so a menu that never opened fails fast instead of burning the
55
+ // 10s waitForDisplayed. `p*=Login` is tag-qualified — DSTypography variant="b1" renders a <p>.
56
+ const toolbar = await DSAccordionCO.getToolbarByIndex(0);
57
+ await toolbar.waitForClickable({ timeout: 10000 });
58
+ await toolbar.click();
59
+ const menu = await DSAccordionCO.getToolbarMenuByIndex(0);
60
+ await expect(menu).toBeDisplayed();
61
+ const firstMenuOption = await $('p*=Login');
62
+ await expect(firstMenuOption).toBeDisplayed();
63
+ });
64
+ });
65
+ }
@@ -0,0 +1,19 @@
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
+ // DSInputText forwards `data-testid` through its global attributes onto the <input> itself
12
+ // (StyledInput), not onto the wrapper — so the testid IS the input, never its ancestor.
13
+ const input = await $('[data-testid="task-name"]');
14
+ await input.waitForDisplayed();
15
+ await input.setValue('Test task');
16
+ await expect(input).toHaveValue('Test task');
17
+ });
18
+ });
19
+ }
@@ -78,6 +78,6 @@ export default class DSAppPickerCO extends PageObject {
78
78
  }
79
79
 
80
80
  static async getTitleSlotByIndex(index = 0) {
81
- return $$('[data-dimsum-slot="dsApppickerTitle"]')[index];
81
+ return $$('[data-dimsum-parent-slot="dsApppickerTitle"]')[index];
82
82
  }
83
83
  }
@@ -11,35 +11,31 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
11
11
  await browser.maximizeWindow();
12
12
  });
13
13
  it('01: should show the full label on hover', async () => {
14
- // applitools is losing the hover when taking the snapshot
15
- await browser.eyesOpen();
16
14
  await (await DSAppPickerCO.getOpenAppPicker()).waitForDisplayed();
17
15
  const openAppPickerBtn = await DSAppPickerCO.getOpenAppPicker();
18
16
  await openAppPickerBtn.click();
19
17
  const secondChip = await DSAppPickerCO.getChipByLabel('Pipeline but with a really long label that will truncate');
20
18
  await mouseOver(secondChip);
21
19
  await browser.pause(500);
22
- const snapshot = await browser.eyesCheckSnapshot(DSAppPickerCO.snapshotPath('appPicker-truncation-hover'));
20
+ const snapshot = await browser.percyCheckScreenshot();
23
21
  await expect(snapshot).toEqual(0);
24
22
  });
25
23
  it('02: should show the full label on hover - disabled Chip', async () => {
26
- await browser.eyesOpen();
27
24
  const DisabledChip = await DSAppPickerCO.getChipByLabel(
28
25
  'Dashboard but with a really long label that will truncate',
29
26
  );
30
27
  await mouseOver(DisabledChip);
31
28
  await browser.pause(500);
32
- const snapshot = await browser.eyesCheckSnapshot(DSAppPickerCO.snapshotPath('appPicker-truncation-disabled'));
29
+ const snapshot = await browser.percyCheckScreenshot();
33
30
  await expect(snapshot).toEqual(0);
34
31
  });
35
32
  it('03: should show the full label on focus', async () => {
36
- await browser.eyesOpen();
37
- const openAppPickerBtn = await DSAppPickerCO.getOpenAppPicker();
38
- await openAppPickerBtn.click();
33
+ // the panel is already open from test 01 - since PUI-18354 the trigger
34
+ // toggles, so clicking it again would close it
39
35
  await browser.keys(Key.Tab);
40
36
  await browser.keys(Key.Enter);
41
37
  await browser.pause(500);
42
- const snapshot = await browser.eyesCheckSnapshot(DSAppPickerCO.snapshotPath('appPicker-truncation-focus'));
38
+ const snapshot = await browser.percyCheckScreenshot();
43
39
  await expect(snapshot).toEqual(0);
44
40
  });
45
41
  });