genesys-spark-components 4.0.0-beta.46 → 4.0.0-beta.48

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 (351) hide show
  1. package/dist/cjs/genesys-webcomponents.cjs.js +1 -1
  2. package/dist/cjs/gux-accordion.cjs.entry.js +1 -1
  3. package/dist/cjs/gux-action-button.cjs.entry.js +1 -1
  4. package/dist/cjs/gux-action-toast-legacy.cjs.entry.js +1 -1
  5. package/dist/cjs/gux-advanced-dropdown-legacy.cjs.entry.js +1 -1
  6. package/dist/cjs/gux-all-row-select.cjs.entry.js +2 -2
  7. package/dist/cjs/gux-announce-beta.cjs.entry.js +1 -1
  8. package/dist/cjs/gux-badge.cjs.entry.js +1 -1
  9. package/dist/cjs/gux-blank-state.cjs.entry.js +1 -1
  10. package/dist/cjs/gux-breadcrumbs.cjs.entry.js +1 -1
  11. package/dist/cjs/gux-button-multi.cjs.entry.js +1 -1
  12. package/dist/cjs/gux-button-slot.cjs.entry.js +1 -1
  13. package/dist/cjs/gux-button.cjs.entry.js +1 -1
  14. package/dist/cjs/gux-calendar.cjs.entry.js +1 -1
  15. package/dist/cjs/gux-card.cjs.entry.js +1 -1
  16. package/dist/cjs/gux-column-manager.cjs.entry.js +1 -1
  17. package/dist/cjs/gux-content-search.cjs.entry.js +4 -4
  18. package/dist/cjs/gux-context-menu.cjs.entry.js +2 -2
  19. package/dist/cjs/gux-copy-to-clipboard.cjs.entry.js +1 -1
  20. package/dist/cjs/gux-create-option.cjs.entry.js +1 -1
  21. package/dist/cjs/gux-date-beta.cjs.entry.js +1 -1
  22. package/dist/cjs/gux-date-time-beta.cjs.entry.js +1 -1
  23. package/dist/cjs/gux-datepicker.cjs.entry.js +1 -1
  24. package/dist/cjs/gux-disclosure-button-legacy.cjs.entry.js +1 -1
  25. package/dist/cjs/gux-dismiss-button.cjs.entry.js +1 -1
  26. package/dist/cjs/gux-dropdown-multi-tag.cjs.entry.js +1 -1
  27. package/dist/cjs/gux-dropdown-multi.cjs.entry.js +4 -3
  28. package/dist/cjs/gux-dropdown_3.cjs.entry.js +12 -17
  29. package/dist/cjs/gux-flyout-menu.cjs.entry.js +1 -1
  30. package/dist/cjs/gux-form-field-checkbox.cjs.entry.js +8 -4
  31. package/dist/cjs/gux-form-field-color.cjs.entry.js +1 -1
  32. package/dist/cjs/gux-form-field-dropdown.cjs.entry.js +1 -1
  33. package/dist/cjs/gux-form-field-input-clear-button.cjs.entry.js +1 -1
  34. package/dist/cjs/gux-form-field-number_3.cjs.entry.js +1 -1
  35. package/dist/cjs/gux-form-field-phone.cjs.entry.js +1 -1
  36. package/dist/cjs/gux-form-field-radio.cjs.entry.js +2 -2
  37. package/dist/cjs/gux-form-field-range.cjs.entry.js +1 -1
  38. package/dist/cjs/gux-form-field-search.cjs.entry.js +1 -1
  39. package/dist/cjs/gux-form-field-select.cjs.entry.js +1 -1
  40. package/dist/cjs/gux-form-field-text-like.cjs.entry.js +1 -1
  41. package/dist/cjs/gux-form-field-textarea.cjs.entry.js +1 -1
  42. package/dist/cjs/gux-form-field-time-picker.cjs.entry.js +1 -1
  43. package/dist/cjs/gux-form-field-time-zone-picker.cjs.entry.js +1 -1
  44. package/dist/cjs/gux-icon.cjs.entry.js +1 -1
  45. package/dist/cjs/gux-inline-alert.cjs.entry.js +1 -1
  46. package/dist/cjs/gux-list.cjs.entry.js +2 -2
  47. package/dist/cjs/gux-listbox-multi.cjs.entry.js +9 -7
  48. package/dist/cjs/{gux-listbox.service-b1068596.js → gux-listbox.service-9bcd72cb.js} +2 -6
  49. package/dist/cjs/gux-loading-message.cjs.entry.js +1 -1
  50. package/dist/cjs/gux-modal-legacy.cjs.entry.js +85 -0
  51. package/dist/cjs/gux-modal.cjs.entry.js +26 -50
  52. package/dist/cjs/gux-month-picker-beta.cjs.entry.js +1 -1
  53. package/dist/cjs/gux-notification-toast-legacy.cjs.entry.js +1 -1
  54. package/dist/cjs/gux-option-icon.cjs.entry.js +1 -1
  55. package/dist/cjs/gux-option-multi.cjs.entry.js +1 -9
  56. package/dist/cjs/gux-page-loading-spinner.cjs.entry.js +1 -1
  57. package/dist/cjs/gux-pagination-cursor.cjs.entry.js +1 -1
  58. package/dist/cjs/gux-pagination-legacy.cjs.entry.js +1 -1
  59. package/dist/cjs/gux-pagination.cjs.entry.js +1 -1
  60. package/dist/cjs/gux-phone-input-beta.cjs.entry.js +1 -1
  61. package/dist/cjs/gux-popover-list.cjs.entry.js +1 -1
  62. package/dist/cjs/gux-radial-loading.cjs.entry.js +1 -1
  63. package/dist/cjs/gux-radial-progress.cjs.entry.js +1 -1
  64. package/dist/cjs/gux-rating.cjs.entry.js +1 -1
  65. package/dist/cjs/gux-region-icon.cjs.entry.js +1 -1
  66. package/dist/cjs/gux-row-select.cjs.entry.js +2 -2
  67. package/dist/cjs/gux-screen-reader-beta.cjs.entry.js +1 -1
  68. package/dist/cjs/gux-segmented-control-beta.cjs.entry.js +1 -1
  69. package/dist/cjs/gux-simple-toast-legacy.cjs.entry.js +1 -1
  70. package/dist/cjs/gux-skip-navigation-list.cjs.entry.js +1 -1
  71. package/dist/cjs/gux-sort-control.cjs.entry.js +1 -1
  72. package/dist/cjs/gux-switch-legacy.cjs.entry.js +1 -1
  73. package/dist/cjs/gux-table-select-menu.cjs.entry.js +1 -1
  74. package/dist/cjs/gux-table-toolbar-action.cjs.entry.js +1 -1
  75. package/dist/cjs/gux-table-toolbar-custom-action.cjs.entry.js +1 -1
  76. package/dist/cjs/gux-table-toolbar-menu-button.cjs.entry.js +1 -1
  77. package/dist/cjs/gux-table-toolbar.cjs.entry.js +1 -1
  78. package/dist/cjs/gux-table.cjs.entry.js +1 -1
  79. package/dist/cjs/gux-tabs-advanced.cjs.entry.js +1 -1
  80. package/dist/cjs/gux-tabs.cjs.entry.js +3 -6
  81. package/dist/cjs/gux-tag.cjs.entry.js +2 -2
  82. package/dist/cjs/gux-text-highlight.cjs.entry.js +1 -1
  83. package/dist/cjs/gux-time-beta.cjs.entry.js +1 -1
  84. package/dist/cjs/gux-time-picker.cjs.entry.js +1 -1
  85. package/dist/cjs/gux-time-zone-picker-beta.cjs.entry.js +1 -1
  86. package/dist/cjs/gux-toast.cjs.entry.js +1 -1
  87. package/dist/cjs/gux-toggle.cjs.entry.js +1 -1
  88. package/dist/cjs/gux-tooltip.cjs.entry.js +1 -1
  89. package/dist/cjs/index-75c9f0d9.js +4 -0
  90. package/dist/cjs/loader.cjs.js +1 -1
  91. package/dist/cjs/{usage-b5bcd6f4.js → usage-a2209eea.js} +2 -2
  92. package/dist/collection/collection-manifest.json +3 -2
  93. package/dist/collection/components/legacy/gux-modal-legacy/gux-modal-legacy.css +122 -0
  94. package/dist/collection/components/legacy/gux-modal-legacy/gux-modal-legacy.js +181 -0
  95. package/dist/collection/components/legacy/gux-modal-legacy/gux-modal-legacy.types.js +1 -0
  96. package/dist/collection/components/legacy/gux-modal-legacy/tests/gux-modal-legacy.e2e.js +301 -0
  97. package/dist/collection/components/legacy/gux-modal-legacy/tests/gux-modal-legacy.spec.js +200 -0
  98. package/dist/collection/components/stable/gux-button-multi/tests/gux-button-multi.e2e.js +10 -3
  99. package/dist/collection/components/stable/gux-content-search/gux-content-search.css +17 -4
  100. package/dist/collection/components/stable/gux-content-search/gux-content-search.js +2 -2
  101. package/dist/collection/components/stable/gux-content-search/tests/gux-content-search.e2e.js +5 -0
  102. package/dist/collection/components/stable/gux-context-menu/gux-context-menu.css +1 -0
  103. package/dist/collection/components/stable/gux-context-menu/tests/gux-context-menu.e2e.js +9 -2
  104. package/dist/collection/components/stable/gux-dropdown/gux-dropdown.css +4 -5
  105. package/dist/collection/components/stable/gux-dropdown/gux-dropdown.js +3 -2
  106. package/dist/collection/components/stable/gux-dropdown-multi/gux-dropdown-multi-tag/gux-dropdown-multi-tag.css +1 -1
  107. package/dist/collection/components/stable/gux-dropdown-multi/gux-dropdown-multi.css +2 -2
  108. package/dist/collection/components/stable/gux-dropdown-multi/gux-dropdown-multi.js +2 -1
  109. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-checkbox/gux-form-field-checkbox.css +8 -4
  110. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-checkbox/gux-form-field-checkbox.js +28 -2
  111. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-radio/gux-form-field-radio.js +1 -1
  112. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-radio/tests/gux-form-field-radio.e2e.js +17 -4
  113. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-radio/tests/gux-form-field-radio.spec.js +17 -4
  114. package/dist/collection/components/stable/gux-list/gux-list.js +1 -1
  115. package/dist/collection/components/stable/gux-listbox/gux-listbox.css +2 -1
  116. package/dist/collection/components/stable/gux-listbox/gux-listbox.js +6 -10
  117. package/dist/collection/components/stable/gux-listbox/gux-listbox.service.js +2 -7
  118. package/dist/collection/components/stable/gux-listbox/options/gux-option/gux-option.css +9 -1
  119. package/dist/collection/components/stable/gux-listbox/options/gux-option/gux-option.js +0 -41
  120. package/dist/collection/components/stable/gux-listbox/options/gux-option-icon/gux-option-icon.css +9 -1
  121. package/dist/collection/components/stable/gux-listbox-multi/gux-create-option/gux-create-option.css +1 -0
  122. package/dist/collection/components/stable/gux-listbox-multi/gux-listbox-multi.css +0 -5
  123. package/dist/collection/components/stable/gux-listbox-multi/gux-listbox-multi.js +7 -11
  124. package/dist/collection/components/stable/gux-listbox-multi/gux-option-multi/gux-option-multi.css +10 -3
  125. package/dist/collection/components/stable/gux-listbox-multi/gux-option-multi/gux-option-multi.js +0 -41
  126. package/dist/collection/components/stable/gux-modal/gux-modal.css +20 -54
  127. package/dist/collection/components/stable/gux-modal/gux-modal.js +64 -100
  128. package/dist/collection/components/stable/gux-modal/tests/gux-modal.e2e.js +119 -134
  129. package/dist/collection/components/stable/gux-modal/tests/gux-modal.spec.js +28 -88
  130. package/dist/collection/components/stable/gux-popup/tests/gux-popup.e2e.js +13 -1
  131. package/dist/collection/components/stable/gux-table/gux-all-row-select/gux-all-row-select.css +4 -7
  132. package/dist/collection/components/stable/gux-table/gux-all-row-select/gux-all-row-select.js +1 -1
  133. package/dist/collection/components/stable/gux-table/gux-row-select/gux-row-select.css +4 -7
  134. package/dist/collection/components/stable/gux-table/gux-row-select/gux-row-select.js +1 -1
  135. package/dist/collection/components/stable/gux-table/gux-table-select-menu/gux-table-select-menu.css +3 -3
  136. package/dist/collection/components/stable/gux-tabs/gux-tabs.css +5 -8
  137. package/dist/collection/components/stable/gux-tabs/gux-tabs.js +1 -22
  138. package/dist/collection/components/stable/gux-tabs-advanced/tests/gux-tabs-advanced.e2e.js +5 -0
  139. package/dist/collection/components/stable/gux-tag/gux-tag.css +1 -1
  140. package/dist/component-specs.json +25 -7
  141. package/dist/deploy-info.json +3 -3
  142. package/dist/esm/genesys-webcomponents.js +1 -1
  143. package/dist/esm/gux-accordion.entry.js +1 -1
  144. package/dist/esm/gux-action-button.entry.js +1 -1
  145. package/dist/esm/gux-action-toast-legacy.entry.js +1 -1
  146. package/dist/esm/gux-advanced-dropdown-legacy.entry.js +1 -1
  147. package/dist/esm/gux-all-row-select.entry.js +2 -2
  148. package/dist/esm/gux-announce-beta.entry.js +1 -1
  149. package/dist/esm/gux-badge.entry.js +1 -1
  150. package/dist/esm/gux-blank-state.entry.js +1 -1
  151. package/dist/esm/gux-breadcrumbs.entry.js +1 -1
  152. package/dist/esm/gux-button-multi.entry.js +1 -1
  153. package/dist/esm/gux-button-slot.entry.js +1 -1
  154. package/dist/esm/gux-button.entry.js +1 -1
  155. package/dist/esm/gux-calendar.entry.js +1 -1
  156. package/dist/esm/gux-card.entry.js +1 -1
  157. package/dist/esm/gux-column-manager.entry.js +1 -1
  158. package/dist/esm/gux-content-search.entry.js +4 -4
  159. package/dist/esm/gux-context-menu.entry.js +2 -2
  160. package/dist/esm/gux-copy-to-clipboard.entry.js +1 -1
  161. package/dist/esm/gux-create-option.entry.js +1 -1
  162. package/dist/esm/gux-date-beta.entry.js +1 -1
  163. package/dist/esm/gux-date-time-beta.entry.js +1 -1
  164. package/dist/esm/gux-datepicker.entry.js +1 -1
  165. package/dist/esm/gux-disclosure-button-legacy.entry.js +1 -1
  166. package/dist/esm/gux-dismiss-button.entry.js +1 -1
  167. package/dist/esm/gux-dropdown-multi-tag.entry.js +1 -1
  168. package/dist/esm/gux-dropdown-multi.entry.js +4 -3
  169. package/dist/esm/gux-dropdown_3.entry.js +12 -17
  170. package/dist/esm/gux-flyout-menu.entry.js +1 -1
  171. package/dist/esm/gux-form-field-checkbox.entry.js +8 -4
  172. package/dist/esm/gux-form-field-color.entry.js +1 -1
  173. package/dist/esm/gux-form-field-dropdown.entry.js +1 -1
  174. package/dist/esm/gux-form-field-input-clear-button.entry.js +1 -1
  175. package/dist/esm/gux-form-field-number_3.entry.js +1 -1
  176. package/dist/esm/gux-form-field-phone.entry.js +1 -1
  177. package/dist/esm/gux-form-field-radio.entry.js +2 -2
  178. package/dist/esm/gux-form-field-range.entry.js +1 -1
  179. package/dist/esm/gux-form-field-search.entry.js +1 -1
  180. package/dist/esm/gux-form-field-select.entry.js +1 -1
  181. package/dist/esm/gux-form-field-text-like.entry.js +1 -1
  182. package/dist/esm/gux-form-field-textarea.entry.js +1 -1
  183. package/dist/esm/gux-form-field-time-picker.entry.js +1 -1
  184. package/dist/esm/gux-form-field-time-zone-picker.entry.js +1 -1
  185. package/dist/esm/gux-icon.entry.js +1 -1
  186. package/dist/esm/gux-inline-alert.entry.js +1 -1
  187. package/dist/esm/gux-list.entry.js +2 -2
  188. package/dist/esm/gux-listbox-multi.entry.js +9 -7
  189. package/dist/esm/{gux-listbox.service-f2b6e01a.js → gux-listbox.service-0f180d8a.js} +2 -7
  190. package/dist/esm/gux-loading-message.entry.js +1 -1
  191. package/dist/esm/gux-modal-legacy.entry.js +81 -0
  192. package/dist/esm/gux-modal.entry.js +26 -50
  193. package/dist/esm/gux-month-picker-beta.entry.js +1 -1
  194. package/dist/esm/gux-notification-toast-legacy.entry.js +1 -1
  195. package/dist/esm/gux-option-icon.entry.js +1 -1
  196. package/dist/esm/gux-option-multi.entry.js +1 -9
  197. package/dist/esm/gux-page-loading-spinner.entry.js +1 -1
  198. package/dist/esm/gux-pagination-cursor.entry.js +1 -1
  199. package/dist/esm/gux-pagination-legacy.entry.js +1 -1
  200. package/dist/esm/gux-pagination.entry.js +1 -1
  201. package/dist/esm/gux-phone-input-beta.entry.js +1 -1
  202. package/dist/esm/gux-popover-list.entry.js +1 -1
  203. package/dist/esm/gux-radial-loading.entry.js +1 -1
  204. package/dist/esm/gux-radial-progress.entry.js +1 -1
  205. package/dist/esm/gux-rating.entry.js +1 -1
  206. package/dist/esm/gux-region-icon.entry.js +1 -1
  207. package/dist/esm/gux-row-select.entry.js +2 -2
  208. package/dist/esm/gux-screen-reader-beta.entry.js +1 -1
  209. package/dist/esm/gux-segmented-control-beta.entry.js +1 -1
  210. package/dist/esm/gux-simple-toast-legacy.entry.js +1 -1
  211. package/dist/esm/gux-skip-navigation-list.entry.js +1 -1
  212. package/dist/esm/gux-sort-control.entry.js +1 -1
  213. package/dist/esm/gux-switch-legacy.entry.js +1 -1
  214. package/dist/esm/gux-table-select-menu.entry.js +1 -1
  215. package/dist/esm/gux-table-toolbar-action.entry.js +1 -1
  216. package/dist/esm/gux-table-toolbar-custom-action.entry.js +1 -1
  217. package/dist/esm/gux-table-toolbar-menu-button.entry.js +1 -1
  218. package/dist/esm/gux-table-toolbar.entry.js +1 -1
  219. package/dist/esm/gux-table.entry.js +1 -1
  220. package/dist/esm/gux-tabs-advanced.entry.js +1 -1
  221. package/dist/esm/gux-tabs.entry.js +3 -6
  222. package/dist/esm/gux-tag.entry.js +2 -2
  223. package/dist/esm/gux-text-highlight.entry.js +1 -1
  224. package/dist/esm/gux-time-beta.entry.js +1 -1
  225. package/dist/esm/gux-time-picker.entry.js +1 -1
  226. package/dist/esm/gux-time-zone-picker-beta.entry.js +1 -1
  227. package/dist/esm/gux-toast.entry.js +1 -1
  228. package/dist/esm/gux-toggle.entry.js +1 -1
  229. package/dist/esm/gux-tooltip.entry.js +1 -1
  230. package/dist/esm/index-39e65a0a.js +4 -0
  231. package/dist/esm/loader.js +1 -1
  232. package/dist/esm/{usage-266740c3.js → usage-59649766.js} +2 -2
  233. package/dist/genesys-webcomponents/genesys-webcomponents.css +14 -2
  234. package/dist/genesys-webcomponents/genesys-webcomponents.esm.js +1 -1
  235. package/dist/genesys-webcomponents/p-0027bf77.entry.js +1 -0
  236. package/dist/genesys-webcomponents/p-01e884ba.entry.js +1 -0
  237. package/dist/genesys-webcomponents/{p-4e0eb7d5.entry.js → p-071faa3e.entry.js} +1 -1
  238. package/dist/genesys-webcomponents/{p-7d7bbfec.entry.js → p-07a306f6.entry.js} +1 -1
  239. package/dist/genesys-webcomponents/{p-852059e1.entry.js → p-07e64710.entry.js} +1 -1
  240. package/dist/genesys-webcomponents/{p-95ddee1b.entry.js → p-0f772929.entry.js} +1 -1
  241. package/dist/genesys-webcomponents/{p-d2bb29bc.entry.js → p-10540e07.entry.js} +1 -1
  242. package/dist/genesys-webcomponents/{p-d35d4e79.entry.js → p-1305fbda.entry.js} +1 -1
  243. package/dist/genesys-webcomponents/{p-c9430e53.entry.js → p-152ef751.entry.js} +1 -1
  244. package/dist/genesys-webcomponents/{p-bc1ec126.js → p-16b7148a.js} +1 -1
  245. package/dist/genesys-webcomponents/{p-4e41e1fc.entry.js → p-1b388b24.entry.js} +1 -1
  246. package/dist/genesys-webcomponents/{p-26cc04bb.entry.js → p-1c4c9c84.entry.js} +1 -1
  247. package/dist/genesys-webcomponents/{p-810c339a.entry.js → p-1eaa86b0.entry.js} +1 -1
  248. package/dist/genesys-webcomponents/{p-e1a289a7.entry.js → p-1f22913a.entry.js} +1 -1
  249. package/dist/genesys-webcomponents/{p-d93c71ef.entry.js → p-2413e4c1.entry.js} +1 -1
  250. package/dist/genesys-webcomponents/{p-8fbc31c8.entry.js → p-261798b0.entry.js} +1 -1
  251. package/dist/genesys-webcomponents/p-2729e2af.entry.js +1 -0
  252. package/dist/genesys-webcomponents/{p-17d5af45.entry.js → p-2b1e714b.entry.js} +1 -1
  253. package/dist/genesys-webcomponents/{p-c8d7a955.entry.js → p-2c955ab4.entry.js} +1 -1
  254. package/dist/genesys-webcomponents/{p-0b69dcec.entry.js → p-33bd7fcf.entry.js} +1 -1
  255. package/dist/genesys-webcomponents/{p-49bfec82.entry.js → p-41623d55.entry.js} +1 -1
  256. package/dist/genesys-webcomponents/p-433b4556.entry.js +1 -0
  257. package/dist/genesys-webcomponents/{p-2be332c3.entry.js → p-450c98c0.entry.js} +1 -1
  258. package/dist/genesys-webcomponents/{p-2ca5e73e.entry.js → p-4dc281c7.entry.js} +1 -1
  259. package/dist/genesys-webcomponents/{p-447aba64.entry.js → p-4f61e08d.entry.js} +1 -1
  260. package/dist/genesys-webcomponents/{p-33c5a71d.entry.js → p-55cfbde3.entry.js} +1 -1
  261. package/dist/genesys-webcomponents/{p-ed433fec.entry.js → p-599ccf11.entry.js} +1 -1
  262. package/dist/genesys-webcomponents/{p-ca6af08a.entry.js → p-5a25b7b1.entry.js} +1 -1
  263. package/dist/genesys-webcomponents/{p-c55a4aec.entry.js → p-61a5be3a.entry.js} +1 -1
  264. package/dist/genesys-webcomponents/p-65b03df8.js +1 -0
  265. package/dist/genesys-webcomponents/{p-9749237a.entry.js → p-6880d779.entry.js} +1 -1
  266. package/dist/genesys-webcomponents/p-6c7a5b9c.entry.js +1 -0
  267. package/dist/genesys-webcomponents/{p-eef2e19d.entry.js → p-6e1f8efc.entry.js} +1 -1
  268. package/dist/genesys-webcomponents/{p-fcf507a2.entry.js → p-7351c54b.entry.js} +1 -1
  269. package/dist/genesys-webcomponents/p-77dc0f47.entry.js +1 -0
  270. package/dist/genesys-webcomponents/{p-681c2cae.entry.js → p-816b5832.entry.js} +1 -1
  271. package/dist/genesys-webcomponents/{p-9f60ae1f.entry.js → p-81c6665d.entry.js} +1 -1
  272. package/dist/genesys-webcomponents/{p-0ec0bb1a.entry.js → p-86b4a043.entry.js} +1 -1
  273. package/dist/genesys-webcomponents/{p-b987ebb3.entry.js → p-8e71a828.entry.js} +1 -1
  274. package/dist/genesys-webcomponents/{p-fd00f179.entry.js → p-9101a023.entry.js} +1 -1
  275. package/dist/genesys-webcomponents/{p-ac0c291d.entry.js → p-91dd5417.entry.js} +1 -1
  276. package/dist/genesys-webcomponents/{p-69d62d74.entry.js → p-9239c7e4.entry.js} +1 -1
  277. package/dist/genesys-webcomponents/{p-7e6a6247.entry.js → p-9354c37c.entry.js} +1 -1
  278. package/dist/genesys-webcomponents/{p-61f9e6eb.entry.js → p-9749f58f.entry.js} +1 -1
  279. package/dist/genesys-webcomponents/{p-a6d71efc.entry.js → p-975399df.entry.js} +1 -1
  280. package/dist/genesys-webcomponents/{p-3a502c58.entry.js → p-97eb822e.entry.js} +1 -1
  281. package/dist/genesys-webcomponents/{p-666a122c.entry.js → p-982cde03.entry.js} +1 -1
  282. package/dist/genesys-webcomponents/{p-75e0ebc8.entry.js → p-9a8fc961.entry.js} +1 -1
  283. package/dist/genesys-webcomponents/{p-fd77023f.entry.js → p-a272fffc.entry.js} +1 -1
  284. package/dist/genesys-webcomponents/{p-c058bbe0.entry.js → p-a54f5e84.entry.js} +1 -1
  285. package/dist/genesys-webcomponents/p-a76eaee5.entry.js +1 -0
  286. package/dist/genesys-webcomponents/p-a7845b8a.entry.js +1 -0
  287. package/dist/genesys-webcomponents/{p-407b3ebd.entry.js → p-a9a2b586.entry.js} +1 -1
  288. package/dist/genesys-webcomponents/{p-8db7c656.entry.js → p-aa7e1ac7.entry.js} +1 -1
  289. package/dist/genesys-webcomponents/{p-37258942.entry.js → p-aae56c95.entry.js} +1 -1
  290. package/dist/genesys-webcomponents/{p-f35502ee.entry.js → p-ac8a5767.entry.js} +1 -1
  291. package/dist/genesys-webcomponents/{p-642cc895.entry.js → p-ad873d38.entry.js} +1 -1
  292. package/dist/genesys-webcomponents/p-b08aad6a.entry.js +1 -0
  293. package/dist/genesys-webcomponents/{p-80512ea5.entry.js → p-b0d4b282.entry.js} +1 -1
  294. package/dist/genesys-webcomponents/{p-66592387.entry.js → p-b10cd660.entry.js} +1 -1
  295. package/dist/genesys-webcomponents/p-b269fa15.entry.js +1 -0
  296. package/dist/genesys-webcomponents/{p-9a4aaee1.entry.js → p-b3971bc8.entry.js} +1 -1
  297. package/dist/genesys-webcomponents/{p-21d8e48c.entry.js → p-b97743d4.entry.js} +1 -1
  298. package/dist/genesys-webcomponents/{p-772ee405.entry.js → p-ba24aaff.entry.js} +1 -1
  299. package/dist/genesys-webcomponents/{p-3b9d98ec.entry.js → p-bb14528d.entry.js} +1 -1
  300. package/dist/genesys-webcomponents/{p-61d86ba3.entry.js → p-c3e1140c.entry.js} +1 -1
  301. package/dist/genesys-webcomponents/{p-bc9d75c2.entry.js → p-c48bd5b8.entry.js} +1 -1
  302. package/dist/genesys-webcomponents/{p-b445f1ae.entry.js → p-c64e519e.entry.js} +1 -1
  303. package/dist/genesys-webcomponents/{p-f42f2f0d.entry.js → p-c7548448.entry.js} +1 -1
  304. package/dist/genesys-webcomponents/{p-e73f4503.entry.js → p-c798645e.entry.js} +1 -1
  305. package/dist/genesys-webcomponents/{p-532827a9.entry.js → p-c90894b0.entry.js} +1 -1
  306. package/dist/genesys-webcomponents/{p-210bf3e2.entry.js → p-c9192a11.entry.js} +1 -1
  307. package/dist/genesys-webcomponents/{p-5801fcd6.entry.js → p-cba2e128.entry.js} +1 -1
  308. package/dist/genesys-webcomponents/p-cd72d060.entry.js +1 -0
  309. package/dist/genesys-webcomponents/{p-298f5a94.entry.js → p-cdc3d4f0.entry.js} +1 -1
  310. package/dist/genesys-webcomponents/{p-80655bf7.entry.js → p-cdf43ea6.entry.js} +1 -1
  311. package/dist/genesys-webcomponents/p-ce8ffcf1.entry.js +1 -0
  312. package/dist/genesys-webcomponents/{p-1f8d91b0.entry.js → p-d77dc0ff.entry.js} +1 -1
  313. package/dist/genesys-webcomponents/{p-0112f4c0.entry.js → p-dd05cf6f.entry.js} +1 -1
  314. package/dist/genesys-webcomponents/{p-186362b5.entry.js → p-dee4d302.entry.js} +1 -1
  315. package/dist/genesys-webcomponents/{p-1beb2cb2.entry.js → p-e8544d9e.entry.js} +1 -1
  316. package/dist/genesys-webcomponents/p-ed344b6f.entry.js +1 -0
  317. package/dist/genesys-webcomponents/{p-c0d9de8d.entry.js → p-f0613f2d.entry.js} +1 -1
  318. package/dist/genesys-webcomponents/p-f343de1b.entry.js +1 -0
  319. package/dist/genesys-webcomponents/{p-49cceaf2.entry.js → p-f426ae83.entry.js} +1 -1
  320. package/dist/genesys-webcomponents/{p-7fbea7e4.entry.js → p-f63d55ee.entry.js} +1 -1
  321. package/dist/genesys-webcomponents/{p-ea0296a2.entry.js → p-f71dae44.entry.js} +1 -1
  322. package/dist/genesys-webcomponents/{p-72d78bb8.entry.js → p-ff42711a.entry.js} +1 -1
  323. package/dist/stencil-wrapper.js +1 -1
  324. package/dist/types/components/legacy/gux-modal-legacy/gux-modal-legacy.d.ts +37 -0
  325. package/dist/types/components/legacy/gux-modal-legacy/gux-modal-legacy.types.d.ts +1 -0
  326. package/dist/types/components/stable/gux-form-field/components/gux-form-field-checkbox/gux-form-field-checkbox.d.ts +2 -0
  327. package/dist/types/components/stable/gux-listbox/gux-listbox.d.ts +0 -1
  328. package/dist/types/components/stable/gux-listbox/gux-listbox.service.d.ts +1 -0
  329. package/dist/types/components/stable/gux-listbox/options/gux-option/gux-option.d.ts +0 -3
  330. package/dist/types/components/stable/gux-listbox/options/option-types.d.ts +0 -1
  331. package/dist/types/components/stable/gux-listbox-multi/gux-listbox-multi.d.ts +0 -1
  332. package/dist/types/components/stable/gux-listbox-multi/gux-option-multi/gux-option-multi.d.ts +0 -3
  333. package/dist/types/components/stable/gux-modal/gux-modal.d.ts +8 -21
  334. package/dist/types/components/stable/gux-tabs/gux-tabs.d.ts +0 -4
  335. package/dist/types/components.d.ts +38 -15
  336. package/dist/types/stencil-wrapper.d.ts +1 -1
  337. package/package.json +2 -2
  338. package/dist/genesys-webcomponents/p-236b8bd4.entry.js +0 -1
  339. package/dist/genesys-webcomponents/p-2a7e6126.entry.js +0 -1
  340. package/dist/genesys-webcomponents/p-2bf3d247.entry.js +0 -1
  341. package/dist/genesys-webcomponents/p-38871095.entry.js +0 -1
  342. package/dist/genesys-webcomponents/p-3c61673e.entry.js +0 -1
  343. package/dist/genesys-webcomponents/p-71e00140.js +0 -1
  344. package/dist/genesys-webcomponents/p-774043ee.entry.js +0 -1
  345. package/dist/genesys-webcomponents/p-8fff3309.entry.js +0 -1
  346. package/dist/genesys-webcomponents/p-93b098ea.entry.js +0 -1
  347. package/dist/genesys-webcomponents/p-ab4d78a7.entry.js +0 -1
  348. package/dist/genesys-webcomponents/p-c3103de4.entry.js +0 -1
  349. package/dist/genesys-webcomponents/p-d453c288.entry.js +0 -1
  350. package/dist/genesys-webcomponents/p-d5699513.entry.js +0 -1
  351. package/dist/genesys-webcomponents/p-d95896ff.entry.js +0 -1
