genesys-spark-components 4.73.0 → 4.74.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 (345) 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-announce-beta.cjs.entry.js +1 -1
  7. package/dist/cjs/gux-avatar-beta.cjs.entry.js +1 -1
  8. package/dist/cjs/gux-avatar-change-photo-beta.cjs.entry.js +1 -1
  9. package/dist/cjs/gux-badge.cjs.entry.js +1 -1
  10. package/dist/cjs/gux-blank-state.cjs.entry.js +1 -1
  11. package/dist/cjs/gux-breadcrumbs.cjs.entry.js +1 -1
  12. package/dist/cjs/gux-button-multi.cjs.entry.js +1 -1
  13. package/dist/cjs/gux-button-slot.cjs.entry.js +1 -1
  14. package/dist/cjs/gux-button.cjs.entry.js +1 -1
  15. package/dist/cjs/gux-calendar.cjs.entry.js +1 -1
  16. package/dist/cjs/gux-card.cjs.entry.js +1 -1
  17. package/dist/cjs/gux-column-manager.cjs.entry.js +1 -1
  18. package/dist/cjs/gux-content-search.cjs.entry.js +1 -1
  19. package/dist/cjs/gux-context-menu.cjs.entry.js +1 -1
  20. package/dist/cjs/gux-copy-to-clipboard.cjs.entry.js +2 -2
  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.cjs.entry.js +1 -1
  27. package/dist/cjs/gux-dropdown_3.cjs.entry.js +1 -1
  28. package/dist/cjs/gux-flag-icon-beta.cjs.entry.js +1 -1
  29. package/dist/cjs/gux-flyout-menu.cjs.entry.js +1 -1
  30. package/dist/cjs/gux-form-field-checkbox-group-beta.cjs.entry.js +1 -1
  31. package/dist/cjs/gux-form-field-checkbox.cjs.entry.js +1 -1
  32. package/dist/cjs/gux-form-field-color.cjs.entry.js +5 -4
  33. package/dist/cjs/gux-form-field-dropdown.cjs.entry.js +5 -4
  34. package/dist/cjs/gux-form-field-file.cjs.entry.js +3 -2
  35. package/dist/cjs/gux-form-field-input-clear-button.cjs.entry.js +1 -1
  36. package/dist/cjs/gux-form-field-label-indicator.cjs.entry.js +15 -4
  37. package/dist/cjs/gux-form-field-number_3.cjs.entry.js +5 -4
  38. package/dist/cjs/gux-form-field-phone.cjs.entry.js +6 -5
  39. package/dist/cjs/gux-form-field-radio-group-beta.cjs.entry.js +1 -1
  40. package/dist/cjs/gux-form-field-radio.cjs.entry.js +1 -1
  41. package/dist/cjs/gux-form-field-range.cjs.entry.js +4 -3
  42. package/dist/cjs/gux-form-field-search.cjs.entry.js +5 -4
  43. package/dist/cjs/gux-form-field-select.cjs.entry.js +5 -4
  44. package/dist/cjs/gux-form-field-text-like.cjs.entry.js +5 -4
  45. package/dist/cjs/gux-form-field-textarea.cjs.entry.js +4 -3
  46. package/dist/cjs/gux-form-field-time-picker.cjs.entry.js +6 -5
  47. package/dist/cjs/gux-form-field-time-zone-picker.cjs.entry.js +5 -4
  48. package/dist/cjs/gux-form-footer.cjs.entry.js +1 -1
  49. package/dist/cjs/gux-icon-tooltip-beta.cjs.entry.js +1 -1
  50. package/dist/cjs/gux-icon.cjs.entry.js +1 -1
  51. package/dist/cjs/gux-inline-alert.cjs.entry.js +1 -1
  52. package/dist/cjs/gux-label-info-beta.cjs.entry.js +1 -1
  53. package/dist/cjs/gux-list.cjs.entry.js +1 -1
  54. package/dist/cjs/gux-listbox-multi.cjs.entry.js +1 -1
  55. package/dist/cjs/gux-loading-message.cjs.entry.js +1 -1
  56. package/dist/cjs/gux-modal-legacy.cjs.entry.js +1 -1
  57. package/dist/cjs/gux-modal.cjs.entry.js +1 -1
  58. package/dist/cjs/gux-month-picker-beta.cjs.entry.js +1 -1
  59. package/dist/cjs/gux-notification-toast-legacy.cjs.entry.js +1 -1
  60. package/dist/cjs/gux-page-loading-spinner.cjs.entry.js +1 -1
  61. package/dist/cjs/gux-pagination-cursor.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 +1 -1
  64. package/dist/cjs/gux-phone-input-beta.cjs.entry.js +1 -1
  65. package/dist/cjs/gux-popover-list.cjs.entry.js +1 -1
  66. package/dist/cjs/gux-radial-loading.cjs.entry.js +1 -1
  67. package/dist/cjs/gux-radial-progress.cjs.entry.js +1 -1
  68. package/dist/cjs/gux-rating.cjs.entry.js +1 -1
  69. package/dist/cjs/gux-screen-reader-beta_2.cjs.entry.js +1 -1
  70. package/dist/cjs/gux-segmented-control-beta.cjs.entry.js +1 -1
  71. package/dist/cjs/gux-selector-card-beta.cjs.entry.js +1 -1
  72. package/dist/cjs/gux-selector-cards-beta.cjs.entry.js +1 -1
  73. package/dist/cjs/gux-simple-toast-legacy.cjs.entry.js +1 -1
  74. package/dist/cjs/gux-skip-navigation-list.cjs.entry.js +1 -1
  75. package/dist/cjs/gux-sort-control.cjs.entry.js +1 -1
  76. package/dist/cjs/gux-switch-legacy.cjs.entry.js +1 -1
  77. package/dist/cjs/gux-table-toolbar-action.cjs.entry.js +1 -1
  78. package/dist/cjs/gux-table-toolbar-custom-action.cjs.entry.js +1 -1
  79. package/dist/cjs/gux-table-toolbar-menu-button.cjs.entry.js +1 -1
  80. package/dist/cjs/gux-table-toolbar.cjs.entry.js +1 -1
  81. package/dist/cjs/gux-table.cjs.entry.js +1 -1
  82. package/dist/cjs/gux-tabs-advanced.cjs.entry.js +1 -1
  83. package/dist/cjs/gux-tabs.cjs.entry.js +1 -1
  84. package/dist/cjs/gux-tag.cjs.entry.js +1 -1
  85. package/dist/cjs/gux-text-highlight.cjs.entry.js +1 -1
  86. package/dist/cjs/gux-time-beta.cjs.entry.js +1 -1
  87. package/dist/cjs/gux-time-picker.cjs.entry.js +1 -1
  88. package/dist/cjs/gux-time-zone-beta.cjs.entry.js +1 -1
  89. package/dist/cjs/gux-time-zone-picker-beta.cjs.entry.js +1 -1
  90. package/dist/cjs/gux-toast.cjs.entry.js +1 -1
  91. package/dist/cjs/gux-toggle.cjs.entry.js +1 -1
  92. package/dist/cjs/gux-tooltip-base-beta.cjs.entry.js +1 -1
  93. package/dist/cjs/gux-tooltip.cjs.entry.js +1 -1
  94. package/dist/cjs/loader.cjs.js +1 -1
  95. package/dist/cjs/{usage-1a09f0a1.js → usage-b3bad09d.js} +1 -1
  96. package/dist/collection/components/stable/gux-copy-to-clipboard/gux-copy-to-clipboard.css +2 -0
  97. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-color/gux-form-field-color.js +28 -3
  98. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-color/tests/gux-form-field-color.spec.js +14 -0
  99. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-dropdown/gux-form-field-dropdown.js +28 -3
  100. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-dropdown/tests/gux-form-field-dropdown.spec.js +61 -21
  101. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-file/gux-form-field-file.js +26 -1
  102. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-file/tests/gux-form-field-file.spec.js +20 -0
  103. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-number/gux-form-field-number.js +28 -3
  104. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-number/tests/gux-form-field-number.spec.js +14 -0
  105. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-phone/gux-form-field-phone.js +29 -4
  106. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-phone/tests/gux-form-field-phone.spec.js +14 -0
  107. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-range/gux-form-field-range.js +27 -2
  108. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-search/gux-form-field-search.js +28 -3
  109. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-search/tests/gux-form-field-search.spec.js +14 -0
  110. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-select/gux-form-field-select.js +28 -3
  111. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-select/tests/gux-form-field-select.spec.js +18 -0
  112. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-text-like/gux-form-field-text-like.js +28 -3
  113. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-text-like/tests/gux-form-field-text-like.spec.js +14 -0
  114. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-textarea/gux-form-field-textarea.js +27 -2
  115. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-textarea/tests/gux-form-field-textarea.spec.js +14 -0
  116. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-time-picker/gux-form-field-time-picker.js +29 -4
  117. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-time-picker/tests/gux-form-field-time-picker.spec.js +14 -0
  118. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-time-zone-picker/gux-form-field-time-zone-picker.js +28 -3
  119. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-time-zone-picker/tests/gux-form-field-time-zone-picker.spec.js +62 -43
  120. package/dist/collection/components/stable/gux-form-field/helper-components/gux-form-field-optional-indicator/gux-form-field-label-indicator.css +9 -0
  121. package/dist/collection/components/stable/gux-form-field/helper-components/gux-form-field-optional-indicator/gux-form-field-label-indicator.js +8 -2
  122. package/dist/esm/genesys-webcomponents.js +1 -1
  123. package/dist/esm/gux-accordion.entry.js +1 -1
  124. package/dist/esm/gux-action-button.entry.js +1 -1
  125. package/dist/esm/gux-action-toast-legacy.entry.js +1 -1
  126. package/dist/esm/gux-advanced-dropdown-legacy.entry.js +1 -1
  127. package/dist/esm/gux-announce-beta.entry.js +1 -1
  128. package/dist/esm/gux-avatar-beta.entry.js +1 -1
  129. package/dist/esm/gux-avatar-change-photo-beta.entry.js +1 -1
  130. package/dist/esm/gux-badge.entry.js +1 -1
  131. package/dist/esm/gux-blank-state.entry.js +1 -1
  132. package/dist/esm/gux-breadcrumbs.entry.js +1 -1
  133. package/dist/esm/gux-button-multi.entry.js +1 -1
  134. package/dist/esm/gux-button-slot.entry.js +1 -1
  135. package/dist/esm/gux-button.entry.js +1 -1
  136. package/dist/esm/gux-calendar.entry.js +1 -1
  137. package/dist/esm/gux-card.entry.js +1 -1
  138. package/dist/esm/gux-column-manager.entry.js +1 -1
  139. package/dist/esm/gux-content-search.entry.js +1 -1
  140. package/dist/esm/gux-context-menu.entry.js +1 -1
  141. package/dist/esm/gux-copy-to-clipboard.entry.js +2 -2
  142. package/dist/esm/gux-date-beta.entry.js +1 -1
  143. package/dist/esm/gux-date-time-beta.entry.js +1 -1
  144. package/dist/esm/gux-datepicker.entry.js +1 -1
  145. package/dist/esm/gux-disclosure-button-legacy.entry.js +1 -1
  146. package/dist/esm/gux-dismiss-button.entry.js +1 -1
  147. package/dist/esm/gux-dropdown-multi.entry.js +1 -1
  148. package/dist/esm/gux-dropdown_3.entry.js +1 -1
  149. package/dist/esm/gux-flag-icon-beta.entry.js +1 -1
  150. package/dist/esm/gux-flyout-menu.entry.js +1 -1
  151. package/dist/esm/gux-form-field-checkbox-group-beta.entry.js +1 -1
  152. package/dist/esm/gux-form-field-checkbox.entry.js +1 -1
  153. package/dist/esm/gux-form-field-color.entry.js +5 -4
  154. package/dist/esm/gux-form-field-dropdown.entry.js +5 -4
  155. package/dist/esm/gux-form-field-file.entry.js +3 -2
  156. package/dist/esm/gux-form-field-input-clear-button.entry.js +1 -1
  157. package/dist/esm/gux-form-field-label-indicator.entry.js +15 -4
  158. package/dist/esm/gux-form-field-number_3.entry.js +5 -4
  159. package/dist/esm/gux-form-field-phone.entry.js +6 -5
  160. package/dist/esm/gux-form-field-radio-group-beta.entry.js +1 -1
  161. package/dist/esm/gux-form-field-radio.entry.js +1 -1
  162. package/dist/esm/gux-form-field-range.entry.js +4 -3
  163. package/dist/esm/gux-form-field-search.entry.js +5 -4
  164. package/dist/esm/gux-form-field-select.entry.js +5 -4
  165. package/dist/esm/gux-form-field-text-like.entry.js +5 -4
  166. package/dist/esm/gux-form-field-textarea.entry.js +4 -3
  167. package/dist/esm/gux-form-field-time-picker.entry.js +6 -5
  168. package/dist/esm/gux-form-field-time-zone-picker.entry.js +5 -4
  169. package/dist/esm/gux-form-footer.entry.js +1 -1
  170. package/dist/esm/gux-icon-tooltip-beta.entry.js +1 -1
  171. package/dist/esm/gux-icon.entry.js +1 -1
  172. package/dist/esm/gux-inline-alert.entry.js +1 -1
  173. package/dist/esm/gux-label-info-beta.entry.js +1 -1
  174. package/dist/esm/gux-list.entry.js +1 -1
  175. package/dist/esm/gux-listbox-multi.entry.js +1 -1
  176. package/dist/esm/gux-loading-message.entry.js +1 -1
  177. package/dist/esm/gux-modal-legacy.entry.js +1 -1
  178. package/dist/esm/gux-modal.entry.js +1 -1
  179. package/dist/esm/gux-month-picker-beta.entry.js +1 -1
  180. package/dist/esm/gux-notification-toast-legacy.entry.js +1 -1
  181. package/dist/esm/gux-page-loading-spinner.entry.js +1 -1
  182. package/dist/esm/gux-pagination-cursor.entry.js +1 -1
  183. package/dist/esm/gux-pagination-legacy.entry.js +1 -1
  184. package/dist/esm/gux-pagination.entry.js +1 -1
  185. package/dist/esm/gux-phone-input-beta.entry.js +1 -1
  186. package/dist/esm/gux-popover-list.entry.js +1 -1
  187. package/dist/esm/gux-radial-loading.entry.js +1 -1
  188. package/dist/esm/gux-radial-progress.entry.js +1 -1
  189. package/dist/esm/gux-rating.entry.js +1 -1
  190. package/dist/esm/gux-screen-reader-beta_2.entry.js +1 -1
  191. package/dist/esm/gux-segmented-control-beta.entry.js +1 -1
  192. package/dist/esm/gux-selector-card-beta.entry.js +1 -1
  193. package/dist/esm/gux-selector-cards-beta.entry.js +1 -1
  194. package/dist/esm/gux-simple-toast-legacy.entry.js +1 -1
  195. package/dist/esm/gux-skip-navigation-list.entry.js +1 -1
  196. package/dist/esm/gux-sort-control.entry.js +1 -1
  197. package/dist/esm/gux-switch-legacy.entry.js +1 -1
  198. package/dist/esm/gux-table-toolbar-action.entry.js +1 -1
  199. package/dist/esm/gux-table-toolbar-custom-action.entry.js +1 -1
  200. package/dist/esm/gux-table-toolbar-menu-button.entry.js +1 -1
  201. package/dist/esm/gux-table-toolbar.entry.js +1 -1
  202. package/dist/esm/gux-table.entry.js +1 -1
  203. package/dist/esm/gux-tabs-advanced.entry.js +1 -1
  204. package/dist/esm/gux-tabs.entry.js +1 -1
  205. package/dist/esm/gux-tag.entry.js +1 -1
  206. package/dist/esm/gux-text-highlight.entry.js +1 -1
  207. package/dist/esm/gux-time-beta.entry.js +1 -1
  208. package/dist/esm/gux-time-picker.entry.js +1 -1
  209. package/dist/esm/gux-time-zone-beta.entry.js +1 -1
  210. package/dist/esm/gux-time-zone-picker-beta.entry.js +1 -1
  211. package/dist/esm/gux-toast.entry.js +1 -1
  212. package/dist/esm/gux-toggle.entry.js +1 -1
  213. package/dist/esm/gux-tooltip-base-beta.entry.js +1 -1
  214. package/dist/esm/gux-tooltip.entry.js +1 -1
  215. package/dist/esm/loader.js +1 -1
  216. package/dist/esm/{usage-cefcd8a7.js → usage-f9c366ec.js} +1 -1
  217. package/dist/genesys-webcomponents/genesys-webcomponents.esm.js +1 -1
  218. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.en.json +1 -1
  219. package/dist/genesys-webcomponents/{p-8b7dc8ec.entry.js → p-014d074d.entry.js} +1 -1
  220. package/dist/genesys-webcomponents/{p-4f1b9acb.entry.js → p-04241d12.entry.js} +1 -1
  221. package/dist/genesys-webcomponents/{p-22cc59ef.entry.js → p-060b627c.entry.js} +1 -1
  222. package/dist/genesys-webcomponents/{p-2ea2e927.entry.js → p-06891972.entry.js} +1 -1
  223. package/dist/genesys-webcomponents/{p-7f22ae96.entry.js → p-0875b411.entry.js} +1 -1
  224. package/dist/genesys-webcomponents/{p-c1568759.entry.js → p-0f5dfe47.entry.js} +1 -1
  225. package/dist/genesys-webcomponents/{p-9b9e50cd.entry.js → p-11802d87.entry.js} +1 -1
  226. package/dist/genesys-webcomponents/{p-0f64584e.entry.js → p-11bd3055.entry.js} +1 -1
  227. package/dist/genesys-webcomponents/p-14ddfe8e.entry.js +1 -0
  228. package/dist/genesys-webcomponents/{p-2cf9cc85.entry.js → p-167a8187.entry.js} +1 -1
  229. package/dist/genesys-webcomponents/{p-72e102a3.entry.js → p-1ff15e9d.entry.js} +1 -1
  230. package/dist/genesys-webcomponents/{p-391de3a8.entry.js → p-21b55ee6.entry.js} +1 -1
  231. package/dist/genesys-webcomponents/{p-32a55544.entry.js → p-25bd4937.entry.js} +1 -1
  232. package/dist/genesys-webcomponents/{p-7f5c0d4e.entry.js → p-27ce2918.entry.js} +1 -1
  233. package/dist/genesys-webcomponents/{p-f1b4d6fe.entry.js → p-2a4706be.entry.js} +1 -1
  234. package/dist/genesys-webcomponents/{p-1eb7929a.entry.js → p-2e0f25c8.entry.js} +1 -1
  235. package/dist/genesys-webcomponents/{p-1350bbfb.entry.js → p-2fdbade7.entry.js} +1 -1
  236. package/dist/genesys-webcomponents/{p-bf3f1e65.entry.js → p-314c137e.entry.js} +1 -1
  237. package/dist/genesys-webcomponents/{p-66ccb04b.entry.js → p-31998793.entry.js} +1 -1
  238. package/dist/genesys-webcomponents/{p-73d1848a.entry.js → p-33f0bec1.entry.js} +1 -1
  239. package/dist/genesys-webcomponents/{p-f6a535ba.entry.js → p-34df3d84.entry.js} +1 -1
  240. package/dist/genesys-webcomponents/{p-cc0f8a99.entry.js → p-3978c193.entry.js} +1 -1
  241. package/dist/genesys-webcomponents/{p-210fc5a7.entry.js → p-3a644ec7.entry.js} +1 -1
  242. package/dist/genesys-webcomponents/{p-4f495072.entry.js → p-3ae60345.entry.js} +1 -1
  243. package/dist/genesys-webcomponents/{p-6b688128.entry.js → p-3c638a22.entry.js} +1 -1
  244. package/dist/genesys-webcomponents/{p-edd2fe93.entry.js → p-3cb1047b.entry.js} +1 -1
  245. package/dist/genesys-webcomponents/{p-fdd0da67.entry.js → p-43b48ebb.entry.js} +1 -1
  246. package/dist/genesys-webcomponents/p-480b3891.entry.js +1 -0
  247. package/dist/genesys-webcomponents/{p-ad0bbff9.entry.js → p-4a0007a7.entry.js} +1 -1
  248. package/dist/genesys-webcomponents/{p-5c6239a8.entry.js → p-4b60d482.entry.js} +1 -1
  249. package/dist/genesys-webcomponents/{p-765b748d.entry.js → p-4bcf78ca.entry.js} +1 -1
  250. package/dist/genesys-webcomponents/{p-5c5bca83.entry.js → p-4cfca967.entry.js} +1 -1
  251. package/dist/genesys-webcomponents/{p-68268852.entry.js → p-4dd17bc5.entry.js} +1 -1
  252. package/dist/genesys-webcomponents/{p-c1de8ad4.entry.js → p-4e74044a.entry.js} +1 -1
  253. package/dist/genesys-webcomponents/p-5365558e.entry.js +1 -0
  254. package/dist/genesys-webcomponents/p-549ee2c5.entry.js +1 -0
  255. package/dist/genesys-webcomponents/{p-8e1e96c2.entry.js → p-56c533bc.entry.js} +1 -1
  256. package/dist/genesys-webcomponents/{p-756d1945.entry.js → p-5844741a.entry.js} +1 -1
  257. package/dist/genesys-webcomponents/{p-f96d2d38.entry.js → p-5d734773.entry.js} +1 -1
  258. package/dist/genesys-webcomponents/{p-d7ae8598.entry.js → p-60648c28.entry.js} +1 -1
  259. package/dist/genesys-webcomponents/{p-960ba3ba.entry.js → p-612729f2.entry.js} +1 -1
  260. package/dist/genesys-webcomponents/p-62692218.entry.js +1 -0
  261. package/dist/genesys-webcomponents/p-63b97318.entry.js +1 -0
  262. package/dist/genesys-webcomponents/p-648210bf.entry.js +1 -0
  263. package/dist/genesys-webcomponents/p-649c2649.entry.js +1 -0
  264. package/dist/genesys-webcomponents/p-655e6f4c.entry.js +1 -0
  265. package/dist/genesys-webcomponents/p-66339180.entry.js +1 -0
  266. package/dist/genesys-webcomponents/{p-0ffd7e1b.entry.js → p-66bdf878.entry.js} +1 -1
  267. package/dist/genesys-webcomponents/{p-96726525.entry.js → p-6a49fb57.entry.js} +1 -1
  268. package/dist/genesys-webcomponents/{p-517be33a.entry.js → p-7185fb75.entry.js} +1 -1
  269. package/dist/genesys-webcomponents/{p-9884984c.entry.js → p-720ffdc8.entry.js} +1 -1
  270. package/dist/genesys-webcomponents/p-739c5edc.entry.js +1 -0
  271. package/dist/genesys-webcomponents/{p-7d47ec5a.entry.js → p-75d13982.entry.js} +1 -1
  272. package/dist/genesys-webcomponents/{p-eda0f074.entry.js → p-77fc0bd3.entry.js} +1 -1
  273. package/dist/genesys-webcomponents/{p-11e617c3.entry.js → p-7c887fe7.entry.js} +1 -1
  274. package/dist/genesys-webcomponents/{p-3b223133.entry.js → p-7c988b18.entry.js} +1 -1
  275. package/dist/genesys-webcomponents/{p-6df452fd.entry.js → p-7cd95aec.entry.js} +1 -1
  276. package/dist/genesys-webcomponents/{p-0fc47868.entry.js → p-7ce1427e.entry.js} +1 -1
  277. package/dist/genesys-webcomponents/{p-32cf534e.entry.js → p-81457287.entry.js} +1 -1
  278. package/dist/genesys-webcomponents/{p-4ecdbd68.entry.js → p-870368c8.entry.js} +1 -1
  279. package/dist/genesys-webcomponents/{p-3f3f8de8.entry.js → p-8c229122.entry.js} +1 -1
  280. package/dist/genesys-webcomponents/{p-08945bb7.entry.js → p-9042dbed.entry.js} +1 -1
  281. package/dist/genesys-webcomponents/{p-dc63d3bb.entry.js → p-9428a0e6.entry.js} +1 -1
  282. package/dist/genesys-webcomponents/{p-c2ab0235.entry.js → p-a0e85aca.entry.js} +1 -1
  283. package/dist/genesys-webcomponents/{p-3e4e16db.entry.js → p-ae8bb601.entry.js} +1 -1
  284. package/dist/genesys-webcomponents/p-b1e19398.entry.js +1 -0
  285. package/dist/genesys-webcomponents/{p-ff13363a.entry.js → p-bacf9ee3.entry.js} +1 -1
  286. package/dist/genesys-webcomponents/{p-24360aff.entry.js → p-bbff0f4c.entry.js} +1 -1
  287. package/dist/genesys-webcomponents/p-beab0ebe.entry.js +1 -0
  288. package/dist/genesys-webcomponents/{p-8c27b1bf.entry.js → p-c228ed3f.entry.js} +1 -1
  289. package/dist/genesys-webcomponents/{p-9d14849b.entry.js → p-c4369def.entry.js} +1 -1
  290. package/dist/genesys-webcomponents/{p-0070b91c.entry.js → p-c4892aee.entry.js} +1 -1
  291. package/dist/genesys-webcomponents/{p-f04898bf.entry.js → p-c534478b.entry.js} +1 -1
  292. package/dist/genesys-webcomponents/{p-a25f848f.entry.js → p-c570c6ef.entry.js} +1 -1
  293. package/dist/genesys-webcomponents/p-c937df04.entry.js +1 -0
  294. package/dist/genesys-webcomponents/{p-23207af6.entry.js → p-cba33e6f.entry.js} +1 -1
  295. package/dist/genesys-webcomponents/p-d0aa61a4.entry.js +1 -0
  296. package/dist/genesys-webcomponents/{p-2dce8f62.entry.js → p-d2d56541.entry.js} +1 -1
  297. package/dist/genesys-webcomponents/{p-2a91090d.entry.js → p-d3a3bcc8.entry.js} +1 -1
  298. package/dist/genesys-webcomponents/{p-d7f74483.entry.js → p-d42a14b6.entry.js} +1 -1
  299. package/dist/genesys-webcomponents/{p-d2d33a6e.entry.js → p-d515e850.entry.js} +1 -1
  300. package/dist/genesys-webcomponents/{p-10603d7b.entry.js → p-d6e9f72c.entry.js} +1 -1
  301. package/dist/genesys-webcomponents/p-d7c8259c.entry.js +1 -0
  302. package/dist/genesys-webcomponents/{p-ec5733a4.entry.js → p-d8843760.entry.js} +1 -1
  303. package/dist/genesys-webcomponents/{p-fbf4569d.entry.js → p-dae41cf1.entry.js} +1 -1
  304. package/dist/genesys-webcomponents/{p-a9a860e1.js → p-e598cc41.js} +1 -1
  305. package/dist/genesys-webcomponents/{p-fd8316fb.entry.js → p-e993f491.entry.js} +1 -1
  306. package/dist/genesys-webcomponents/{p-afc0a78e.entry.js → p-ec882573.entry.js} +1 -1
  307. package/dist/genesys-webcomponents/{p-392bd896.entry.js → p-ee724156.entry.js} +1 -1
  308. package/dist/genesys-webcomponents/{p-79f9a9c6.entry.js → p-f8f79d6f.entry.js} +1 -1
  309. package/dist/genesys-webcomponents/{p-7f1efb9f.entry.js → p-fb74abd0.entry.js} +1 -1
  310. package/dist/genesys-webcomponents/{p-288156e3.entry.js → p-fc551679.entry.js} +1 -1
  311. package/dist/genesys-webcomponents/{p-d09c48cb.entry.js → p-fe5e81f7.entry.js} +1 -1
  312. package/dist/stencil-wrapper.js +1 -1
  313. package/dist/types/components/stable/gux-form-field/components/gux-form-field-color/gux-form-field-color.d.ts +7 -1
  314. package/dist/types/components/stable/gux-form-field/components/gux-form-field-dropdown/gux-form-field-dropdown.d.ts +7 -1
  315. package/dist/types/components/stable/gux-form-field/components/gux-form-field-file/gux-form-field-file.d.ts +7 -1
  316. package/dist/types/components/stable/gux-form-field/components/gux-form-field-number/gux-form-field-number.d.ts +7 -1
  317. package/dist/types/components/stable/gux-form-field/components/gux-form-field-phone/gux-form-field-phone.d.ts +7 -1
  318. package/dist/types/components/stable/gux-form-field/components/gux-form-field-range/gux-form-field-range.d.ts +7 -1
  319. package/dist/types/components/stable/gux-form-field/components/gux-form-field-search/gux-form-field-search.d.ts +7 -1
  320. package/dist/types/components/stable/gux-form-field/components/gux-form-field-select/gux-form-field-select.d.ts +7 -1
  321. package/dist/types/components/stable/gux-form-field/components/gux-form-field-text-like/gux-form-field-text-like.d.ts +7 -1
  322. package/dist/types/components/stable/gux-form-field/components/gux-form-field-textarea/gux-form-field-textarea.d.ts +7 -1
  323. package/dist/types/components/stable/gux-form-field/components/gux-form-field-time-picker/gux-form-field-time-picker.d.ts +7 -1
  324. package/dist/types/components/stable/gux-form-field/components/gux-form-field-time-zone-picker/gux-form-field-time-zone-picker.d.ts +7 -1
  325. package/dist/types/components/stable/gux-form-field/gux-form-field.types.d.ts +1 -0
  326. package/dist/types/components/stable/gux-form-field/helper-components/gux-form-field-optional-indicator/gux-form-field-label-indicator.d.ts +2 -1
  327. package/dist/types/components.d.ts +98 -2
  328. package/dist/types/stencil-wrapper.d.ts +1 -1
  329. package/package.json +1 -1
  330. package/dist/genesys-webcomponents/p-136cb67a.entry.js +0 -1
  331. package/dist/genesys-webcomponents/p-20c6a057.entry.js +0 -1
  332. package/dist/genesys-webcomponents/p-2f85635f.entry.js +0 -1
  333. package/dist/genesys-webcomponents/p-49042143.entry.js +0 -1
  334. package/dist/genesys-webcomponents/p-4f81b5dc.entry.js +0 -1
  335. package/dist/genesys-webcomponents/p-53200064.entry.js +0 -1
  336. package/dist/genesys-webcomponents/p-69e0a0c1.entry.js +0 -1
  337. package/dist/genesys-webcomponents/p-842cff65.entry.js +0 -1
  338. package/dist/genesys-webcomponents/p-90f03893.entry.js +0 -1
  339. package/dist/genesys-webcomponents/p-92fbe699.entry.js +0 -1
  340. package/dist/genesys-webcomponents/p-97a0642e.entry.js +0 -1
  341. package/dist/genesys-webcomponents/p-a88349c9.entry.js +0 -1
  342. package/dist/genesys-webcomponents/p-b468da5d.entry.js +0 -1
  343. package/dist/genesys-webcomponents/p-b788d73a.entry.js +0 -1
  344. package/dist/genesys-webcomponents/p-c263f856.entry.js +0 -1
  345. package/dist/genesys-webcomponents/p-ef69a86d.entry.js +0 -1
