genesys-spark-components 4.60.0 → 4.61.0

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 (405) 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 +1 -1
  7. package/dist/cjs/gux-announce-beta.cjs.entry.js +1 -1
  8. package/dist/cjs/gux-avatar-beta.cjs.entry.js +1 -1
  9. package/dist/cjs/gux-avatar-change-photo-beta.cjs.entry.js +1 -1
  10. package/dist/cjs/gux-badge.cjs.entry.js +1 -1
  11. package/dist/cjs/gux-blank-state.cjs.entry.js +1 -1
  12. package/dist/cjs/gux-breadcrumbs.cjs.entry.js +1 -1
  13. package/dist/cjs/gux-button-multi.cjs.entry.js +1 -1
  14. package/dist/cjs/gux-button-slot.cjs.entry.js +1 -1
  15. package/dist/cjs/gux-button.cjs.entry.js +1 -1
  16. package/dist/cjs/gux-calendar.cjs.entry.js +2 -2
  17. package/dist/cjs/gux-card.cjs.entry.js +1 -1
  18. package/dist/cjs/gux-column-manager.cjs.entry.js +1 -1
  19. package/dist/cjs/gux-content-search.cjs.entry.js +1 -1
  20. package/dist/cjs/gux-context-menu.cjs.entry.js +1 -1
  21. package/dist/cjs/gux-copy-to-clipboard.cjs.entry.js +1 -1
  22. package/dist/cjs/gux-create-option.cjs.entry.js +2 -2
  23. package/dist/cjs/gux-date-beta.cjs.entry.js +1 -1
  24. package/dist/cjs/gux-date-time-beta.cjs.entry.js +1 -1
  25. package/dist/cjs/gux-datepicker.cjs.entry.js +1 -1
  26. package/dist/cjs/gux-disclosure-button-legacy.cjs.entry.js +1 -1
  27. package/dist/cjs/gux-dismiss-button.cjs.entry.js +1 -1
  28. package/dist/cjs/gux-dropdown-multi.cjs.entry.js +1 -1
  29. package/dist/cjs/gux-dropdown_3.cjs.entry.js +1 -1
  30. package/dist/cjs/gux-flag-icon-beta.cjs.entry.js +1 -1
  31. package/dist/cjs/gux-flyout-menu.cjs.entry.js +1 -1
  32. package/dist/cjs/gux-form-field-checkbox.cjs.entry.js +1 -1
  33. package/dist/cjs/gux-form-field-color.cjs.entry.js +1 -1
  34. package/dist/cjs/gux-form-field-dropdown.cjs.entry.js +1 -1
  35. package/dist/cjs/gux-form-field-file.cjs.entry.js +101 -0
  36. package/dist/cjs/gux-form-field-input-clear-button.cjs.entry.js +2 -2
  37. package/dist/cjs/gux-form-field-number_3.cjs.entry.js +7 -7
  38. package/dist/cjs/gux-form-field-phone.cjs.entry.js +4 -4
  39. package/dist/cjs/gux-form-field-radio-group-beta.cjs.entry.js +2 -2
  40. package/dist/cjs/gux-form-field-radio.cjs.entry.js +3 -3
  41. package/dist/cjs/gux-form-field-range.cjs.entry.js +3 -3
  42. package/dist/cjs/gux-form-field-search.cjs.entry.js +4 -4
  43. package/dist/cjs/gux-form-field-select.cjs.entry.js +4 -4
  44. package/dist/cjs/gux-form-field-text-like.cjs.entry.js +1 -1
  45. package/dist/cjs/gux-form-field-textarea.cjs.entry.js +3 -3
  46. package/dist/cjs/gux-form-field-time-picker.cjs.entry.js +4 -4
  47. package/dist/cjs/gux-form-field-time-zone-picker.cjs.entry.js +3 -3
  48. package/dist/cjs/gux-form-footer.cjs.entry.js +1 -1
  49. package/dist/cjs/gux-icon.cjs.entry.js +2 -2
  50. package/dist/cjs/gux-inline-alert.cjs.entry.js +3 -3
  51. package/dist/cjs/gux-list.cjs.entry.js +1 -1
  52. package/dist/cjs/gux-listbox-multi.cjs.entry.js +1 -1
  53. package/dist/cjs/gux-loading-message.cjs.entry.js +2 -2
  54. package/dist/cjs/gux-modal-legacy.cjs.entry.js +1 -1
  55. package/dist/cjs/gux-modal.cjs.entry.js +2 -2
  56. package/dist/cjs/gux-month-picker-beta.cjs.entry.js +1 -1
  57. package/dist/cjs/gux-notification-toast-legacy.cjs.entry.js +1 -1
  58. package/dist/cjs/gux-page-loading-spinner.cjs.entry.js +2 -2
  59. package/dist/cjs/gux-pagination-buttons_2.cjs.entry.js +2 -2
  60. package/dist/cjs/gux-pagination-cursor.cjs.entry.js +1 -1
  61. package/dist/cjs/gux-pagination-items-per-page.cjs.entry.js +1 -1
  62. package/dist/cjs/gux-pagination-legacy.cjs.entry.js +1 -1
  63. package/dist/cjs/gux-pagination.cjs.entry.js +2 -2
  64. package/dist/cjs/gux-phone-input-beta.cjs.entry.js +1 -1
  65. package/dist/cjs/gux-popover-list.cjs.entry.js +3 -3
  66. package/dist/cjs/gux-popup.cjs.entry.js +3 -3
  67. package/dist/cjs/gux-radial-loading.cjs.entry.js +2 -2
  68. package/dist/cjs/gux-radial-progress.cjs.entry.js +1 -1
  69. package/dist/cjs/gux-rating.cjs.entry.js +2 -2
  70. package/dist/cjs/gux-row-select.cjs.entry.js +1 -1
  71. package/dist/cjs/gux-screen-reader-beta.cjs.entry.js +1 -1
  72. package/dist/cjs/gux-segmented-control-beta.cjs.entry.js +1 -1
  73. package/dist/cjs/gux-selector-card-beta.cjs.entry.js +1 -1
  74. package/dist/cjs/gux-selector-cards-beta.cjs.entry.js +1 -1
  75. package/dist/cjs/gux-simple-toast-legacy.cjs.entry.js +1 -1
  76. package/dist/cjs/gux-skip-navigation-item.cjs.entry.js +1 -1
  77. package/dist/cjs/gux-skip-navigation-list.cjs.entry.js +2 -2
  78. package/dist/cjs/gux-sort-control.cjs.entry.js +4 -4
  79. package/dist/cjs/gux-switch-legacy.cjs.entry.js +1 -1
  80. package/dist/cjs/gux-tab-advanced-list.cjs.entry.js +1 -1
  81. package/dist/cjs/gux-tab-advanced-panel.cjs.entry.js +1 -1
  82. package/dist/cjs/gux-tab-advanced.cjs.entry.js +2 -2
  83. package/dist/cjs/gux-tab-list.cjs.entry.js +2 -2
  84. package/dist/cjs/gux-tab-panel.cjs.entry.js +1 -1
  85. package/dist/cjs/gux-tab.cjs.entry.js +2 -2
  86. package/dist/cjs/gux-table-select-menu.cjs.entry.js +1 -1
  87. package/dist/cjs/gux-table-toolbar-action.cjs.entry.js +2 -2
  88. package/dist/cjs/gux-table-toolbar-custom-action.cjs.entry.js +2 -2
  89. package/dist/cjs/gux-table-toolbar-menu-button.cjs.entry.js +2 -2
  90. package/dist/cjs/gux-table-toolbar.cjs.entry.js +3 -3
  91. package/dist/cjs/gux-table.cjs.entry.js +2 -2
  92. package/dist/cjs/gux-tabs-advanced.cjs.entry.js +2 -2
  93. package/dist/cjs/gux-tabs.cjs.entry.js +2 -2
  94. package/dist/cjs/gux-tag.cjs.entry.js +2 -2
  95. package/dist/cjs/gux-text-highlight.cjs.entry.js +1 -1
  96. package/dist/cjs/gux-time-beta.cjs.entry.js +1 -1
  97. package/dist/cjs/gux-time-picker.cjs.entry.js +9 -6
  98. package/dist/cjs/gux-time-zone-picker-beta.cjs.entry.js +1 -1
  99. package/dist/cjs/gux-toast.cjs.entry.js +3 -3
  100. package/dist/cjs/gux-toggle-slider.cjs.entry.js +2 -2
  101. package/dist/cjs/gux-toggle.cjs.entry.js +3 -3
  102. package/dist/cjs/gux-tooltip-base-beta.cjs.entry.js +1 -1
  103. package/dist/cjs/gux-tooltip-beta.cjs.entry.js +1 -1
  104. package/dist/cjs/gux-tooltip-title.cjs.entry.js +2 -2
  105. package/dist/cjs/gux-tooltip.cjs.entry.js +3 -3
  106. package/dist/cjs/gux-truncate.cjs.entry.js +3 -3
  107. package/dist/cjs/index-7fb02c8c.js +8 -4
  108. package/dist/cjs/loader.cjs.js +1 -1
  109. package/dist/cjs/{usage-bab0c22a.js → usage-b5dd0196.js} +1 -1
  110. package/dist/collection/collection-manifest.json +1 -0
  111. package/dist/collection/components/beta/gux-form/tests/gux-form.e2e.js +59 -45
  112. package/dist/collection/components/stable/gux-calendar/gux-calendar.css +1 -0
  113. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-file/gux-form-field-file.css +107 -0
  114. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-file/gux-form-field-file.js +133 -0
  115. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-file/tests/gux-form-field-file.e2e.js +102 -0
  116. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-file/tests/gux-form-field-file.spec.js +89 -0
  117. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-number/gux-form-field-number.js +3 -3
  118. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-phone/gux-form-field-phone.js +3 -3
  119. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-radio/gux-form-field-radio.js +2 -2
  120. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-radio-group/gux-form-field-radio-group.js +1 -1
  121. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-range/gux-form-field-range.js +2 -2
  122. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-search/gux-form-field-search.js +3 -3
  123. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-select/gux-form-field-select.js +3 -3
  124. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-textarea/gux-form-field-textarea.js +2 -2
  125. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-time-picker/gux-form-field-time-picker.js +3 -3
  126. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-time-zone-picker/gux-form-field-time-zone-picker.js +2 -2
  127. package/dist/collection/components/stable/gux-form-field/helper-components/gux-form-field-input-clear-button/gux-form-field-input-clear-button.js +1 -1
  128. package/dist/collection/components/stable/gux-icon/gux-icon.js +1 -1
  129. package/dist/collection/components/stable/gux-inline-alert/gux-inline-alert.js +2 -2
  130. package/dist/collection/components/stable/gux-listbox-multi/gux-create-option/gux-create-option.js +2 -2
  131. package/dist/collection/components/stable/gux-loading-message/gux-loading-message.js +1 -1
  132. package/dist/collection/components/stable/gux-modal/gux-modal.js +1 -1
  133. package/dist/collection/components/stable/gux-page-loading-spinner/gux-page-loading-spinner.js +1 -1
  134. package/dist/collection/components/stable/gux-pagination/gux-pagination-buttons/gux-pagination-buttons.js +1 -1
  135. package/dist/collection/components/stable/gux-pagination/gux-pagination-buttons/gux-pagination-ellipsis-button/gux-pagination-ellipsis-button.js +1 -1
  136. package/dist/collection/components/stable/gux-pagination/gux-pagination-item-counts/gux-pagination-item-counts.js +1 -1
  137. package/dist/collection/components/stable/gux-pagination/gux-pagination-items-per-page/gux-pagination-items-per-page.js +1 -1
  138. package/dist/collection/components/stable/gux-pagination/gux-pagination.js +1 -1
  139. package/dist/collection/components/stable/gux-popover/gux-popover.js +2 -2
  140. package/dist/collection/components/stable/gux-popover-list/gux-popover-list.js +2 -2
  141. package/dist/collection/components/stable/gux-popup/gux-popup.js +3 -3
  142. package/dist/collection/components/stable/gux-radial-loading/gux-radial-loading.js +1 -1
  143. package/dist/collection/components/stable/gux-rating/gux-rating.js +1 -1
  144. package/dist/collection/components/stable/gux-skip-navigation-list/gux-skip-navigation-item/gux-skip-navigation-item.js +1 -1
  145. package/dist/collection/components/stable/gux-skip-navigation-list/gux-skip-navigation-list.js +1 -1
  146. package/dist/collection/components/stable/gux-table/gux-all-row-select/gux-all-row-select.js +1 -1
  147. package/dist/collection/components/stable/gux-table/gux-row-select/gux-row-select.js +1 -1
  148. package/dist/collection/components/stable/gux-table/gux-sort-control/gux-sort-control.js +3 -3
  149. package/dist/collection/components/stable/gux-table/gux-table-select-menu/gux-table-select-menu.js +1 -1
  150. package/dist/collection/components/stable/gux-table/gux-table.js +1 -1
  151. package/dist/collection/components/stable/gux-table-toolbar/gux-table-toolbar-action/gux-table-toolbar-action.js +1 -1
  152. package/dist/collection/components/stable/gux-table-toolbar/gux-table-toolbar-custom-action/gux-table-toolbar-custom-action.js +1 -1
  153. package/dist/collection/components/stable/gux-table-toolbar/gux-table-toolbar-menu-button/gux-table-toolbar-menu-button.js +1 -1
  154. package/dist/collection/components/stable/gux-table-toolbar/gux-table-toolbar.js +2 -2
  155. package/dist/collection/components/stable/gux-tabs/gux-tab/gux-tab.js +2 -2
  156. package/dist/collection/components/stable/gux-tabs/gux-tab-list/gux-tab-list.js +2 -2
  157. package/dist/collection/components/stable/gux-tabs/gux-tab-panel/gux-tab-panel.js +1 -1
  158. package/dist/collection/components/stable/gux-tabs/gux-tabs.js +1 -1
  159. package/dist/collection/components/stable/gux-tabs-advanced/gux-tab-advanced/gux-tab-advanced.js +2 -2
  160. package/dist/collection/components/stable/gux-tabs-advanced/gux-tab-advanced-list/gux-tab-advanced-list.js +1 -1
  161. package/dist/collection/components/stable/gux-tabs-advanced/gux-tab-advanced-panel/gux-tab-advanced-panel.js +1 -1
  162. package/dist/collection/components/stable/gux-tabs-advanced/gux-tabs-advanced.js +1 -1
  163. package/dist/collection/components/stable/gux-tag/gux-tag.js +1 -1
  164. package/dist/collection/components/stable/gux-time-picker/gux-time-picker.js +1 -1
  165. package/dist/collection/components/stable/gux-time-picker/gux-time-picker.service.js +8 -4
  166. package/dist/collection/components/stable/gux-toast/gux-toast.js +2 -2
  167. package/dist/collection/components/stable/gux-toggle/gux-toggle-slider/gux-toggle-slider.js +2 -2
  168. package/dist/collection/components/stable/gux-toggle/gux-toggle.js +2 -2
  169. package/dist/collection/components/stable/gux-tooltip/gux-tooltip.js +2 -2
  170. package/dist/collection/components/stable/gux-tooltip-title/gux-tooltip-title.js +2 -2
  171. package/dist/collection/components/stable/gux-truncate/gux-truncate.js +3 -3
  172. package/dist/esm/genesys-webcomponents.js +1 -1
  173. package/dist/esm/gux-accordion.entry.js +1 -1
  174. package/dist/esm/gux-action-button.entry.js +1 -1
  175. package/dist/esm/gux-action-toast-legacy.entry.js +1 -1
  176. package/dist/esm/gux-advanced-dropdown-legacy.entry.js +1 -1
  177. package/dist/esm/gux-all-row-select.entry.js +1 -1
  178. package/dist/esm/gux-announce-beta.entry.js +1 -1
  179. package/dist/esm/gux-avatar-beta.entry.js +1 -1
  180. package/dist/esm/gux-avatar-change-photo-beta.entry.js +1 -1
  181. package/dist/esm/gux-badge.entry.js +1 -1
  182. package/dist/esm/gux-blank-state.entry.js +1 -1
  183. package/dist/esm/gux-breadcrumbs.entry.js +1 -1
  184. package/dist/esm/gux-button-multi.entry.js +1 -1
  185. package/dist/esm/gux-button-slot.entry.js +1 -1
  186. package/dist/esm/gux-button.entry.js +1 -1
  187. package/dist/esm/gux-calendar.entry.js +2 -2
  188. package/dist/esm/gux-card.entry.js +1 -1
  189. package/dist/esm/gux-column-manager.entry.js +1 -1
  190. package/dist/esm/gux-content-search.entry.js +1 -1
  191. package/dist/esm/gux-context-menu.entry.js +1 -1
  192. package/dist/esm/gux-copy-to-clipboard.entry.js +1 -1
  193. package/dist/esm/gux-create-option.entry.js +2 -2
  194. package/dist/esm/gux-date-beta.entry.js +1 -1
  195. package/dist/esm/gux-date-time-beta.entry.js +1 -1
  196. package/dist/esm/gux-datepicker.entry.js +1 -1
  197. package/dist/esm/gux-disclosure-button-legacy.entry.js +1 -1
  198. package/dist/esm/gux-dismiss-button.entry.js +1 -1
  199. package/dist/esm/gux-dropdown-multi.entry.js +1 -1
  200. package/dist/esm/gux-dropdown_3.entry.js +1 -1
  201. package/dist/esm/gux-flag-icon-beta.entry.js +1 -1
  202. package/dist/esm/gux-flyout-menu.entry.js +1 -1
  203. package/dist/esm/gux-form-field-checkbox.entry.js +1 -1
  204. package/dist/esm/gux-form-field-color.entry.js +1 -1
  205. package/dist/esm/gux-form-field-dropdown.entry.js +1 -1
  206. package/dist/esm/gux-form-field-file.entry.js +97 -0
  207. package/dist/esm/gux-form-field-input-clear-button.entry.js +2 -2
  208. package/dist/esm/gux-form-field-number_3.entry.js +7 -7
  209. package/dist/esm/gux-form-field-phone.entry.js +4 -4
  210. package/dist/esm/gux-form-field-radio-group-beta.entry.js +2 -2
  211. package/dist/esm/gux-form-field-radio.entry.js +3 -3
  212. package/dist/esm/gux-form-field-range.entry.js +3 -3
  213. package/dist/esm/gux-form-field-search.entry.js +4 -4
  214. package/dist/esm/gux-form-field-select.entry.js +4 -4
  215. package/dist/esm/gux-form-field-text-like.entry.js +1 -1
  216. package/dist/esm/gux-form-field-textarea.entry.js +3 -3
  217. package/dist/esm/gux-form-field-time-picker.entry.js +4 -4
  218. package/dist/esm/gux-form-field-time-zone-picker.entry.js +3 -3
  219. package/dist/esm/gux-form-footer.entry.js +1 -1
  220. package/dist/esm/gux-icon.entry.js +2 -2
  221. package/dist/esm/gux-inline-alert.entry.js +3 -3
  222. package/dist/esm/gux-list.entry.js +1 -1
  223. package/dist/esm/gux-listbox-multi.entry.js +1 -1
  224. package/dist/esm/gux-loading-message.entry.js +2 -2
  225. package/dist/esm/gux-modal-legacy.entry.js +1 -1
  226. package/dist/esm/gux-modal.entry.js +2 -2
  227. package/dist/esm/gux-month-picker-beta.entry.js +1 -1
  228. package/dist/esm/gux-notification-toast-legacy.entry.js +1 -1
  229. package/dist/esm/gux-page-loading-spinner.entry.js +2 -2
  230. package/dist/esm/gux-pagination-buttons_2.entry.js +2 -2
  231. package/dist/esm/gux-pagination-cursor.entry.js +1 -1
  232. package/dist/esm/gux-pagination-items-per-page.entry.js +1 -1
  233. package/dist/esm/gux-pagination-legacy.entry.js +1 -1
  234. package/dist/esm/gux-pagination.entry.js +2 -2
  235. package/dist/esm/gux-phone-input-beta.entry.js +1 -1
  236. package/dist/esm/gux-popover-list.entry.js +3 -3
  237. package/dist/esm/gux-popup.entry.js +3 -3
  238. package/dist/esm/gux-radial-loading.entry.js +2 -2
  239. package/dist/esm/gux-radial-progress.entry.js +1 -1
  240. package/dist/esm/gux-rating.entry.js +2 -2
  241. package/dist/esm/gux-row-select.entry.js +1 -1
  242. package/dist/esm/gux-screen-reader-beta.entry.js +1 -1
  243. package/dist/esm/gux-segmented-control-beta.entry.js +1 -1
  244. package/dist/esm/gux-selector-card-beta.entry.js +1 -1
  245. package/dist/esm/gux-selector-cards-beta.entry.js +1 -1
  246. package/dist/esm/gux-simple-toast-legacy.entry.js +1 -1
  247. package/dist/esm/gux-skip-navigation-item.entry.js +1 -1
  248. package/dist/esm/gux-skip-navigation-list.entry.js +2 -2
  249. package/dist/esm/gux-sort-control.entry.js +4 -4
  250. package/dist/esm/gux-switch-legacy.entry.js +1 -1
  251. package/dist/esm/gux-tab-advanced-list.entry.js +1 -1
  252. package/dist/esm/gux-tab-advanced-panel.entry.js +1 -1
  253. package/dist/esm/gux-tab-advanced.entry.js +2 -2
  254. package/dist/esm/gux-tab-list.entry.js +2 -2
  255. package/dist/esm/gux-tab-panel.entry.js +1 -1
  256. package/dist/esm/gux-tab.entry.js +2 -2
  257. package/dist/esm/gux-table-select-menu.entry.js +1 -1
  258. package/dist/esm/gux-table-toolbar-action.entry.js +2 -2
  259. package/dist/esm/gux-table-toolbar-custom-action.entry.js +2 -2
  260. package/dist/esm/gux-table-toolbar-menu-button.entry.js +2 -2
  261. package/dist/esm/gux-table-toolbar.entry.js +3 -3
  262. package/dist/esm/gux-table.entry.js +2 -2
  263. package/dist/esm/gux-tabs-advanced.entry.js +2 -2
  264. package/dist/esm/gux-tabs.entry.js +2 -2
  265. package/dist/esm/gux-tag.entry.js +2 -2
  266. package/dist/esm/gux-text-highlight.entry.js +1 -1
  267. package/dist/esm/gux-time-beta.entry.js +1 -1
  268. package/dist/esm/gux-time-picker.entry.js +9 -6
  269. package/dist/esm/gux-time-zone-picker-beta.entry.js +1 -1
  270. package/dist/esm/gux-toast.entry.js +3 -3
  271. package/dist/esm/gux-toggle-slider.entry.js +2 -2
  272. package/dist/esm/gux-toggle.entry.js +3 -3
  273. package/dist/esm/gux-tooltip-base-beta.entry.js +1 -1
  274. package/dist/esm/gux-tooltip-beta.entry.js +1 -1
  275. package/dist/esm/gux-tooltip-title.entry.js +2 -2
  276. package/dist/esm/gux-tooltip.entry.js +3 -3
  277. package/dist/esm/gux-truncate.entry.js +3 -3
  278. package/dist/esm/index-da21b737.js +8 -4
  279. package/dist/esm/loader.js +1 -1
  280. package/dist/esm/{usage-1aefeb10.js → usage-5a1960bc.js} +1 -1
  281. package/dist/genesys-webcomponents/genesys-webcomponents.css +1 -1
  282. package/dist/genesys-webcomponents/genesys-webcomponents.esm.js +1 -1
  283. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.en.json +1 -1
  284. package/dist/genesys-webcomponents/{p-6083def7.entry.js → p-0b412ab5.entry.js} +1 -1
  285. package/dist/genesys-webcomponents/{p-f7037b99.entry.js → p-0b73f23e.entry.js} +1 -1
  286. package/dist/genesys-webcomponents/{p-5734835a.entry.js → p-0cd2c884.entry.js} +1 -1
  287. package/dist/genesys-webcomponents/p-0d831f9e.entry.js +1 -0
  288. package/dist/genesys-webcomponents/{p-4e7b948d.entry.js → p-0e59778a.entry.js} +1 -1
  289. package/dist/genesys-webcomponents/{p-7371f662.entry.js → p-14f5a27d.entry.js} +1 -1
  290. package/dist/genesys-webcomponents/p-15027e94.entry.js +1 -0
  291. package/dist/genesys-webcomponents/{p-eb662ee7.entry.js → p-16167e36.entry.js} +1 -1
  292. package/dist/genesys-webcomponents/p-19249ca2.entry.js +1 -0
  293. package/dist/genesys-webcomponents/{p-55853b99.entry.js → p-1d98628e.entry.js} +1 -1
  294. package/dist/genesys-webcomponents/{p-33956316.entry.js → p-1ea03085.entry.js} +1 -1
  295. package/dist/genesys-webcomponents/{p-72d83265.entry.js → p-20155964.entry.js} +1 -1
  296. package/dist/genesys-webcomponents/p-2182bf2b.entry.js +1 -0
  297. package/dist/genesys-webcomponents/{p-47d0d376.entry.js → p-24bb1a67.entry.js} +1 -1
  298. package/dist/genesys-webcomponents/{p-16be5a21.entry.js → p-256ae811.entry.js} +1 -1
  299. package/dist/genesys-webcomponents/{p-07c19b99.entry.js → p-25eaa6dc.entry.js} +1 -1
  300. package/dist/genesys-webcomponents/p-2863dadf.entry.js +1 -0
  301. package/dist/genesys-webcomponents/p-2a9da026.entry.js +1 -0
  302. package/dist/genesys-webcomponents/{p-a885f424.entry.js → p-2b66c772.entry.js} +1 -1
  303. package/dist/genesys-webcomponents/{p-e47fc58a.entry.js → p-2ea874ef.entry.js} +1 -1
  304. package/dist/genesys-webcomponents/{p-027844b5.entry.js → p-308985a3.entry.js} +1 -1
  305. package/dist/genesys-webcomponents/{p-ecf57262.entry.js → p-3090f5b3.entry.js} +1 -1
  306. package/dist/genesys-webcomponents/{p-ca16543f.entry.js → p-37fb97e4.entry.js} +1 -1
  307. package/dist/genesys-webcomponents/{p-400bc4e4.entry.js → p-38b61bc1.entry.js} +1 -1
  308. package/dist/genesys-webcomponents/{p-b2b99c73.entry.js → p-3b222b40.entry.js} +1 -1
  309. package/dist/genesys-webcomponents/{p-a7e98e07.entry.js → p-3b7fdf90.entry.js} +1 -1
  310. package/dist/genesys-webcomponents/{p-3a755bb3.entry.js → p-3c473083.entry.js} +1 -1
  311. package/dist/genesys-webcomponents/{p-0acdb0f5.entry.js → p-3f8bf628.entry.js} +1 -1
  312. package/dist/genesys-webcomponents/{p-07f7f482.entry.js → p-401b2e76.entry.js} +1 -1
  313. package/dist/genesys-webcomponents/p-467abc14.entry.js +1 -0
  314. package/dist/genesys-webcomponents/{p-562a6625.entry.js → p-47eb00e5.entry.js} +1 -1
  315. package/dist/genesys-webcomponents/{p-02580363.entry.js → p-49adb60c.entry.js} +1 -1
  316. package/dist/genesys-webcomponents/{p-06e445ce.entry.js → p-4d85bbc1.entry.js} +1 -1
  317. package/dist/genesys-webcomponents/{p-9f173ccf.entry.js → p-4da712c6.entry.js} +1 -1
  318. package/dist/genesys-webcomponents/{p-004d9a03.entry.js → p-4ed4a89f.entry.js} +1 -1
  319. package/dist/genesys-webcomponents/{p-75dc7873.entry.js → p-4fb48fae.entry.js} +1 -1
  320. package/dist/genesys-webcomponents/{p-ba7fb507.entry.js → p-5092cdee.entry.js} +1 -1
  321. package/dist/genesys-webcomponents/{p-297ff8a5.entry.js → p-537a719f.entry.js} +1 -1
  322. package/dist/genesys-webcomponents/{p-e872aa4d.entry.js → p-5567df5c.entry.js} +1 -1
  323. package/dist/genesys-webcomponents/{p-a0194901.entry.js → p-55b918d0.entry.js} +1 -1
  324. package/dist/genesys-webcomponents/{p-a6c7ea00.entry.js → p-55be37e5.entry.js} +1 -1
  325. package/dist/genesys-webcomponents/{p-1a07f48d.entry.js → p-57548b4f.entry.js} +1 -1
  326. package/dist/genesys-webcomponents/{p-abf665c1.entry.js → p-5df83538.entry.js} +1 -1
  327. package/dist/genesys-webcomponents/{p-26a48937.entry.js → p-69d35542.entry.js} +1 -1
  328. package/dist/genesys-webcomponents/{p-77e8d6d5.entry.js → p-69f5e58c.entry.js} +1 -1
  329. package/dist/genesys-webcomponents/{p-f84667d1.entry.js → p-6d16b953.entry.js} +1 -1
  330. package/dist/genesys-webcomponents/{p-dfa2923d.entry.js → p-6f5a96d4.entry.js} +1 -1
  331. package/dist/genesys-webcomponents/{p-a90446a1.entry.js → p-7056632b.entry.js} +1 -1
  332. package/dist/genesys-webcomponents/{p-b02d4df9.entry.js → p-72ccd3a7.entry.js} +1 -1
  333. package/dist/genesys-webcomponents/{p-69fd820d.entry.js → p-762f96ae.entry.js} +1 -1
  334. package/dist/genesys-webcomponents/{p-563a8639.entry.js → p-78c0815d.entry.js} +1 -1
  335. package/dist/genesys-webcomponents/{p-b5aca720.entry.js → p-7b1894e6.entry.js} +1 -1
  336. package/dist/genesys-webcomponents/{p-b675ae56.entry.js → p-80dfd650.entry.js} +1 -1
  337. package/dist/genesys-webcomponents/{p-ce6b5a92.entry.js → p-8800bfc1.entry.js} +1 -1
  338. package/dist/genesys-webcomponents/{p-e3fd5687.entry.js → p-88d7a6e8.entry.js} +1 -1
  339. package/dist/genesys-webcomponents/{p-a94a6d68.entry.js → p-8980f1a6.entry.js} +1 -1
  340. package/dist/genesys-webcomponents/{p-2fe7f46c.entry.js → p-8995960d.entry.js} +1 -1
  341. package/dist/genesys-webcomponents/{p-f898c361.entry.js → p-8c29a9de.entry.js} +1 -1
  342. package/dist/genesys-webcomponents/p-8c545f6f.entry.js +1 -0
  343. package/dist/genesys-webcomponents/p-8e7a8082.entry.js +1 -0
  344. package/dist/genesys-webcomponents/{p-f0ac7d24.entry.js → p-900e90a2.entry.js} +1 -1
  345. package/dist/genesys-webcomponents/{p-02f5edb0.entry.js → p-90d22e8f.entry.js} +1 -1
  346. package/dist/genesys-webcomponents/p-93e061af.entry.js +1 -0
  347. package/dist/genesys-webcomponents/{p-24ee6e48.entry.js → p-9460bbbb.entry.js} +1 -1
  348. package/dist/genesys-webcomponents/{p-1588a46b.entry.js → p-94d38310.entry.js} +1 -1
  349. package/dist/genesys-webcomponents/{p-bfdc012d.entry.js → p-95c415b5.entry.js} +1 -1
  350. package/dist/genesys-webcomponents/{p-d360b87b.entry.js → p-98424df9.entry.js} +1 -1
  351. package/dist/genesys-webcomponents/{p-311f52d3.entry.js → p-9f29f09c.entry.js} +1 -1
  352. package/dist/genesys-webcomponents/{p-aa9c9ab0.entry.js → p-a0ed4b3a.entry.js} +1 -1
  353. package/dist/genesys-webcomponents/{p-f9334e1a.entry.js → p-a373d552.entry.js} +1 -1
  354. package/dist/genesys-webcomponents/{p-2fb86ce6.entry.js → p-a3b29622.entry.js} +1 -1
  355. package/dist/genesys-webcomponents/{p-74e26bb4.entry.js → p-a6a60584.entry.js} +1 -1
  356. package/dist/genesys-webcomponents/{p-6e756e32.entry.js → p-a803b88c.entry.js} +1 -1
  357. package/dist/genesys-webcomponents/{p-8064d34a.entry.js → p-aa395116.entry.js} +1 -1
  358. package/dist/genesys-webcomponents/{p-5ef51e1c.entry.js → p-acf03492.entry.js} +1 -1
  359. package/dist/genesys-webcomponents/{p-ff0353fc.entry.js → p-ad5afafb.entry.js} +1 -1
  360. package/dist/genesys-webcomponents/{p-cb4ddfd2.entry.js → p-af10aa36.entry.js} +1 -1
  361. package/dist/genesys-webcomponents/{p-12881383.entry.js → p-b369626f.entry.js} +1 -1
  362. package/dist/genesys-webcomponents/{p-40e4b886.entry.js → p-b4c27d1d.entry.js} +1 -1
  363. package/dist/genesys-webcomponents/{p-4292d003.entry.js → p-b7dd6b5d.entry.js} +1 -1
  364. package/dist/genesys-webcomponents/{p-fa5d2f6c.entry.js → p-c63a266e.entry.js} +1 -1
  365. package/dist/genesys-webcomponents/{p-dccde665.entry.js → p-c6f54482.entry.js} +1 -1
  366. package/dist/genesys-webcomponents/{p-f40f91c3.entry.js → p-c7b8b9a1.entry.js} +1 -1
  367. package/dist/genesys-webcomponents/{p-840e6f95.entry.js → p-c7b994c8.entry.js} +1 -1
  368. package/dist/genesys-webcomponents/p-c7c99ac2.entry.js +1 -0
  369. package/dist/genesys-webcomponents/{p-5a77a43e.entry.js → p-c9ad4539.entry.js} +1 -1
  370. package/dist/genesys-webcomponents/{p-9f9aa687.entry.js → p-cb0427d9.entry.js} +1 -1
  371. package/dist/genesys-webcomponents/{p-71dfce56.entry.js → p-ccad0942.entry.js} +1 -1
  372. package/dist/genesys-webcomponents/{p-c61096cc.entry.js → p-cf8d9ea4.entry.js} +1 -1
  373. package/dist/genesys-webcomponents/{p-239f2cd2.js → p-d0adc4e2.js} +1 -1
  374. package/dist/genesys-webcomponents/{p-5b56d97e.entry.js → p-d228fbe2.entry.js} +1 -1
  375. package/dist/genesys-webcomponents/{p-0b3e8203.entry.js → p-d7ccc694.entry.js} +1 -1
  376. package/dist/genesys-webcomponents/{p-72f90a89.entry.js → p-dcd54482.entry.js} +1 -1
  377. package/dist/genesys-webcomponents/{p-b7fd1bbf.entry.js → p-e07940da.entry.js} +1 -1
  378. package/dist/genesys-webcomponents/{p-c67dba3b.entry.js → p-e3529103.entry.js} +1 -1
  379. package/dist/genesys-webcomponents/{p-d997514e.entry.js → p-e36b8241.entry.js} +1 -1
  380. package/dist/genesys-webcomponents/{p-53b7fb4e.entry.js → p-eb9bb414.entry.js} +1 -1
  381. package/dist/genesys-webcomponents/{p-f70a5548.entry.js → p-ec91be6a.entry.js} +1 -1
  382. package/dist/genesys-webcomponents/{p-a6fc3aeb.entry.js → p-eca776ae.entry.js} +1 -1
  383. package/dist/genesys-webcomponents/{p-d379dfc0.entry.js → p-ececc2a9.entry.js} +1 -1
  384. package/dist/genesys-webcomponents/{p-bcee19cc.entry.js → p-f0e15716.entry.js} +1 -1
  385. package/dist/genesys-webcomponents/{p-1d97ddd1.entry.js → p-f2bb6e81.entry.js} +1 -1
  386. package/dist/genesys-webcomponents/{p-8184a1c1.entry.js → p-fa255c6a.entry.js} +1 -1
  387. package/dist/genesys-webcomponents/{p-0f967b47.entry.js → p-fc566d49.entry.js} +1 -1
  388. package/dist/genesys-webcomponents/{p-88884e79.entry.js → p-fe0ce8ec.entry.js} +1 -1
  389. package/dist/genesys-webcomponents/p-ffecb91c.entry.js +1 -0
  390. package/dist/stencil-wrapper.js +1 -1
  391. package/dist/types/components/stable/gux-form-field/components/gux-form-field-file/gux-form-field-file.d.ts +28 -0
  392. package/dist/types/components.d.ts +15 -0
  393. package/dist/types/stencil-wrapper.d.ts +1 -1
  394. package/package.json +1 -1
  395. package/dist/genesys-webcomponents/p-00e6c18d.entry.js +0 -1
  396. package/dist/genesys-webcomponents/p-09c75054.entry.js +0 -1
  397. package/dist/genesys-webcomponents/p-0e6a016f.entry.js +0 -1
  398. package/dist/genesys-webcomponents/p-19588cc5.entry.js +0 -1
  399. package/dist/genesys-webcomponents/p-4c81fa80.entry.js +0 -1
  400. package/dist/genesys-webcomponents/p-5b2df9c6.entry.js +0 -1
  401. package/dist/genesys-webcomponents/p-5b97e8c6.entry.js +0 -1
  402. package/dist/genesys-webcomponents/p-7c09fde6.entry.js +0 -1
  403. package/dist/genesys-webcomponents/p-9040af5f.entry.js +0 -1
  404. package/dist/genesys-webcomponents/p-9b8858ef.entry.js +0 -1
  405. package/dist/genesys-webcomponents/p-ce976d10.entry.js +0 -1
