genesys-spark-components 3.31.0 → 3.32.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 (369) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cjs/{DateTimeFormatter-b2eaf6ee.js → DateTimeFormatter-74125e8f.js} +1 -1
  3. package/dist/cjs/genesys-webcomponents.cjs.js +1 -1
  4. package/dist/cjs/gux-accordion-legacy.cjs.entry.js +1 -1
  5. package/dist/cjs/gux-accordion.cjs.entry.js +1 -1
  6. package/dist/cjs/gux-action-button-legacy.cjs.entry.js +2 -2
  7. package/dist/cjs/gux-action-button.cjs.entry.js +2 -2
  8. package/dist/cjs/gux-action-list-legacy.cjs.entry.js +1 -1
  9. package/dist/cjs/gux-action-toast.cjs.entry.js +1 -1
  10. package/dist/cjs/gux-advanced-dropdown.cjs.entry.js +2 -2
  11. package/dist/cjs/gux-all-row-select.cjs.entry.js +1 -1
  12. package/dist/cjs/gux-announce-beta.cjs.entry.js +1 -1
  13. package/dist/cjs/gux-badge-beta.cjs.entry.js +2 -2
  14. package/dist/cjs/gux-blank-state-beta.cjs.entry.js +1 -1
  15. package/dist/cjs/gux-breadcrumbs.cjs.entry.js +2 -2
  16. package/dist/cjs/gux-button-multi-legacy.cjs.entry.js +1 -1
  17. package/dist/cjs/gux-button-multi.cjs.entry.js +1 -1
  18. package/dist/cjs/gux-button-slot-beta.cjs.entry.js +1 -1
  19. package/dist/cjs/gux-button.cjs.entry.js +1 -1
  20. package/dist/cjs/gux-calendar.cjs.entry.js +2 -2
  21. package/dist/cjs/gux-card-beta.cjs.entry.js +1 -1
  22. package/dist/cjs/gux-chart-column-beta.cjs.entry.js +1 -1
  23. package/dist/cjs/gux-chart-donut-beta.cjs.entry.js +1 -1
  24. package/dist/cjs/gux-chart-line-beta.cjs.entry.js +1 -1
  25. package/dist/cjs/gux-chart-pie-beta.cjs.entry.js +1 -1
  26. package/dist/cjs/gux-chart-scatter-plot-beta.cjs.entry.js +1 -1
  27. package/dist/cjs/gux-command-palette-legacy.cjs.entry.js +2 -2
  28. package/dist/cjs/gux-content-search.cjs.entry.js +2 -2
  29. package/dist/cjs/gux-copy-to-clipboard-beta.cjs.entry.js +2 -2
  30. package/dist/cjs/gux-date-beta.cjs.entry.js +3 -3
  31. package/dist/cjs/gux-date-time-beta.cjs.entry.js +3 -3
  32. package/dist/cjs/gux-datepicker.cjs.entry.js +2 -2
  33. package/dist/cjs/gux-disclosure-button.cjs.entry.js +2 -2
  34. package/dist/cjs/gux-dismiss-button.cjs.entry.js +2 -2
  35. package/dist/cjs/gux-dropdown-legacy.cjs.entry.js +1 -1
  36. package/dist/cjs/gux-dropdown-multi-beta.cjs.entry.js +2 -2
  37. package/dist/cjs/gux-dropdown-multi-tag.cjs.entry.js +1 -1
  38. package/dist/cjs/gux-dropdown_3.cjs.entry.js +2 -2
  39. package/dist/cjs/gux-error-message-beta.cjs.entry.js +1 -1
  40. package/dist/cjs/gux-flyout-menu-beta.cjs.entry.js +1 -1
  41. package/dist/cjs/gux-form-field-checkbox.cjs.entry.js +2 -2
  42. package/dist/cjs/gux-form-field-color.cjs.entry.js +2 -2
  43. package/dist/cjs/gux-form-field-dropdown.cjs.entry.js +2 -2
  44. package/dist/cjs/gux-form-field-input-clear-button.cjs.entry.js +2 -2
  45. package/dist/cjs/gux-form-field-legacy.cjs.entry.js +1 -1
  46. package/dist/cjs/gux-form-field-number.cjs.entry.js +3 -3
  47. package/dist/cjs/gux-form-field-radio.cjs.entry.js +2 -2
  48. package/dist/cjs/gux-form-field-range.cjs.entry.js +2 -2
  49. package/dist/cjs/gux-form-field-search.cjs.entry.js +2 -2
  50. package/dist/cjs/gux-form-field-select.cjs.entry.js +2 -2
  51. package/dist/cjs/gux-form-field-text-like.cjs.entry.js +2 -2
  52. package/dist/cjs/gux-form-field-textarea.cjs.entry.js +2 -2
  53. package/dist/cjs/gux-form-field-time-picker.cjs.entry.js +122 -0
  54. package/dist/cjs/{gux-form-field.service-efa61d04.js → gux-form-field.service-66dade5d.js} +5 -0
  55. package/dist/cjs/gux-icon.cjs.entry.js +1 -1
  56. package/dist/cjs/gux-input-checkbox_7.cjs.entry.js +1 -1
  57. package/dist/cjs/gux-input-search.cjs.entry.js +1 -1
  58. package/dist/cjs/gux-input-text-like.cjs.entry.js +1 -1
  59. package/dist/cjs/gux-list-item-legacy_2.cjs.entry.js +1 -1
  60. package/dist/cjs/gux-list.cjs.entry.js +1 -1
  61. package/dist/cjs/gux-listbox-multi.cjs.entry.js +2 -2
  62. package/dist/cjs/gux-loading-message-beta.cjs.entry.js +1 -1
  63. package/dist/cjs/gux-modal.cjs.entry.js +1 -1
  64. package/dist/cjs/gux-month-calendar.cjs.entry.js +1 -1
  65. package/dist/cjs/gux-month-picker-beta.cjs.entry.js +2 -2
  66. package/dist/cjs/gux-notification-toast.cjs.entry.js +1 -1
  67. package/dist/cjs/gux-page-loading-spinner.cjs.entry.js +1 -1
  68. package/dist/cjs/gux-pagination-beta.cjs.entry.js +1 -1
  69. package/dist/cjs/gux-pagination-buttons-beta_3.cjs.entry.js +1 -1
  70. package/dist/cjs/gux-pagination-buttons_3.cjs.entry.js +1 -1
  71. package/dist/cjs/gux-pagination-cursor.cjs.entry.js +2 -2
  72. package/dist/cjs/gux-pagination.cjs.entry.js +1 -1
  73. package/dist/cjs/gux-panel-frame-legacy.cjs.entry.js +1 -1
  74. package/dist/cjs/gux-popover-list.cjs.entry.js +1 -1
  75. package/dist/cjs/gux-popover.cjs.entry.js +1 -1
  76. package/dist/cjs/gux-radial-loading.cjs.entry.js +2 -2
  77. package/dist/cjs/gux-radial-progress.cjs.entry.js +1 -1
  78. package/dist/cjs/gux-rating.cjs.entry.js +1 -1
  79. package/dist/cjs/gux-row-select.cjs.entry.js +1 -1
  80. package/dist/cjs/gux-screen-reader-beta.cjs.entry.js +24 -0
  81. package/dist/cjs/gux-side-panel-legacy.cjs.entry.js +1 -1
  82. package/dist/cjs/gux-simple-toast.cjs.entry.js +1 -1
  83. package/dist/cjs/gux-skip-navigation-list-beta.cjs.entry.js +2 -2
  84. package/dist/cjs/gux-sort-control.cjs.entry.js +2 -2
  85. package/dist/cjs/gux-switch.cjs.entry.js +1 -1
  86. package/dist/cjs/gux-tab-advanced-list.cjs.entry.js +1 -1
  87. package/dist/cjs/gux-tab-advanced.cjs.entry.js +1 -1
  88. package/dist/cjs/gux-tab-list.cjs.entry.js +1 -1
  89. package/dist/cjs/gux-table-beta.cjs.entry.js +2 -2
  90. package/dist/cjs/gux-table-select-menu.cjs.entry.js +1 -1
  91. package/dist/cjs/gux-tabs-advanced.cjs.entry.js +1 -1
  92. package/dist/cjs/gux-tabs-legacy.cjs.entry.js +2 -2
  93. package/dist/cjs/gux-tabs.cjs.entry.js +1 -1
  94. package/dist/cjs/gux-tag-beta.cjs.entry.js +2 -2
  95. package/dist/cjs/gux-text-highlight.cjs.entry.js +1 -1
  96. package/dist/cjs/gux-text-label-legacy.cjs.entry.js +1 -1
  97. package/dist/cjs/gux-time-beta.cjs.entry.js +3 -3
  98. package/dist/cjs/gux-time-picker-beta.cjs.entry.js +314 -212
  99. package/dist/cjs/gux-toggle.cjs.entry.js +2 -2
  100. package/dist/cjs/gux-tooltip.cjs.entry.js +1 -1
  101. package/dist/cjs/gux-visualization-beta.cjs.entry.js +2 -2
  102. package/dist/cjs/index-a4138a99.js +8 -0
  103. package/dist/cjs/{index-d06e1e14.js → index-d4f3e61e.js} +1 -1
  104. package/dist/cjs/loader.cjs.js +1 -1
  105. package/dist/cjs/{usage-tracking-f1397528.js → usage-tracking-188e7bcd.js} +1 -1
  106. package/dist/collection/collection-manifest.json +2 -0
  107. package/dist/collection/components/beta/gux-screen-reader/gux-screen-reader.css +9 -0
  108. package/dist/collection/components/beta/gux-screen-reader/gux-screen-reader.js +26 -0
  109. package/dist/collection/components/beta/gux-time-picker/gux-time-picker.css +85 -11
  110. package/dist/collection/components/beta/gux-time-picker/gux-time-picker.js +230 -242
  111. package/dist/collection/components/beta/gux-time-picker/gux-time-picker.service.js +127 -0
  112. package/dist/collection/components/beta/gux-time-picker/gux-time-picker.type.js +1 -0
  113. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-time-picker/gux-form-field-time-picker.css +72 -0
  114. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-time-picker/gux-form-field-time-picker.js +144 -0
  115. package/dist/collection/components/stable/gux-form-field/functional-components/gux-form-field-fieldset-container/gux-form-field-fieldset-container.js +7 -0
  116. package/dist/collection/components/stable/gux-form-field/functional-components/gux-form-field-legend-label/gux-form-field-legend-label.js +8 -0
  117. package/dist/collection/components/stable/gux-form-field/gux-form-field.service.js +4 -0
  118. package/dist/collection/i18n/index.js +1 -1
  119. package/dist/deploy-info.json +3 -3
  120. package/dist/esm/{DateTimeFormatter-eea8583f.js → DateTimeFormatter-0b1795c4.js} +1 -1
  121. package/dist/esm/genesys-webcomponents.js +1 -1
  122. package/dist/esm/gux-accordion-legacy.entry.js +1 -1
  123. package/dist/esm/gux-accordion.entry.js +1 -1
  124. package/dist/esm/gux-action-button-legacy.entry.js +2 -2
  125. package/dist/esm/gux-action-button.entry.js +2 -2
  126. package/dist/esm/gux-action-list-legacy.entry.js +1 -1
  127. package/dist/esm/gux-action-toast.entry.js +1 -1
  128. package/dist/esm/gux-advanced-dropdown.entry.js +2 -2
  129. package/dist/esm/gux-all-row-select.entry.js +1 -1
  130. package/dist/esm/gux-announce-beta.entry.js +1 -1
  131. package/dist/esm/gux-badge-beta.entry.js +2 -2
  132. package/dist/esm/gux-blank-state-beta.entry.js +1 -1
  133. package/dist/esm/gux-breadcrumbs.entry.js +2 -2
  134. package/dist/esm/gux-button-multi-legacy.entry.js +1 -1
  135. package/dist/esm/gux-button-multi.entry.js +1 -1
  136. package/dist/esm/gux-button-slot-beta.entry.js +1 -1
  137. package/dist/esm/gux-button.entry.js +1 -1
  138. package/dist/esm/gux-calendar.entry.js +2 -2
  139. package/dist/esm/gux-card-beta.entry.js +1 -1
  140. package/dist/esm/gux-chart-column-beta.entry.js +1 -1
  141. package/dist/esm/gux-chart-donut-beta.entry.js +1 -1
  142. package/dist/esm/gux-chart-line-beta.entry.js +1 -1
  143. package/dist/esm/gux-chart-pie-beta.entry.js +1 -1
  144. package/dist/esm/gux-chart-scatter-plot-beta.entry.js +1 -1
  145. package/dist/esm/gux-command-palette-legacy.entry.js +2 -2
  146. package/dist/esm/gux-content-search.entry.js +2 -2
  147. package/dist/esm/gux-copy-to-clipboard-beta.entry.js +2 -2
  148. package/dist/esm/gux-date-beta.entry.js +3 -3
  149. package/dist/esm/gux-date-time-beta.entry.js +3 -3
  150. package/dist/esm/gux-datepicker.entry.js +2 -2
  151. package/dist/esm/gux-disclosure-button.entry.js +2 -2
  152. package/dist/esm/gux-dismiss-button.entry.js +2 -2
  153. package/dist/esm/gux-dropdown-legacy.entry.js +1 -1
  154. package/dist/esm/gux-dropdown-multi-beta.entry.js +2 -2
  155. package/dist/esm/gux-dropdown-multi-tag.entry.js +1 -1
  156. package/dist/esm/gux-dropdown_3.entry.js +2 -2
  157. package/dist/esm/gux-error-message-beta.entry.js +1 -1
  158. package/dist/esm/gux-flyout-menu-beta.entry.js +1 -1
  159. package/dist/esm/gux-form-field-checkbox.entry.js +2 -2
  160. package/dist/esm/gux-form-field-color.entry.js +2 -2
  161. package/dist/esm/gux-form-field-dropdown.entry.js +2 -2
  162. package/dist/esm/gux-form-field-input-clear-button.entry.js +2 -2
  163. package/dist/esm/gux-form-field-legacy.entry.js +1 -1
  164. package/dist/esm/gux-form-field-number.entry.js +3 -3
  165. package/dist/esm/gux-form-field-radio.entry.js +2 -2
  166. package/dist/esm/gux-form-field-range.entry.js +2 -2
  167. package/dist/esm/gux-form-field-search.entry.js +2 -2
  168. package/dist/esm/gux-form-field-select.entry.js +2 -2
  169. package/dist/esm/gux-form-field-text-like.entry.js +2 -2
  170. package/dist/esm/gux-form-field-textarea.entry.js +2 -2
  171. package/dist/esm/gux-form-field-time-picker.entry.js +118 -0
  172. package/dist/esm/{gux-form-field.service-7676fb91.js → gux-form-field.service-25a9237e.js} +5 -1
  173. package/dist/esm/gux-icon.entry.js +1 -1
  174. package/dist/esm/gux-input-checkbox_7.entry.js +1 -1
  175. package/dist/esm/gux-input-search.entry.js +1 -1
  176. package/dist/esm/gux-input-text-like.entry.js +1 -1
  177. package/dist/esm/gux-list-item-legacy_2.entry.js +1 -1
  178. package/dist/esm/gux-list.entry.js +1 -1
  179. package/dist/esm/gux-listbox-multi.entry.js +2 -2
  180. package/dist/esm/gux-loading-message-beta.entry.js +1 -1
  181. package/dist/esm/gux-modal.entry.js +1 -1
  182. package/dist/esm/gux-month-calendar.entry.js +1 -1
  183. package/dist/esm/gux-month-picker-beta.entry.js +2 -2
  184. package/dist/esm/gux-notification-toast.entry.js +1 -1
  185. package/dist/esm/gux-page-loading-spinner.entry.js +1 -1
  186. package/dist/esm/gux-pagination-beta.entry.js +1 -1
  187. package/dist/esm/gux-pagination-buttons-beta_3.entry.js +1 -1
  188. package/dist/esm/gux-pagination-buttons_3.entry.js +1 -1
  189. package/dist/esm/gux-pagination-cursor.entry.js +2 -2
  190. package/dist/esm/gux-pagination.entry.js +1 -1
  191. package/dist/esm/gux-panel-frame-legacy.entry.js +1 -1
  192. package/dist/esm/gux-popover-list.entry.js +1 -1
  193. package/dist/esm/gux-popover.entry.js +1 -1
  194. package/dist/esm/gux-radial-loading.entry.js +2 -2
  195. package/dist/esm/gux-radial-progress.entry.js +1 -1
  196. package/dist/esm/gux-rating.entry.js +1 -1
  197. package/dist/esm/gux-row-select.entry.js +1 -1
  198. package/dist/esm/gux-screen-reader-beta.entry.js +20 -0
  199. package/dist/esm/gux-side-panel-legacy.entry.js +1 -1
  200. package/dist/esm/gux-simple-toast.entry.js +1 -1
  201. package/dist/esm/gux-skip-navigation-list-beta.entry.js +2 -2
  202. package/dist/esm/gux-sort-control.entry.js +2 -2
  203. package/dist/esm/gux-switch.entry.js +1 -1
  204. package/dist/esm/gux-tab-advanced-list.entry.js +1 -1
  205. package/dist/esm/gux-tab-advanced.entry.js +1 -1
  206. package/dist/esm/gux-tab-list.entry.js +1 -1
  207. package/dist/esm/gux-table-beta.entry.js +2 -2
  208. package/dist/esm/gux-table-select-menu.entry.js +1 -1
  209. package/dist/esm/gux-tabs-advanced.entry.js +1 -1
  210. package/dist/esm/gux-tabs-legacy.entry.js +2 -2
  211. package/dist/esm/gux-tabs.entry.js +1 -1
  212. package/dist/esm/gux-tag-beta.entry.js +2 -2
  213. package/dist/esm/gux-text-highlight.entry.js +1 -1
  214. package/dist/esm/gux-text-label-legacy.entry.js +1 -1
  215. package/dist/esm/gux-time-beta.entry.js +3 -3
  216. package/dist/esm/gux-time-picker-beta.entry.js +312 -210
  217. package/dist/esm/gux-toggle.entry.js +2 -2
  218. package/dist/esm/gux-tooltip.entry.js +1 -1
  219. package/dist/esm/gux-visualization-beta.entry.js +2 -2
  220. package/dist/esm/{index-bb5400c7.js → index-5b4bc0a0.js} +1 -1
  221. package/dist/esm/index-738480cf.js +8 -0
  222. package/dist/esm/loader.js +1 -1
  223. package/dist/esm/{usage-tracking-bb3c3fa5.js → usage-tracking-5cebbb93.js} +1 -1
  224. package/dist/genesys-webcomponents/genesys-webcomponents.esm.js +1 -1
  225. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.ar.json +1 -1
  226. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.cs.json +1 -1
  227. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.da.json +1 -1
  228. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.de.json +1 -1
  229. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.en.json +1 -1
  230. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.es-es.json +1 -1
  231. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.es.json +1 -1
  232. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.fi.json +1 -1
  233. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.fr-ca.json +1 -1
  234. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.fr.json +1 -1
  235. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.he.json +1 -1
  236. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.it.json +1 -1
  237. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.ja.json +1 -1
  238. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.ko.json +1 -1
  239. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.nl.json +1 -1
  240. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.no.json +1 -1
  241. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.pl.json +1 -1
  242. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.pt-br.json +1 -1
  243. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.pt-pt.json +1 -1
  244. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.ru.json +1 -1
  245. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.sv.json +1 -1
  246. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.th.json +1 -1
  247. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.tr.json +1 -1
  248. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.zh-cn.json +1 -1
  249. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.zh-tw.json +1 -1
  250. package/dist/genesys-webcomponents/{p-7abafe11.entry.js → p-00630063.entry.js} +1 -1
  251. package/dist/genesys-webcomponents/{p-107ba6c1.entry.js → p-04a26a61.entry.js} +1 -1
  252. package/dist/genesys-webcomponents/p-073ad2f8.entry.js +1 -0
  253. package/dist/genesys-webcomponents/{p-206d497d.entry.js → p-077fd981.entry.js} +1 -1
  254. package/dist/genesys-webcomponents/{p-16a940c4.entry.js → p-0fb4eaae.entry.js} +1 -1
  255. package/dist/genesys-webcomponents/{p-b7694e54.entry.js → p-10e0f9e6.entry.js} +1 -1
  256. package/dist/genesys-webcomponents/{p-fea347f8.entry.js → p-116d2493.entry.js} +1 -1
  257. package/dist/genesys-webcomponents/{p-8b7c48ed.entry.js → p-1227635d.entry.js} +1 -1
  258. package/dist/genesys-webcomponents/{p-de44579b.entry.js → p-12c4ce54.entry.js} +1 -1
  259. package/dist/genesys-webcomponents/p-1583aea4.entry.js +1 -0
  260. package/dist/genesys-webcomponents/{p-b7616e43.entry.js → p-1ec3acdf.entry.js} +1 -1
  261. package/dist/genesys-webcomponents/{p-15d501e9.entry.js → p-2059b910.entry.js} +1 -1
  262. package/dist/genesys-webcomponents/{p-49a06d0c.js → p-211ed72d.js} +1 -1
  263. package/dist/genesys-webcomponents/{p-14fcf400.entry.js → p-21d6f354.entry.js} +1 -1
  264. package/dist/genesys-webcomponents/{p-837489d7.entry.js → p-24c11802.entry.js} +1 -1
  265. package/dist/genesys-webcomponents/{p-918b390a.entry.js → p-25beaa37.entry.js} +1 -1
  266. package/dist/genesys-webcomponents/{p-d46f1661.entry.js → p-26a64eee.entry.js} +1 -1
  267. package/dist/genesys-webcomponents/p-2a25beed.entry.js +1 -0
  268. package/dist/genesys-webcomponents/{p-b937042c.entry.js → p-2be1afab.entry.js} +1 -1
  269. package/dist/genesys-webcomponents/p-2f282d72.entry.js +1 -0
  270. package/dist/genesys-webcomponents/{p-09c1d108.entry.js → p-3008caa4.entry.js} +1 -1
  271. package/dist/genesys-webcomponents/{p-34a0b528.entry.js → p-32088481.entry.js} +1 -1
  272. package/dist/genesys-webcomponents/{p-2510072c.entry.js → p-327f3775.entry.js} +1 -1
  273. package/dist/genesys-webcomponents/{p-58195df2.entry.js → p-3326c18c.entry.js} +1 -1
  274. package/dist/genesys-webcomponents/p-35b02104.entry.js +1 -0
  275. package/dist/genesys-webcomponents/{p-47367daa.entry.js → p-35dd0248.entry.js} +1 -1
  276. package/dist/genesys-webcomponents/{p-2f02b7ee.entry.js → p-37ac3e00.entry.js} +1 -1
  277. package/dist/genesys-webcomponents/{p-b07b1338.entry.js → p-38b7cb00.entry.js} +1 -1
  278. package/dist/genesys-webcomponents/{p-3cbef4e3.entry.js → p-38cbf97e.entry.js} +1 -1
  279. package/dist/genesys-webcomponents/{p-1f057fe4.entry.js → p-38ee8170.entry.js} +1 -1
  280. package/dist/genesys-webcomponents/{p-a72b07de.entry.js → p-3bee9c18.entry.js} +1 -1
  281. package/dist/genesys-webcomponents/{p-0b14936e.entry.js → p-3d68b6cd.entry.js} +1 -1
  282. package/dist/genesys-webcomponents/{p-7c2893ee.entry.js → p-3ec89d61.entry.js} +1 -1
  283. package/dist/genesys-webcomponents/{p-010e32ae.entry.js → p-48735232.entry.js} +1 -1
  284. package/dist/genesys-webcomponents/{p-c27ddfa4.entry.js → p-4920cdbe.entry.js} +1 -1
  285. package/dist/genesys-webcomponents/{p-0c9532ac.entry.js → p-5533f665.entry.js} +1 -1
  286. package/dist/genesys-webcomponents/{p-4e48c698.entry.js → p-57f7b589.entry.js} +1 -1
  287. package/dist/genesys-webcomponents/{p-479ecc5a.entry.js → p-5c6770fb.entry.js} +1 -1
  288. package/dist/genesys-webcomponents/{p-e54fafe5.entry.js → p-5d99b1c5.entry.js} +1 -1
  289. package/dist/genesys-webcomponents/{p-8e79ce34.entry.js → p-5e858623.entry.js} +1 -1
  290. package/dist/genesys-webcomponents/p-5ed7a958.entry.js +1 -0
  291. package/dist/genesys-webcomponents/{p-c894d516.js → p-5fefa2ad.js} +1 -1
  292. package/dist/genesys-webcomponents/{p-ce7102d1.entry.js → p-607f6668.entry.js} +1 -1
  293. package/dist/genesys-webcomponents/{p-c2bb6fb4.entry.js → p-609b4330.entry.js} +1 -1
  294. package/dist/genesys-webcomponents/{p-1fe4af87.entry.js → p-682125ff.entry.js} +1 -1
  295. package/dist/genesys-webcomponents/{p-9a50c2d9.entry.js → p-698d132e.entry.js} +1 -1
  296. package/dist/genesys-webcomponents/{p-df6d1bf6.entry.js → p-6baae05f.entry.js} +1 -1
  297. package/dist/genesys-webcomponents/{p-65b4e6fb.entry.js → p-6dafd5f8.entry.js} +1 -1
  298. package/dist/genesys-webcomponents/{p-9abc8ad6.entry.js → p-6f79ff84.entry.js} +1 -1
  299. package/dist/genesys-webcomponents/{p-7ab871b9.entry.js → p-7c2909f3.entry.js} +1 -1
  300. package/dist/genesys-webcomponents/{p-0b7b78ae.entry.js → p-7ee13324.entry.js} +1 -1
  301. package/dist/genesys-webcomponents/{p-4ef1cd93.entry.js → p-816fa12e.entry.js} +1 -1
  302. package/dist/genesys-webcomponents/{p-717bf68c.entry.js → p-91cfe312.entry.js} +1 -1
  303. package/dist/genesys-webcomponents/{p-3a9b4e19.entry.js → p-932f1302.entry.js} +1 -1
  304. package/dist/genesys-webcomponents/{p-d188a562.entry.js → p-944cfe23.entry.js} +1 -1
  305. package/dist/genesys-webcomponents/{p-f7b5163f.entry.js → p-9641f66b.entry.js} +1 -1
  306. package/dist/genesys-webcomponents/{p-d835d4a3.entry.js → p-9736480c.entry.js} +1 -1
  307. package/dist/genesys-webcomponents/{p-3a317ea6.entry.js → p-991987ea.entry.js} +1 -1
  308. package/dist/genesys-webcomponents/{p-445744b5.entry.js → p-9c95cae9.entry.js} +1 -1
  309. package/dist/genesys-webcomponents/{p-74489c5b.entry.js → p-9cb75fa6.entry.js} +1 -1
  310. package/dist/genesys-webcomponents/{p-34381b1c.entry.js → p-9ed9f0ed.entry.js} +1 -1
  311. package/dist/genesys-webcomponents/{p-e8de9828.entry.js → p-a26cd415.entry.js} +1 -1
  312. package/dist/genesys-webcomponents/{p-dd301580.entry.js → p-a28e57a8.entry.js} +1 -1
  313. package/dist/genesys-webcomponents/{p-abb7ba99.entry.js → p-a50cca9e.entry.js} +1 -1
  314. package/dist/genesys-webcomponents/{p-466fe3c7.entry.js → p-a80834e2.entry.js} +1 -1
  315. package/dist/genesys-webcomponents/{p-e4c34041.entry.js → p-aad9dc3e.entry.js} +1 -1
  316. package/dist/genesys-webcomponents/{p-a3ce5fb4.entry.js → p-b0028ef5.entry.js} +1 -1
  317. package/dist/genesys-webcomponents/{p-0ee691a3.entry.js → p-b30c4bdd.entry.js} +1 -1
  318. package/dist/genesys-webcomponents/{p-a6f8eae7.entry.js → p-b333703d.entry.js} +1 -1
  319. package/dist/genesys-webcomponents/{p-56d8edd4.entry.js → p-b574ee34.entry.js} +1 -1
  320. package/dist/genesys-webcomponents/{p-5734a7e6.entry.js → p-b7156166.entry.js} +1 -1
  321. package/dist/genesys-webcomponents/{p-55833c42.entry.js → p-bbd2583c.entry.js} +1 -1
  322. package/dist/genesys-webcomponents/{p-f8ed25c3.js → p-bc9d99ac.js} +1 -1
  323. package/dist/genesys-webcomponents/{p-1afd507d.entry.js → p-bd587aa2.entry.js} +1 -1
  324. package/dist/genesys-webcomponents/p-c079a476.js +1 -0
  325. package/dist/genesys-webcomponents/{p-bd94ae56.entry.js → p-c2b628f6.entry.js} +1 -1
  326. package/dist/genesys-webcomponents/{p-fdf8ab44.entry.js → p-c3d0ea87.entry.js} +1 -1
  327. package/dist/genesys-webcomponents/{p-780fa940.entry.js → p-cc8fb25c.entry.js} +1 -1
  328. package/dist/genesys-webcomponents/p-ce791ea7.entry.js +1 -0
  329. package/dist/genesys-webcomponents/{p-ed3b0b2e.entry.js → p-d04fc9fa.entry.js} +1 -1
  330. package/dist/genesys-webcomponents/{p-839faa37.entry.js → p-d1ca3f19.entry.js} +1 -1
  331. package/dist/genesys-webcomponents/{p-9a324232.entry.js → p-d257ed34.entry.js} +1 -1
  332. package/dist/genesys-webcomponents/{p-2f5346f7.entry.js → p-d279abb7.entry.js} +1 -1
  333. package/dist/genesys-webcomponents/{p-caf735be.entry.js → p-d30c6702.entry.js} +1 -1
  334. package/dist/genesys-webcomponents/{p-1422848a.entry.js → p-d4393df6.entry.js} +1 -1
  335. package/dist/genesys-webcomponents/{p-361f19c1.entry.js → p-d842e53d.entry.js} +1 -1
  336. package/dist/genesys-webcomponents/{p-96996f1b.entry.js → p-db56d2af.entry.js} +1 -1
  337. package/dist/genesys-webcomponents/{p-02d6e00d.entry.js → p-dd7fcc51.entry.js} +1 -1
  338. package/dist/genesys-webcomponents/{p-869f5b44.entry.js → p-dff73f8d.entry.js} +1 -1
  339. package/dist/genesys-webcomponents/{p-9612b333.entry.js → p-e2012a47.entry.js} +1 -1
  340. package/dist/genesys-webcomponents/{p-b6a24e44.entry.js → p-e393d19c.entry.js} +1 -1
  341. package/dist/genesys-webcomponents/{p-92389923.entry.js → p-e461ac4b.entry.js} +1 -1
  342. package/dist/genesys-webcomponents/{p-692ea8bd.entry.js → p-e67877d8.entry.js} +1 -1
  343. package/dist/genesys-webcomponents/{p-b50c36b1.entry.js → p-e73b69a7.entry.js} +1 -1
  344. package/dist/genesys-webcomponents/{p-7b8718c2.entry.js → p-e74dcef4.entry.js} +1 -1
  345. package/dist/genesys-webcomponents/{p-30d11cea.entry.js → p-ebc1d4b6.entry.js} +1 -1
  346. package/dist/genesys-webcomponents/{p-dc446774.entry.js → p-edd61c93.entry.js} +1 -1
  347. package/dist/genesys-webcomponents/p-fbcac72a.entry.js +1 -0
  348. package/dist/genesys-webcomponents/{p-145a78cc.entry.js → p-fbcf1ba6.entry.js} +1 -1
  349. package/dist/genesys-webcomponents/{p-7de111b5.entry.js → p-fcc6631f.entry.js} +1 -1
  350. package/dist/genesys-webcomponents/{p-49aca08a.entry.js → p-ff6284f5.entry.js} +1 -1
  351. package/dist/stencil-wrapper.js +1 -1
  352. package/dist/types/components/beta/gux-screen-reader/gux-screen-reader.d.ts +9 -0
  353. package/dist/types/components/beta/gux-time-picker/gux-time-picker.d.ts +36 -34
  354. package/dist/types/components/beta/gux-time-picker/gux-time-picker.service.d.ts +14 -0
  355. package/dist/types/components/beta/gux-time-picker/gux-time-picker.type.d.ts +3 -0
  356. package/dist/types/components/stable/gux-form-field/components/gux-form-field-time-picker/gux-form-field-time-picker.d.ts +29 -0
  357. package/dist/types/components/stable/gux-form-field/functional-components/gux-form-field-fieldset-container/gux-form-field-fieldset-container.d.ts +7 -0
  358. package/dist/types/components/stable/gux-form-field/functional-components/gux-form-field-legend-label/gux-form-field-legend-label.d.ts +8 -0
  359. package/dist/types/components/stable/gux-form-field/gux-form-field.service.d.ts +2 -1
  360. package/dist/types/components.d.ts +41 -15
  361. package/dist/types/utils/dom/on-attribute-change.d.ts +2 -2
  362. package/package.json +1 -1
  363. package/dist/genesys-webcomponents/p-53f4d04d.entry.js +0 -1
  364. package/dist/genesys-webcomponents/p-902d2057.entry.js +0 -1
  365. package/dist/genesys-webcomponents/p-a568063b.entry.js +0 -1
  366. package/dist/genesys-webcomponents/p-ab7d9e7f.entry.js +0 -1
  367. package/dist/genesys-webcomponents/p-d57c937c.js +0 -1
  368. package/dist/genesys-webcomponents/p-e084917f.entry.js +0 -1
  369. package/dist/genesys-webcomponents/p-fd79f6b0.entry.js +0 -1