@@ -8,11 +8,11 @@ describe('gux-modal', () => {
8
8
  <gux-modal lang="en" size="small">
9
9
  <div slot="title">Modal Title</div>
10
10
  <div slot="content">This contains the modal content.</div>
11
- <div slot="left-align-buttons">
12
- <gux-button>Cancel</gux-button>
11
+ <div slot="start-align-buttons">
12
+ <gux-button-slot><button>Cancel</button></gux-button-slot>
13
13
  </div>
14
- <div slot="right-align-buttons">
15
- <gux-button accent="primary">Accept</gux-button>
14
+ <div slot="end-align-buttons">
15
+ <gux-button-slot accent="primary"><button>Accept</button></gux-button-slot>
16
16
  </div>
17
17
  </gux-modal>
18
18
  `
@@ -23,11 +23,11 @@ describe('gux-modal', () => {
23
23
  <gux-modal lang="en" size="medium">
24
24
  <div slot="title">Modal Title</div>
25
25
  <div slot="content">This contains the modal content.</div>
26
- <div slot="left-align-buttons">
27
- <gux-button>Cancel</gux-button>
26
+ <div slot="start-align-buttons">
27
+ <gux-button-slot><button>Cancel</button></gux-button-slot>
28
28
  </div>
29
- <div slot="right-align-buttons">
30
- <gux-button accent="primary">Accept</gux-button>
29
+ <div slot="end-align-buttons">
30
+ <gux-button-slot accent="primary"><button>Accept</button></gux-button-slot>
31
31
  </div>
32
32
  </gux-modal>
33
33
  `
@@ -38,11 +38,11 @@ describe('gux-modal', () => {
38
38
  <gux-modal lang="en" size="large">
39
39
  <div slot="title">Modal Title</div>
40
40
  <div slot="content">This contains the modal content.</div>
41
- <div slot="left-align-buttons">
42
- <gux-button>Cancel</gux-button>
41
+ <div slot="start-align-buttons">
42
+ <gux-button-slot><button>Cancel</button></gux-button-slot>
43
43
  </div>
44
- <div slot="right-align-buttons">
45
- <gux-button accent="primary">Accept</gux-button>
44
+ <div slot="end-align-buttons">
45
+ <gux-button-slot accent="primary"><button>Accept</button></gux-button-slot>
46
46
  </div>
47
47
  </gux-modal>
48
48
  `
@@ -52,11 +52,11 @@ describe('gux-modal', () => {
52
52
  html: `
53
53
  <gux-modal lang="en" size="large">
54
54
  <div slot="content">This contains the modal content.</div>
55
- <div slot="left-align-buttons">
56
- <gux-button>Cancel</gux-button>
55
+ <div slot="start-align-buttons">
56
+ <gux-button-slot><button>Cancel</button></gux-button-slot>
57
57
  </div>
58
- <div slot="right-align-buttons">
59
- <gux-button accent="primary">Accept</gux-button>
58
+ <div slot="end-align-buttons">
59
+ <gux-button-slot accent="primary"><button>Accept</button></gux-button-slot>
60
60
  </div>
61
61
  </gux-modal>
62
62
  `
@@ -76,8 +76,8 @@ describe('gux-modal', () => {
76
76
  <gux-modal lang="en" size="small">
77
77
  <div slot="title">Modal Title</div>
78
78
  <div slot="content">This contains the modal content.</div>
79
- <div slot="left-align-buttons">
80
- <gux-button>Cancel</gux-button>
79
+ <div slot="start-align-buttons">
80
+ <gux-button-slot><button>Cancel</button></gux-button-slot>
81
81
  </div>
82
82
  </gux-modal>
83
83
  `
@@ -88,8 +88,8 @@ describe('gux-modal', () => {
88
88
  <gux-modal lang="en" size="small">
89
89
  <div slot="title">Modal Title</div>
90
90
  <div slot="content">This contains the modal content.</div>
91
- <div slot="right-align-buttons">
92
- <gux-button accent="primary">Accept</gux-button>
91
+ <div slot="end-align-buttons">
92
+ <gux-button-slot accent="primary"><button>Accept</button></gux-button-slot>
93
93
  </div>
94
94
  </gux-modal>
95
95
  `
@@ -100,11 +100,11 @@ describe('gux-modal', () => {
100
100
  <gux-modal lang="en">
101
101
  <div slot="title">Modal Title</div>
102
102
  <div slot="content">This contains the modal content.</div>
103
- <div slot="left-align-buttons">
104
- <gux-button>Cancel</gux-button>
103
+ <div slot="start-align-buttons">
104
+ <gux-button-slot><button>Cancel</button></gux-button-slot>
105
105
  </div>
106
- <div slot="right-align-buttons">
107
- <gux-button accent="primary">Accept</gux-button>
106
+ <div slot="end-align-buttons">
107
+ <gux-button-slot accent="primary"><button>Accept</button></gux-button-slot>
108
108
  </div>
109
109
  </gux-modal>
110
110
  `
@@ -124,171 +124,156 @@ describe('gux-modal', () => {
124
124
  describe('dismiss', () => {
125
125
  it('click dismiss button', async () => {
126
126
  const html = `
127
- <gux-modal lang="en" size="small">
127
+ <gux-button id="openModalButton" onclick="document.getElementById('example1').showModal()">
128
+ Open
129
+ </gux-button>
130
+ <gux-modal id="example1" lang="en" size="small">
128
131
  <div slot="title">Modal Title</div>
129
132
  <div slot="content">This contains the modal content.</div>
130
- <div slot="left-align-buttons">
131
- <gux-button>Cancel</gux-button>
133
+ <div slot="start-align-buttons">
134
+ <gux-button-slot><button>Cancel</button></gux-button-slot>
132
135
  </div>
133
- <div slot="right-align-buttons">
134
- <gux-button accent="primary">Accept</gux-button>
136
+ <div slot="end-align-buttons">
137
+ <gux-button-slot accent="primary"><button>Accept</button></gux-button-slot>
135
138
  </div>
136
139
  </gux-modal>
137
140
  `;
138
141
  const page = await newSparkE2EPage({ html });
139
142
  const element = await page.find('gux-modal');
140
- const dismissButtonElement = await element.find('pierce/gux-dismiss-button');
141
- const dismissButton = await dismissButtonElement.find('pierce/button');
142
- const guxdismissSpy = await page.spyOnEvent('guxdismiss');
143
- const clickSpy = await page.spyOnEvent('click');
144
- expect(guxdismissSpy).not.toHaveReceivedEvent();
145
- expect(clickSpy).not.toHaveReceivedEvent();
146
- expect(await page.find('gux-modal')).not.toBeNull();
147
- await dismissButton.click();
143
+ const openModalButton = await page.find('#openModalButton');
144
+ await openModalButton.click();
148
145
  await page.waitForChanges();
149
- expect(guxdismissSpy).toHaveReceivedEvent();
150
- expect(clickSpy).not.toHaveReceivedEvent();
151
- expect(await page.find('gux-modal')).toBeNull();
152
- });
153
- it('click dismiss button and prevent default', async () => {
154
- const html = `
155
- <gux-modal lang="en" size="small">
156
- <div slot="title">Modal Title</div>
157
- <div slot="content">This contains the modal content.</div>
158
- <div slot="left-align-buttons">
159
- <gux-button>Cancel</gux-button>
160
- </div>
161
- <div slot="right-align-buttons">
162
- <gux-button accent="primary">Accept</gux-button>
163
- </div>
164
- </gux-modal>
165
- `;
166
- const page = await newSparkE2EPage({ html });
167
- const element = await page.find('gux-modal');
168
146
  const dismissButtonElement = await element.find('pierce/gux-dismiss-button');
169
147
  const dismissButton = await dismissButtonElement.find('pierce/button');
170
148
  const guxdismissSpy = await page.spyOnEvent('guxdismiss');
171
149
  const clickSpy = await page.spyOnEvent('click');
172
- await page.evaluate(() => {
173
- document.addEventListener('guxdismiss', event => {
174
- event.preventDefault();
175
- });
176
- });
177
- expect(guxdismissSpy).not.toHaveReceivedEvent();
178
- expect(clickSpy).not.toHaveReceivedEvent();
179
- expect(await page.find('gux-modal')).not.toBeNull();
180
150
  await dismissButton.click();
181
151
  await page.waitForChanges();
182
152
  expect(guxdismissSpy).toHaveReceivedEvent();
183
- expect(clickSpy).not.toHaveReceivedEvent();
153
+ expect(clickSpy).toHaveReceivedEvent();
184
154
  expect(await page.find('gux-modal')).not.toBeNull();
185
155
  });
186
156
  it('escape key dismiss', async () => {
187
157
  const html = `
188
- <gux-modal lang="en" size="small">
158
+ <gux-button id="openModalButton" onclick="document.getElementById('example1').showModal()">
159
+ Open
160
+ </gux-button>
161
+ <gux-modal id="example1" lang="en" size="small">
189
162
  <div slot="title">Modal Title</div>
190
163
  <div slot="content">This contains the modal content.</div>
191
- <div slot="left-align-buttons">
192
- <gux-button>Cancel</gux-button>
164
+ <div slot="start-align-buttons">
165
+ <gux-button-slot><button>Cancel</button></gux-button-slot>
193
166
  </div>
194
- <div slot="right-align-buttons">
195
- <gux-button accent="primary">Accept</gux-button>
167
+ <div slot="end-align-buttons">
168
+ <gux-button-slot accent="primary"><button>Accept</button></gux-button-slot>
196
169
  </div>
197
170
  </gux-modal>
198
171
  `;
199
172
  const page = await newSparkE2EPage({ html });
200
- const modalEl = await page.find('gux-modal');
173
+ const openModalButton = await page.find('#openModalButton');
174
+ await openModalButton.click();
175
+ await page.waitForChanges();
201
176
  const guxdismissSpy = await page.spyOnEvent('guxdismiss');
202
177
  expect(guxdismissSpy).not.toHaveReceivedEvent();
203
- expect(modalEl).not.toBeNull();
178
+ await page.waitForSelector('pierce/dialog', {
179
+ visible: true
180
+ });
204
181
  await page.keyboard.down('Escape');
205
182
  await page.waitForChanges();
206
183
  expect(guxdismissSpy).toHaveReceivedEvent();
207
- expect(await page.find('gux-modal')).toBeNull();
184
+ await page.waitForSelector('pierce/dialog', {
185
+ visible: false
186
+ });
208
187
  });
209
188
  });
210
189
  describe('focus', () => {
211
- const focusModalHtml = (props = '') => `
212
- <gux-modal lang="en" size="small" trap-focus="true" ${props}>
213
- <div slot="title">Modal Title</div>
214
- <div slot="content">This contains the modal content.</div>
215
- <div slot="left-align-buttons">
216
- <gux-button id="cancel-button">Cancel</gux-button>
217
- </div>
218
- <div slot="right-align-buttons">
219
- <gux-button id="accept-button" accent="primary">Accept</gux-button>
220
- </div>
221
- </gux-modal>
222
- `;
223
- const modalContainerHtml = `
224
- <div id="modal-container"></div>
225
- <button id="other-button">Do Nothing</button>
226
- <button id="modal-trigger">Open Modal</button>
227
- `;
228
- const setupContainerPage = async (modalHtml) => {
229
- const page = await newSparkE2EPage({ html: modalContainerHtml });
230
- await page.evaluate(html => {
231
- var _a;
232
- (_a = document
233
- .getElementById('modal-trigger')) === null || _a === void 0 ? void 0 : _a.addEventListener('click', () => {
234
- if (document.getElementById('modal-container'))
235
- document.getElementById('modal-container').innerHTML = html;
236
- });
237
- }, modalHtml);
238
- return page;
239
- };
240
190
  const getFocusedElementText = (page) => page.evaluate(() => document.activeElement.textContent);
241
191
  const getFocusedShadowElementText = (page) => page.evaluate(() => document.querySelector('gux-modal').shadowRoot.activeElement
242
192
  .textContent);
243
193
  const getFocusedShadowElementTagName = (page) => page.evaluate(() => document.querySelector('gux-modal').shadowRoot.activeElement.tagName);
244
- it('focuses the dismiss button by defualt', async () => {
245
- const page = await setupContainerPage(focusModalHtml());
246
- await page.click('#modal-trigger');
194
+ it('focuses the dismiss button by default ', async () => {
195
+ const html = `
196
+ <gux-button id="openModalButton" onclick="document.getElementById('example1').showModal()">
197
+ Open
198
+ </gux-button>
199
+ <gux-modal id="example1" lang="en" size="small">
200
+ <div slot="title">Modal Title</div>
201
+ <div slot="content">This contains the modal content.</div>
202
+ <div slot="start-align-buttons">
203
+ <gux-button-slot><button>Cancel</button></gux-button-slot>
204
+ </div>
205
+ <div slot="end-align-buttons">
206
+ <gux-button-slot accent="primary"><button>Accept</button></gux-button-slot>
207
+ </div>
208
+ </gux-modal>
209
+ `;
210
+ const page = await newSparkE2EPage({ html });
211
+ await page.click('#openModalButton');
247
212
  await page.waitForChanges();
248
- expect(await page.find('gux-modal')).not.toBeNull();
213
+ await page.waitForSelector('pierce/dialog', {
214
+ visible: true
215
+ });
249
216
  expect(await getFocusedShadowElementText(page)).toBe('');
250
217
  expect(await getFocusedShadowElementTagName(page)).toBe('GUX-DISMISS-BUTTON');
251
218
  });
252
219
  test('can focus a specific focusable element', async () => {
253
- const page = await setupContainerPage(focusModalHtml('initial-focus="#accept-button"'));
254
- await page.click('#modal-trigger');
220
+ const html = `
221
+ <gux-button id="openModalButton" onclick="document.getElementById('example1').showModal()">
222
+ Open
223
+ </gux-button>
224
+ <gux-modal id="example1" lang="en" size="small">
225
+ <div slot="title">Modal Title</div>
226
+ <div slot="content">This contains the modal content.</div>
227
+ <div slot="start-align-buttons">
228
+ <gux-button-slot><button>Cancel</button></gux-button-slot>
229
+ </div>
230
+ <div slot="end-align-buttons">
231
+ <gux-button-slot accent="primary"><button autofocus>Accept</button></gux-button-slot>
232
+ </div>
233
+ </gux-modal>
234
+ `;
235
+ const page = await newSparkE2EPage({ html });
236
+ await page.click('#openModalButton');
255
237
  await page.waitForChanges();
256
- expect(await page.find('gux-modal')).not.toBeNull();
238
+ await page.waitForSelector('pierce/dialog', {
239
+ visible: true
240
+ });
257
241
  expect(await getFocusedElementText(page)).toBe('Accept');
258
242
  });
259
243
  test('focuses the dismiss button if there are no other focusable elements', async () => {
260
- const page = await setupContainerPage(`
261
- <gux-modal lang="en" size="small">
244
+ const html = `
245
+ <gux-button id="openModalButton" onclick="document.getElementById('example1').showModal()">
246
+ Open
247
+ </gux-button>
248
+ <gux-modal id="example1" lang="en" size="small">
262
249
  <div slot="content">This contains the modal content.</div>
263
250
  </gux-modal>
264
- `);
265
- await page.click('#modal-trigger');
266
- await page.waitForChanges();
267
- expect(await page.find('gux-modal')).not.toBeNull();
268
- expect(await getFocusedShadowElementText(page)).toBe('');
269
- expect(await getFocusedShadowElementTagName(page)).toBe('GUX-DISMISS-BUTTON');
270
- });
271
- test('traps focus in the modal', async () => {
272
- const page = await setupContainerPage(focusModalHtml());
273
- await page.click('#modal-trigger');
251
+ `;
252
+ const page = await newSparkE2EPage({ html });
253
+ await page.click('#openModalButton');
274
254
  await page.waitForChanges();
275
- expect(await getFocusedShadowElementText(page)).toBe('');
276
- expect(await getFocusedShadowElementTagName(page)).toBe('GUX-DISMISS-BUTTON');
277
- await page.keyboard.press('Tab');
278
- expect(await getFocusedElementText(page)).toBe('Cancel');
279
- await page.keyboard.press('Tab');
280
- expect(await getFocusedElementText(page)).toBe('Accept');
281
- await page.keyboard.press('Tab');
282
- expect(await getFocusedShadowElementText(page)).toBe('');
283
- expect(await getFocusedShadowElementTagName(page)).toBe('GUX-DISMISS-BUTTON');
284
- await page.keyboard.down('Shift');
285
- await page.keyboard.press('Tab');
255
+ await page.waitForSelector('pierce/dialog', {
256
+ visible: true
257
+ });
286
258
  expect(await getFocusedShadowElementText(page)).toBe('');
287
259
  expect(await getFocusedShadowElementTagName(page)).toBe('GUX-DISMISS-BUTTON');
288
260
  });
289
261
  test('returns focus to the originally focused element when the modal closes', async () => {
290
- const page = await setupContainerPage(focusModalHtml());
291
- await page.click('#modal-trigger');
262
+ const html = `
263
+ <gux-button id="openModalButton" onclick="document.getElementById('example1').showModal()">Open Modal</gux-button>
264
+ <gux-modal id="example1" lang="en" size="small">
265
+ <div slot="title">Modal Title</div>
266
+ <div slot="content">This contains the modal content.</div>
267
+ <div slot="start-align-buttons">
268
+ <gux-button-slot><button>Cancel</button></gux-button-slot>
269
+ </div>
270
+ <div slot="end-align-buttons">
271
+ <gux-button-slot accent="primary"><button>Accept</button></gux-button-slot>
272
+ </div>
273
+ </gux-modal>
274
+ `;
275
+ const page = await newSparkE2EPage({ html });
276
+ await page.click('#openModalButton');
292
277
  await page.waitForChanges();
293
278
  expect(await getFocusedShadowElementText(page)).toBe('');
294
279
  expect(await getFocusedShadowElementTagName(page)).toBe('GUX-DISMISS-BUTTON');
@@ -1,7 +1,7 @@
1
1
  import { newSpecPage } from "../../../../test/specTestUtils";
2
2
  import { GuxButton } from "../../gux-button/gux-button";
3
3
  import { GuxModal } from "../gux-modal";
4
- import { GuxDismissButton } from "../../../stable/gux-dismiss-button/gux-dismiss-button";
4
+ import { GuxDismissButton } from "../../gux-dismiss-button/gux-dismiss-button";
5
5
  const components = [GuxButton, GuxModal, GuxDismissButton];
6
6
  const language = 'en';
7
7
  describe('gux-modal', () => {
@@ -13,11 +13,11 @@ describe('gux-modal', () => {
13
13
  <gux-modal size="small">
14
14
  <div slot="title">Modal Title</div>
15
15
  <div slot="content">This contains the modal content.</div>
16
- <div slot="left-align-buttons">
17
- <gux-button>Cancel</gux-button>
16
+ <div slot="start-align-buttons">
17
+ <gux-button-slot><button>Cancel</button></gux-button-slot>
18
18
  </div>
19
- <div slot="right-align-buttons">
20
- <gux-button accent='primary'>Accept</gux-button>
19
+ <div slot="end-align-buttons">
20
+ <gux-button-slot accent='primary'><button>Accept</button></gux-button-slot>
21
21
  </div>
22
22
  </gux-modal>
23
23
  `
@@ -28,11 +28,11 @@ describe('gux-modal', () => {
28
28
  <gux-modal size="medium">
29
29
  <div slot="title">Modal Title</div>
30
30
  <div slot="content">This contains the modal content.</div>
31
- <div slot="left-align-buttons">
32
- <gux-button>Cancel</gux-button>
31
+ <div slot="start-align-buttons">
32
+ <gux-button-slot><button>Cancel</button></gux-button-slot>
33
33
  </div>
34
- <div slot="right-align-buttons">
35
- <gux-button accent='primary'>Accept</gux-button>
34
+ <div slot="end-align-buttons">
35
+ <gux-button-slot accent='primary'><button>Accept</button></gux-button-slot>
36
36
  </div>
37
37
  </gux-modal>
38
38
  `
@@ -43,11 +43,11 @@ describe('gux-modal', () => {
43
43
  <gux-modal size="large">
44
44
  <div slot="title">Modal Title</div>
45
45
  <div slot="content">This contains the modal content.</div>
46
- <div slot="left-align-buttons">
47
- <gux-button>Cancel</gux-button>
46
+ <div slot="start-align-buttons">
47
+ <gux-button-slot><button>Cancel</button></gux-button-slot>
48
48
  </div>
49
- <div slot="right-align-buttons">
50
- <gux-button accent='primary'>Accept</gux-button>
49
+ <div slot="end-align-buttons">
50
+ <gux-button-slot accent='primary'><button>Accept</button></gux-button-slot>
51
51
  </div>
52
52
  </gux-modal>
53
53
  `
@@ -57,11 +57,11 @@ describe('gux-modal', () => {
57
57
  html: `
58
58
  <gux-modal size="large">
59
59
  <div slot="content">This contains the modal content.</div>
60
- <div slot="left-align-buttons">
61
- <gux-button>Cancel</gux-button>
60
+ <div slot="start-align-buttons">
61
+ <gux-button-slot><button>Cancel</button></gux-button-slot>
62
62
  </div>
63
- <div slot="right-align-buttons">
64
- <gux-button accent='primary'>Accept</gux-button>
63
+ <div slot="end-align-buttons">
64
+ <gux-button-slot accent='primary'><button>Accept</button></gux-button-slot>
65
65
  </div>
66
66
  </gux-modal>
67
67
  `
@@ -81,8 +81,8 @@ describe('gux-modal', () => {
81
81
  <gux-modal size="small">
82
82
  <div slot="title">Modal Title</div>
83
83
  <div slot="content">This contains the modal content.</div>
84
- <div slot="left-align-buttons">
85
- <gux-button>Cancel</gux-button>
84
+ <div slot="start-align-buttons">
85
+ <gux-button-slot><button>Cancel</button></gux-button-slot>
86
86
  </div>
87
87
  </gux-modal>
88
88
  `
@@ -93,8 +93,8 @@ describe('gux-modal', () => {
93
93
  <gux-modal size="small">
94
94
  <div slot="title">Modal Title</div>
95
95
  <div slot="content">This contains the modal content.</div>
96
- <div slot="right-align-buttons">
97
- <gux-button accent='primary'>Accept</gux-button>
96
+ <div slot="end-align-buttons">
97
+ <gux-button-slot accent='primary'><button>Accept</button></gux-button-slot>
98
98
  </div>
99
99
  </gux-modal>
100
100
  `
@@ -105,11 +105,11 @@ describe('gux-modal', () => {
105
105
  <gux-modal initial-focus="#cancelButton">
106
106
  <div slot="title">Modal Title</div>
107
107
  <div slot="content">This contains the modal content.</div>
108
- <div slot="left-align-buttons">
108
+ <div slot="start-align-buttons">
109
109
  <gux-button id="cancelButton">Cancel</gux-button>
110
110
  </div>
111
- <div slot="right-align-buttons">
112
- <gux-button accent='primary'>Accept</gux-button>
111
+ <div slot="end-align-buttons">
112
+ <gux-button-slot accent='primary'><button>Accept</button></gux-button-slot>
113
113
  </div>
114
114
  </gux-modal>
115
115
  `
@@ -120,11 +120,11 @@ describe('gux-modal', () => {
120
120
  <gux-modal>
121
121
  <div slot="title">Modal Title</div>
122
122
  <div slot="content">This contains the modal content.</div>
123
- <div slot="left-align-buttons">
124
- <gux-button>Cancel</gux-button>
123
+ <div slot="start-align-buttons">
124
+ <gux-button-slot><button>Cancel</button></gux-button-slot>
125
125
  </div>
126
- <div slot="right-align-buttons">
127
- <gux-button accent='primary'>Accept</gux-button>
126
+ <div slot="end-align-buttons">
127
+ <gux-button-slot accent='primary'><button>Accept</button></gux-button-slot>
128
128
  </div>
129
129
  </gux-modal>
130
130
  `
@@ -134,67 +134,7 @@ describe('gux-modal', () => {
134
134
  const page = await newSpecPage({ components, html, language });
135
135
  expect(page.rootInstance).toBeInstanceOf(GuxModal);
136
136
  expect(page.root).toMatchSnapshot();
137
- page.rootInstance.hidden = true;
138
- await page.waitForChanges();
139
- expect(page.root).toMatchSnapshot();
140
- // Disconnect so that the focus trap is properly cleaned up
141
- page.root.remove();
142
- });
143
- });
144
- });
145
- describe('dismiss', () => {
146
- it('click dismiss button', async () => {
147
- const html = `
148
- <gux-modal size="small">
149
- <div slot="title">Modal Title</div>
150
- <div slot="content">This contains the modal content.</div>
151
- <div slot="left-align-buttons">
152
- <gux-button>Cancel</gux-button>
153
- </div>
154
- <div slot="right-align-buttons">
155
- <gux-button accent='primary'>Accept</gux-button>
156
- </div>
157
- </gux-modal>
158
- `;
159
- const page = await newSpecPage({ components, html, language });
160
- const element = page.root;
161
- const dismissButton = page.root.shadowRoot.querySelector('gux-dismiss-button');
162
- const guxdismissSpy = jest.fn();
163
- const clickSpy = jest.fn();
164
- const elementRemoveSpy = jest.spyOn(element, 'remove');
165
- page.win.addEventListener('guxdismiss', guxdismissSpy);
166
- page.win.addEventListener('click', clickSpy);
167
- dismissButton.click();
168
- await page.waitForChanges();
169
- expect(guxdismissSpy).toHaveBeenCalled();
170
- expect(clickSpy).not.toHaveBeenCalled();
171
- expect(elementRemoveSpy).toBeCalledWith();
172
- page.root.remove();
173
- });
174
- it('click dismiss button and prevent default', async () => {
175
- const html = `
176
- <gux-modal size="small">
177
- <div slot="title">Modal Title</div>
178
- <div slot="content">This contains the modal content.</div>
179
- <div slot="left-align-buttons">
180
- <gux-button>Cancel</gux-button>
181
- </div>
182
- <div slot="right-align-buttons">
183
- <gux-button accent='primary'>Accept</gux-button>
184
- </div>
185
- </gux-modal>
186
- `;
187
- const page = await newSpecPage({ components, html, language });
188
- const element = page.root;
189
- const dismissButton = page.root.shadowRoot.querySelector('gux-dismiss-button');
190
- const elementRemoveSpy = jest.spyOn(element, 'remove');
191
- page.win.addEventListener('guxdismiss', (event) => {
192
- event.preventDefault();
193
137
  });
194
- dismissButton.click();
195
- await page.waitForChanges();
196
- expect(elementRemoveSpy).not.toBeCalled();
197
- page.root.remove();
198
138
  });
199
139
  });
200
140
  });
@@ -1,4 +1,16 @@
1
1
  import { newSparkE2EPage, a11yCheck } from "../../../../test/e2eTestUtils";
2
+ const axeExclusions = [
3
+ {
4
+ issueId: 'aria-required-children',
5
+ target: 'gux-list',
6
+ exclusionReason: 'To be addressed in COMUI-2391. New violation picked up after upgrading from axe-core v4.4.2 to v4.8.2'
7
+ },
8
+ {
9
+ issueId: 'color-contrast',
10
+ target: 'gux-button,.gux-secondary',
11
+ exclusionReason: 'To be addressed in COMUI-2391. New violation picked up after upgrading from axe-core v4.4.2 to v4.8.2'
12
+ }
13
+ ];
2
14
  function getGuxPopupHtml(expanded, disabled) {
3
15
  return `
4
16
  <gux-popup ${expanded ? 'expanded' : ''} ${disabled ? 'disabled' : ''}>
@@ -22,7 +34,7 @@ describe('gux-popup', () => {
22
34
  const html = getGuxPopupHtml(expanded, disabled);
23
35
  const page = await newSparkE2EPage({ html });
24
36
  const element = await page.find('gux-popup');
25
- await a11yCheck(page);
37
+ await a11yCheck(page, axeExclusions);
26
38
  expect(element.outerHTML).toMatchSnapshot();
27
39
  });
28
40
  });
@@ -1,8 +1,5 @@
1
- :host .gux-label-text {
2
- position: absolute;
3
- top: auto;
4
- left: -10000px;
5
- width: 1px;
6
- height: 1px;
7
- overflow: hidden;
1
+ :host {
2
+ display: flex;
3
+ flex-direction: row;
4
+ justify-content: center;
8
5
  }
@@ -19,7 +19,7 @@ export class GuxAllRowSelect {
19
19
  this.i18n = await buildI18nForComponent(this.root, tableResources, 'gux-table');
20
20
  }
21
21
  render() {
22
- return (h("gux-form-field-checkbox", null, h("input", { ref: el => (this.inputElement = el), slot: "input", id: this.id, type: "checkbox", checked: this.selected }), h("label", { slot: "label", htmlFor: this.id }, "\u200B", h("span", { class: "gux-label-text" }, this.i18n('selectAllTableRows')))));
22
+ return (h("gux-form-field-checkbox", { "label-position": "screenreader" }, h("input", { ref: el => (this.inputElement = el), slot: "input", id: this.id, type: "checkbox", checked: this.selected }), h("label", { slot: "label", htmlFor: this.id }, "\u200B", h("span", null, this.i18n('selectAllTableRows')))));
23
23
  }
24
24
  static get is() { return "gux-all-row-select"; }
25
25
  static get encapsulation() { return "shadow"; }
@@ -1,8 +1,5 @@
1
- :host .gux-label-text {
2
- position: absolute;
3
- top: auto;
4
- left: -10000px;
5
- width: 1px;
6
- height: 1px;
7
- overflow: hidden;
1
+ :host {
2
+ display: flex;
3
+ flex-direction: row;
4
+ justify-content: center;
8
5
  }
@@ -16,7 +16,7 @@ export class GuxRowSelect {
16
16
  this.i18n = await buildI18nForComponent(this.root, tableResources, 'gux-table');
17
17
  }
18
18
  render() {
19
- return (h("gux-form-field-checkbox", null, h("input", { ref: el => (this.inputElement = el), slot: "input", id: this.id, type: "checkbox", checked: this.selected, disabled: this.disabled }), h("label", { slot: "label", htmlFor: this.id }, "\u200B", h("span", { class: "gux-label-text" }, this.i18n('selectTableRow')))));
19
+ return (h("gux-form-field-checkbox", { "label-position": "screenreader" }, h("input", { ref: el => (this.inputElement = el), slot: "input", id: this.id, type: "checkbox", checked: this.selected, disabled: this.disabled }), h("label", { slot: "label", htmlFor: this.id }, "\u200B", h("span", null, this.i18n('selectTableRow')))));
20
20
  }
21
21
  static get is() { return "gux-row-select"; }
22
22
  static get encapsulation() { return "shadow"; }