@@ -0,0 +1,133 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4
+ r = Reflect.decorate(decorators, target, key, desc);
5
+ else
6
+ for (var i = decorators.length - 1; i >= 0; i--)
7
+ if (d = decorators[i])
8
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10
+ };
11
+ import { h } from "@stencil/core";
12
+ import { buildI18nForComponent } from "../../../../../i18n/index";
13
+ import { OnMutation } from "../../../../../utils/decorator/on-mutation";
14
+ import { hasSlot } from "../../../../../utils/dom/has-slot";
15
+ import { trackComponent } from "../../../../../utils/tracking/usage";
16
+ import { GuxFormFieldError, GuxFormFieldFieldsetContainer, GuxFormFieldHelp, GuxFormFieldLegendLabel } from "../../functional-components/functional-components";
17
+ import { getComputedLabelPosition, getSlottedInput, validateFormIds } from "../../gux-form-field.service";
18
+ import { getSlotTextContent } from "../../../../../utils/dom/get-slot-text-content";
19
+ import componentResources from "./i18n/en.json";
20
+ import { preventBrowserValidationStyling } from "../../../../../utils/dom/prevent-browser-validation-styling";
21
+ import { onRequiredChange } from "../../../../../utils/dom/on-attribute-change";
22
+ /**
23
+ * @slot input - Required slot for input tag
24
+ * @slot label - Required slot for label tag
25
+ * @slot error - Optional slot for error message
26
+ * @slot help - Optional slot for help message
27
+ */
28
+ export class GuxFormFieldFile {
29
+ constructor() {
30
+ this.labelPosition = undefined;
31
+ this.computedLabelPosition = 'above';
32
+ this.hasError = false;
33
+ this.hasHelp = false;
34
+ this.required = false;
35
+ }
36
+ onMutation() {
37
+ this.hasError = hasSlot(this.root, 'error');
38
+ this.hasHelp = hasSlot(this.root, 'help');
39
+ }
40
+ async componentWillLoad() {
41
+ this.getI18nValue = await buildI18nForComponent(this.root, componentResources);
42
+ this.setInput();
43
+ this.setLabel();
44
+ this.hasError = hasSlot(this.root, 'error');
45
+ this.hasHelp = hasSlot(this.root, 'help');
46
+ trackComponent(this.root, { variant: this.variant });
47
+ }
48
+ disconnectedCallback() {
49
+ if (this.requiredObserver) {
50
+ this.requiredObserver.disconnect();
51
+ }
52
+ }
53
+ renderScreenReaderText(text, condition = true) {
54
+ if (condition) {
55
+ return (h("gux-screen-reader-beta", null, text));
56
+ }
57
+ }
58
+ setLabel() {
59
+ this.label = this.root.querySelector('label[slot="label"]');
60
+ this.computedLabelPosition = getComputedLabelPosition(this.label, this.labelPosition);
61
+ }
62
+ setInput() {
63
+ this.fileInputElement = getSlottedInput(this.root, 'input[type="file"][slot="input"]');
64
+ preventBrowserValidationStyling(this.fileInputElement);
65
+ this.required = this.fileInputElement.required;
66
+ this.requiredObserver = onRequiredChange(this.fileInputElement, (required) => {
67
+ this.required = required;
68
+ });
69
+ validateFormIds(this.root, this.fileInputElement);
70
+ }
71
+ get variant() {
72
+ const labelPositionVariant = this.labelPosition
73
+ ? this.labelPosition.toLowerCase()
74
+ : 'none';
75
+ const type = 'fileInput';
76
+ return `${type}-${labelPositionVariant}`;
77
+ }
78
+ render() {
79
+ var _a;
80
+ return (h(GuxFormFieldFieldsetContainer, { key: 'd623abdf116c5e7c87ca3ca3779b7c98cd52be7d', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLegendLabel, { key: '99fd595817f3f6938022d0e66bbd88ccb800ef83', position: this.computedLabelPosition, required: this.required, labelText: (_a = this.label) === null || _a === void 0 ? void 0 : _a.textContent }, h("slot", { key: 'e1a4251e79dff9e7546d48fae9696f6167003865', name: "label", onSlotchange: () => this.setLabel() }), this.renderScreenReaderText(this.getI18nValue('required'), this.required), this.renderScreenReaderText(getSlotTextContent(this.root, 'error'), this.hasError), this.renderScreenReaderText(getSlotTextContent(this.root, 'help'), this.hasHelp)), h("slot", { key: '526cfe8bb01e4ee4a5dbb557015322208a5a48ab', name: "input", onSlotchange: () => this.setInput() }), h(GuxFormFieldError, { key: 'f318b5ed353a7bacff2f3c10f1f2390e85c702d5', show: this.hasError }, h("slot", { key: '0b0733b5bc784b6f5112aebb7ba9fe59e7d6e6e7', name: "error" })), h(GuxFormFieldHelp, { key: '59ed2b761b1365f568b235020b60a584073f4387', show: !this.hasError && this.hasHelp }, h("slot", { key: 'f74cab7cd8a162d2c3c6c4e834efe9bcfb173d6c', name: "help" }))));
81
+ }
82
+ static get is() { return "gux-form-field-file"; }
83
+ static get encapsulation() { return "shadow"; }
84
+ static get originalStyleUrls() {
85
+ return {
86
+ "$": ["gux-form-field-file.scss"]
87
+ };
88
+ }
89
+ static get styleUrls() {
90
+ return {
91
+ "$": ["gux-form-field-file.css"]
92
+ };
93
+ }
94
+ static get properties() {
95
+ return {
96
+ "labelPosition": {
97
+ "type": "string",
98
+ "mutable": false,
99
+ "complexType": {
100
+ "original": "GuxFormFieldLabelPosition",
101
+ "resolved": "\"above\" | \"beside\" | \"screenreader\"",
102
+ "references": {
103
+ "GuxFormFieldLabelPosition": {
104
+ "location": "import",
105
+ "path": "../../gux-form-field.types",
106
+ "id": "src/components/stable/gux-form-field/gux-form-field.types.ts::GuxFormFieldLabelPosition"
107
+ }
108
+ }
109
+ },
110
+ "required": false,
111
+ "optional": false,
112
+ "docs": {
113
+ "tags": [],
114
+ "text": ""
115
+ },
116
+ "attribute": "label-position",
117
+ "reflect": false
118
+ }
119
+ };
120
+ }
121
+ static get states() {
122
+ return {
123
+ "computedLabelPosition": {},
124
+ "hasError": {},
125
+ "hasHelp": {},
126
+ "required": {}
127
+ };
128
+ }
129
+ static get elementRef() { return "root"; }
130
+ }
131
+ __decorate([
132
+ OnMutation({ childList: true, subtree: true })
133
+ ], GuxFormFieldFile.prototype, "onMutation", null);
@@ -0,0 +1,102 @@
1
+ import { newE2EPage } from "@stencil/core/testing";
2
+ import { newSparkE2EPage, a11yCheck } from "../../../../../../test/e2eTestUtils";
3
+ const axeExclusions = [];
4
+ async function newNonrandomE2EPage({ html }) {
5
+ const page = await newE2EPage();
6
+ await page.evaluateOnNewDocument(() => {
7
+ Math.random = () => 0.5;
8
+ });
9
+ await page.setContent(html);
10
+ await page.waitForChanges();
11
+ return page;
12
+ }
13
+ describe('gux-form-field-file', () => {
14
+ describe('#render', () => {
15
+ describe('label-position', () => {
16
+ [
17
+ '',
18
+ 'label-position="above"',
19
+ 'label-position="beside"',
20
+ 'label-position="screenreader"'
21
+ ].forEach((componentAttribute, index) => {
22
+ const html = `
23
+ <gux-form-field-file ${componentAttribute}>
24
+ <label slot="label">Upload a profile picture</label>
25
+ <input
26
+ type="file"
27
+ id="avatar"
28
+ name="avatar"
29
+ accept="image/png, image/jpeg"
30
+ slot="input"
31
+ />
32
+ </gux-form-field-file>
33
+ `;
34
+ it(`should render component as expected (${index + 1})`, async () => {
35
+ const page = await newNonrandomE2EPage({ html });
36
+ const element = await page.find('gux-form-field-file');
37
+ const elementShadowDom = await element.find('pierce/.gux-form-field-container');
38
+ expect(element.outerHTML).toMatchSnapshot();
39
+ expect(elementShadowDom).toMatchSnapshot();
40
+ });
41
+ it(`should be accessible (${index + 1})`, async () => {
42
+ const page = await newSparkE2EPage({ html });
43
+ await a11yCheck(page, axeExclusions);
44
+ });
45
+ });
46
+ });
47
+ describe('input attributes', () => {
48
+ ['', 'disabled', 'required'].forEach((inputAttribute, index) => {
49
+ const html = `
50
+ <gux-form-field-file>
51
+ <label slot="label">Upload a profile picture</label>
52
+ <input
53
+ slot="input"
54
+ type="file"
55
+ id="avatar"
56
+ name="avatar"
57
+ accept="image/png, image/jpeg"
58
+ ${inputAttribute}
59
+ />
60
+ </gux-form-field-file>
61
+ `;
62
+ it(`should render component as expected (${index + 1})`, async () => {
63
+ const page = await newNonrandomE2EPage({ html });
64
+ const element = await page.find('gux-form-field-file');
65
+ const elementShadowDom = await element.find('pierce/.gux-form-field-container');
66
+ expect(element.outerHTML).toMatchSnapshot();
67
+ expect(elementShadowDom).toMatchSnapshot();
68
+ });
69
+ it(`should be accessible (${index + 1})`, async () => {
70
+ const page = await newSparkE2EPage({ html });
71
+ await a11yCheck(page, axeExclusions);
72
+ });
73
+ });
74
+ });
75
+ describe('help', () => {
76
+ const html = `
77
+ <gux-form-field-file>
78
+ <label slot="label">Upload a profile picture</label>
79
+ <input
80
+ slot="input"
81
+ type="file"
82
+ id="avatar"
83
+ name="avatar"
84
+ accept="image/png, image/jpeg"
85
+ />
86
+ <span slot="help">This is a help message </span>
87
+ </gux-form-field-file>
88
+ `;
89
+ it('should render component as expected', async () => {
90
+ const page = await newNonrandomE2EPage({ html });
91
+ const element = await page.find('gux-form-field-file');
92
+ const elementShadowDom = await element.find('pierce/.gux-form-field-container');
93
+ expect(element.outerHTML).toMatchSnapshot();
94
+ expect(elementShadowDom).toMatchSnapshot();
95
+ });
96
+ it('should be accessible', async () => {
97
+ const page = await newSparkE2EPage({ html });
98
+ await a11yCheck(page, axeExclusions);
99
+ });
100
+ });
101
+ });
102
+ });
@@ -0,0 +1,89 @@
1
+ import { newSpecPage } from "../../../../../../test/specTestUtils";
2
+ import { GuxFormFieldFile } from "../gux-form-field-file";
3
+ const components = [GuxFormFieldFile];
4
+ const language = 'en';
5
+ describe('gux-form-field-file', () => {
6
+ it('should build', async () => {
7
+ const html = `
8
+ <gux-form-field-file>
9
+ <label slot="label">Upload a profile picture</label>
10
+ <input
11
+ type="file"
12
+ id="avatar"
13
+ name="avatar"
14
+ accept="image/png, image/jpeg"
15
+ slot="input"
16
+ />
17
+ </gux-form-field-file>
18
+ `;
19
+ const page = await newSpecPage({ components, html, language });
20
+ expect(page.rootInstance).toBeInstanceOf(GuxFormFieldFile);
21
+ });
22
+ describe('#render', () => {
23
+ describe('label-position', () => {
24
+ [
25
+ '',
26
+ 'label-position="above"',
27
+ 'label-position="beside"',
28
+ 'label-position="screenreader"'
29
+ ].forEach((componentAttribute, index) => {
30
+ it(`should render component as expected (${index + 1})`, async () => {
31
+ const html = `
32
+ <gux-form-field-file ${componentAttribute}>
33
+ <label slot="label">Upload a profile picture</label>
34
+ <input
35
+ type="file"
36
+ id="avatar"
37
+ name="avatar"
38
+ accept="image/png, image/jpeg"
39
+ slot="input"
40
+ />
41
+ </gux-form-field-file>
42
+ `;
43
+ const page = await newSpecPage({ components, html, language });
44
+ expect(page.root).toMatchSnapshot();
45
+ });
46
+ });
47
+ });
48
+ describe('input attributes', () => {
49
+ ['', 'disabled', 'required'].forEach((inputAttribute, index) => {
50
+ it(`should render component as expected (${index + 1})`, async () => {
51
+ const html = `
52
+ <gux-form-field-file>
53
+ <label slot="label">Upload a profile picture</label>
54
+ <input
55
+ slot="input"
56
+ type="file"
57
+ id="avatar"
58
+ name="avatar"
59
+ accept="image/png, image/jpeg"
60
+ ${inputAttribute}
61
+ />
62
+ </gux-form-field-file>
63
+ `;
64
+ const page = await newSpecPage({ components, html, language });
65
+ expect(page.root).toMatchSnapshot();
66
+ });
67
+ });
68
+ });
69
+ describe('help', () => {
70
+ it('should render component as expected', async () => {
71
+ const html = `
72
+ <gux-form-field-file>
73
+ <label slot="label">Upload a profile picture</label>
74
+ <input
75
+ slot="input"
76
+ type="file"
77
+ id="avatar"
78
+ name="avatar"
79
+ accept="image/png, image/jpeg"
80
+ />
81
+ <span slot="help">This is a help message </span>
82
+ </gux-form-field-file>
83
+ `;
84
+ const page = await newSpecPage({ components, html, language });
85
+ expect(page.root).toMatchSnapshot();
86
+ });
87
+ });
88
+ });
89
+ });
@@ -69,14 +69,14 @@ export class GuxFormFieldNumber {
69
69
  }