@@ -1,31 +1,156 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-738480cf.js';
1
+ import { r as registerInstance, h, g as getElement } from './index-738480cf.js';
2
+ import { g as getDesiredLocale, b as buildI18nForComponent } from './index-5b4bc0a0.js';
2
3
  import { O as OnClickOutside } from './on-click-outside-b20ff612.js';
3
- import { t as trackComponent } from './usage-tracking-bb3c3fa5.js';
4
- import { b as buildI18nForComponent } from './index-bb5400c7.js';
4
+ import { t as trackComponent } from './usage-tracking-5cebbb93.js';
5
+ import { s as simulateNativeEvent } from './simulate-native-event-ac69961f.js';
5
6
  import './get-closest-element-1597503c.js';
6
7
 
7
- /********************************************************
8
- * Time Utilities *
9
- * *
10
- * Time parsing and comparison, for ISO 8601 hh:mm:ss *
11
- ********************************************************/
12
- // Format should always adhere to: http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15
13
- const DATE_STRING_PREFIX = '1978-09-23T';
14
- const DATE_STRING_POSTFIX = 'Z'; // always use UTC
15
- /**
16
- * converts ISO 24hr time to a date that can be used for comparison
17
- * with other times converted with this function.
18
- */
19
- function fromIsoTime(timeStr) {
20
- return new Date(DATE_STRING_PREFIX + timeStr.trim() + DATE_STRING_POSTFIX);
21
- }
22
-
23
- const defaultAriaLabel = "Time Picker";
8
+ const am = "AM";
9
+ const clockButton = "Toggle suggested times";
10
+ const hoursInput = "Input hours";
11
+ const minutesInput = "Input minutes";
12
+ const pm = "PM";
13
+ const timeOptionsState = "Time options open: {state}";
14
+ const toggleAmPM = "{amOrPm} selected, click to toggle";
24
15
  const translationResources = {
25
- defaultAriaLabel: defaultAriaLabel
16
+ am: am,
17
+ "time-separator": ":",
18
+ clockButton: clockButton,
19
+ hoursInput: hoursInput,
20
+ minutesInput: minutesInput,
21
+ pm: pm,
22
+ timeOptionsState: timeOptionsState,
23
+ toggleAmPM: toggleAmPM
26
24
  };