@@ -33,6 +33,7 @@ export class GuxFormFieldTextLike {
33
33
  this.clearable = undefined;
34
34
  this.labelPosition = undefined;
35
35
  this.loading = false;
36
+ this.indicatorMark = 'required';
36
37
  this.hasPrefix = undefined;
37
38
  this.hasSuffix = undefined;
38
39
  this.computedLabelPosition = 'above';
@@ -111,15 +112,15 @@ export class GuxFormFieldTextLike {
111
112
  }
112
113
  }
113
114
  render() {
114
- return (h(GuxFormFieldContainer, { key: '487f7ecc746cb8d202913f5726898d322ae4f5b4', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLabel, { key: '94426d1118d18c24e6c8402667d8339adc9f35da', required: this.required, position: this.computedLabelPosition }, h("slot", { key: '47f740f8dfedaf841341a041f751a5a9ba96b7a4', name: "label", onSlotchange: () => this.setLabel() }), h("gux-form-field-label-indicator", { key: '490873910e0a5f6622c8b5551452128af78bb5d7', variant: "required", required: this.required }), h("slot", { key: '0518c49fc7c0d869da118f398f816176a56952cf', name: "label-info" })), h("div", { key: '0811c689d98b6bef5af8b4fbdc4c7f26c3581b8f', class: "gux-input-and-error-container" }, h("div", { key: 'dc078ab42d4ca7713f2c8a6df68c3878beb50040', class: {
115
+ return (h(GuxFormFieldContainer, { key: 'beb98cc29449e9cc02943e698df8717b45114570', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLabel, { key: 'eedcf5016706b108e545817c98745ce7c52d161f', required: this.required, position: this.computedLabelPosition }, h("slot", { key: 'bf7acfde961586ee95edfdae121b5e280ee49af2', name: "label", onSlotchange: () => this.setLabel() }), h("gux-form-field-label-indicator", { key: '56a5c9ae8f38704d6de079b969ddc99089b67de2', variant: this.indicatorMark, required: this.required }), h("slot", { key: '72d14572d6103e889ed27846be8e2141a174498f', name: "label-info" })), h("div", { key: 'fc34558ec02f718f85f739a253f735e3487e7fd5', class: "gux-input-and-error-container" }, h("div", { key: 'd6ad5d2b24eeb0b3dcf234c4fe76cdc4b1bdf343', class: {
115
116
  'gux-input': true,
116
117
  'gux-input-error': this.hasError
117
- } }, h("div", { key: '84730c4d68469d6ff6ff4bb7739fc909d262878a', class: {
118
+ } }, h("div", { key: 'd882278f448c04225ec3cca78767c08da0c868f3', class: {
118
119
  'gux-input-container': true,
119
120
  'gux-disabled': this.disabled,
120
121
  'gux-has-prefix': this.hasPrefix,
121
122
  'gux-has-suffix': this.hasSuffix
122
- }, onClick: () => focusInputElement(this.input) }, h("slot", { key: '0ae9a5497c1fc78616ee9540a093915a4726ec07', name: "prefix" }), h("slot", { key: '2ab922a873100294f1ea0a8d051b81235b4b3f94', name: "input" }), this.renderRadialLoading(), h("slot", { key: 'f6dc07482856ed60dbc9edf4bd0da4fb677bd71f', name: "suffix" }), this.clearable && this.hasContent && !this.disabled && (h("gux-form-field-input-clear-button", { onClick: () => clearInput(this.input) })))), h(GuxFormFieldError, { key: '41b0e9de0bc67c55bb4add0264a011aff5ac5208', show: this.hasError }, h("slot", { key: '7221f73bcbd7a30cb097e60905f3d108a811cfea', name: "error" })), h(GuxFormFieldHelp, { key: '5eb33e2fa8dd0f9a92283e86fcec7a01a10bff7b', show: !this.hasError && this.hasHelp }, h("slot", { key: 'adc4801aac0b4a6249b3ced99b38dd643e94be4d', name: "help" })))));
123
+ }, onClick: () => focusInputElement(this.input) }, h("slot", { key: 'ded12095ab3b9133bee6f5069451e1d831146ea4', name: "prefix" }), h("slot", { key: '9d48cfd6c49f2be1fd1e8a8f01ebba2bcf24cd0a', name: "input" }), this.renderRadialLoading(), h("slot", { key: 'e4b8cbfa3e5cffb1e2aefe3d8e566c0ea8540c84', name: "suffix" }), this.clearable && this.hasContent && !this.disabled && (h("gux-form-field-input-clear-button", { onClick: () => clearInput(this.input) })))), h(GuxFormFieldError, { key: '1c763a24f321d889f596085e032a3cd9f915c437', show: this.hasError }, h("slot", { key: 'a9cfeb2acdd78458405f1d69e97abaf81c09b975', name: "error" })), h(GuxFormFieldHelp, { key: '2f789dd4ef977e7f9ec53a02991055c3b8e5b977', show: !this.hasError && this.hasHelp }, h("slot", { key: '5ae7376190c8c720fbc2c52eaedea99a717b78d8', name: "help" })))));
123
124
  }
