dimsum-e2e-tests 3.60.0-next.9 → 3.70.0-next.1

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 (141) hide show
  1. package/CHANGELOG.md +320 -0
  2. package/ds-apppicker/DSAppPickerCO.js +10 -0
  3. package/ds-apppicker/basic/DSAppPicker.basic.func.spec.js +2 -2
  4. package/ds-apppicker/reflow/DSAppPicker.reflow.visual.spec.js +36 -0
  5. package/ds-apppicker/slots/DSAppPicker.slots.func.spec.js +13 -0
  6. package/ds-card/DSCard.slots.func.spec.js +95 -0
  7. package/ds-card/DSCard.slots.visual.spec.js +23 -0
  8. package/ds-card/DSCardCO.js +50 -0
  9. package/ds-chip/DSChip.visual.spec.js +18 -1
  10. package/ds-chip/DSChipCO.js +2 -0
  11. package/ds-chip/slots/DSChip.slots.func.spec.js +25 -0
  12. package/ds-controlled-form/ds-controlled-large-input-text/dialog/DSLargeInputText.dialog.visual.spec.js +1 -2
  13. package/ds-controlled-form/react-hook-form/ReactHook.func.spec.js +1 -1
  14. package/ds-data-table-async/DSDataTableCO.js +46 -2
  15. package/ds-data-table-async/components/FiltersCO.js +28 -0
  16. package/ds-data-table-async/date-filters/DSDataTable.date-range-keyboard.func.spec.js +172 -0
  17. package/ds-data-table-async/date-filters/DSDataTable.date-switcher-keyboard.func.spec.js +328 -0
  18. package/ds-data-table-async/date-filters/DSDataTable.single-date-keyboard.func.spec.js +136 -0
  19. package/ds-data-table-async/filters/DSDataTable.custom-filtered-columns-focus.func.spec.js +61 -0
  20. package/ds-data-table-async/filters/DSDataTable.filter-role-dialog.func.spec.js +75 -0
  21. package/ds-data-table-async/filters/DSDataTable.filters.keybooard-nav.func.spec.js +12 -7
  22. package/ds-data-table-async/filters/DSDataTable.free-text-search.visual.spec.js +12 -17
  23. package/ds-data-table-async/filters/DSDataTable.text-filters.func.spec.js +1 -1
  24. package/ds-data-table-async/filtersV2/DSDataTable.filtersV2-creatable.func.spec.js +97 -0
  25. package/ds-data-table-async/filtersV2/DSDataTable.filtersV2-creatablemultiselect.keyboard.func.spec.js +72 -0
  26. package/ds-data-table-async/filtersV2/DSDataTable.filtersV2-creatableselect.keyboard.func.spec.js +72 -0
  27. package/ds-data-table-async/filtersV2/DSDataTable.filtersV2-currencyrange.keyboard.func.spec.js +82 -0
  28. package/ds-data-table-async/filtersV2/DSDataTable.filtersV2-daterange.keyboard.func.spec.js +193 -0
  29. package/ds-data-table-async/filtersV2/DSDataTable.filtersV2-dateswitcher.keyboard.func.spec.js +376 -0
  30. package/ds-data-table-async/filtersV2/DSDataTable.filtersV2-freetextsearch.keyboard.func.spec.js +72 -0
  31. package/ds-data-table-async/filtersV2/DSDataTable.filtersV2-multiselect.keyboard.func.spec.js +72 -0
  32. package/ds-data-table-async/filtersV2/DSDataTable.filtersV2-numberrange.keyboard.func.spec.js +84 -0
  33. package/ds-data-table-async/filtersV2/DSDataTable.filtersV2-singledate.keyboard.func.spec.js +160 -0
  34. package/ds-data-table-async/filtersV2/DSDataTable.filtersV2-singleselect.keyboard.func.spec.js +72 -0
  35. package/ds-data-table-async/filtersV2/DSDataTable.filtersV2.axe-core.func.spec.js +37 -0
  36. package/ds-data-table-async/filtersV2/DSDataTable.filtersV2.func.spec.js +314 -0
  37. package/ds-data-table-async/filtersV2/DSDataTable.filtersV2.visual.spec.js +200 -0
  38. package/ds-data-table-async/skeleton/DSDataTable.skeleton-cells.axe-core.func.spec.js +24 -0
  39. package/ds-form-combobox-multi/DSComboboxMultiCO.js +6 -0
  40. package/ds-form-combobox-multi/aria-controls/DSComboboxMulti.aria-controls.func.spec.js +23 -0
  41. package/ds-form-combobox-multi/aria-multiselectable/DSComboboxMulti.aria-multiselectable.func.spec.js +21 -0
  42. package/ds-form-combobox-multi/menu-width/DSComboboxMulti.menu-width.visual.spec.js +35 -0
  43. package/ds-form-combobox-multi/slots/DSComboboxMulti.slots.visual.spec.js +1 -4
  44. package/ds-form-combobox-single/DSComboboxSingleCO.js +4 -0
  45. package/ds-form-combobox-single/aria-controls/DSComboboxSingle.aria-controls.func.spec.js +23 -0
  46. package/ds-form-combobox-single/menu-width/DSComboboxSingle.menu-width.visual.spec.js +37 -0
  47. package/ds-form-date-range-picker/DateRangePicker.applyAriaDisabled-invalid.visual.spec.js +30 -0
  48. package/ds-form-date-range-picker/DateRangePicker.applyAriaDisabled.visual.spec.js +30 -0
  49. package/ds-form-date-range-picker/DateRangePicker.readOnly-invalid.visual.spec.js +30 -0
  50. package/ds-form-date-range-picker/DateRangePicker.readOnly.visual.spec.js +26 -0
  51. package/ds-form-date-range-picker/DateRangePickerCO.js +10 -0
  52. package/ds-form-date-range-picker/arrow-keys/DateRangePicker.arrow-keys.func.spec.js +127 -0
  53. package/ds-form-date-time-picker/DSControlledDateTimePickerCO.js +20 -1
  54. package/ds-form-date-time-picker/date-time-full/DateTimePicker.DateTimeFull.output-validation.func.spec.js +31 -0
  55. package/ds-form-date-time-picker/date-time-full/DateTimePicker.DateTimeFull.visual.spec.js +49 -0
  56. package/ds-form-date-time-picker/date-time-full/DateTimePicker.applyAriaDisabled.keyboard-nav.func.spec.js +1 -1
  57. package/ds-form-date-time-picker/date-time-full/DateTimePicker.func.spec.js +1 -1
  58. package/ds-form-date-time-picker/date-time-full/DateTimePicker.invalid-selection.func.spec.js +3 -1
  59. package/ds-form-date-time-picker/date-time-full/DateTimePicker.keyboard-nav.func.spec.js +1 -1
  60. package/ds-form-date-time-picker/date-time-full/DateTimePicker.readOnly.keyboard-nav.func.spec.js +2 -2
  61. package/ds-form-date-time-picker/date-time-input/DateTimeInput.arrow-keys.func.spec.js +125 -0
  62. package/ds-form-date-time-picker/showcase/DateTimePicker.applyAriaDisabled-invalid-selection-showcase.func.spec.js +40 -0
  63. package/ds-form-date-time-picker/showcase/DateTimePicker.applyAriaDisabled-invalid-selection-showcase.visual.spec.js +53 -0
  64. package/ds-form-date-time-picker/showcase/DateTimePicker.invalid-selection-showcase.axe-core.func.spec.js +60 -0
  65. package/ds-form-date-time-picker/showcase/DateTimePicker.invalid-selection-showcase.keyboard-nav.func.spec.js +97 -0
  66. package/ds-form-date-time-picker/showcase/DateTimePicker.readOnly-invalid-selection-showcase.func.spec.js +40 -0
  67. package/ds-form-date-time-picker/showcase/DateTimePicker.readOnly-invalid-selection-showcase.visual.spec.js +53 -0
  68. package/ds-form-date-time-picker/time-full/TimeFull.axe-core.func.spec.js +15 -0
  69. package/ds-form-date-time-picker/time-full/TimeFull.meridiem-a11y.func.spec.js +35 -0
  70. package/ds-form-date-time-picker/time-full/TimeFull.meridiem-keyboard-nav.func.spec.js +41 -0
  71. package/ds-global-header/GlobalHeader.axe-core.func.spec.js +4 -2
  72. package/ds-global-header/GlobalHeaderCO.js +3 -3
  73. package/ds-global-header/slots/GlobalHeader.slots.func.spec.js +39 -39
  74. package/ds-leftnavigation/LeftNavigation.slots.func.spec.js +166 -109
  75. package/ds-leftnavigation/LeftNavigation.slots.visual.spec.js +4 -4
  76. package/ds-leftnavigation/LeftNavigationCO.js +20 -0
  77. package/ds-menu-button/DSMenuButtonCO.js +17 -1
  78. package/ds-menu-button/activable/DSMenuButton.activableMenuItem.visual.spec.js +27 -0
  79. package/ds-menu-button/activable/DSMenuButton.axe-core.activable.func.spec.js +26 -0
  80. package/ds-menu-button/basic/DSMenuButton.axe-core.basic.func.spec.js +26 -0
  81. package/ds-menu-button/basic/DSMenuButton.basic.visual.spec.js +27 -0
  82. package/ds-menu-button/disabled/DSMenuButton.axe-core.disabled.func.spec.js +6 -1
  83. package/ds-menu-button/disabled/DSMenuButton.disabled.visual.spec.js +27 -0
  84. package/ds-menu-button/group/DSMenuButton.axe-core.groupMenuItem.func.spec.js +26 -0
  85. package/ds-menu-button/group/DSMenuButton.groupMenuItem.func.spec.js +41 -0
  86. package/ds-menu-button/group/DSMenuButton.groupMenuItem.keyboardnav.func.spec.js +55 -0
  87. package/ds-menu-button/group/DSMenuButton.groupMenuItem.visual.spec.js +27 -0
  88. package/ds-menu-button/leftdecorations/DSMenuButton.axe-core.leftDecor.func.spec.js +6 -1
  89. package/ds-menu-button/leftdecorations/DSMenuButton.leftDecorations.func.spec.js +45 -0
  90. package/ds-menu-button/leftdecorations/DSMenuButton.leftDecorations.keyboardnav.func.spec.js +57 -0
  91. package/ds-menu-button/leftdecorations/DSMenuButton.leftDecorations.visual.spec.js +27 -0
  92. package/ds-menu-button/multiselect/DSMenuButton.axe-core.multiselect.func.spec.js +4 -2
  93. package/ds-menu-button/multiselect/DSMenuButton.multiSelectItem.visual.spec.js +36 -0
  94. package/ds-menu-button/nexttabstop/DSMenuButton.nextTabstop.keyboardnav.func.spec.js +53 -0
  95. package/ds-menu-button/singleSelect/DSMenuButton.axe-core.singleSelect.func.spec.js +6 -2
  96. package/ds-menu-button/singleSelect/DSMenuButton.singleSelectItem.visual.spec.js +34 -0
  97. package/ds-menu-button/skeleton/DSMenuButton.axe-core.skeletonMenuItem.func.spec.js +27 -0
  98. package/ds-menu-button/skeleton/DSMenuButton.skeletonMenuItem.func.spec.js +35 -0
  99. package/ds-menu-button/skeleton/DSMenuButton.skeletonMenuItem.visual.spec.js +20 -0
  100. package/ds-menu-button/submenu/DSMenuButton.subMenuItem.visual.spec.js +39 -0
  101. package/ds-menu-button/usecases/DSMenuButton.cardExample.visual.spec.js +20 -0
  102. package/ds-menu-button/usecases/DSMenuButton.pageHeaderExample.visual.spec.js +21 -0
  103. package/ds-menu-button/usecases/DSMenuButton.pageHeaderExampleWithDecos.visual.spec.js +23 -0
  104. package/ds-modal-slide/ModalSlideCO.js +6 -0
  105. package/ds-modal-slide/apply-aria-disabled/ModalSlide.applyAriaDisabled.visual.spec.js +44 -0
  106. package/ds-modal-slide/custom-header/ModalSlide.customHeader.focusRing.visual.spec.js +25 -0
  107. package/ds-notification-badge/DSNotificationBadge.axe-core.func.spec.js +1 -1
  108. package/ds-notification-badge/DSNotificationBadge.global-attributes.func.spec.js +23 -0
  109. package/ds-notification-badge/DSNotificationBadgeCO.js +10 -4
  110. package/ds-page-header/DSPageHeader.visual.spec.js +14 -25
  111. package/ds-page-header/DSPageHeaderCO.js +13 -2
  112. package/ds-page-header/semantic-configuration/DSPageHeader.semantic-configuration.func.spec.js +26 -0
  113. package/ds-ribbon/DSRibbon.global-attr.axe-core.spec.js +22 -3
  114. package/ds-ribbon/DSRibbon.role-status.axe-core.spec.js +32 -0
  115. package/ds-ribbon/DSRibbon.theming.visual.spec.js +17 -0
  116. package/ds-ribbon/DSRibbonCO.js +65 -0
  117. package/ds-ribbon/slots/DSRibbon.slots.func.spec.js +63 -0
  118. package/ds-shuttle-v2/extra/DSShuttleV2.extra.func.spec.js +15 -3
  119. package/ds-tab-button/DSTabButton.func.spec.js +24 -0
  120. package/ds-tab-button/DSTabButtonCO.js +16 -0
  121. package/ds-tabs/DSTabs.axe-core.func.spec.js +0 -54
  122. package/ds-tabs/DSTabs.func.spec.js +1 -167
  123. package/ds-tabs/DSTabs.visual.spec.js +13 -69
  124. package/ds-tabs/DSTabsCO.js +2 -36
  125. package/ds-tabs/aria-disabled/DSTabs.aria-disabled.visual.spec.js +2 -2
  126. package/ds-tabs/disabled/DSTabs.disabled.axe-core.func.spec.js +22 -0
  127. package/ds-tabs/disabled/DSTabs.disabled.func.spec.js +28 -0
  128. package/ds-tabs/disabled/DSTabs.disabled.visual.spec.js +58 -0
  129. package/ds-tabs/nested/DSTabs.nested.axe-core.func.spec.js +31 -0
  130. package/ds-tabs/nested/DSTabs.nested.func.spec.js +22 -0
  131. package/ds-tabs/nested/DSTabs.nested.visual.spec.js +30 -0
  132. package/ds-tabs/slots/DSTabs.slots.func.spec.js +47 -15
  133. package/ds-tabs/with-carousel/DSTabs.with-carousel.axe-core.func.spec.js +32 -0
  134. package/ds-tabs/with-carousel/DSTabs.with-carousel.func.spec.js +572 -0
  135. package/ds-tabs/with-carousel/DSTabs.with-carousel.visual.spec.js +169 -28
  136. package/ds-tooltip-v3/DSTooltipV3CO.js +19 -0
  137. package/ds-tooltip-v3/slots/DSTooltipV3.slots.func.spec.js +35 -0
  138. package/ds-tooltip-v3/slots/DSTooltipV3.slots.visual.spec.js +14 -0
  139. package/helpers.js +4 -1
  140. package/package.json +190 -190
  141. package/paths.js +2 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,326 @@
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.1 (2026-04-22)
7
+
8
+ **Note:** Version bump only for package dimsum-e2e-tests
9
+
10
+ ## 3.60.0-next.64 (2026-04-17)
11
+
12
+ ### Features
13
+
14
+ - ds-form-date-range-picker:: add visual E2E tests for readOnly and applyAriaDisabled states [PUI-16394](https://jira.elliemae.io/browse/PUI-16394) ([#7992](https://git.elliemae.io/platform-ui/dimsum/issues/7992)) ([8c47f6d](https://git.elliemae.io/platform-ui/dimsum/commit/8c47f6d27d63ba2aaed8527adc66bde3be113141))
15
+
16
+ ## [3.60.0-next.63](https://git.elliemae.io/platform-ui/dimsum/compare/v3.60.0-next.62...v3.60.0-next.63) (2026-04-17)
17
+
18
+ **Note:** Version bump only for package dimsum-e2e-tests
19
+
20
+ ## 3.60.0-next.62 (2026-04-16)
21
+
22
+ ### Bug Fixes
23
+
24
+ - ds-form-date-range-picker:: solved new styles issues + improved a11y [PUI-18310](https://jira.elliemae.io/browse/PUI-18310) ([c81623d](https://git.elliemae.io/platform-ui/dimsum/commit/c81623db0a459639092449ee4e2d5e9fbc9c6d28))
25
+
26
+ ## 3.60.0-next.61 (2026-04-15)
27
+
28
+ ### Bug Fixes
29
+
30
+ - ds-form-date-time-picker:: regression fixed and style updates [PUI-18310](https://jira.elliemae.io/browse/PUI-18310) ([2ed123a](https://git.elliemae.io/platform-ui/dimsum/commit/2ed123a7dd0a9a452fe70fb02c0fa4b77eeb3e12))
31
+
32
+ ## 3.60.0-next.60 (2026-04-13)
33
+
34
+ **Note:** Version bump only for package dimsum-e2e-tests
35
+
36
+ ## 3.60.0-next.59 (2026-04-13)
37
+
38
+ ### Bug Fixes
39
+
40
+ - ds-card-v1-detail:: info and relationships [PUI-15891] (https://jira.elliemae.io/browse/PUI-15891) ([f6a616b](https://git.elliemae.io/platform-ui/dimsum/commit/f6a616b55f8ec8f96eb00c8f60d0f7bff7a3f97c))
41
+
42
+ ## 3.60.0-next.58 (2026-04-13)
43
+
44
+ ### Bug Fixes
45
+
46
+ - ds-icons:: a11y role img and label linked to title [PUI-17842](https://jira.elliemae.io/browse/PUI-17842) ([9d12ded](https://git.elliemae.io/platform-ui/dimsum/commit/9d12ded382b8d256ac52d4c3a11b4bf108631f69))
47
+
48
+ ## 3.60.0-next.57 (2026-04-10)
49
+
50
+ ### Features
51
+
52
+ - ds-menu-button:: floating config [PUI-17708](https://jira.elliemae.io/browse/PUI-17708) ([87cb40d](https://git.elliemae.io/platform-ui/dimsum/commit/87cb40df2257b160821370142434b1074e415bb9))
53
+
54
+ ## 3.60.0-next.56 (2026-04-09)
55
+
56
+ ### Bug Fixes
57
+
58
+ - ds-card-v1-detail:: info and relationships [PUI-15891] (https://jira.elliemae.io/browse/PUI-15891) ([75afc41](https://git.elliemae.io/platform-ui/dimsum/commit/75afc41c9177059f15c12e1a7d3acedf83e7ba62))
59
+
60
+ ## 3.60.0-next.55 (2026-04-09)
61
+
62
+ ### Bug Fixes
63
+
64
+ - ds-dialog:: prevent false onClickOutside on overlay-press-release-inside-dialog [PUI-15050](https://jira.elliemae.io/browse/PUI-15050) ([7dfda94](https://git.elliemae.io/platform-ui/dimsum/commit/7dfda94e6848e689139b542435dc985fa137b0ef))
65
+
66
+ ## 3.60.0-next.54 (2026-04-08)
67
+
68
+ ### Bug Fixes
69
+
70
+ - ds-form-date-time-picker:: meridiem timewheel a11y fix + readonly styles # [PUI-16394](https://jira.elliemae.io/browse/PUI-16394) # [PUI-18277](https://jira.elliemae.io/browse/PUI-18277) ([2838331](https://git.elliemae.io/platform-ui/dimsum/commit/283833118df804318698e353307f754f7bff70b7))
71
+
72
+ ## 3.60.0-next.53 (2026-04-08)
73
+
74
+ ### Bug Fixes
75
+
76
+ - ds-card:: added e2e test for slots [PUI-15896](https://jira.elliemae.io/browse/PUI-15896) ([733934c](https://git.elliemae.io/platform-ui/dimsum/commit/733934c41889883fc6dc54a2ef0046e89e044925))
77
+
78
+ ## 3.60.0-next.52 (2026-04-06)
79
+
80
+ ### Features
81
+
82
+ - ds-dialog:: confirmation and form example; status message as pitfall [PUI-15048](https://jira.elliemae.io/browse/PUI-15048) ([#7969](https://git.elliemae.io/platform-ui/dimsum/issues/7969)) ([85edf83](https://git.elliemae.io/platform-ui/dimsum/commit/85edf8357497a8f3684814c2c183d15de4600d0c))
83
+
84
+ ## 3.60.0-next.51 (2026-04-06)
85
+
86
+ ### Features
87
+
88
+ - ds-dialog:: basic use case [PUI-15045](https://jira.elliemae.io/browse/PUI-15045) ([#7968](https://git.elliemae.io/platform-ui/dimsum/issues/7968)) ([77143b7](https://git.elliemae.io/platform-ui/dimsum/commit/77143b7c1dafb252e4e899557306085d9e51cd0f))
89
+
90
+ ## 3.60.0-next.50 (2026-04-02)
91
+
92
+ ### Features
93
+
94
+ - ds-tooltip-v3:: added slots and tests # [PUI-16379](https://jira.elliemae.io/browse/PUI-16379) ([#7966](https://git.elliemae.io/platform-ui/dimsum/issues/7966)) ([8025999](https://git.elliemae.io/platform-ui/dimsum/commit/8025999c9a635643a424e466916c4fb3bdcd1bae))
95
+
96
+ ## 3.60.0-next.49 (2026-04-01)
97
+
98
+ **Note:** Version bump only for package dimsum-e2e-tests
99
+
100
+ ## 3.60.0-next.48 (2026-03-31)
101
+
102
+ **Note:** Version bump only for package dimsum-e2e-tests
103
+
104
+ ## 3.60.0-next.47 (2026-03-31)
105
+
106
+ ### Bug Fixes
107
+
108
+ - ds-date-time-picker:: add spinbutton semantics to numeric inputs to comply with WCAG 4.1.2 [PUI-17323](https://jira.elliemae.io/browse/PUI-17323) ([#7959](https://git.elliemae.io/platform-ui/dimsum/issues/7959)) ([94c0da0](https://git.elliemae.io/platform-ui/dimsum/commit/94c0da0b3fa800398e2e16dfef6fee2a510a33c1))
109
+
110
+ ## 3.60.0-next.46 (2026-03-30)
111
+
112
+ ### Bug Fixes
113
+
114
+ - ds-page-header-v2:: skip link example [PUI-14844](https://jira.elliemae.io/browse/PUI-14844) ([#7955](https://git.elliemae.io/platform-ui/dimsum/issues/7955)) ([b97390e](https://git.elliemae.io/platform-ui/dimsum/commit/b97390e2def656900e26df862d613686295008d2))
115
+
116
+ ## 3.60.0-next.45 (2026-03-30)
117
+
118
+ ### Bug Fixes
119
+
120
+ - ds-pills-v2:: add WCAG 2.2 SC 2.5.8 analysis for removable small pill in ComboboxMulti [PUI-18154](https://jira.elliemae.io/browse/PUI-18154)([#7956](https://git.elliemae.io/platform-ui/dimsum/issues/7956)) ([d623fda](https://git.elliemae.io/platform-ui/dimsum/commit/d623fda0d2a4dcc1814e58f19c97e185780edf79))
121
+
122
+ ## 3.60.0-next.44 (2026-03-26)
123
+
124
+ ### Features
125
+
126
+ - ds-data-table:: add keyboard nav tests for all Filters V2 types [PUI-18206](https://jira.elliemae.io/browse/PUI-18206) ([#7950](https://git.elliemae.io/platform-ui/dimsum/issues/7950)) ([e54baa1](https://git.elliemae.io/platform-ui/dimsum/commit/e54baa104db1f46a832977b7eecc6332822c855f))
127
+
128
+ ## 3.60.0-next.43 (2026-03-20)
129
+
130
+ ### Features
131
+
132
+ - ds-read-more:: aria expanded and fixes for safari [PUI-17191](https://jira.elliemae.io/browse/PUI-17191) ([#7947](https://git.elliemae.io/platform-ui/dimsum/issues/7947)) ([f07f003](https://git.elliemae.io/platform-ui/dimsum/commit/f07f003994489f3747b07311a0be004927913e42))
133
+
134
+ ## 3.60.0-next.42 (2026-03-19)
135
+
136
+ ### Bug Fixes
137
+
138
+ - dimsum:: case-sensitive rename to fix build pipeline ([#7944](https://git.elliemae.io/platform-ui/dimsum/issues/7944)) ([41886e8](https://git.elliemae.io/platform-ui/dimsum/commit/41886e866a2569997a8f1a49e106d73d179df716))
139
+
140
+ ## 3.60.0-next.41 (2026-03-18)
141
+
142
+ ### Bug Fixes
143
+
144
+ - ds-data-table:: improve filter change accessibility announcements pattern [PUI-17317](https://jira.elliemae.io/browse/PUI-17317) ([#7942](https://git.elliemae.io/platform-ui/dimsum/issues/7942)) ([065d07a](https://git.elliemae.io/platform-ui/dimsum/commit/065d07aa656694165393c662223b638dd19b7929))
145
+
146
+ ## 3.60.0-next.40 (2026-03-17)
147
+
148
+ ### Bug Fixes
149
+
150
+ - ds-data-table:: prevent focus loss on creatable add and submit on enter for FilterV2 [PUI-18111](https://jira.elliemae.io/browse/PUI-18111) ([#7939](https://git.elliemae.io/platform-ui/dimsum/issues/7939)) ([3845b06](https://git.elliemae.io/platform-ui/dimsum/commit/3845b068c97036ac8d06ae6aeda04861bfb0d112))
151
+
152
+ ## 3.60.0-next.39 (2026-03-16)
153
+
154
+ ### Bug Fixes
155
+
156
+ - ds-card-v1:: add slots showcase [PUI-15889] (https://jira.elliemae.io/browse/ PUI-15889) ([#7935](https://git.elliemae.io/platform-ui/dimsum/issues/7935)) ([fc928af](https://git.elliemae.io/platform-ui/dimsum/commit/fc928af506dac409c08bd074e9a14c6138272bf7))
157
+
158
+ ## 3.60.0-next.38 (2026-03-05)
159
+
160
+ ### Bug Fixes
161
+
162
+ - ds-card-v2:: added slot support [PUI-15890] (https://jira.elliemae.io/browse/PUI-15890) ([#7920](https://git.elliemae.io/platform-ui/dimsum/issues/7920)) ([c14f1e1](https://git.elliemae.io/platform-ui/dimsum/commit/c14f1e1345ead19e226bb34b360353221e5aa96f))
163
+
164
+ ## 3.60.0-next.37 (2026-03-05)
165
+
166
+ ### Features
167
+
168
+ - ds-data-table:: improve folder organization for filtersV2 and v1 vs v2 showcase ([#7919](https://git.elliemae.io/platform-ui/dimsum/issues/7919)) ([85e4fcb](https://git.elliemae.io/platform-ui/dimsum/commit/85e4fcbe61c1cea68baaf8205326d991f5b39476))
169
+
170
+ ## 3.60.0-next.36 (2026-03-03)
171
+
172
+ ### Bug Fixes
173
+
174
+ - dimsum:: storybook - fixed missing redux peer dep post legacy removal ([#7914](https://git.elliemae.io/platform-ui/dimsum/issues/7914)) ([473611c](https://git.elliemae.io/platform-ui/dimsum/commit/473611c112806728e0b5c0fca19743aa04abe8a9))
175
+
176
+ ## 3.60.0-next.35 (2026-03-03)
177
+
178
+ **Note:** Version bump only for package dimsum-e2e-tests
179
+
180
+ ## 3.60.0-next.34 (2026-03-02)
181
+
182
+ **Note:** Version bump only for package dimsum-e2e-tests
183
+
184
+ ## 3.60.0-next.33 (2026-02-27)
185
+
186
+ ### Features
187
+
188
+ - ds-global-header:: theming story [PUI-16360](https://jira.elliemae.io/browse/PUI-16360) ([#7901](https://git.elliemae.io/platform-ui/dimsum/issues/7901)) ([e6a3d8f](https://git.elliemae.io/platform-ui/dimsum/commit/e6a3d8f3ebfdf905e2a85e698ef35168771a7d4e))
189
+
190
+ ## 3.60.0-next.32 (2026-02-25)
191
+
192
+ ### Bug Fixes
193
+
194
+ - ds-data-table:: improve filters focus trap for consistent tab/shift+tab order [PUI-17922](https://jira.elliemae.io/browse/PUI-17922) ([#7900](https://git.elliemae.io/platform-ui/dimsum/issues/7900)) ([b9c579d](https://git.elliemae.io/platform-ui/dimsum/commit/b9c579d4ff5bf16e58aad6931e94a43bcece0a9c))
195
+
196
+ ## 3.60.0-next.31 (2026-02-25)
197
+
198
+ ### Features
199
+
200
+ - ds-menu-button:: enable playwright tests [PUI-16741](https://jira.elliemae.io/browse/PUI-16741) ([#7898](https://git.elliemae.io/platform-ui/dimsum/issues/7898)) ([580ea18](https://git.elliemae.io/platform-ui/dimsum/commit/580ea18cef699587201ced6444eee73936a85c4c))
201
+
202
+ ## 3.60.0-next.30 (2026-02-24)
203
+
204
+ ### Bug Fixes
205
+
206
+ - ds-codemods:: legacy-deprecation-26dot3 replaceAll for multi match fix ([#7897](https://git.elliemae.io/platform-ui/dimsum/issues/7897)) ([3b27f7e](https://git.elliemae.io/platform-ui/dimsum/commit/3b27f7e04a56ed2b14b12a1523748a1a4828c8a1))
207
+
208
+ ## 3.60.0-next.29 (2026-02-23)
209
+
210
+ ### Bug Fixes
211
+
212
+ - ds-tabs:: add functional test for tabs with scrollbar - keyboard nav [PUI-17883](https://jira.elliemae.io/browse/PUI-17883) ([#7895](https://git.elliemae.io/platform-ui/dimsum/issues/7895)) ([bbd1058](https://git.elliemae.io/platform-ui/dimsum/commit/bbd1058f2f1dac1e3f942bca697b304d28996986))
213
+
214
+ ## 3.60.0-next.28 (2026-02-20)
215
+
216
+ ### Bug Fixes
217
+
218
+ - ds-left-navigation:: add functional test for slots customization [PUI-15560](https://jira.elliemae.io/browse/PUI-15560) ([#7892](https://git.elliemae.io/platform-ui/dimsum/issues/7892)) ([6732509](https://git.elliemae.io/platform-ui/dimsum/commit/6732509aaaafeb3c3cc4f2e8e85986177b782c58))
219
+
220
+ ## 3.60.0-next.27 (2026-02-20)
221
+
222
+ ### Bug Fixes
223
+
224
+ - ds-tabs:: show outline in tabpanel ([b9db99f](https://git.elliemae.io/platform-ui/dimsum/commit/b9db99ff6878f67c06cb1abe0e813a85b3ce8dfe))
225
+
226
+ ## 3.60.0-next.26 (2026-02-19)
227
+
228
+ ### Features
229
+
230
+ - ds-global-header:: search-toggle story improved a11y + improved slots support [PUI-17852](https://jira.elliemae.io/browse/PUI-17852) ([#7891](https://git.elliemae.io/platform-ui/dimsum/issues/7891)) ([bed0e22](https://git.elliemae.io/platform-ui/dimsum/commit/bed0e22851cfa990994790f064a0bf1606928645))
231
+
232
+ ## 3.60.0-next.25 (2026-02-19)
233
+
234
+ ### Bug Fixes
235
+
236
+ - ds-global-header:: fixed unit test + slots to dimsum pattern compliancy ([#7889](https://git.elliemae.io/platform-ui/dimsum/issues/7889)) ([7198f8a](https://git.elliemae.io/platform-ui/dimsum/commit/7198f8afcdaa884886c90ac1e492ff82315837cf))
237
+
238
+ ## 3.60.0-next.24 (2026-02-17)
239
+
240
+ ### Features
241
+
242
+ - ds-ribbon:: role analysis and show example using role=status [PUI-17480](https://jira.elliemae.io/browse/PUI-17480) ([#7880](https://git.elliemae.io/platform-ui/dimsum/issues/7880)) ([034a59a](https://git.elliemae.io/platform-ui/dimsum/commit/034a59a2f1449599310d9788dfce12ba8037eb95))
243
+
244
+ ## 3.60.0-next.23 (2026-02-17)
245
+
246
+ **Note:** Version bump only for package dimsum-e2e-tests
247
+
248
+ ## 3.60.0-next.22 (2026-02-16)
249
+
250
+ ### Features
251
+
252
+ - ds-ribbon:: slots usege example and theming support story [PUI-17442](https://jira.elliemae.io/browse/PUI-17442) ([#7879](https://git.elliemae.io/platform-ui/dimsum/issues/7879)) ([a951520](https://git.elliemae.io/platform-ui/dimsum/commit/a951520b52988b331cb495260326ff5750529873))
253
+
254
+ ## 3.60.0-next.21 (2026-02-16)
255
+
256
+ ### Features
257
+
258
+ - ds-chat-bubble:: implement slots in Chat Bubble [PUI-17908](https://jira.elliemae.io/browse/PUI-17908) ([#7877](https://git.elliemae.io/platform-ui/dimsum/issues/7877)) ([9558f1d](https://git.elliemae.io/platform-ui/dimsum/commit/9558f1d0465417ddfd07500728d49b4cceb12cd8))
259
+
260
+ ## 3.60.0-next.20 (2026-02-13)
261
+
262
+ ### Bug Fixes
263
+
264
+ - ds-chip:: update E2E test selectors and chip XPath queries [PUI-17896](https://jira.elliemae.io/browse/PUI-17896) ([#7875](https://git.elliemae.io/platform-ui/dimsum/issues/7875)) ([f682a0a](https://git.elliemae.io/platform-ui/dimsum/commit/f682a0a99c8b01ed886f13d1f5835f10c9e8ae44))
265
+
266
+ ## 3.60.0-next.19 (2026-02-12)
267
+
268
+ ### Features
269
+
270
+ - ds-ribbon:: typescript fixes by dimsum alignment [PUI-17478](https://jira.elliemae.io/browse/PUI-17478)([#7870](https://git.elliemae.io/platform-ui/dimsum/issues/7870)) ([6dcb730](https://git.elliemae.io/platform-ui/dimsum/commit/6dcb730e31dcb4cfab2e863db38c01de894a7af9))
271
+
272
+ ## 3.60.0-next.18 (2026-02-09)
273
+
274
+ ### Bug Fixes
275
+
276
+ - ds-left-navigation:: e2e story for detected missing slots [PUI-15560](https://jira.elliemae.io/browse/PUI-15560) ([#7864](https://git.elliemae.io/platform-ui/dimsum/issues/7864)) ([37e630b](https://git.elliemae.io/platform-ui/dimsum/commit/37e630be9e1023dee24e17a3e49da1d53d351060))
277
+
278
+ ## 3.60.0-next.17 (2026-02-06)
279
+
280
+ ### Features
281
+
282
+ - ds-global-header:: search toggle example improve [PUI-17487](https://jira.elliemae.io/browse/PUI-17487) ([#7862](https://git.elliemae.io/platform-ui/dimsum/issues/7862)) ([8d268f8](https://git.elliemae.io/platform-ui/dimsum/commit/8d268f8fa3a8e4a065b1897128a866eb2af1c050))
283
+
284
+ ## 3.60.0-next.16 (2026-02-06)
285
+
286
+ ### Features
287
+
288
+ - ds-global-header:: search toggle tests [PUI-17487](https://jira.elliemae.io/browse/PUI-17487) ([#7861](https://git.elliemae.io/platform-ui/dimsum/issues/7861)) ([039b36d](https://git.elliemae.io/platform-ui/dimsum/commit/039b36dd5bf53053cf5d7e636ba0f7dbd17bff11))
289
+
290
+ ## 3.60.0-next.15 (2026-01-29)
291
+
292
+ ### Features
293
+
294
+ - dimsum:: upgraded third party libraries [PUI-17276](https://jira.elliemae.io/browse/PUI-17276) ([#7833](https://git.elliemae.io/platform-ui/dimsum/issues/7833)) ([361aafb](https://git.elliemae.io/platform-ui/dimsum/commit/361aafb523a55187f0951f4a2b338458f8198c97))
295
+
296
+ ## 3.60.0-next.14 (2026-01-26)
297
+
298
+ ### Features
299
+
300
+ - ds-menu-button:: slots and unit tests support [PUI-17708](https://jira.elliemae.io/browse/PUI-17708) ([#7822](https://git.elliemae.io/platform-ui/dimsum/issues/7822)) ([211afa4](https://git.elliemae.io/platform-ui/dimsum/commit/211afa4b48182892a8945e08c69d693021684986))
301
+
302
+ ## 3.60.0-next.13 (2026-01-20)
303
+
304
+ ### Bug Fixes
305
+
306
+ - ds-dialog:: raise condition caused by layout effect [PUI-17804](https://jira.elliemae.io/browse/PUI-17804)([#7826](https://git.elliemae.io/platform-ui/dimsum/issues/7826)) ([c07f693](https://git.elliemae.io/platform-ui/dimsum/commit/c07f69337344e77e0b3bfb0974b171c410972a06))
307
+
308
+ ## 3.60.0-next.12 (2026-01-16)
309
+
310
+ ### Features
311
+
312
+ - dimsum:: fixed dependencies and added knip for reports [PUI-17275](https://jira.elliemae.io/browse/PUI-17275) ([#7824](https://git.elliemae.io/platform-ui/dimsum/issues/7824)) ([65b7cf4](https://git.elliemae.io/platform-ui/dimsum/commit/65b7cf4e3558d20957adc405bd91ea9370b11589))
313
+
314
+ ## 3.60.0-next.11 (2026-01-14)
315
+
316
+ ### Features
317
+
318
+ - ds-tabs:: update carousel to horizontal scroll [PUI-17483](https://jira.elliemae.io/browse/PUI-17483) ([#7821](https://git.elliemae.io/platform-ui/dimsum/issues/7821)) ([9cfe8a5](https://git.elliemae.io/platform-ui/dimsum/commit/9cfe8a56d6277fe4fc9ffcf9c9dfb97dff7adfbf))
319
+
320
+ ## 3.60.0-next.10 (2026-01-14)
321
+
322
+ ### Bug Fixes
323
+
324
+ - ds-app-picker:: support global attributes [PUI-17246](https://jira.elliemae.io/browse/PUI-17246) ([#7820](https://git.elliemae.io/platform-ui/dimsum/issues/7820)) ([1b2a2ea](https://git.elliemae.io/platform-ui/dimsum/commit/1b2a2ea55ca4ea19386e891be939c3615a244468))
325
+
6
326
  ## [3.60.0-next.9](https://git.elliemae.io/platform-ui/dimsum/compare/v3.60.0-next.8...v3.60.0-next.9) (2026-01-13)
7
327
 
8
328
  **Note:** Version bump only for package dimsum-e2e-tests
@@ -16,6 +16,8 @@ export default class DSAppPickerCO extends PageObject {
16
16
 
17
17
  static applyAriaDisabledURL = new Urlbuilder(`${PATH_E2E_APP_PICKER}`, 'apply-aria-disabled-test');
18
18
 
19
+ static reflowURL = new Urlbuilder(`${PATH_E2E_APP_PICKER}`, 'reflow-test');
20
+
19
21
  // Snapshots
20
22
  static snapshotPath(example = 'basic') {
21
23
  return PageObject.getSnapshotPathBuilder('AppPicker', example);
@@ -37,6 +39,14 @@ export default class DSAppPickerCO extends PageObject {
37
39
  static getChipByLabel = async (label) =>
38
40
  $(`//button[@data-testid="app-picker__chip"]/div/span[contains(text(),"${label}")]//ancestor::button`);
39
41
 
42
+ static getChipsByLabel = async (label) =>
43
+ $$(`//button[@data-testid="app-picker__chip"]/div/span[contains(text(),"${label}")]//ancestor::button`);
44
+
45
+ static getChipByLabelAndIndex = async (label, index) => {
46
+ const chips = await DSAppPickerCO.getChipsByLabel(label);
47
+ return chips[index];
48
+ };
49
+
40
50
  static async getAppPickerRoot() {
41
51
  return $('[data-testid="ds-apppicker-root"]');
42
52
  }
@@ -34,8 +34,8 @@ if (
34
34
  const appPicker = await DSAppPickerCO.getAppPickerRoot();
35
35
  await expect(appPicker).toBeDisplayedInViewport();
36
36
  });
37
- it('05: should focus the sixth element when clicking it', async () => {
38
- const appPickerChip = await DSAppPickerCO.getChipByIndex(5);
37
+ it('05: should focus the seventh element when clicking it', async () => {
38
+ const appPickerChip = await DSAppPickerCO.getChipByIndex(6);
39
39
  await appPickerChip.click();
40
40
  await expect(appPickerChip).toBeFocused();
41
41
  });
@@ -0,0 +1,36 @@
1
+ /* eslint-disable wdio/no-pause */
2
+ import DSAppPickerCO from '../DSAppPickerCO';
3
+
4
+ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:options'].isTablet) {
5
+ describe('PUI-17867 - AppPicker:: Reflow test -visual', () => {
6
+ before('loading page', async () => {
7
+ const errorOnGo = await DSAppPickerCO.reflowURL.go();
8
+ if (errorOnGo) throw errorOnGo;
9
+ await browser.maximizeWindow();
10
+ });
11
+
12
+ it('01: should show appPicker open', async () => {
13
+ const openAppPickerBtn = await DSAppPickerCO.getOpenAppPicker();
14
+ await openAppPickerBtn.click();
15
+ const snapshot = await browser.percyCheckScreenshot(DSAppPickerCO.snapshotPath('reflow-appPicker-open'));
16
+ await expect(snapshot).toEqual(0);
17
+ });
18
+
19
+ it('02: should scroll to the 2nd Pipeline chip', async () => {
20
+ const secondPipelineChip = await DSAppPickerCO.getChipByLabelAndIndex('Pipeline', 1);
21
+ await secondPipelineChip.scrollIntoView();
22
+ await browser.pause(300);
23
+ const snapshot = await browser.percyCheckScreenshot(DSAppPickerCO.snapshotPath('reflow-appPicker-scrolled'));
24
+ await expect(snapshot).toEqual(0);
25
+ });
26
+
27
+ it('03: should select the 2nd Pipeline chip', async () => {
28
+ const secondPipelineChip = await DSAppPickerCO.getChipByLabelAndIndex('Pipeline', 1);
29
+ await secondPipelineChip.click();
30
+ const snapshot = await browser.percyCheckScreenshot(
31
+ DSAppPickerCO.snapshotPath('reflow-appPicker-pipeline-selected'),
32
+ );
33
+ await expect(snapshot).toEqual(0);
34
+ });
35
+ });
36
+ }
@@ -39,5 +39,18 @@ if (
39
39
  await expect(titleSlot).toHaveAttribute('aria-label', 'im title aria');
40
40
  await expect(separatorSlot).toHaveAttribute('aria-label', 'im separator aria');
41
41
  });
42
+ it('03: should have custom data-public for each slot', async () => {
43
+ const itemSlot = await DSAppPickerCO.getItemSlotByIndex();
44
+ const rowSlot = await DSAppPickerCO.getRowSlotByIndex();
45
+ const rootSlot = await DSAppPickerCO.getRootSlotByIndex();
46
+ const titleSlot = await DSAppPickerCO.getTitleSlotByIndex();
47
+ const separatorSlot = await DSAppPickerCO.getSeparatorSlotByIndex();
48
+ await rootSlot.waitForDisplayed();
49
+ await expect(itemSlot).toHaveAttribute('data-public', 'item-custom-attribute');
50
+ await expect(rowSlot).toHaveAttribute('data-public', 'row-custom-attribute');
51
+ await expect(rootSlot).toHaveAttribute('data-public', 'root-custom-attribute');
52
+ await expect(titleSlot).toHaveAttribute('data-public', 'title-custom-attribute');
53
+ await expect(separatorSlot).toHaveAttribute('data-public', 'separator-custom-attribute');
54
+ });
42
55
  });
43
56
  }
@@ -0,0 +1,95 @@
1
+ /* eslint-disable max-statements */
2
+ import DSCardCO from './DSCardCO';
3
+
4
+ if (
5
+ (!browser.capabilities['ice:options'].isPhone &&
6
+ !browser.capabilities['ice:options'].isTablet &&
7
+ browser.capabilities.browserName === 'chrome') ||
8
+ browser.capabilities.browserName === 'Chrome'
9
+ ) {
10
+ describe('PUI-18280 - Card: Slots Test -Func', () => {
11
+ before('loading page', async () => {
12
+ const errorOnGo = await DSCardCO.slotsTest.go();
13
+ if (errorOnGo) throw errorOnGo;
14
+ });
15
+ it('01: Should have a custom aria for each slot', async () => {
16
+ const actions = await DSCardCO.getCardNavigationActionsSlotByIndex();
17
+ const actionButton = await DSCardCO.getCardNavigationActionButtonSlotByIndex();
18
+ const buttonWrapper = await DSCardCO.getCardNavigationButtonWrapperSlotByIndex();
19
+ const centralContent = await DSCardCO.getCardNavigationCentralContentSlotByIndex();
20
+ const content = await DSCardCO.getCardNavigationContentSlotByIndex();
21
+ const descriptionText = await DSCardCO.getCardNavigationDescriptionTextSlotByIndex();
22
+ const interactiveElementRegion = await DSCardCO.getCardNavigationInteractiveElementRegionSlotByIndex();
23
+ const root = await DSCardCO.getCardNavigationRootSlotByIndex();
24
+ const title = await DSCardCO.getCardNavigationTitleSlotByIndex();
25
+ const titleTypography = await DSCardCO.getCardNavigationTitleTypographySlotByIndex();
26
+ const titleWrapper = await DSCardCO.getCardNavigationTitleWrapperSlotByIndex();
27
+ const type = await DSCardCO.getCardNavigationTypeSlotByIndex();
28
+ await expect(actions).toHaveAttribute('aria-label', 'actions aria');
29
+ await expect(actionButton).toHaveAttribute('aria-label', 'action button aria');
30
+ await expect(buttonWrapper).toHaveAttribute('aria-label', 'button wrapper aria');
31
+ await expect(centralContent).toHaveAttribute('aria-label', 'central content aria');
32
+ await expect(content).toHaveAttribute('aria-label', 'content aria');
33
+ await expect(descriptionText).toHaveAttribute('aria-label', 'description text aria');
34
+ await expect(interactiveElementRegion).toHaveAttribute('aria-label', 'interactive element region aria');
35
+ await expect(root).toHaveAttribute('aria-label', 'root aria');
36
+ await expect(title).toHaveAttribute('aria-label', 'title aria');
37
+ await expect(titleTypography).toHaveAttribute('aria-label', 'title typography aria');
38
+ await expect(titleWrapper).toHaveAttribute('aria-label', 'title wrapper aria');
39
+ await expect(type).toHaveAttribute('aria-label', 'type aria');
40
+ });
41
+
42
+ it('02: Should have custom data-testid for each slot', async () => {
43
+ const actions = await DSCardCO.getCardNavigationActionsSlotByIndex();
44
+ const actionButton = await DSCardCO.getCardNavigationActionButtonSlotByIndex();
45
+ const buttonWrapper = await DSCardCO.getCardNavigationButtonWrapperSlotByIndex();
46
+ const centralContent = await DSCardCO.getCardNavigationCentralContentSlotByIndex();
47
+ const content = await DSCardCO.getCardNavigationContentSlotByIndex();
48
+ const descriptionText = await DSCardCO.getCardNavigationDescriptionTextSlotByIndex();
49
+ const interactiveElementRegion = await DSCardCO.getCardNavigationInteractiveElementRegionSlotByIndex();
50
+ const root = await DSCardCO.getCardNavigationRootSlotByIndex();
51
+ const title = await DSCardCO.getCardNavigationTitleSlotByIndex();
52
+ const titleTypography = await DSCardCO.getCardNavigationTitleTypographySlotByIndex();
53
+ const titleWrapper = await DSCardCO.getCardNavigationTitleWrapperSlotByIndex();
54
+ const type = await DSCardCO.getCardNavigationTypeSlotByIndex();
55
+ await expect(actions).toHaveAttribute('data-testid', 'actions data');
56
+ await expect(actionButton).toHaveAttribute('data-testid', 'action button data');
57
+ await expect(buttonWrapper).toHaveAttribute('data-testid', 'button wrapper data');
58
+ await expect(centralContent).toHaveAttribute('data-testid', 'central content data');
59
+ await expect(content).toHaveAttribute('data-testid', 'content data');
60
+ await expect(descriptionText).toHaveAttribute('data-testid', 'description text data');
61
+ await expect(interactiveElementRegion).toHaveAttribute('data-testid', 'interactive element region data');
62
+ await expect(root).toHaveAttribute('data-testid', 'root data');
63
+ await expect(title).toHaveAttribute('data-testid', 'title data');
64
+ await expect(titleTypography).toHaveAttribute('data-testid', 'title typography data');
65
+ await expect(titleWrapper).toHaveAttribute('data-testid', 'title wrapper data');
66
+ await expect(type).toHaveAttribute('data-testid', 'type data');
67
+ });
68
+ it('03: Should have custom lang for each slot', async () => {
69
+ const actions = await DSCardCO.getCardNavigationActionsSlotByIndex();
70
+ const actionButton = await DSCardCO.getCardNavigationActionButtonSlotByIndex();
71
+ const buttonWrapper = await DSCardCO.getCardNavigationButtonWrapperSlotByIndex();
72
+ const centralContent = await DSCardCO.getCardNavigationCentralContentSlotByIndex();
73
+ const content = await DSCardCO.getCardNavigationContentSlotByIndex();
74
+ const descriptionText = await DSCardCO.getCardNavigationDescriptionTextSlotByIndex();
75
+ const interactiveElementRegion = await DSCardCO.getCardNavigationInteractiveElementRegionSlotByIndex();
76
+ const root = await DSCardCO.getCardNavigationRootSlotByIndex();
77
+ const title = await DSCardCO.getCardNavigationTitleSlotByIndex();
78
+ const titleTypography = await DSCardCO.getCardNavigationTitleTypographySlotByIndex();
79
+ const titleWrapper = await DSCardCO.getCardNavigationTitleWrapperSlotByIndex();
80
+ const type = await DSCardCO.getCardNavigationTypeSlotByIndex();
81
+ await expect(actions).toHaveAttribute('lang', 'es');
82
+ await expect(actionButton).toHaveAttribute('lang', 'fr');
83
+ await expect(buttonWrapper).toHaveAttribute('lang', 'de');
84
+ await expect(centralContent).toHaveAttribute('lang', 'it');
85
+ await expect(content).toHaveAttribute('lang', 'pt');
86
+ await expect(descriptionText).toHaveAttribute('lang', 'ja');
87
+ await expect(interactiveElementRegion).toHaveAttribute('lang', 'zh');
88
+ await expect(root).toHaveAttribute('lang', 'ru');
89
+ await expect(title).toHaveAttribute('lang', 'ko');
90
+ await expect(titleTypography).toHaveAttribute('lang', 'ar');
91
+ await expect(titleWrapper).toHaveAttribute('lang', 'hi');
92
+ await expect(type).toHaveAttribute('lang', 'nl');
93
+ });
94
+ });
95
+ }
@@ -0,0 +1,23 @@
1
+ /* eslint-disable max-statements */
2
+ import DSCardCO from './DSCardCO';
3
+
4
+ if (
5
+ (!browser.capabilities['ice:options'].isPhone &&
6
+ !browser.capabilities['ice:options'].isTablet &&
7
+ browser.capabilities.browserName === 'chrome') ||
8
+ browser.capabilities.browserName === 'Chrome'
9
+ ) {
10
+ describe('PUI-18281 - Card: Slots Test -Visual', () => {
11
+ before('loading page', async () => {
12
+ const errorOnGo = await DSCardCO.slotsTest.go();
13
+ if (errorOnGo) throw errorOnGo;
14
+ });
15
+ it('01: Should have a custom aria for each slot', async () => {
16
+ await browser.eyesOpen();
17
+ const root = await DSCardCO.getCardNavigationRootSlotByIndex();
18
+ await root.waitForDisplayed();
19
+ const snapshot = await browser.checkSnapshot(DSCardCO.snapshotPath('card-slots'));
20
+ await expect(snapshot).toEqual(0);
21
+ });
22
+ });
23
+ }
@@ -22,6 +22,8 @@ export default class DSCardCO extends PageObject {
22
22
 
23
23
  static ucDetailCardLongLabelURL = new Urlbuilder(PATH_E2E_CARD, 'detail-card-long-label');
24
24
 
25
+ static slotsTest = new Urlbuilder(PATH_E2E_CARD, 'slots-test');
26
+
25
27
  static ucDetailCardLongTitleURL = new Urlbuilder(PATH_E2E_CARD, 'detail-card-long-title');
26
28
 
27
29
  static detailExpandableURL = new Urlbuilder(PATH_E2E_CARD, 'detail-expandable-test');
@@ -78,4 +80,52 @@ export default class DSCardCO extends PageObject {
78
80
  static async getRightAddonButton() {
79
81
  return $('[data-testid="right-addon-button"]');
80
82
  }
83
+
84
+ static async getCardNavigationActionsSlotByIndex(index = 0) {
85
+ return $$('[data-dimsum-slot="dsCardnavigationActions"]')[index];
86
+ }
87
+
88
+ static async getCardNavigationActionButtonSlotByIndex(index = 0) {
89
+ return $$('[data-dimsum-parent-slot="dsCardnavigationActionButton"]')[index];
90
+ }
91
+
92
+ static async getCardNavigationButtonWrapperSlotByIndex(index = 0) {
93
+ return $$('[data-dimsum-slot="dsCardnavigationButtonWrapper"]')[index];
94
+ }
95
+
96
+ static async getCardNavigationCentralContentSlotByIndex(index = 0) {
97
+ return $$('[data-dimsum-slot="dsCardnavigationCentralContent"]')[index];
98
+ }
99
+
100
+ static async getCardNavigationContentSlotByIndex(index = 0) {
101
+ return $$('[data-dimsum-slot="dsCardnavigationContent"]')[index];
102
+ }
103
+
104
+ static async getCardNavigationDescriptionTextSlotByIndex(index = 0) {
105
+ return $$('[data-dimsum-parent-slot="dsCardnavigationDescriptionText"]')[index];
106
+ }
107
+
108
+ static async getCardNavigationInteractiveElementRegionSlotByIndex(index = 0) {
109
+ return $$('[data-dimsum-slot="dsCardnavigationInteractiveElementRegion"]')[index];
110
+ }
111
+
112
+ static async getCardNavigationRootSlotByIndex(index = 0) {
113
+ return $$('[data-dimsum-slot="dsCardnavigationRoot"]')[index];
114
+ }
115
+
116
+ static async getCardNavigationTitleSlotByIndex(index = 0) {
117
+ return $$('[data-dimsum-slot="dsCardnavigationTitle"]')[index];
118
+ }
119
+
120
+ static async getCardNavigationTitleTypographySlotByIndex(index = 0) {
121
+ return $$('[data-dimsum-parent-slot="dsCardnavigationTitleTypography"]')[index];
122
+ }
123
+
124
+ static async getCardNavigationTitleWrapperSlotByIndex(index = 0) {
125
+ return $$('[data-dimsum-slot="dsCardnavigationTitleWrapper"]')[index];
126
+ }
127
+
128
+ static async getCardNavigationTypeSlotByIndex(index = 0) {
129
+ return $$('[data-dimsum-slot="dsCardnavigationType"]')[index];
130
+ }
81
131
  }
@@ -33,7 +33,24 @@ if (!browser.capabilities['ice:options'].isPhone && !browser.capabilities['ice:o
33
33
  });
34
34
  });
35
35
 
36
- describe('PUI-8928 - Chip, Styles -visual', () => {
36
+ describe('PUI-17879 - Chip, Basic & Labels -Visual', () => {
37
+ before('loading page', async () => {
38
+ const errorOnGo = await DSChipCO.basicURL.go();
39
+ if (errorOnGo) throw errorOnGo;
40
+ });
41
+ it('01: should show basic chips by default', async () => {
42
+ await (await DSChipCO.getChipByIndex(1)).waitForDisplayed();
43
+ const snapshot = await browser.percyCheckScreenshot(DSChipCO.snapshotPath('dschips-basic-default'));
44
+ await expect(snapshot).toEqual(0);
45
+ });
46
+ it('02: truncated chip should show text on hover', async () => {
47
+ await mouseOver(await DSChipCO.getChipByIndex(3));
48
+ const snapshot = await browser.percyCheckScreenshot(DSChipCO.snapshotPath('dschips-basic-untruncated'));
49
+ await expect(snapshot).toEqual(0);
50
+ });
51
+ });
52
+
53
+ describe('PUI-17879 - Chip, Styles -visual', () => {
37
54
  before('loading page', async () => {
38
55
  const errorOnGo = await DSChipCO.shapeURL.go();
39
56
  if (errorOnGo) throw errorOnGo;
@@ -16,6 +16,8 @@ export default class DSChipCO extends PageObject {
16
16
 
17
17
  static applyAriaDisabledURL = new Urlbuilder(PATH_E2E_CHIP, 'apply-aria-disabled-test');
18
18
 
19
+ static customAttributesUsageURL = new Urlbuilder(PATH_E2E_CHIP, 'custom-attributes-usage-test');
20
+
19
21
  // Snapshots
20
22
  static snapshotPath(example = 'basic') {
21
23
  return PageObject.getSnapshotPathBuilder('Chip', example);