70
70
  render() {
71
71
  const showClearButton = this.clearable && this.hasContent && !this.disabled;
72
- return (h(GuxFormFieldContainer, { key: 'f8a6263300721fabed1598de265f03f057838f74', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLabel, { key: 'e32c773c643108d62c37d418f9cc6beba83e0e36', position: this.computedLabelPosition, required: this.required }, h("slot", { key: 'efc3fef4d86af9b7790cb230b3a27a11d4d6b907', name: "label", onSlotchange: () => this.setLabel() })), h("div", { key: '2acd69ecc8a21a92936bd585f9e9a4b621231bd9', class: "gux-input-and-error-container" }, h("div", { key: '233fd1e290da8bf45d0e77a0ca43a88677e6cf0a', class: {
72
+ return (h(GuxFormFieldContainer, { key: '06d690ac53196b338f63ffc43357ec2f767db8c3', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLabel, { key: '8c0e4b58c2ffdfb2512d063354d306d1bf6bcf84', position: this.computedLabelPosition, required: this.required }, h("slot", { key: '52630c99f6639976c957f5ffd7ef0f1eaee513c0', name: "label", onSlotchange: () => this.setLabel() })), h("div", { key: '884cd8c9a479f219af5993d6647373271ce38e3f', class: "gux-input-and-error-container" }, h("div", { key: 'fad6d2520508f8fbb72debf0c9ea4b7f4155da33', class: {
73
73
  'gux-input': true,
74
74
  'gux-input-error': this.hasError
75
- }, part: "input-section" }, h("div", { key: '7930f9f5df29d0c836d9f4abdc8887b8c3d1cfc2', class: {
75
+ }, part: "input-section" }, h("div", { key: '52ea9a851b4d833a785c2a67261714e0f82046be', class: {
76
76
  'gux-input-container': true,
77
77
  'gux-disabled': this.disabled,
78
78
  'gux-clear': showClearButton
79
- } }, h("slot", { key: '8d33ab29cbea52b965970e80567c0a7c5b70caab', name: "input", onSlotchange: () => this.setInput() }), showClearButton && (h("gux-form-field-input-clear-button", { onClick: () => clearInput(this.input) }))), this.renderStepButtons(this.input, this.getI18nValue, this.disabled)), h(GuxFormFieldError, { key: '14856b89f418274dbbd30b39e043c0adfcbe5b99', show: this.hasError }, h("slot", { key: 'a485d17c2c0edb3e4d6c47e9d1989f7de3c1e9d4', name: "error" })), h(GuxFormFieldHelp, { key: '9e5ad524d3593c58845d5d0c9fc2fffb984043b2', show: !this.hasError && this.hasHelp }, h("slot", { key: 'f215b7c1df4b4824bba6e9294eb4360de5a7ef1c', name: "help" })))));
79
+ } }, h("slot", { key: '8869341bffc6aa5d9e2044af0e909b551d817283', name: "input", onSlotchange: () => this.setInput() }), showClearButton && (h("gux-form-field-input-clear-button", { onClick: () => clearInput(this.input) }))), this.renderStepButtons(this.input, this.getI18nValue, this.disabled)), h(GuxFormFieldError, { key: '60ce4357b7f6bce84f7022555e6e0fedde67abac', show: this.hasError }, h("slot", { key: 'c1747439b8451b5733025f14274c7661a3138cb8', name: "error" })), h(GuxFormFieldHelp, { key: '4b8b48d158613a9549000729e04795f4e7925015', show: !this.hasError && this.hasHelp }, h("slot", { key: '3f55b12da9f0a678c2758f00fdaaa0c63fea1446', name: "help" })))));
80
80
  }