124
125
  get variant() {
125
126
  const labelPositionVariant = this.labelPosition
@@ -221,6 +222,30 @@ export class GuxFormFieldTextLike {
221
222
  "attribute": "loading",
222
223
  "reflect": false,
223
224
  "defaultValue": "false"
225
+ },
226
+ "indicatorMark": {
227
+ "type": "string",
228
+ "mutable": false,
229
+ "complexType": {
230
+ "original": "GuxFormFieldIndicatorMark",
231
+ "resolved": "\"optional\" | \"required\"",
232
+ "references": {
233
+ "GuxFormFieldIndicatorMark": {
234
+ "location": "import",
235
+ "path": "../../gux-form-field.types",
236
+ "id": "src/components/stable/gux-form-field/gux-form-field.types.ts::GuxFormFieldIndicatorMark"
237
+ }
238
+ }
239
+ },
240
+ "required": false,
241
+ "optional": false,
242
+ "docs": {
243
+ "tags": [],
244
+ "text": "Field indicator mark which can show *, (optional) or blank\nDefaults to required. When set to required, the component will display * for required fields and blank for optional\nWhen set to optional, the component will display (optional) for optional and blank for required."
245
+ },
246
+ "attribute": "indicator-mark",
247
+ "reflect": false,
248
+ "defaultValue": "'required'"
224
249
  }
225
250
  };