27
25
 
28
- const guxTimePickerCss = ":host{display:inline-block}input{box-sizing:border-box;width:100%;height:32px;padding:4px 12px;font-family:inherit;font-size:12px;line-height:1.6667;color:#2e394c;background-color:#fdfdfd;background-image:none;border:1px solid #6b7585;border-radius:2px;text-align:right}input::placeholder{color:#596373}input.gux-focused,input:focus{border:1px solid #2a60c8;outline:none;box-shadow:0 0 4px rgba(170, 201, 255, 0.5)}.gux-list-container{padding:8px 0;margin:0;list-style:none;background-color:#fdfdfd;border:1px solid #b4bccb;border-radius:4px;box-shadow:0 2px 4px rgba(32, 41, 55, 0.24)}";
26
+ function getTimeDisplayValues(minuteInterval, clockType) {
27
+ const minuteOptions = [0, 15, 30, 45]
28
+ .filter(option => Number.isInteger(option / minuteInterval))
29
+ .map(x => String(x).padStart(2, '0'));
30
+ const hourOptions = clockType === '12h'
31
+ ? ['12', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11']
32
+ : Array.from(Array(24).keys()).map(x => String(x).padStart(2, '0'));
33
+ return hourOptions.reduce((acc, hourOption) => {
34
+ return acc.concat(minuteOptions.map(minuteOption => `${hourOption}:${minuteOption}`));
35
+ }, []);
36
+ }
37
+ function getLocaleClockType(root) {
38
+ const locale = getDesiredLocale(root);
39
+ const date = new Date('January 19, 1975 15:00:00 UTC+00:00');
40
+ const time = new Intl.DateTimeFormat(locale, {
41
+ timeStyle: 'short',
42
+ timeZone: 'UTC'
43
+ }).format(date);
44
+ return new RegExp('.*15.*').test(time) ? '24h' : '12h';
45
+ }
46
+ function incrementHour(value, delta) {
47
+ const [hour, minute] = value.split(':');
48
+ const newHour = ((parseInt(hour, 10) + delta + 24) % 24)
49
+ .toString()
50
+ .padStart(2, '0');
51
+ return `${newHour}:${minute}`;
52
+ }
53
+ function incrementMinute(value, delta) {
54
+ const [hour, minute] = value.split(':');
55
+ const newMinute = ((parseInt(minute, 10) + delta + 60) % 60)
56
+ .toString()
57
+ .padStart(2, '0');
58
+ return `${hour}:${newMinute}`;
59
+ }
60
+ function getDisplayValue(value, clockType) {
61
+ const [hour, minute] = value.split(':');
62
+ if (clockType === '12h') {
63
+ return `${(parseInt(hour, 10) % 12 || 12).toString()}:${minute}`;
64
+ }
65
+ return `${hour}:${minute}`;
66
+ }
67
+ function getValue(displayValue, clockType, isAm) {
68
+ const [hour, minute] = displayValue.split(':');
69
+ if (clockType === '12h') {
70
+ if (isAm) {
71
+ return `${(parseInt(hour, 10) % 12)
72
+ .toString()
73
+ .padStart(2, '0')}:${minute}`;
74
+ }
75
+ return `${((parseInt(hour, 10) % 12) + 12)
76
+ .toString()
77
+ .padStart(2, '0')}:${minute}`;
78
+ }
79
+ return `${hour}:${minute}`;
80
+ }
81
+ function getHourDisplayValue(value, clockType) {
82
+ const [hour] = getDisplayValue(value, clockType).split(':');
83
+ return hour;
84
+ }
85
+ function getMinuteDisplayValue(value) {
86
+ const [, minute] = value.split(':');
87
+ return minute;
88
+ }
89
+ function isAm(value) {
90
+ const [hour] = value.split(':');
91
+ return parseInt(hour, 10) < 12;
92
+ }
93
+ function getHoursPattern(clockType) {
94
+ if (clockType === '12h') {
95
+ return '^(0?[1-9]|1[012])$';
96
+ }
97
+ return '^([01]?[0-9]|2[0-3])$';
98
+ }
99
+ function getMinutesPattern() {
100
+ return '^[0-5][0-9]$';
101
+ }
102
+ function getValidValueHourChange(value, clockType, change, selectionStart) {
103
+ const [displayValue, minute] = getDisplayValue(value, clockType).split(':');
104
+ let wantedDisplayValue = displayValue;
105
+ if (change === 'Backspace') {
106
+ wantedDisplayValue = wantedDisplayValue
107
+ .split('')
108
+ .filter((_, i) => i !== selectionStart - 1)
109
+ .join('')
110
+ .padStart(2, '0');
111
+ }
112
+ else {
113
+ wantedDisplayValue = parseInt(wantedDisplayValue.slice(0, selectionStart) +
114
+ change +
115
+ wantedDisplayValue.slice(selectionStart + 1), 10)
116
+ .toString()
117
+ .slice(-2)
118
+ .padStart(2, '0');
119
+ }
120
+ if (!new RegExp(getHoursPattern(clockType)).test(wantedDisplayValue)) {
121
+ if (clockType === '12h') {
122
+ wantedDisplayValue = change;
123
+ }
124
+ else {
125
+ wantedDisplayValue = change.padStart(2, '0');
126
+ }
127
+ }
128
+ return getValue(`${wantedDisplayValue}:${minute}`, clockType, isAm(value));
129
+ }
130
+ function getValidValueMinuteChange(value, change, selectionStart) {
131
+ const [hour, minute] = value.split(':');
132
+ let wanted = minute;
133
+ if (change === 'Backspace') {
134
+ wanted = wanted
135
+ .split('')
136
+ .filter((_, i) => i !== selectionStart - 1)
137
+ .join('')
138
+ .padStart(2, '0');
139
+ }
140
+ else {
141
+ wanted = (wanted.slice(0, selectionStart) +
142
+ change +
143
+ wanted.slice(selectionStart + 1))
144
+ .slice(-2)
145
+ .padStart(2, '0');
146
+ }
147
+ if (!new RegExp(getMinutesPattern()).test(wanted)) {
148
+ wanted = change.padStart(2, '0');
149
+ }
150
+ return `${hour}:${wanted}`;
151
+ }
152
+
153
+ const guxTimePickerCss = ".gux-time-picker{position:relative;display:inline-block}.gux-time-picker.gux-error .gux-input-time{border-color:#ea0b0b}.gux-time-picker .gux-input-time{box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:nowrap;align-content:stretch;align-items:center;justify-content:center;width:100%;height:32px;padding:4px 8px 4px 8px;font-family:inherit;font-size:12px;line-height:1.6667;color:#2e394c;background-color:#f6f7f9;background-image:none;border:1px solid #6b7585;border-radius:4px;box-shadow:inset 0 0 4px rgba(32, 41, 55, 0.16)}.gux-time-picker .gux-input-time input{flex:1 1 auto;align-self:auto;order:0;width:20px;padding:0;font-size:12px;color:#2e394c;text-align:center;text-align:left;background-color:#f6f7f9;border:none;outline:none}.gux-time-picker .gux-input-time input.gux-input-time-hours{text-align:right}.gux-time-picker .gux-input-time input::placeholder{color:#596373;opacity:1}.gux-time-picker .gux-input-time .gux-input-time-am-pm-selector{padding:0 0 0 8px;font-size:12px;font-weight:bold;color:#2e394c;background:transparent;border:none;outline:none}.gux-time-picker .gux-input-time .gux-input-time-am-pm-selector:not(:disabled):hover{color:#2a60c8;cursor:pointer}.gux-time-picker .gux-input-time .gux-input-time-am-pm-selector:focus-visible{color:#2a60c8}.gux-time-picker .gux-input-time .gux-clock-button{flex:0 1 auto;align-self:auto;order:0;padding:0 0 0 8px;color:#596373;background:transparent;border:none}.gux-time-picker .gux-input-time .gux-clock-button.gux-active:not(:disabled){color:#2a60c8;cursor:pointer}.gux-time-picker .gux-input-time .gux-clock-button.gux-active:not(:disabled):hover{color:#2a60c8 !important;cursor:pointer}.gux-time-picker .gux-input-time .gux-clock-button:not(:disabled):hover{color:#2e394c;cursor:pointer}.gux-time-picker .gux-input-time .gux-clock-button:focus{border:none;outline:none}.gux-time-picker .gux-input-time .gux-clock-button:focus-visible gux-icon{outline:none;box-shadow:0 0 0 1px transparent, 0 0 0 2px #aac9ff;border-radius:2px}.gux-time-picker .gux-input-time .gux-clock-button gux-icon{width:16px;height:16px}.gux-time-picker .gux-list-container{max-height:150px;padding:8px 0;margin:0;overflow-y:scroll;list-style:none;background-color:#fdfdfd;border:1px solid #b4bccb;border-radius:4px;box-shadow:0 2px 4px rgba(32, 41, 55, 0.24)}";
29
154
 
30
155
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
31
156
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -37,218 +162,195 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
37
162
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
38
163
  return c > 3 && r && Object.defineProperty(target, key, r), r;
39
164
  };