81
81
  get variant() {
82
82
  const labelPositionVariant = this.labelPosition
@@ -60,13 +60,13 @@ export class GuxFormFieldPhone {
60
60
  }
61
61
  render() {
62
62
  var _a;
63
- return (h(GuxFormFieldFieldsetContainer, { key: '6f3dcc2df1e049772e8fa25a9165092bbcb7e37a', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLegendLabel, { key: '5c0ce7b6b7b76052811481e8c0d110600571d176', position: this.computedLabelPosition, required: this.required, labelText: (_a = this.label) === null || _a === void 0 ? void 0 : _a.textContent }, h("slot", { key: 'ce266647a05aa9ea122186d6eae6317756aed01f', name: "label", onSlotchange: () => this.setLabel() }), this.renderScreenReaderText(this.getI18nValue('required'), this.required), this.renderScreenReaderText(getSlotTextContent(this.root, 'error'), this.hasError)), h("div", { key: '5f01ad183044592ddf5141d6109f347a97fae0d3', class: "gux-input-and-error-container" }, h("div", { key: '20dd9d00ffe2aa659ba2d62334454c5feb29c7e9', class: {
63
+ return (h(GuxFormFieldFieldsetContainer, { key: '4e15cadb0eb096b2609080f112df6a2ba8ea03da', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLegendLabel, { key: '66b6d1acb37bdc0724dd7ba84e6efb486bcb6bfe', position: this.computedLabelPosition, required: this.required, labelText: (_a = this.label) === null || _a === void 0 ? void 0 : _a.textContent }, h("slot", { key: '77909d4f5530b80c06c0d5208d765b6ff0cc22ac', name: "label", onSlotchange: () => this.setLabel() }), this.renderScreenReaderText(this.getI18nValue('required'), this.required), this.renderScreenReaderText(getSlotTextContent(this.root, 'error'), this.hasError)), h("div", { key: '8166739123cb47ba77b18222fb7b7fe91ab2dfbf', class: "gux-input-and-error-container" }, h("div", { key: 'b59c8329ecbc6ac0358aaf47c2c9d8ac230d9105', class: {
64
64
  'gux-input': true,
65
65
  'gux-input-error': this.hasError
66
- } }, h("div", { key: 'e53e678ece01ed35a0d30f8f5634180d7db1daf2', class: {
66
+ } }, h("div", { key: '098d02652a52fa7260aaa7e8d72f36afcb6fb320', class: {
67
67
  'gux-input-container': true,
68
68
  'gux-disabled': this.disabled
69
- } }, h("slot", { key: '1a01971423a7a0a5bedd726ce946c37d4f8a7952' }))), h(GuxFormFieldError, { key: '526dbfac1bfcda733f72816852ee529da891207e', show: this.hasError }, h("slot", { key: '04bb439b88d010b43d312b6bf5f95eddb476a216', name: "error" })), h(GuxFormFieldHelp, { key: 'a7f8f06b605800b4d03a9519e053a92cbd4e485c', show: !this.hasError && this.hasHelp }, h("slot", { key: '8242387ab7a043766c6ec74cf20352ca0ed7fa67', name: "help" })))));
69
+ } }, h("slot", { key: '01535a871d32c7f3c6b6c876add52655c82644d6' }))), h(GuxFormFieldError, { key: 'ea7ddb822798705b64c35198b9d60dee20133a3d', show: this.hasError }, h("slot", { key: '70c6fa4e41a5d4c6dec4a65cabee1333ecdebe03', name: "error" })), h(GuxFormFieldHelp, { key: '2c2952d3a7151b0a45f92d0b073f3c3a71099ca3', show: !this.hasError && this.hasHelp }, h("slot", { key: 'e788906cf4aa66f1f43224b19d9c0de033194376', name: "help" })))));
70
70
  }
71
71
  renderScreenReaderText(text, condition = true) {
72
72
  if (condition) {
@@ -47,10 +47,10 @@ export class GuxFormFieldRadio {
47
47
  }
48
48
  }
49
49
  render() {
50
- return (h(Host, { key: 'e17456ce9b8015838eacb38cd698f3f4877b1a99', class: {
50
+ return (h(Host, { key: '103e6558a905331341f5984522d62ce28a0e9977', class: {
51
51
  'gux-input-error': this.hasError || this.hasGroupError,
52
52
  'gux-disabled': this.disabled
53
- } }, h("div", { key: 'fe8d1587dc9d4fc8f018820c71c732744953f207', class: "gux-form-field-container" }, h("div", { key: '808758ed100a768166f5293516deda32a0e43a76', class: "gux-input-label" }, h("div", { key: 'bf76f380a1eef45ddad060fc329692191d8975a7', class: "gux-input" }, h("slot", { key: '50b92448e54b4f8657d6635776797051640797cb', name: "input", onSlotchange: () => this.setInput() })), h("div", { key: '96c770f17e7f9b64a321eedf688b494ff7d21934', class: "gux-label", "aria-disabled": this.disabled ? 'true' : 'false' }, h("slot", { key: '95a58e33847a0f69581dbdb7c5daf85c1f94d920', name: "label" }), h(GuxFormFieldError, { key: 'a55afaef6dce712f6642f32f5062b3390f39bd76', show: this.hasError }, h("slot", { key: '4aa4107d5024de21aa285af17d50be5855636309', name: "error" })), h(GuxFormFieldHelp, { key: '7e01a45a1f0e6d8ee1f72ecf90e890b35ebf3b99', show: !this.hasError && this.hasHelp }, h("slot", { key: '970ad77bfd7ff17c5d48f0786aa23c6af45cb9e2', name: "help" })))))));
53
+ } }, h("div", { key: '4ffd4e6a959cd95a775d039c6fd30c210ee67e62', class: "gux-form-field-container" }, h("div", { key: '486c5cc20301afe399a8019b8faa0ed7e8e91e92', class: "gux-input-label" }, h("div", { key: '384342b099a95c0c22de30676f610109a639c68b', class: "gux-input" }, h("slot", { key: '614bdc5b837453bf0b905515f75cbafbbcb52d6d', name: "input", onSlotchange: () => this.setInput() })), h("div", { key: 'b31c7c52fd0342c54036e8923eddd45b0fbb86d8', class: "gux-label", "aria-disabled": this.disabled ? 'true' : 'false' }, h("slot", { key: '00abf1d396a7c7d3e85ada03f3252beca0a605b3', name: "label" }), h(GuxFormFieldError, { key: 'f37943064f7a1affdca7415d19fa1aafa5980a06', show: this.hasError }, h("slot", { key: '22fb9f64a29aef17e7f2960a9cd6adc392674e59', name: "error" })), h(GuxFormFieldHelp, { key: '76710558d201dd9c0284438db53edd4d549d5852', show: !this.hasError && this.hasHelp }, h("slot", { key: '21d96cceefea2b18cb73333d6c9da8092f4651ea', name: "help" })))))));
54
54
  }
55
55
  setInput() {
56
56
  this.input = getSlottedInput(this.root, 'input[type="radio"][slot="input"]');
@@ -67,7 +67,7 @@ export class GuxFormFieldRadioGroupBeta {
67
67
  }
68
68
  render() {
69
69
  var _a;
70
- return (h(GuxFormFieldFieldsetContainer, { key: '8f54b265084eb1c2da7fe3283746c5d7be789492', labelPosition: "above" }, h(GuxFormFieldLegendLabel, { key: 'd3589e14418dea8366238f3c51b9fe733c04ea68', position: "above", required: false, labelText: (_a = this.label) === null || _a === void 0 ? void 0 : _a.textContent }, h("slot", { key: '388c245f668ab9bdf799c6796f2dfd0ec1f3fa6e', name: "group-label", onSlotchange: () => this.setLabel() }), this.renderScreenReaderText(getSlotTextContent(this.root, 'group-error'), this.hasGroupError), this.renderScreenReaderText(getSlotTextContent(this.root, 'group-help'), this.hasGroupHelp)), h("slot", { key: '05ab0e89cb8796d91e744d527fce8f27af0a1707' }), h(GuxFormFieldError, { key: 'cea0ae86c19cf0de7c9606ef53b9371a6cc6311a', show: this.hasGroupError }, h("slot", { key: 'b58ebc4dad34f9b7dc5b3c0c513910e2dc2301ce', name: "group-error" })), h(GuxFormFieldHelp, { key: '567d7d9da1dca56dab2e8611bff268736b2c251c', show: !this.hasGroupError && this.hasGroupHelp }, h("slot", { key: 'ebaa33bca1a7e949e570556da99fe95977446a86', name: "group-help" }))));
70
+ return (h(GuxFormFieldFieldsetContainer, { key: '27afb9a6d9276abd37b5c68ce4747be7a890f6e3', labelPosition: "above" }, h(GuxFormFieldLegendLabel, { key: '80423b504cf7daed7c1e8e04120c01643e6488ca', position: "above", required: false, labelText: (_a = this.label) === null || _a === void 0 ? void 0 : _a.textContent }, h("slot", { key: 'ab56ce608357019c087c6e4e638294f7d4670532', name: "group-label", onSlotchange: () => this.setLabel() }), this.renderScreenReaderText(getSlotTextContent(this.root, 'group-error'), this.hasGroupError), this.renderScreenReaderText(getSlotTextContent(this.root, 'group-help'), this.hasGroupHelp)), h("slot", { key: 'e8cbcbb7bc62ca22f0d76b72df75149796fe3478' }), h(GuxFormFieldError, { key: 'de0d9249b65521238028acbf380842df2a511d70', show: this.hasGroupError }, h("slot", { key: 'bf0db1f80929a8058dd66b73b6888043446b46e8', name: "group-error" })), h(GuxFormFieldHelp, { key: '31fbd032ac3b195c2fb2a926fcb1d085a9b661a2', show: !this.hasGroupError && this.hasGroupHelp }, h("slot", { key: '6c221afbdfa6103b12e76b74247380ba13b362e1', name: "group-help" }))));
71
71
  }
72
72
  setLabel() {
73
73
  this.label = this.root.querySelector('label[slot="label"]');
@@ -82,9 +82,9 @@ export class GuxFormField {
82
82
  clearInterval(this.valueWatcherId);
83
83
  }
84
84
  render() {
85
- return (h(Host, { key: 'ab84b7a0a6ffe60550f76789f435a86e32850874', class: {
85
+ return (h(Host, { key: 'ab911417f8987db8dae45169245281a517a2e0bc', class: {
86
86
  'gux-active': this.active
87
- } }, h(GuxFormFieldContainer, { key: '7e37db581de411b3c8548ef9142e11362c59ff41', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLabel, { key: '81bfda9e439bcdf6d4a444cd53ae80cb6d186d60', position: this.computedLabelPosition, required: this.required }, h("slot", { key: 'f1536b5af281b9051919c5c11d18a7e5633d9603', name: "label", onSlotchange: () => this.setLabel() })), h("div", { key: '0868eb6e6af3efe69db3b3d3c5324a6450f7eb73', class: "gux-input-and-error-container" }, this.renderRangeInput(), h(GuxFormFieldError, { key: '91130872a632988e5cde9765dd74a27a8a0cc4f7', show: this.hasError }, h("slot", { key: '3081f22e9dfc5d58cc42bd6075fa225fb4dbe036', name: "error" })), h(GuxFormFieldHelp, { key: '0e3d8cf3afc0773f369f19257916c919dd6c8ca2', show: !this.hasError && this.hasHelp }, h("slot", { key: '02b487e1c73af225d7227b56d9fc1bb9da51498e', name: "help" }))))));
87
+ } }, h(GuxFormFieldContainer, { key: '4fd8e66e4a8ce9b4d089f91ff858d376530ee311', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLabel, { key: 'b216389853b2fc1159d08c6197642a962c32a6f2', position: this.computedLabelPosition, required: this.required }, h("slot", { key: 'f0e54cd4a3c8f5138718a1f5dfc0f2d25fa3606c', name: "label", onSlotchange: () => this.setLabel() })), h("div", { key: '616c791c64a1f595a729f201a28efe3e2a816b20', class: "gux-input-and-error-container" }, this.renderRangeInput(), h(GuxFormFieldError, { key: '9c5a20f9fb423e34c0dd99e91aa40c994732ca54', show: this.hasError }, h("slot", { key: '6627e9d4bdf8e1f28add3de842b3305e4fda3f2f', name: "error" })), h(GuxFormFieldHelp, { key: '291c0dacc1116dc58eb41db4f54875bd3121c158', show: !this.hasError && this.hasHelp }, h("slot", { key: '97345b7e0f110c4ddd500f26848960d9c61d02d8', name: "help" }))))));
88
88
  }
89
89
  get variant() {
90
90
  return this.labelPosition ? this.labelPosition.toLowerCase() : 'none';
@@ -62,13 +62,13 @@ export class GuxFormFieldSearch {
62
62
  }
63
63
  }
64
64
  render() {
65
- return (h(GuxFormFieldContainer, { key: '42779f1c2d0cab45b38f18e6ae50166f70f257f7', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLabel, { key: '080fb3751b41d43042a65ac6a2bbf666d25f0be4', position: this.computedLabelPosition, required: this.required }, h("slot", { key: 'c6ffd706741bb8daeb959b720daa0c03a44a27e5', name: "label", onSlotchange: () => this.setLabel() })), h("div", { key: '525766420143a047d9f7ed56ce06399f100931a2', class: "gux-input-and-error-container" }, h("div", { key: '83073128ad9ed6c7a168e77c690ee4792900a4f2', class: {
65
+ return (h(GuxFormFieldContainer, { key: 'f00607cfa9dd0dd961ca87d93aadc86dada59955', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLabel, { key: 'f97392a34ffd54d453e5fa8eab87af33a19aafee', position: this.computedLabelPosition, required: this.required }, h("slot", { key: '40386b8ea847c417561968ce09cfef3218c2b779', name: "label", onSlotchange: () => this.setLabel() })), h("div", { key: '1b40b3d66c8ee971240dbb79477eccab3262daae', class: "gux-input-and-error-container" }, h("div", { key: '48596cfe8e15b3647c3446309947ae3439a2aa61', class: {
66
66
  'gux-input': true,
67
67
  'gux-input-error': this.hasError
68
- } }, h("div", { key: '5ba45dde5c2aab840675dca2ff37272527793d01', class: {
68
+ } }, h("div", { key: 'f32239cdfa609f8637d70887364b1aa297431bc5', class: {
69
69
  'gux-input-container': true,
70
70
  'gux-disabled': this.disabled
71
- } }, h("gux-icon", { key: 'f673d51be68a9a3ca29d75e71fc78b87bfc6e588', "icon-name": "fa/magnifying-glass-regular", decorative: true }), h("slot", { key: '317c0dab47ae69fece7829507aa3800e4f08a384', name: "input" }), this.clearable && this.hasContent && !this.disabled && (h("gux-form-field-input-clear-button", { onClick: () => clearInput(this.input) })))), h(GuxFormFieldError, { key: '897ae0159c0abfe24724897b079d631e878c00a5', show: this.hasError }, h("slot", { key: '5ec68b0692c98b2154f2d7baefb109b1de6ad5f9', name: "error" })), h(GuxFormFieldHelp, { key: '1f457eae9906f50809f53510e36b9aa799294772', show: !this.hasError && this.hasHelp }, h("slot", { key: '5acac15b6f1306fe62398ff136cfb487b35e2be0', name: "help" })))));
71
+ } }, h("gux-icon", { key: '2b7f2f102517c1fa52a1f68d32d559ebbe8f4c27', "icon-name": "fa/magnifying-glass-regular", decorative: true }), h("slot", { key: 'a05847665f136b0a8ab2fb3cf99ae82e38b503eb', name: "input" }), this.clearable && this.hasContent && !this.disabled && (h("gux-form-field-input-clear-button", { onClick: () => clearInput(this.input) })))), h(GuxFormFieldError, { key: 'ae5562689221e73b608d14884c32a4685023dfc9', show: this.hasError }, h("slot", { key: '4d3d2a02059ca3f22961a20b651f30698d0bb837', name: "error" })), h(GuxFormFieldHelp, { key: 'bbee0d886b9dfe5bb468b17062188df7de70fc53', show: !this.hasError && this.hasHelp }, h("slot", { key: '913206b4f832954b7d8b2e63eb4f04af3a6fc116', name: "help" })))));
72
72
  }
73
73
  get variant() {
74
74
  const labelPositionVariant = this.labelPosition
@@ -53,13 +53,13 @@ export class GuxFormFieldSelect {
53
53
  }
54
54
  }
55
55
  render() {
56
- return (h(GuxFormFieldContainer, { key: '0f05fda9050e25ffa3dafa20b650a79e5451b557', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLabel, { key: 'df77654c404549e8649b9fd0825f7cbf2e133271', position: this.computedLabelPosition, required: this.required }, h("slot", { key: 'cc902ff85b3a340db13c2bf984af0129be98b9fa', name: "label", onSlotchange: () => this.setLabel() })), h("div", { key: '5798224cf3620259bbcc051327772bf484b43065', class: "gux-input-and-error-container" }, h("div", { key: '7dc8d4a80418c7f26b4987e0f5a7b9124ae12399', class: {
56
+ return (h(GuxFormFieldContainer, { key: 'f58fc0d759ccdbceb99dcf2a3ad807ed8c4221b9', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLabel, { key: '30ff86898ffb5770b3cd632d84cf481f8d1355ff', position: this.computedLabelPosition, required: this.required }, h("slot", { key: 'e4838ccd6ec174bae23902af8bc4446981503787', name: "label", onSlotchange: () => this.setLabel() })), h("div", { key: '65d278d8549366d02759698b511d60abf1db3389', class: "gux-input-and-error-container" }, h("div", { key: '8a89344b263745ef9a1f39cc66f4577daabffe87', class: {
57
57
  'gux-input': true,
58
58
  'gux-input-error': this.hasError
59
- } }, h("div", { key: 'd363aa3963e9be7174d74e96976244ccc3ce7d37', class: {
59
+ } }, h("div", { key: 'ba4bf085608671a1224a35fdb2c2227b04708c39', class: {
60
60
  'gux-input-container': true,
61
61
  'gux-disabled': this.disabled
62
- } }, h("slot", { key: '5933423758246e0a2e6ac345eb74398372c20f4f', name: "input" }), h("gux-icon", { key: '6ad7a5a76f4f84c4b2f8102705ea523baac3f542', "icon-name": "custom/chevron-down-small-regular", decorative: true }))), h(GuxFormFieldError, { key: '76effa57179c825bd47ac1c4b608d0528b5f55c5', show: this.hasError }, h("slot", { key: '675f20bf2273b7d82d34a7e628b1dbe70e9e70f7', name: "error" })), h(GuxFormFieldHelp, { key: '56d5679c4bdc9a436fc703b4450ae2d18bb13a9d', show: !this.hasError && this.hasHelp }, h("slot", { key: '3bf29e3d11f598851a2538f6096760a068cc2627', name: "help" })))));
62
+ } }, h("slot", { key: '4d8338db3bdd45abc4aefeb31f5dd3aec53d8471', name: "input" }), h("gux-icon", { key: '07d9a44ba9e17cf33bf83959c61788e9af21741e', "icon-name": "custom/chevron-down-small-regular", decorative: true }))), h(GuxFormFieldError, { key: 'cccd81f08fbd22012613882dc29391dbe0cd87bb', show: this.hasError }, h("slot", { key: '6afa10449eb38f0323b6a6d0dbb15a9516eddb8e', name: "error" })), h(GuxFormFieldHelp, { key: '3ee2f5880ce92ebc8ee37e9697235a60dc37da3e', show: !this.hasError && this.hasHelp }, h("slot", { key: 'f78fa30b128f5b50a76635475131478559473a8c', name: "help" })))));
63
63
  }
64
64
  get variant() {
65
65
  const labelPositionVariant = this.labelPosition
@@ -57,12 +57,12 @@ export class GuxFormFieldTextarea {
57
57
  }
58
58
  }
59
59
  render() {
60
- return (h(GuxFormFieldContainer, { key: '3e5c4c4fbcac1d5bf9d19d95d7bc1fd70d43019e', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLabel, { key: '113d8de398b8f7d22bcb07531103c82a3a8e7abf', position: this.computedLabelPosition, required: this.required }, h("slot", { key: '3a310279167b2adeeed50e44481c8bbf866d1157', name: "label", onSlotchange: () => this.setLabel() })), h("div", { key: 'f2d964b6e336fe7be88e6e0ba568fc01bf0ef485', class: "gux-input-and-error-container" }, h("div", { key: '712f3f48fb15d0c1481fa1cf81723e0121c736fd', ref: el => (this.textareaContainerElement = el), class: {
60
+ return (h(GuxFormFieldContainer, { key: '30002bf2fd4403de6a812ee46ab0ba04420bd58a', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLabel, { key: '5acc27c24af2cc259363a0a9e551946ffe951cf2', position: this.computedLabelPosition, required: this.required }, h("slot", { key: '605c33a9258b0a4b713454d59903256482e23d80', name: "label", onSlotchange: () => this.setLabel() })), h("div", { key: 'da821fd3c03fd7e815fcaf10d605c3218f542cc2', class: "gux-input-and-error-container" }, h("div", { key: '9c67ad442bcf103250fe0e517c4e12368efc51c8', ref: el => (this.textareaContainerElement = el), class: {
61
61
  'gux-input': true,
62
62
  [`gux-resize-${this.resize}`]: true,
63
63
  'gux-disabled': this.disabled,
64
64
  'gux-input-error': this.hasError
65
- } }, h("slot", { key: 'd9da9023de29d890a935ec1e0b0b79bf0f7d19b1', name: "input" })), h(GuxFormFieldError, { key: 'fa7bbaf903fa1eb0554a29750bbbc018806620e4', show: this.hasError }, h("slot", { key: '790a3c8ae66649ff548e9c651882c529abd3df47', name: "error" })), h(GuxFormFieldHelp, { key: '689e7ce01a75b85e0219096b36bcad0020afd167', show: !this.hasError && this.hasHelp }, h("slot", { key: '2fe135afeb4851885897b3227fd8a67d18f40f53', name: "help" })))));
65
+ } }, h("slot", { key: '089685c1e8e4ad74a087bce1567cfaf9ea8cb0b0', name: "input" })), h(GuxFormFieldError, { key: 'b2dab4ad4c403f313704347847af60c1e3fd48a9', show: this.hasError }, h("slot", { key: '476b6baa6fd870cc9ed37e7dc2c0e6c5507513fe', name: "error" })), h(GuxFormFieldHelp, { key: '5cfcc2330057b42e5d8fabd3bd1fc834ee07fadd', show: !this.hasError && this.hasHelp }, h("slot", { key: '9899bd978401bf2ac9bfea2b98c3c1020971c3e4', name: "help" })))));
66
66
  }
67
67
  get variant() {
68
68
  const labelPositionVariant = this.labelPosition
@@ -61,13 +61,13 @@ export class GuxFormFieldTimePicker {
61
61
  }
62
62
  render() {
63
63
  var _a;
64
- return (h(GuxFormFieldFieldsetContainer, { key: 'dd411e739df07f7c1eba5bd79dd57bc65cd03caf', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLegendLabel, { key: 'ce01d20567e7424760c81e9fe6668e33ceb12d0b', position: this.computedLabelPosition, required: this.required, labelText: (_a = this.label) === null || _a === void 0 ? void 0 : _a.textContent }, h("slot", { key: '6f2915ad697f455b4f08139eb9838a9e636aa3b8', name: "label", onSlotchange: () => this.setLabel() }), this.renderScreenReaderText(this.getI18nValue('required'), this.required), this.renderScreenReaderText(getSlotTextContent(this.root, 'error'), this.hasError)), h("div", { key: '068d6aadb8a70d7b77a82f7837d5a4021eb272fe', class: "gux-input-and-error-container" }, h("div", { key: '4e45c08204dba5e52018bdeb38c39d3454e8cb75', class: {
64
+ return (h(GuxFormFieldFieldsetContainer, { key: 'f5154769059a9725983ef4d4d3b93002c102da02', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLegendLabel, { key: 'd58497619db5f569c82bc9e876853271d577d7b9', position: this.computedLabelPosition, required: this.required, labelText: (_a = this.label) === null || _a === void 0 ? void 0 : _a.textContent }, h("slot", { key: '753d15d89d8900991815ccc55afb738ec12ba1d3', name: "label", onSlotchange: () => this.setLabel() }), this.renderScreenReaderText(this.getI18nValue('required'), this.required), this.renderScreenReaderText(getSlotTextContent(this.root, 'error'), this.hasError)), h("div", { key: 'ba3f292271b2cdcc6802830d5c3b1c176be107e7', class: "gux-input-and-error-container" }, h("div", { key: '380d8ebe10e0f54ef5c6b64f33c36069470d5b75', class: {
65
65
  'gux-input': true,
66
66
  'gux-input-error': this.hasError
67
- } }, h("div", { key: '857c8ab3f5e7cd4c6bca4f3fb51509152d416a22', class: {
67
+ } }, h("div", { key: '7f84fd70ca81b1813063b1b8f3c5d42fc525af57', class: {
68
68
  'gux-time-picker-container': true,
69
69
  'gux-disabled': this.disabled
70
- } }, h("slot", { key: '8d5b8a0856f1562a4d7437f6512f592b6342c228' }))), h(GuxFormFieldError, { key: '00d2bacf3b165896326edf957e8b361d33a72cc4', show: this.hasError }, h("slot", { key: '409e5e1117d520e5a3e8d00f70726545114378df', name: "error" })), h(GuxFormFieldHelp, { key: '53b4932c7332ba0cf6428e7ffa6603afc793dcfa', show: !this.hasError && this.hasHelp }, h("slot", { key: 'e16ced5c18d6df46e4ff2fb849d74657dc16b068', name: "help" })))));
70
+ } }, h("slot", { key: '16e96b921b2fb64bd759bb5afb2dc0532fd8ae02' }))), h(GuxFormFieldError, { key: '0a0241f374fb75ff074d9c3c9cca3ab193307d78', show: this.hasError }, h("slot", { key: '0247e4a54be9d59103c5884dde53a129b156631b', name: "error" })), h(GuxFormFieldHelp, { key: 'b4c8f4b3c20edcea1c500f118671c239d75ce894', show: !this.hasError && this.hasHelp }, h("slot", { key: '0e669a3b49fa7c7520acdd3c08a27066e90bf167', name: "help" })))));
71
71
  }
72
72
  renderScreenReaderText(text, condition = true) {
73
73
  if (condition) {
@@ -61,12 +61,12 @@ export class GuxFormFieldTimeZonePicker {
61
61
  }
62
62
  render() {
63
63
  var _a;
64
- return (h(GuxFormFieldFieldsetContainer, { key: 'f94434c2698f294abbdb8bb06b05c634f6bd7544', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLegendLabel, { key: '36b28fee558e5a55565ee0046a05a8e4074445e8', position: this.computedLabelPosition, required: this.required, labelText: (_a = this.label) === null || _a === void 0 ? void 0 : _a.textContent }, h("slot", { key: '4b1ae9a76308987b21ee89477e28f0b9ccee5590', name: "label", onSlotchange: () => this.setLabel() }), this.renderScreenReaderText(this.getI18nValue('required'), this.required), this.renderScreenReaderText(getSlotTextContent(this.root, 'error'), this.hasError)), h("div", { key: '57e80ad01c6c5d4c70851a53c6af5960a194ead4', class: "gux-input-and-error-container" }, h("div", { key: '9dba2395f519b52dca9af3e343665a5a4b89f4a3', class: {
64
+ return (h(GuxFormFieldFieldsetContainer, { key: 'd450f811957fdc581b5889f22d70a56f96dfb139', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLegendLabel, { key: 'ac18a55b69ea7ff65a3caa377cb1aa0e5afbd641', position: this.computedLabelPosition, required: this.required, labelText: (_a = this.label) === null || _a === void 0 ? void 0 : _a.textContent }, h("slot", { key: '94b4dfc511929b5e3380c62c999ec44d1e7564c5', name: "label", onSlotchange: () => this.setLabel() }), this.renderScreenReaderText(this.getI18nValue('required'), this.required), this.renderScreenReaderText(getSlotTextContent(this.root, 'error'), this.hasError)), h("div", { key: '58cf1488239a1511bf870df57109a9f3011b06a6', class: "gux-input-and-error-container" }, h("div", { key: '62fa2d885f76d417e6e5e76fa47a213ba4f482ed', class: {
65
65
  'gux-input': true,
66
66
  'gux-input-error': this.hasError,
67
67
  'gux-time-zone-picker-container': true,
68
68
  'gux-disabled': this.disabled
69
- } }, h("slot", { key: 'c21a0347234434ec2496fb03c2a45cb156109351' })), h(GuxFormFieldError, { key: '93c6e7fe6a8e300145ffba7d31dbd412978cf6c2', show: this.hasError }, h("slot", { key: 'f63893abd4985dc87d923f7b7df46d0979f70dac', name: "error" })), h(GuxFormFieldHelp, { key: 'e1646724b78fc3be329b135041edec3a455a8706', show: !this.hasError && this.hasHelp }, h("slot", { key: '907afd34c8a11d6dac079c7f2c07574e8e61e790', name: "help" })))));
69
+ } }, h("slot", { key: '9bf1a71c5f329e6daa3981892cb3d1556841b945' })), h(GuxFormFieldError, { key: '1d59017b5a8194225e5773fb94c8cf0e76c8559d', show: this.hasError }, h("slot", { key: '0ba994d4492af9cb930e867be15104b030f2c036', name: "error" })), h(GuxFormFieldHelp, { key: '5014b949671c39767ee2d289c2f1d4f4abf59658', show: !this.hasError && this.hasHelp }, h("slot", { key: 'eb50b5dd63bd44d33bc6c4506bf3dce893a80d91', name: "help" })))));
70
70
  }
71
71
  renderScreenReaderText(text, condition = true) {
72
72
  if (condition) {
@@ -8,7 +8,7 @@ export class GuxFormFieldInputClearButton {
8
8
  this.i18n = await buildI18nForComponent(this.root, translationResources);
9
9
  }
10
10
  render() {
11
- return (h("button", { key: '2fec9ebe928cf7f23d8752891952bda5809a7c82', tabIndex: -1, type: "button", title: this.i18n('clear') }, h("gux-icon", { key: '9470e5bd4e5784f7cbc4ecb1d67bca57502ecb78', "icon-name": "fa/xmark-large-regular", decorative: true })));
11
+ return (h("button", { key: 'a084accbb1073a43f220570ee24b483acd28ba00', tabIndex: -1, type: "button", title: this.i18n('clear') }, h("gux-icon", { key: '8d0b6d02390cdefb292a12fb0f0ff6417cf0e0c5', "icon-name": "fa/xmark-large-regular", decorative: true })));
12
12
  }
13
13
  static get is() { return "gux-form-field-input-clear-button"; }
14
14
  static get encapsulation() { return "shadow"; }
@@ -57,7 +57,7 @@ export class GuxIcon {
57
57
  return svgElement.outerHTML;
58
58
  }
59
59
  render() {
60
- return (this.svgHtml && (h("div", { key: '694aac75cdd425c301e0088cf80a3a20dd37913e', class: "gux-icon-container", innerHTML: this.svgHtml })));
60
+ return (this.svgHtml && (h("div", { key: '332c309ac3be268058f355c8ab77877533dd1e67', class: "gux-icon-container", innerHTML: this.svgHtml })));
61
61
  }
62
62
  static get is() { return "gux-icon"; }
63
63
  static get encapsulation() { return "shadow"; }
@@ -28,10 +28,10 @@ export class GuxAlert {
28
28
  this.i18n = await buildI18nForComponent(this.root, translationResources);
29
29
  }
30
30
  render() {
31
- return (h("div", { key: 'd4897171b315ea142cb4d12a7afff3db063309e4', class: {
31
+ return (h("div", { key: 'e95ad17689a44b33f8cbc5497e45e7ba5887234a', class: {
32
32
  'gux-inline-alert': true,
33
33
  [`gux-${this.accent}`]: true
34
- } }, h("div", { key: 'a5ca1982a42cfdb2c393e2350668f277b916dec9', class: "gux-message-wrapper" }, h("gux-icon", { key: '5bb1ad27a430cccc0827f26951d33ac093c3d077', "icon-name": this.getIcon(this.accent), decorative: true }), h("div", { key: 'b04e28df8c293ee1f48d7b635a295c8111e7620a', class: "gux-sr-only" }, this.i18n(this.accent)), h("div", { key: '6d65691d9af0fe6dc824b375083c2d2f33c50326', class: "gux-content" }, h("slot", { key: '05b87957bf7e8526e5c5492834659c1bdd1a9ee5', name: "content" }, h("slot", { key: 'ba2843905e91bc367aedd001af0de39938d1d73f' }))))));
34
+ } }, h("div", { key: '078ccfcc6ff24ff01f694a9af4f7bc84520369f9', class: "gux-message-wrapper" }, h("gux-icon", { key: '39f55da6f333a292b921111eabd1e8ee694c5160', "icon-name": this.getIcon(this.accent), decorative: true }), h("div", { key: 'f8e04ba95cf07f4e35b63798a5c33fab5be484b6', class: "gux-sr-only" }, this.i18n(this.accent)), h("div", { key: '2097b7e9cf9b21818b2f5ffb18c9307639cfe1d3', class: "gux-content" }, h("slot", { key: 'd32f93fbe9e146d93bb681f3614537a1809296a3', name: "content" }, h("slot", { key: 'b9030f479f208b77f40f1b9f3f1694efcf5cc623' }))))));
35
35
  }
36
36
  static get is() { return "gux-inline-alert"; }
37
37
  static get encapsulation() { return "shadow"; }
@@ -31,11 +31,11 @@ export class GuxCreateOption {
31
31
  return (h("span", { class: "gux-screenreader" }, this.i18n('createCustomOptionInstructions')));
32
32
  }
33
33
  render() {
34
- return (h(Host, { key: 'cbe16c34f5d4dbb6c810bd5d4a44ef07a807ef75', role: "option", "aria-selected": false, class: {
34
+ return (h(Host, { key: '47304aae40590b1908c558d5b775af506a25f8d1', role: "option", "aria-selected": false, class: {
35
35
  'gux-active': this.active,
36
36
  'gux-hovered': this.hovered,
37
37
  'gux-filtered': this.filtered
38
- } }, h("div", { key: 'be0980093f4fc37bf585bfbcf2f875d0208ae925', class: "gux-option" }, h("gux-icon", { key: '3c62a020b6856abf567eda0993e2a53853ab2263', decorative: true, "icon-name": "fa/plus-regular" }), h("div", { key: '9ecfe5f1fdac85bdf773ebd8d7c407ec7d6a6d36', class: "gux-create-text" }, this.i18n('createOption', {
38
+ } }, h("div", { key: '347a6882a380ae6f52e71dd6833e403faa770c47', class: "gux-option" }, h("gux-icon", { key: 'cb81bb756fe84d5f35c8b5229c77dbcde105ee9d', decorative: true, "icon-name": "fa/plus-regular" }), h("div", { key: 'eb93e52b3517257d830f63afa3b83df387512f5b', class: "gux-create-text" }, this.i18n('createOption', {
39
39
  optionValue: this.value
40
40
  })), this.renderCustomOptionInstructions())));
41
41
  }
@@ -10,7 +10,7 @@ export class GuxLoadingMessage {
10
10
  trackComponent(this.root);
11
11
  }
12
12
  render() {
13
- return (h("div", { key: 'ffecc5f96e59fd484e0203bc14ea2e1a0bcba847', class: "gux-container", role: "alert", "aria-live": "assertive" }, h("div", { key: '05cdf94661a3982005096eefbffb23e6c9b9df12', class: "gux-progress" }, h("slot", { key: 'bd58bb0a13ffdc01beffd19c028207d05033a467', name: "progress" })), h("div", { key: 'a872a464bd067ec17229f158d6562c6a236f6651', class: "gux-primary-message" }, h("slot", { key: 'a1f8848e0efa77365e374ce7331659395628e670', name: "primary-message" })), h("div", { key: '2249cc1e2e8e48e2795fb744fde062acf8922210', class: "gux-additional-guidance" }, h("slot", { key: 'a8a3c5ab7b95170686961c6d0f6055483e2a8bb6', name: "additional-guidance" }))));
13
+ return (h("div", { key: '6456d7e19f794642cb4f5104c7d4e5b235ff78d5', class: "gux-container", role: "alert", "aria-live": "assertive" }, h("div", { key: '5df0cb814ca9a6e73ec911f5c5f6f9aa3fec2f56', class: "gux-progress" }, h("slot", { key: '7564d594ffbd4703b6968350fdf788db677e75e5', name: "progress" })), h("div", { key: '84192e09f5375756b16d914e714a7981d0f4f80e', class: "gux-primary-message" }, h("slot", { key: '0b993daeb60f63c4b91a56e9af5c4574ebf5ed2d', name: "primary-message" })), h("div", { key: '34b79bd828d27da60fd6c95c89ffbc4c1a5bb946', class: "gux-additional-guidance" }, h("slot", { key: 'b6d49acaacf8ee3274299e27a1a97a115e77e216', name: "additional-guidance" }))));
14
14
  }
15
15
  static get is() { return "gux-loading-message"; }
16
16
  static get encapsulation() { return "shadow"; }
@@ -59,7 +59,7 @@ export class GuxModal {
59
59
  render() {
60
60
  const hasModalTitleSlot = this.hasModalTitleSlot();
61
61
  const titleID = randomHTMLId();
62
- return (h("dialog", { key: '20f220c650f4da3a60d1afe4597b50c60a4b4deb', onClose: this.onCloseHandler.bind(this), ref: el => (this.dialogElement = el), "aria-labelledby": hasModalTitleSlot ? titleID : null }, h("div", { key: 'b6794da5404560adc9a26c8857086f1184f6dc0a', class: `gux-modal-container gux-${this.size}` }, h("gux-dismiss-button", { key: '12ffcc0aead029035b5864f1e25dd8ccbd2c3c97', onClick: this.onDismissHandler.bind(this) }), hasModalTitleSlot && this.renderTitle(titleID), h("div", { key: '88b1d03a14b5bac70a4f95ac99dda9ad2a21c9d1', class: "gux-modal-content" }, h("p", { key: '98f4eef566be188688f8d2b8345a672200592379' }, h("slot", { key: '7b0ddab83ffbec56edcbe250edb830525ab66388', name: "content" }))), this.renderButtonFooter())));
62
+ return (h("dialog", { key: '7d21671835c13c9103dfd3af13cfc3a3878c9dc9', onClose: this.onCloseHandler.bind(this), ref: el => (this.dialogElement = el), "aria-labelledby": hasModalTitleSlot ? titleID : null }, h("div", { key: '53cad448d18354572a7b0278629c8d02a771a382', class: `gux-modal-container gux-${this.size}` }, h("gux-dismiss-button", { key: '17e1783ceb145a72b0aa0de7a8410e34b0ec17e3', onClick: this.onDismissHandler.bind(this) }), hasModalTitleSlot && this.renderTitle(titleID), h("div", { key: 'cfdbabe4b805c0edc0f971daf14172cf4fc75b47', class: "gux-modal-content" }, h("p", { key: '45bb9292f09d8e02362baf3ec51de1b2ecaa2a1d' }, h("slot", { key: 'a375e25b53af3cdbb257ba9862793f5be190d91f', name: "content" }))), this.renderButtonFooter())));
63
63
  }
64
64
  renderTitle(titleID) {
65
65
  return (h("h1", { class: "gux-modal-header", id: titleID }, h("slot", { name: "title" })));