226
251
  }
@@ -156,5 +156,19 @@ describe('gux-form-field-text-like', () => {
156
156
  });
157
157
  });
158
158
  });
159
+ describe('indicator marks', () => {
160
+ ['', 'indicator-mark="optional"', 'indicator-mark="required"'].forEach((indicatorMark, index) => {
161
+ it(`should render component as expected (${index + 1})`, async () => {
162
+ const html = `
163
+ <gux-form-field-text-like ${indicatorMark}>
164
+ <input slot="input" type="text" value="Sample text"/>
165
+ <label slot="label">Label</label>
166
+ </gux-form-field-text-like>
167
+ `;
168
+ const page = await newSpecPage({ components, html, language });
169
+ expect(page.root).toMatchSnapshot();
170
+ });
171
+ });
172
+ });
159
173
  });
160
174
  });
@@ -29,6 +29,7 @@ export class GuxFormFieldTextarea {
29
29
  constructor() {
30
30
  this.resize = undefined;
31
31
  this.labelPosition = undefined;
32
+ this.indicatorMark = 'required';
32
33
  this.computedLabelPosition = 'above';
33
34
  this.disabled = undefined;
34
35
  this.required = true;
@@ -87,12 +88,12 @@ export class GuxFormFieldTextarea {
87
88
  }
88
89
  }
89
90
  render() {
90
- return (h(GuxFormFieldContainer, { key: '198dd2ef1c21a3ac350fae1a8d88749b9117159e', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLabel, { key: '56993b85dcd05c1cd5ce35ac94e230a6f34a32f0', required: this.required, position: this.computedLabelPosition }, h("slot", { key: '53f8676fe7e657cd62a1e743d4c106d1aafc01cb', name: "label", onSlotchange: () => this.setLabel() }), h("gux-form-field-label-indicator", { key: '1a04cf15e5163c26dcc7cb5e7a82dffe913df67c', variant: "required", required: this.required }), h("slot", { key: 'e9d7f02796566ab0f061b0e1a29e8bcba5b24681', name: "label-info" })), h("div", { key: '372fcac508ebebf2a15591a464cde415c820de8b', class: "gux-input-and-error-container" }, h("div", { key: '21b6454fae678bc21af948c1a8e901cb3cfc5f5b', ref: el => (this.textareaContainerElement = el), class: {
91
+ return (h(GuxFormFieldContainer, { key: 'd39811ffbb0bccc3055e42e8f8d9e9318a0b9d38', labelPosition: this.computedLabelPosition }, h(GuxFormFieldLabel, { key: 'ce0d140dda0b88c6a144aec28e92b5feddf6b352', required: this.required, position: this.computedLabelPosition }, h("slot", { key: '5373fa879b15f5dc8963a4708f3082705978ab9c', name: "label", onSlotchange: () => this.setLabel() }), h("gux-form-field-label-indicator", { key: '61ef2cf37235239dd3ecac077ca7d1d20442ab23', variant: this.indicatorMark, required: this.required }), h("slot", { key: '6420554f988a513a381d5c950abfba759aaa0688', name: "label-info" })), h("div", { key: '92903c916b70cd57b0962afd59f6abb0125a60ef', class: "gux-input-and-error-container" }, h("div", { key: '9edf94ff62e26d59710b067a3b35096b1a5f22ec', ref: el => (this.textareaContainerElement = el), class: {
91
92
  'gux-input': true,
92
93
  [`gux-resize-${this.resize}`]: true,
93
94
  'gux-disabled': this.disabled,
94
95
  'gux-input-error': this.hasError
95
- } }, h("slot", { key: '1931194aab6fe3fbc03ab3aa446a56f4f3b9f65e', name: "input" })), h(GuxFormFieldError, { key: '0e875ab321f782677663f0b16ebded0e2a9ea684', show: this.hasError }, h("slot", { key: '419ad3f0277147bec4338ae3f4d3535cc3972273', name: "error" })), h(GuxFormFieldHelp, { key: '0e91d7aa554adbf00fc8092d391b8262b18b597e', show: !this.hasError && this.hasHelp }, h("slot", { key: '9a84fd0b9ccb1a51649f976e03f3adac029de0e6', name: "help" })))));
96
+ } }, h("slot", { key: 'caf68192f180b2bcb62621ae2b930f8e039c6b74', name: "input" })), h(GuxFormFieldError, { key: 'b6875b9559d10e2c086509fe4bad0f117762c658', show: this.hasError }, h("slot", { key: '8816580fa2953be7406e53a8df1809f0c907f23c', name: "error" })), h(GuxFormFieldHelp, { key: '9aee948c8db811d37b3ad6fa0c28e25814de59cd', show: !this.hasError && this.hasHelp }, h("slot", { key: '9fb4def3df2996fe2ba39c9a708f35a9bdc32edf', name: "help" })))));
96
97
  }
97
98
  get variant() {
98
99
  const labelPositionVariant = this.labelPosition
@@ -188,6 +189,30 @@ export class GuxFormFieldTextarea {
188
189
  },
189
190
  "attribute": "label-position",
190
191
  "reflect": false
192
+ },
193
+ "indicatorMark": {
194
+ "type": "string",
195
+ "mutable": false,
196
+ "complexType": {
197
+ "original": "GuxFormFieldIndicatorMark",
198
+ "resolved": "\"optional\" | \"required\"",
199
+ "references": {
200
+ "GuxFormFieldIndicatorMark": {
201
+ "location": "import",
202
+ "path": "../../gux-form-field.types",
203
+ "id": "src/components/stable/gux-form-field/gux-form-field.types.ts::GuxFormFieldIndicatorMark"
204
+ }
205
+ }
206
+ },
207
+ "required": false,
208
+ "optional": false,
209
+ "docs": {
210
+ "tags": [],
211
+ "text": "Field indicator mark which can show *, (optional) or blank\nDefaults to required. When set to required, the component will display * for required fields and blank for optional\nWhen set to optional, the component will display (optional) for optional and blank for required."
212
+ },
213
+ "attribute": "indicator-mark",
214
+ "reflect": false,
215
+ "defaultValue": "'required'"
191
216
  }
192
217
  };