40
- const MAX_TIME = '23:59:59';
41
- const MIN_TIME = '00:00:00';
42
- const DEFAULT_INTERVAL = 15;
43
- const GuxTimePicker = class {
165
+ const GuxTimePickerBeta = class {
44
166
  constructor(hostRef) {
45
167
  registerInstance(this, hostRef);
46
- this.changed = createEvent(this, "changed", 7);
47
- this.value = '';
48
- this.interval = DEFAULT_INTERVAL;
49
- this.max = MAX_TIME;
50
- this.min = MIN_TIME;
51
- this.label = '';
52
- this.active = false;
53
- this.openDropdown = false;
54
- this.suggestion = '00';
55
- this.isPressEvent = false;
56
- }
57
- watchValue(newValue) {
58
- this.changed.emit(newValue);
59
- }
60
- getShadowDomEventTarget(event) {
61
- return event.composedPath()[0];
62
- }
63
- onKeyDown(e) {
64
- this.focusedField = this.getShadowDomEventTarget(e);
65
- if (this.focusedField === this.inputElement) {
66
- switch (e.key) {
67
- case 'Enter':
68
- this.updateChosenValue();
69
- this.inputElement.focus();
70
- break;
71
- case 'Backspace':
72
- e.preventDefault();
73
- this.handleBackspace();
74
- break;
75
- case 'Tab':
76
- this.updateChosenValue();
77
- break;
78
- case 'ArrowDown':
79
- e.preventDefault();
80
- if (this.listElement) {
81
- void this.listElement.guxFocusFirstItem();
82
- }
83
- break;
84
- case 'ArrowUp':
85
- case 'ArrowRight':
86
- case 'ArrowLeft':
87
- e.preventDefault();
88
- break;
89
- default:
90
- e.preventDefault();
91
- if ('0' <= e.key && e.key <= '9') {
92
- this.openDropdown = true;
93
- if (this.focusedField.value.length < 8) {
94
- let newValue = this.focusedField.value + String(parseInt(e.key, 10));
95
- const arr = newValue.split(':');
96
- if (newValue.length > 6 && Number(arr[2].padEnd(2, '0')) > 59) {
97
- return;
98
- }
99
- if (!this.canBeCompletedToAValidTime(newValue)) {
100
- return;
101
- }
102
- if (arr[arr.length - 1].length === 2 && newValue.length < 8) {
103
- newValue += ':';
104
- }
105
- this.focusedField.value = newValue;
106
- this.suggestion = arr[0].padEnd(2, '0');
107
- }
108
- }
109
- }
110
- }
111
- else {
112
- switch (e.key) {
113
- case 'Escape':
114
- this.updateChosenValue();
115
- this.inputElement.focus();
116
- break;
117
- }
168
+ this.moveFocusDelay = 100;
169
+ this.value = '00:00';
170
+ this.interval = 60;
171
+ this.disabled = false;
172
+ this.required = false;
173
+ this.hasError = false;
174
+ this.expanded = false;
175
+ }
176
+ onFocus() {
177
+ this.valueLastChange = this.value;
178
+ }
179
+ onBlur() {
180
+ if (this.valueLastChange !== this.value) {
181
+ simulateNativeEvent(this.root, 'change');
118
182
  }
119
183
  }
120
- canBeCompletedToAValidTime(str) {
121
- const max = fromIsoTime(str + this.max.slice(str.length));
122
- const min = fromIsoTime(str + this.min.slice(str.length));
123
- if ((this.minTimeObj <= max && max <= this.maxTimeObj) ||
124
- (this.minTimeObj <= min && min <= this.maxTimeObj)) {
125
- return true;
184
+ onClickOutside() {
185
+ this.expanded = false;
186
+ }
187
+ handleKeydown(event) {
188
+ switch (event.key) {
189
+ case 'Escape':
190
+ case 'Tab':
191
+ this.expanded = false;
192
+ break;
126
193
  }
127
- return false;
128
- }
129
- handleBackspace() {
130
- this.openDropdown = true;
131
- if (this.focusedField.selectionStart === this.focusedField.selectionEnd) {
132
- const newEnd = this.focusedField.value.endsWith(':') ? -2 : -1;
133
- this.focusedField.value = this.focusedField.value.slice(0, newEnd);
134
- this.suggestion = this.focusedField.value.split(':')[0].padEnd(2, '0');
194
+ }
195
+ async componentWillLoad() {
196
+ trackComponent(this.root);
197
+ this.i18n = await buildI18nForComponent(this.root, translationResources);
198
+ this.clockType = this.clockType || getLocaleClockType(this.root);
199
+ }
200
+ updateValue(value, fireChange = false) {
201
+ if (value !== this.value) {
202
+ this.value = value;
203
+ simulateNativeEvent(this.root, 'input');
204
+ if (fireChange) {
205
+ if (this.valueLastChange !== this.value) {
206
+ simulateNativeEvent(this.root, 'change');
207
+ this.valueLastChange = this.value;
208
+ }
209
+ }
135
210
  }
136
- else {
137
- this.focusedField.value = '';
211
+ }
212
+ focusFirstItemInPopupList() {
213
+ setTimeout(() => {
214
+ void this.listElement.guxFocusFirstItem();
215
+ }, this.moveFocusDelay);
216
+ }
217
+ toggleDropdown() {
218
+ this.expanded = !this.expanded;
219
+ if (this.expanded) {
220
+ this.focusFirstItemInPopupList();
138
221
  }
139
222
  }
140
- onListItemClick(value) {
141
- this.inputElement.value = value;
142
- this.updateChosenValue();
143
- this.inputElement.focus();
223
+ handleClickDropdownValue(displayValue) {
224
+ const value = getValue(displayValue, this.clockType, isAm(this.value));
225
+ this.updateValue(value, true);
226
+ this.clockButton.focus();
227
+ this.expanded = false;
144
228
  }
145
- onClickOutside() {
146
- this.updateChosenValue();
147
- }
148
- updateChosenValue() {
149
- this.inputElement.value = this.validateValue(this.inputElement.value);
150
- this.value = this.inputElement.value;
151
- this.active = false;
152
- this.openDropdown = false;
153
- }
154
- onMouseUp(e) {
155
- this.focusedField = this.getShadowDomEventTarget(e);
156
- if (this.focusedField === this.inputElement) {
157
- if (this.focusedField.selectionEnd !== this.inputElement.value.length) {
158
- this.inputElement.setSelectionRange(0, this.inputElement.value.length);
159
- }
160
- else {
161
- this.inputElement.setSelectionRange(this.inputElement.value.length, this.inputElement.value.length);
229
+ onHourKeyDown(event) {
230
+ switch (event.key) {
231
+ case 'Tab':
232
+ case 'ArrowLeft':
233
+ case 'ArrowRight':
234
+ case 'Escape':
235
+ break;
236
+ case 'ArrowDown':
237
+ event.preventDefault();
238
+ this.updateValue(incrementHour(this.value, -1));
239
+ break;
240
+ case 'ArrowUp':
241
+ event.preventDefault();
242
+ this.updateValue(incrementHour(this.value, 1));
243
+ break;
244
+ case 'Backspace':
245
+ case '0':
246
+ case '1':
247
+ case '2':
248
+ case '3':
249
+ case '4':
250
+ case '5':
251
+ case '6':
252
+ case '7':
253
+ case '8':
254
+ case '9': {
255
+ event.preventDefault();
256
+ this.updateValue(getValidValueHourChange(this.value, this.clockType, event.key, this.hourInputElement.selectionStart));
257
+ break;
162
258
  }
259
+ default:
260
+ event.preventDefault();
163
261
  }
164
262
  }
165
- onFocusIn(e) {
166
- this.focusedField = this.getShadowDomEventTarget(e);
167
- this.active = true;
168
- }
169
- isValidTime(time) {
170
- const postionArray = time.split(':');
171
- const maxTimeArray = MAX_TIME.split(':');
172
- for (let i = 0; i < postionArray.length; i++) {
173
- if (Number(postionArray[i]) > Number(maxTimeArray[i])) {
174
- return false;
263
+ onMinuteKeyDown(event) {
264
+ switch (event.key) {
265
+ case 'Tab':
266
+ case 'ArrowLeft':
267
+ case 'ArrowRight':
268
+ case 'Escape':
269
+ break;
270
+ case 'ArrowDown':
271
+ event.preventDefault();
272
+ this.updateValue(incrementMinute(this.value, -1));
273
+ break;
274
+ case 'ArrowUp':
275
+ event.preventDefault();
276
+ this.updateValue(incrementMinute(this.value, 1));
277
+ break;
278
+ case 'Backspace':
279
+ case '0':
280
+ case '1':
281
+ case '2':
282
+ case '3':
283
+ case '4':
284
+ case '5':
285
+ case '6':
286
+ case '7':
287
+ case '8':
288
+ case '9': {
289
+ event.preventDefault();
290
+ this.updateValue(getValidValueMinuteChange(this.value, event.key, this.minuteInputElement.selectionStart));
291
+ break;
175
292
  }
293
+ default:
294
+ event.preventDefault();
176
295
  }
177
- return true;
178
- }
179
- validateUpperBound() {
180
- this.max = this.isInFormat(this.max) ? this.max : MAX_TIME;
181
- this.max = this.isValidTime(this.max) ? this.max : MAX_TIME;
182
- }
183
- validateLowerBound() {
184
- this.min = this.isInFormat(this.min) ? this.min : MIN_TIME;
185
- this.min = this.isValidTime(this.min) ? this.min : MIN_TIME;
186
- }
187
- validateBounds() {
188
- this.validateUpperBound();
189
- this.validateLowerBound();
190
- this.maxTimeObj = fromIsoTime(this.max);
191
- this.minTimeObj = fromIsoTime(this.min);
192
- if (this.maxTimeObj < this.minTimeObj) {
193
- this.max = MAX_TIME;
194
- this.min = MIN_TIME;
195
- this.maxTimeObj = fromIsoTime(this.max);
196
- this.minTimeObj = fromIsoTime(this.min);
296
+ }
297
+ onAmPmButtonKeyDown(event) {
298
+ switch (event.key) {
299
+ case 'ArrowDown':
300
+ case 'ArrowUp':
301
+ this.toggleAmPm(event);
302
+ break;
197
303
  }
198
304
  }
199
- validateValue(value) {
200
- let validatedValue = this.isInFormat(value) ? value : '';
201
- validatedValue =
202
- validatedValue !== '' && this.isValidTime(validatedValue)
203
- ? validatedValue
204
- : '';
205
- if (validatedValue) {
206
- const valueTimeObj = fromIsoTime(validatedValue);
207
- validatedValue =
208
- this.minTimeObj <= valueTimeObj && valueTimeObj <= this.maxTimeObj
209
- ? validatedValue
210
- : '';
305
+ onListKeyDown(event) {
306
+ switch (event.key) {
307
+ case 'Escape':
308
+ this.expanded = false;
309
+ this.clockButton.focus();
310
+ break;
211
311
  }
212
- return validatedValue;
213
312
  }
214
- async componentWillLoad() {
215
- trackComponent(this.root);
216
- this.i18n = await buildI18nForComponent(this.root, translationResources);
217
- this.validateBounds();
218
- this.value = this.validateValue(this.value);
313
+ toggleAmPm(event) {
314
+ event.preventDefault();
315
+ this.updateValue(incrementHour(this.value, 12), true);
219
316
  }
220
- isInFormat(value) {
221
- const regex = /^\d{2}:\d{2}:\d{2}$/;
222
- return regex.test(value);
317
+ getAmPmString() {
318
+ return isAm(this.value) ? this.i18n('am') : this.i18n('pm');
223
319
  }
224
- render() {
225
- return (h("div", null, h("div", { class: "gux-input" }, h("input", { type: "text", value: this.value, size: 9, "aria-label": this.label || this.i18n('defaultAriaLabel'), ref: el => (this.inputElement = el) })), this.openDropdown === true && (h("div", { class: "gux-list-container" }, h("gux-list", { ref: el => (this.listElement = el) }, this.buildDropdownOptions().map(value => {
226
- return (h("gux-list-item", { onClick: () => this.onListItemClick(value) }, value));
227
- }))))));
228
- }
229
- buildDropdownOptions() {
230
- const dropDownOptions = [];
231
- for (let i = 0; i < 60; i += this.interval) {
232
- const time = [
233
- this.suggestion.toString().padStart(2, '0'),
234
- i.toString().padStart(2, '0'),
235
- '00'
236
- ].join(':');
237
- const timeObj = fromIsoTime(time);
238
- if (this.minTimeObj <= timeObj && timeObj <= this.maxTimeObj) {
239
- dropDownOptions.push(time);
240
- }
320
+ renderNumberInput() {
321
+ return (h("div", null, h("input", { class: "gux-input-time-hours", type: "text", disabled: this.disabled, value: getHourDisplayValue(this.value, this.clockType), onKeyDown: e => this.onHourKeyDown(e), "aria-label": this.i18n('hoursInput'), pattern: getHoursPattern(this.clockType), ref: el => (this.hourInputElement = el) }), h("span", { class: "gux-time-separator" }, this.i18n('time-separator')), h("input", { class: "gux-input-time-minutes", type: "text", disabled: this.disabled, value: getMinuteDisplayValue(this.value), onKeyDown: e => this.onMinuteKeyDown(e), "aria-label": this.i18n('minutesInput'), pattern: getMinutesPattern(), ref: el => (this.minuteInputElement = el) })));
322
+ }
323
+ renderAmPmSelector() {
324
+ if (this.clockType === '12h') {
325
+ return (h("button", { class: "gux-input-time-am-pm-selector", type: "button", disabled: this.disabled, "aria-label": this.i18n('toggleAmPM', { amOrPm: this.getAmPmString() }), onClick: (e) => this.toggleAmPm(e), onKeyDown: (e) => this.onAmPmButtonKeyDown(e) }, this.getAmPmString()));
241
326
  }
242
- return dropDownOptions;
327
+ }
328
+ renderClockButton() {
329
+ return (h("button", { class: {
330
+ 'gux-clock-button': true,
331
+ 'gux-active': this.expanded
332
+ }, type: "button", disabled: this.disabled, "aria-label": this.i18n('clockButton'), "aria-expanded": this.expanded.toString(), onClick: this.toggleDropdown.bind(this), ref: el => (this.clockButton = el) }, h("gux-icon", { decorative: true, "icon-name": "clock-outline" })));
333
+ }
334
+ renderTimeListItems() {
335
+ return getTimeDisplayValues(this.interval, this.clockType).map(displayValue => (h("gux-list-item", { onClick: () => this.handleClickDropdownValue(displayValue) }, displayValue)));
336
+ }
337
+ renderTarget() {
338
+ return (h("div", { class: "gux-input-time", slot: "target" }, this.renderNumberInput(), this.renderAmPmSelector(), this.renderClockButton()));
339
+ }
340
+ renderPopup() {
341
+ return (h("div", { slot: "popup", class: "gux-list-container", onKeyDown: (e) => this.onListKeyDown(e) }, h("gux-list", { ref: el => (this.listElement = el) }, this.renderTimeListItems())));
342
+ }
343
+ render() {
344
+ return (h("gux-popup", { class: {
345
+ 'gux-time-picker': true,
346
+ 'gux-error': this.hasError
347
+ }, expanded: this.expanded, disabled: this.disabled }, this.renderTarget(), this.renderPopup()));
243
348
  }
244
349
  get root() { return getElement(this); }
245
- static get watchers() { return {
246
- "value": ["watchValue"]
247
- }; }
248
350
  };
249
351
  __decorate([
250
352
  OnClickOutside({ triggerEvents: 'mousedown' })
251
- ], GuxTimePicker.prototype, "onClickOutside", null);
252
- GuxTimePicker.style = guxTimePickerCss;
353
+ ], GuxTimePickerBeta.prototype, "onClickOutside", null);
354
+ GuxTimePickerBeta.style = guxTimePickerCss;
253
355
 
254
- export { GuxTimePicker as gux_time_picker_beta };
356
+ export { GuxTimePickerBeta as gux_time_picker_beta };
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-738480cf.js';
2
- import { t as trackComponent } from './usage-tracking-bb3c3fa5.js';
2
+ import { t as trackComponent } from './usage-tracking-5cebbb93.js';
3
3
  import { r as randomHTMLId } from './random-html-id-8e3f658c.js';
4
- import { b as buildI18nForComponent } from './index-bb5400c7.js';
4
+ import { b as buildI18nForComponent } from './index-5b4bc0a0.js';
5
5
  import './get-closest-element-1597503c.js';
6
6
 
7
7
  const defaultAriaLabel = "Toggle Switch";
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h, H as Host, g as getElement } from './index-738480cf.js';
2
2
  import { r as randomHTMLId } from './random-html-id-8e3f658c.js';
3
- import { t as trackComponent } from './usage-tracking-bb3c3fa5.js';
3
+ import { t as trackComponent } from './usage-tracking-5cebbb93.js';
4
4
  import { c as createPopper } from './popper-f860750c.js';
5
5
 
6
6
  const guxTooltipCss = ":host{z-index:var(--gux-zindex-tooltip, 1);visibility:hidden !important;opacity:0}:host(.gux-show){visibility:visible !important;animation-name:fade-in;animation-duration:250ms;animation-delay:1s;animation-fill-mode:forwards}.gux-container{box-sizing:border-box;max-width:250px;padding:6px 12px;color:#2e394c;pointer-events:none;background-color:#fdfdfd;border:1px solid #b4bccb;border-radius:4px}@keyframes fade-in{0%{opacity:0}100%{opacity:1}}";
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h as h$1, g as getElement } from './index-738480cf.js';
2
2
  import { c as createCommonjsModule } from './_commonjsHelpers-9943807e.js';
3
- import { g as getDesiredLocale } from './index-bb5400c7.js';
4
- import { t as trackComponent } from './usage-tracking-bb3c3fa5.js';
3
+ import { g as getDesiredLocale } from './index-5b4bc0a0.js';
4
+ import { t as trackComponent } from './usage-tracking-5cebbb93.js';
5
5
  import './get-closest-element-1597503c.js';
6
6
 
7
7
  /*!
@@ -3988,7 +3988,7 @@ async function buildI18nForComponent(component, defaultResources, parentComponen
3988
3988
  let i18nString = (_a = intlFormats.get(resourceKey)) === null || _a === void 0 ? void 0 : _a.format(context);
3989
3989
  if (!i18nString) {
3990
3990
  i18nString = (_b = defaultFormats.get(resourceKey)) === null || _b === void 0 ? void 0 : _b.format(context);
3991
- console.warn(`No localized string available for "${i18nString}" for "${locale}" locale. Falling back to English translation.`);
3991
+ console.warn(`No localized string available for "${resourceKey}-${i18nString}" for "${locale}" locale. Falling back to English translation.`);
3992
3992
  }
3993
3993
  return i18nString;
3994
3994
  };
@@ -2099,6 +2099,10 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
2099
2099
  return import(
2100
2100
  /* webpackMode: "lazy" */
2101
2101
  './gux-form-field-textarea.entry.js').then(processMod, consoleError);
2102
+ case 'gux-form-field-time-picker':
2103
+ return import(
2104
+ /* webpackMode: "lazy" */
2105
+ './gux-form-field-time-picker.entry.js').then(processMod, consoleError);
2102
2106
  case 'gux-list-divider':
2103
2107
  return import(
2104
2108
  /* webpackMode: "lazy" */
@@ -2327,6 +2331,10 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
2327
2331
  return import(
2328
2332
  /* webpackMode: "lazy" */
2329
2333
  './gux-pagination-buttons-beta_3.entry.js').then(processMod, consoleError);
2334
+ case 'gux-screen-reader-beta':
2335
+ return import(
2336
+ /* webpackMode: "lazy" */
2337
+ './gux-screen-reader-beta.entry.js').then(processMod, consoleError);
2330
2338
  case 'gux-table-select-popover':
2331
2339
  return import(
2332
2340
  /* webpackMode: "lazy" */