193
218
  }
@@ -62,6 +62,20 @@ describe('gux-form-field-textarea', () => {
62
62
  });
63
63
  });
64
64
  });
65
+ describe('indicator marks', () => {
66
+ ['', 'indicator-mark="optional"', 'indicator-mark="required"'].forEach((indicatorMark, index) => {
67
+ it(`should render component as expected (${index + 1})`, async () => {
68
+ const html = `
69
+ <gux-form-field-textarea ${indicatorMark}>
70
+ <textarea slot="input"></textarea>
71
+ <label slot="label">Label</label>
72
+ </gux-form-field-textarea>
73
+ `;
74
+ const page = await newSpecPage({ components, html, language });
75
+ expect(page.root).toMatchSnapshot();
76
+ });
77
+ });
78
+ });
65
79
  describe('help', () => {
66
80
  it('should render component as expected', async () => {
67
81
  const html = `
@@ -28,6 +28,7 @@ import componentResources from "./i18n/en.json";
28
28
  export class GuxFormFieldTimePicker {
29
29
  constructor() {
30
30
  this.labelPosition = undefined;
31
+ this.indicatorMark = 'required';
31
32
  this.computedLabelPosition = 'above';
32
33
  this.disabled = undefined;
33
34
  this.required = undefined;
@@ -92,14 +93,14 @@ export class GuxFormFieldTimePicker {
92
93
  }
93
94
  render() {
94
95
  var _a;
95
- return (h(GuxFormFieldFieldsetContainer, { key: 'f69d3c2a0d279577d1a77356c469eec18ab50b43', labelPosition: this.computedLabelPosition }, h(GuxFormFieldScreenreaderLabel, { key: '0e06d1c0e16394ea157f3688e3c7f1b5102244fa' }, (_a = this.label) === null || _a === void 0 ? void 0 :
96
- _a.textContent, this.renderText(this.getI18nValue('required'), this.required), this.renderText(getSlotTextContent(this.root, 'error'), this.hasError), this.renderText(getSlotTextContent(this.root, 'label-info'), this.hasLabelInfo)), h(GuxFormFieldVisualLabel, { key: '4523324a01c3a70554c86c310e93c718de91b91a', position: this.computedLabelPosition, required: this.required }, h("slot", { key: '78bd938da1f045af25101f37c74e662b6c186bde', name: "label", onSlotchange: () => this.setLabel() }), h("gux-form-field-label-indicator", { key: '1d7a80f4496bef8058c34566b0272a26a4e012d9', variant: "required", required: this.required }), h("slot", { key: '892f6fc6e39c6891aee2516100f95b886bcfd103', name: "label-info" })), h("div", { key: '15d68c6057d0df3784a131c01bfd9da851917775', class: "gux-input-and-error-container" }, h("div", { key: '620214bbf17854f16a1af6c45365a9c70fc2636e', class: {
96
+ return (h(GuxFormFieldFieldsetContainer, { key: '807ca888be1318d9c630856017124378e121c7e2', labelPosition: this.computedLabelPosition }, h(GuxFormFieldScreenreaderLabel, { key: '7b179b2708a7c5bc7da0890188833da31b983dec' }, (_a = this.label) === null || _a === void 0 ? void 0 :
97
+ _a.textContent, this.renderText(this.getI18nValue('required'), this.required), this.renderText(getSlotTextContent(this.root, 'error'), this.hasError), this.renderText(getSlotTextContent(this.root, 'label-info'), this.hasLabelInfo)), h(GuxFormFieldVisualLabel, { key: 'bba4cf762a128bc2f261c317de46e25a0e7e8039', position: this.computedLabelPosition, required: this.required }, h("slot", { key: '54a3a9ea4fc256d763cfc49b58012a270f05497f', name: "label", onSlotchange: () => this.setLabel() }), h("gux-form-field-label-indicator", { key: '02ef21d3229a8bed1683c6030f17073cd2c32e2f', variant: this.indicatorMark, required: this.required }), h("slot", { key: 'f27f3814d92b789110ee2cd623380532b01c212c', name: "label-info" })), h("div", { key: 'edc9597ad40521a06e30aa05dbc004ed4e1c3c99', class: "gux-input-and-error-container" }, h("div", { key: 'd0e4760ef11117c5419d83840853a7c3a55d2883', class: {
97
98
  'gux-input': true,
98
99
  'gux-input-error': this.hasError
99
- } }, h("div", { key: '3d6ad7bf30d8c3621896fadc515ade0c39a8108c', class: {
100
+ } }, h("div", { key: '01e3c4cc1d2830a893ba74efac5d4ceb8f68e75f', class: {
100
101
  'gux-time-picker-container': true,
101
102
  'gux-disabled': this.disabled
102
- } }, h("slot", { key: 'e0800e204437bfd92905bb7a0b8881eb4d81ed9e' }))), h(GuxFormFieldError, { key: '384273863f21240885684450c587cb1367feb827', show: this.hasError }, h("slot", { key: '2b301d47a375ed06c28f19a055ee26a2ada38aa4', name: "error" })), h(GuxFormFieldHelp, { key: 'b87d4e91887e0459b4302fa0f5c3f9dc2d4d88e0', show: !this.hasError && this.hasHelp }, h("slot", { key: '65792417d534a1dec4c05b879fc72db1b60f3f8e', name: "help" })))));
103
+ } }, h("slot", { key: '123ef8fa7f589f3b835bb83eb3b51055002a7508' }))), h(GuxFormFieldError, { key: '4280815a94277a7e0e5a599d1e1935ee8909cf8c', show: this.hasError }, h("slot", { key: '2943c7a654a3b34eb2c37930e4e000020d222ba2', name: "error" })), h(GuxFormFieldHelp, { key: '9ed9ef48efe9073b223ec0e80c8ae9d92d545ce7', show: !this.hasError && this.hasHelp }, h("slot", { key: 'b14414ca1b2afb6cc9e2fa2449d345363073b08e', name: "help" })))));
103
104
  }
104
105
  renderText(text, condition = false) {
105
106
  if (condition) {
@@ -165,6 +166,30 @@ export class GuxFormFieldTimePicker {
165
166
  },
166
167
  "attribute": "label-position",
167
168
  "reflect": false
169
+ },
170
+ "indicatorMark": {
171
+ "type": "string",
172
+ "mutable": false,
173
+ "complexType": {
174
+ "original": "GuxFormFieldIndicatorMark",
175
+ "resolved": "\"optional\" | \"required\"",
176
+ "references": {
177
+ "GuxFormFieldIndicatorMark": {
178
+ "location": "import",
179
+ "path": "../../gux-form-field.types",
180
+ "id": "src/components/stable/gux-form-field/gux-form-field.types.ts::GuxFormFieldIndicatorMark"
181
+ }
182
+ }
183
+ },
184
+ "required": false,
185
+ "optional": false,
186
+ "docs": {
187
+ "tags": [],
188
+ "text": "Field indicator mark which can show *, (optional) or blank\nDefaults to required. When set to required, the component will display * for required fields and blank for optional\nWhen set to optional, the component will display (optional) for optional and blank for required."
189
+ },
190
+ "attribute": "indicator-mark",
191
+ "reflect": false,
192
+ "defaultValue": "'required'"
168
193
  }
169
194
  };
170
195
  }
@@ -34,6 +34,20 @@ describe('gux-form-field-time-picker', () => {
34
34
  expect(page.root).toMatchSnapshot();
35
35
  });
36
36
  });
37
+ describe('indicator marks', () => {
38
+ ['', 'indicator-mark="optional"', 'indicator-mark="required"'].forEach((indicatorMark, index) => {
39
+ it(`should render component as expected (${index + 1})`, async () => {
40
+ const html = `
41
+ <gux-form-field-time-picker ${indicatorMark}>
42
+ <gux-time-picker value="07:00"></gux-time-picker>
43
+ <label slot="label">Label</label>
44
+ </gux-form-field-time-picker>
45
+ `;
46
+ const page = await newSpecPage({ components, html, language });
47
+ expect(page.root).toMatchSnapshot();
48
+ });
49
+ });
50
+ });
37
51
  });
38
52
  describe('intervals', () => {
39
53
  ['interval="15"', 'interval="30"', 'interval="60"'].forEach((componentAttribute, index) => {
@@ -28,6 +28,7 @@ import componentResources from "./i18n/en.json";
28
28
  export class GuxFormFieldTimeZonePicker {
29
29
  constructor() {
30
30
  this.labelPosition = undefined;
31
+ this.indicatorMark = 'required';
31
32
  this.computedLabelPosition = 'above';
32
33
  this.disabled = undefined;
33
34
  this.required = undefined;
@@ -93,13 +94,13 @@ export class GuxFormFieldTimeZonePicker {
93
94
  }
94
95
  render() {
95
96
  var _a;
96
- return (h(GuxFormFieldFieldsetContainer, { key: '5ecc8ac72d7e5228b769822c8a95a5cb08617a8a', labelPosition: this.computedLabelPosition }, h(GuxFormFieldScreenreaderLabel, { key: '76c3f3de71b2c2ae3c2745a06e3dcc6fdca1e403' }, (_a = this.label) === null || _a === void 0 ? void 0 :
97
- _a.textContent, this.renderText(this.getI18nValue('required'), this.required), this.renderText(getSlotTextContent(this.root, 'error'), this.hasError), this.renderText(getSlotTextContent(this.root, 'label-info'), this.hasLabelInfo)), h(GuxFormFieldVisualLabel, { key: 'a9728f2b5c0f4489e7abc42fde4541b6bcb5ec26', position: this.computedLabelPosition, required: this.required }, h("slot", { key: 'ad2991e2583d2ce992ae3676d5248ab4deac01aa', name: "label", onSlotchange: () => this.setLabel() }), h("gux-form-field-label-indicator", { key: '2013e893e4f67f165f99ffe85b0762a42ab0a191', variant: "required", required: this.required }), h("slot", { key: '212479f9a5a8df0668c16f00764a6784a8071de2', name: "label-info" })), h("slot", { key: 'e72de942358d617738857c1a8eb9dc41a5f0d71b', name: "label-info" }), h("div", { key: '2bc9186a753716cb24024cf68bccb3f7949c6997', class: "gux-input-and-error-container" }, h("div", { key: 'c93c6400659b86de793a3158353f81d4f3777cd1', class: {
97
+ return (h(GuxFormFieldFieldsetContainer, { key: '9ac7aa7d22c07fac90fe60d4689c9f66c753dddc', labelPosition: this.computedLabelPosition }, h(GuxFormFieldScreenreaderLabel, { key: '150c662ed536198b05d5ab1c327231027e85d531' }, (_a = this.label) === null || _a === void 0 ? void 0 :
98
+ _a.textContent, this.renderText(this.getI18nValue('required'), this.required), this.renderText(getSlotTextContent(this.root, 'error'), this.hasError), this.renderText(getSlotTextContent(this.root, 'label-info'), this.hasLabelInfo)), h(GuxFormFieldVisualLabel, { key: '8a1dd247b58194ede227ef623c202c890facca94', position: this.computedLabelPosition, required: this.required }, h("slot", { key: '62b5ed2595464018236fc3d783a79433468a24fa', name: "label", onSlotchange: () => this.setLabel() }), h("gux-form-field-label-indicator", { key: '66a69b9e02398a1ef6954a8e0376e61fd58a11b8', variant: this.indicatorMark, required: this.required }), h("slot", { key: '0e63e981ab0af5b61604c7893e250ead130f9d7d', name: "label-info" })), h("slot", { key: '880e4bda7852aa9d39e9c2b2b6ef6579482f5e40', name: "label-info" }), h("div", { key: '0645f927407893968861e085d2f0362f41a40dcc', class: "gux-input-and-error-container" }, h("div", { key: '210bf7b9426a1fd3700fa7716b1982b8e8058fbc', class: {
98
99
  'gux-input': true,
99
100
  'gux-input-error': this.hasError,
100
101
  'gux-time-zone-picker-container': true,
101
102
  'gux-disabled': this.disabled
102
- } }, h("slot", { key: '141e377d5046a94a252fae3636c1f568a949e83f' })), h(GuxFormFieldError, { key: 'cb623eae001f2b4fcbf39e8ce3f94fa443716fbd', show: this.hasError }, h("slot", { key: '93814cf4f166b973eb6272a46371f89647eff116', name: "error" })), h(GuxFormFieldHelp, { key: '2255a62f3d23dd5494c9ebb02bba98a3aa89c855', show: !this.hasError && this.hasHelp }, h("slot", { key: '13116c871a16e95259a887b5cd73ccdafc414a6c', name: "help" })))));
103
+ } }, h("slot", { key: 'a890560813c8b6e4151518c7dd1f16dac58b9b87' })), h(GuxFormFieldError, { key: '93f5447ff575090900a051ab86a0a3d4ddb0b07f', show: this.hasError }, h("slot", { key: 'a69d6c7a55aa7cb8ad8a339c0163f4fc2418319f', name: "error" })), h(GuxFormFieldHelp, { key: '41285ad604a55ae2b47d878f2e5723d50c5f0bd5', show: !this.hasError && this.hasHelp }, h("slot", { key: '955959fb904c31cf622ccf3ce42e8804b49ee476', name: "help" })))));
103
104
  }
104
105
  renderText(text, condition = false) {
105
106
  if (condition) {
@@ -165,6 +166,30 @@ export class GuxFormFieldTimeZonePicker {
165
166
  },
166
167
  "attribute": "label-position",
167
168
  "reflect": false
169
+ },
170
+ "indicatorMark": {
171
+ "type": "string",
172
+ "mutable": false,
173
+ "complexType": {
174
+ "original": "GuxFormFieldIndicatorMark",
175
+ "resolved": "\"optional\" | \"required\"",
176
+ "references": {
177
+ "GuxFormFieldIndicatorMark": {
178
+ "location": "import",
179
+ "path": "../../gux-form-field.types",
180
+ "id": "src/components/stable/gux-form-field/gux-form-field.types.ts::GuxFormFieldIndicatorMark"
181
+ }
182
+ }
183
+ },
184
+ "required": false,
185
+ "optional": false,
186
+ "docs": {
187
+ "tags": [],
188
+ "text": "Field indicator mark which can show *, (optional) or blank\nDefaults to required. When set to required, the component will display * for required fields and blank for optional\nWhen set to optional, the component will display (optional) for optional and blank for required."
189
+ },
190
+ "attribute": "indicator-mark",
191
+ "reflect": false,
192
+ "defaultValue": "'required'"
168
193
  }
169
194
  };
170
195
  }
@@ -29,34 +29,53 @@ describe('gux-form-field-time-zone-picker', () => {
29
29
  ].forEach((componentAttribute, index) => {
30
30
  it(`should render component as expected (${index + 1})`, async () => {
31
31
  const html = `
32
- <gux-form-field-time-zone-picker ${componentAttribute}>
32
+ <gux-form-field-time-zone-picker ${componentAttribute}>
33
33
  <gux-time-zone-picker-beta
34
- value="Etc/GMT+1"
35
- workspace-default="Etc/GMT"
36
- local-default="America/Detroit"
37
- >
38
- </gux-time-zone-picker-beta>
39
- <label slot="label">Select Time Zone</label>
40
- </gux-form-field-time-zone-picker>
34
+ value="Etc/GMT+1"
35
+ workspace-default="Etc/GMT"
36
+ local-default="America/Detroit"
37
+ >
38
+ </gux-time-zone-picker-beta>
39
+ <label slot="label">Select Time Zone</label>
40
+ </gux-form-field-time-zone-picker>
41
41
  `;
42
42
  const page = await newSpecPage({ components, html, language });
43
43
  expect(page.root).toMatchSnapshot();
44
44
  });
45
45
  });
46
46
  });
47
+ describe('indicator marks', () => {
48
+ ['', 'indicator-mark="optional"', 'indicator-mark="required"'].forEach((indicatorMark, index) => {
49
+ it(`should render component as expected (${index + 1})`, async () => {
50
+ const html = `
51
+ <gux-form-field-time-zone-picker ${indicatorMark}>
52
+ <gux-time-zone-picker-beta
53
+ value="Etc/GMT+1"
54
+ workspace-default="Etc/GMT"
55
+ local-default="America/Detroit"
56
+ >
57
+ </gux-time-zone-picker-beta>
58
+ <label slot="label">Select Time Zone</label>
59
+ </gux-form-field-time-zone-picker>
60
+ `;
61
+ const page = await newSpecPage({ components, html, language });
62
+ expect(page.root).toMatchSnapshot();
63
+ });
64
+ });
65
+ });
47
66
  describe('help', () => {
48
67
  it('should render component as expected', async () => {
49
68
  const html = `
50
69
  <gux-form-field-time-zone-picker>
51
- <gux-time-zone-picker-beta
52
- value="Etc/GMT+1"
53
- workspace-default="Etc/GMT"
54
- local-default="America/Detroit"
55
- >
56
- </gux-time-zone-picker-beta>
57
- <label slot="label">Select Time Zone</label>
58
- <span slot="help">This is a help message</span>
59
- </gux-form-field-time-zone-picker>
70
+ <gux-time-zone-picker-beta
71
+ value="Etc/GMT+1"
72
+ workspace-default="Etc/GMT"
73
+ local-default="America/Detroit"
74
+ >
75
+ </gux-time-zone-picker-beta>
76
+ <label slot="label">Select Time Zone</label>
77
+ <span slot="help">This is a help message</span>
78
+ </gux-form-field-time-zone-picker>
60
79
  `;
61
80
  const page = await newSpecPage({ components, html, language });
62
81
  expect(page.root).toMatchSnapshot();
@@ -67,16 +86,16 @@ describe('gux-form-field-time-zone-picker', () => {
67
86
  const html = `
68
87
  <gux-form-field-time-zone-picker>
69
88
  <gux-time-zone-picker-beta
70
- value="Etc/GMT+1"
71
- workspace-default="Etc/GMT"
72
- local-default="America/Detroit"
73
- >
74
- </gux-time-zone-picker-beta>
75
- <label slot="label">Select Time Zone</label>
76
- <gux-label-info-beta slot="label-info">
77
- <span slot="content">This is some tooltip text</span>
78
- </gux-label-info-beta>
79
- </gux-form-field-time-zone-picker>
89
+ value="Etc/GMT+1"
90
+ workspace-default="Etc/GMT"
91
+ local-default="America/Detroit"
92
+ >
93
+ </gux-time-zone-picker-beta>
94
+ <label slot="label">Select Time Zone</label>
95
+ <gux-label-info-beta slot="label-info">
96
+ <span slot="content">This is some tooltip text</span>
97
+ </gux-label-info-beta>
98
+ </gux-form-field-time-zone-picker>
80
99
  `;
81
100
  const page = await newSpecPage({ components, html, language });
82
101
  expect(page.root).toMatchSnapshot();
@@ -86,15 +105,15 @@ describe('gux-form-field-time-zone-picker', () => {
86
105
  it('should render component as expected', async () => {
87
106
  const html = `
88
107
  <gux-form-field-time-zone-picker>
89
- <gux-time-zone-picker-beta
90
- value="Etc/GMT+1"
91
- workspace-default="Etc/GMT"
92
- local-default="America/Detroit"
93
- >
94
- </gux-time-zone-picker-beta>
95
- <label slot="label">Select Time Zone</label>
96
- <span slot="error">This is an error message</span>
97
- </gux-form-field-time-zone-picker>
108
+ <gux-time-zone-picker-beta
109
+ value="Etc/GMT+1"
110
+ workspace-default="Etc/GMT"
111
+ local-default="America/Detroit"
112
+ >
113
+ </gux-time-zone-picker-beta>
114
+ <label slot="label">Select Time Zone</label>
115
+ <span slot="error">This is an error message</span>
116
+ </gux-form-field-time-zone-picker>
98
117
  `;
99
118
  const page = await newSpecPage({ components, html, language });
100
119
  expect(page.root).toMatchSnapshot();
@@ -105,13 +124,13 @@ describe('gux-form-field-time-zone-picker', () => {
105
124
  it(`should render component as expected (${index + 1})`, async () => {
106
125
  const html = `
107
126
  <gux-form-field-time-zone-picker>
108
- <gux-time-zone-picker-beta
109
- value="Etc/GMT+1"
110
- workspace-default="Etc/GMT"
111
- local-default="America/Detroit"
112
- ${inputAttribute}
113
- >
114
- </gux-time-zone-picker-beta>
127
+ <gux-time-zone-picker-beta
128
+ value="Etc/GMT+1"
129
+ workspace-default="Etc/GMT"
130
+ local-default="America/Detroit"
131
+ ${inputAttribute}
132
+ >
133
+ </gux-time-zone-picker-beta>
115
134
  </gux-form-field-time-zone-picker>
116
135
  `;
117
136
  const page = await newSpecPage({ components, html, language });
@@ -1,3 +1,12 @@
1
1
  .gux-form-field-label-indicator-required {
2
2
  color: var(--gse-ui-formControl-label-indicator-requiredColor);
3
+ }
4
+
5
+ .gux-form-field-label-indicator-optional {
6
+ margin-inline-start: var(--gse-ui-formControl-label-gap);
7
+ font-family: var(--gse-ui-formControl-label-indicator-text-fontFamily);
8
+ font-size: var(--gse-ui-formControl-label-indicator-text-fontSize);
9
+ font-weight: var(--gse-ui-formControl-label-indicator-text-fontWeight);
10
+ line-height: var(--gse-ui-formControl-label-indicator-text-lineHeight);
11
+ color: var(--gse-ui-formControl-label-indicator-optionalColor);
3
12
  }
@@ -1,15 +1,21 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { trackComponent } from "../../../../../utils/tracking/usage";
3
+ import { buildI18nForComponent } from "../../../../../i18n";
4
+ import translationResources from "./i18n/en.json";
3
5
  export class GuxFormFieldLabelIndicator {
4
6
  constructor() {
5
7
  this.variant = 'required';
6
8
  this.required = false;
7
9
  }
8
- componentWillLoad() {
10
+ async componentWillLoad() {
9
11
  trackComponent(this.root, { variant: this.variant });
12
+ this.i18n = await buildI18nForComponent(this.root, translationResources);
10
13
  }
11
14
  render() {
12
- if (this.variant === 'required' && this.required) {
15
+ if (this.variant === 'optional' && !this.required) {
16
+ return (h("span", { class: "gux-form-field-label-indicator-optional" }, "(", this.i18n('optional'), ")"));
17
+ }
18
+ else if (this.variant === 'required' && this.required) {
13
19
  return (h("span", { class: "gux-form-field-label-indicator-required", "aria-hidden": "true" }, "*"));
14
20
  }
15
21
  else {