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
@@ -2,34 +2,159 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-a4138a99.js');
5
+ const index$1 = require('./index-a4138a99.js');
6
+ const index = require('./index-d4f3e61e.js');
6
7
  const onClickOutside = require('./on-click-outside-64dc5f14.js');
7
- const usageTracking = require('./usage-tracking-f1397528.js');
8
- const index$1 = require('./index-d06e1e14.js');
8
+ const usageTracking = require('./usage-tracking-188e7bcd.js');
9
+ const simulateNativeEvent = require('./simulate-native-event-fe3e62da.js');
9
10
  require('./get-closest-element-ab4b2eee.js');
10
11
 
11
- /********************************************************
12
- * Time Utilities *
13
- * *
14
- * Time parsing and comparison, for ISO 8601 hh:mm:ss *
15
- ********************************************************/
16
- // Format should always adhere to: http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15
17
- const DATE_STRING_PREFIX = '1978-09-23T';
18
- const DATE_STRING_POSTFIX = 'Z'; // always use UTC
19
- /**
20
- * converts ISO 24hr time to a date that can be used for comparison
21
- * with other times converted with this function.
22
- */
23
- function fromIsoTime(timeStr) {
24
- return new Date(DATE_STRING_PREFIX + timeStr.trim() + DATE_STRING_POSTFIX);
25
- }
26
-
27
- const defaultAriaLabel = "Time Picker";
12
+ const am = "AM";
13
+ const clockButton = "Toggle suggested times";
14
+ const hoursInput = "Input hours";
15
+ const minutesInput = "Input minutes";
16
+ const pm = "PM";
17
+ const timeOptionsState = "Time options open: {state}";
18
+ const toggleAmPM = "{amOrPm} selected, click to toggle";
28
19
  const translationResources = {
29
- defaultAriaLabel: defaultAriaLabel
20
+ am: am,
21
+ "time-separator": ":",
22
+ clockButton: clockButton,
23
+ hoursInput: hoursInput,
24
+ minutesInput: minutesInput,
25
+ pm: pm,
26
+ timeOptionsState: timeOptionsState,
27
+ toggleAmPM: toggleAmPM
30
28
  };
31
29
 
32
- 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)}";
30
+ function getTimeDisplayValues(minuteInterval, clockType) {
31
+ const minuteOptions = [0, 15, 30, 45]
32
+ .filter(option => Number.isInteger(option / minuteInterval))
33
+ .map(x => String(x).padStart(2, '0'));
34
+ const hourOptions = clockType === '12h'
35
+ ? ['12', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11']
36
+ : Array.from(Array(24).keys()).map(x => String(x).padStart(2, '0'));
37
+ return hourOptions.reduce((acc, hourOption) => {
38
+ return acc.concat(minuteOptions.map(minuteOption => `${hourOption}:${minuteOption}`));
39
+ }, []);
40
+ }
41
+ function getLocaleClockType(root) {
42
+ const locale = index.getDesiredLocale(root);
43
+ const date = new Date('January 19, 1975 15:00:00 UTC+00:00');
44
+ const time = new Intl.DateTimeFormat(locale, {
45
+ timeStyle: 'short',
46
+ timeZone: 'UTC'
47
+ }).format(date);
48
+ return new RegExp('.*15.*').test(time) ? '24h' : '12h';
49
+ }
50
+ function incrementHour(value, delta) {
51
+ const [hour, minute] = value.split(':');
52
+ const newHour = ((parseInt(hour, 10) + delta + 24) % 24)
53
+ .toString()
54
+ .padStart(2, '0');
55
+ return `${newHour}:${minute}`;
56
+ }
57
+ function incrementMinute(value, delta) {
58
+ const [hour, minute] = value.split(':');
59
+ const newMinute = ((parseInt(minute, 10) + delta + 60) % 60)
60
+ .toString()
61
+ .padStart(2, '0');
62
+ return `${hour}:${newMinute}`;
63
+ }
64
+ function getDisplayValue(value, clockType) {
65
+ const [hour, minute] = value.split(':');
66
+ if (clockType === '12h') {
67
+ return `${(parseInt(hour, 10) % 12 || 12).toString()}:${minute}`;
68
+ }
69
+ return `${hour}:${minute}`;
70
+ }
71
+ function getValue(displayValue, clockType, isAm) {
72
+ const [hour, minute] = displayValue.split(':');
73
+ if (clockType === '12h') {
74
+ if (isAm) {
75
+ return `${(parseInt(hour, 10) % 12)
76
+ .toString()
77
+ .padStart(2, '0')}:${minute}`;
78
+ }
79
+ return `${((parseInt(hour, 10) % 12) + 12)
80
+ .toString()
81
+ .padStart(2, '0')}:${minute}`;
82
+ }
83
+ return `${hour}:${minute}`;
84
+ }
85
+ function getHourDisplayValue(value, clockType) {
86
+ const [hour] = getDisplayValue(value, clockType).split(':');
87
+ return hour;
88
+ }
89
+ function getMinuteDisplayValue(value) {
90
+ const [, minute] = value.split(':');
91
+ return minute;
92
+ }
93
+ function isAm(value) {
94
+ const [hour] = value.split(':');
95
+ return parseInt(hour, 10) < 12;
96
+ }
97
+ function getHoursPattern(clockType) {
98
+ if (clockType === '12h') {
99
+ return '^(0?[1-9]|1[012])$';
100
+ }
101
+ return '^([01]?[0-9]|2[0-3])$';
102
+ }
103
+ function getMinutesPattern() {
104
+ return '^[0-5][0-9]$';
105
+ }
106
+ function getValidValueHourChange(value, clockType, change, selectionStart) {
107
+ const [displayValue, minute] = getDisplayValue(value, clockType).split(':');
108
+ let wantedDisplayValue = displayValue;
109
+ if (change === 'Backspace') {
110
+ wantedDisplayValue = wantedDisplayValue
111
+ .split('')
112
+ .filter((_, i) => i !== selectionStart - 1)
113
+ .join('')
114
+ .padStart(2, '0');
115
+ }
116
+ else {
117
+ wantedDisplayValue = parseInt(wantedDisplayValue.slice(0, selectionStart) +
118
+ change +
119
+ wantedDisplayValue.slice(selectionStart + 1), 10)
120
+ .toString()
121
+ .slice(-2)
122
+ .padStart(2, '0');
123
+ }
124
+ if (!new RegExp(getHoursPattern(clockType)).test(wantedDisplayValue)) {
125
+ if (clockType === '12h') {
126
+ wantedDisplayValue = change;
127
+ }
128
+ else {
129
+ wantedDisplayValue = change.padStart(2, '0');
130
+ }
131
+ }
132
+ return getValue(`${wantedDisplayValue}:${minute}`, clockType, isAm(value));
133
+ }
134
+ function getValidValueMinuteChange(value, change, selectionStart) {
135
+ const [hour, minute] = value.split(':');
136
+ let wanted = minute;
137
+ if (change === 'Backspace') {
138
+ wanted = wanted
139
+ .split('')
140
+ .filter((_, i) => i !== selectionStart - 1)
141
+ .join('')
142
+ .padStart(2, '0');
143
+ }
144
+ else {
145
+ wanted = (wanted.slice(0, selectionStart) +
146
+ change +
147
+ wanted.slice(selectionStart + 1))
148
+ .slice(-2)
149
+ .padStart(2, '0');
150
+ }
151
+ if (!new RegExp(getMinutesPattern()).test(wanted)) {
152
+ wanted = change.padStart(2, '0');
153
+ }
154
+ return `${hour}:${wanted}`;
155
+ }
156
+
157
+ 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)}";
33
158
 
34
159
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
35
160
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -41,218 +166,195 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
41
166
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
42
167
  return c > 3 && r && Object.defineProperty(target, key, r), r;
43
168
  };
44
- const MAX_TIME = '23:59:59';
45
- const MIN_TIME = '00:00:00';
46
- const DEFAULT_INTERVAL = 15;
47
- const GuxTimePicker = class {
169
+ const GuxTimePickerBeta = class {
48
170
  constructor(hostRef) {
49
- index.registerInstance(this, hostRef);
50
- this.changed = index.createEvent(this, "changed", 7);
51
- this.value = '';
52
- this.interval = DEFAULT_INTERVAL;
53
- this.max = MAX_TIME;
54
- this.min = MIN_TIME;
55
- this.label = '';
56
- this.active = false;
57
- this.openDropdown = false;
58
- this.suggestion = '00';
59
- this.isPressEvent = false;
60
- }
61
- watchValue(newValue) {
62
- this.changed.emit(newValue);
63
- }
64
- getShadowDomEventTarget(event) {
65
- return event.composedPath()[0];
66
- }
67
- onKeyDown(e) {
68
- this.focusedField = this.getShadowDomEventTarget(e);
69
- if (this.focusedField === this.inputElement) {
70
- switch (e.key) {
71
- case 'Enter':
72
- this.updateChosenValue();
73
- this.inputElement.focus();
74
- break;
75
- case 'Backspace':
76
- e.preventDefault();
77
- this.handleBackspace();
78
- break;
79
- case 'Tab':
80
- this.updateChosenValue();
81
- break;
82
- case 'ArrowDown':
83
- e.preventDefault();
84
- if (this.listElement) {
85
- void this.listElement.guxFocusFirstItem();
86
- }
87
- break;
88
- case 'ArrowUp':
89
- case 'ArrowRight':
90
- case 'ArrowLeft':
91
- e.preventDefault();
92
- break;
93
- default:
94
- e.preventDefault();
95
- if ('0' <= e.key && e.key <= '9') {
96
- this.openDropdown = true;
97
- if (this.focusedField.value.length < 8) {
98
- let newValue = this.focusedField.value + String(parseInt(e.key, 10));
99
- const arr = newValue.split(':');
100
- if (newValue.length > 6 && Number(arr[2].padEnd(2, '0')) > 59) {
101
- return;
102
- }
103
- if (!this.canBeCompletedToAValidTime(newValue)) {
104
- return;
105
- }
106
- if (arr[arr.length - 1].length === 2 && newValue.length < 8) {
107
- newValue += ':';
108
- }
109
- this.focusedField.value = newValue;
110
- this.suggestion = arr[0].padEnd(2, '0');
111
- }
112
- }
113
- }
114
- }
115
- else {
116
- switch (e.key) {
117
- case 'Escape':
118
- this.updateChosenValue();
119
- this.inputElement.focus();
120
- break;
121
- }
171
+ index$1.registerInstance(this, hostRef);
172
+ this.moveFocusDelay = 100;
173
+ this.value = '00:00';
174
+ this.interval = 60;
175
+ this.disabled = false;
176
+ this.required = false;
177
+ this.hasError = false;
178
+ this.expanded = false;
179
+ }
180
+ onFocus() {
181
+ this.valueLastChange = this.value;
182
+ }
183
+ onBlur() {
184
+ if (this.valueLastChange !== this.value) {
185
+ simulateNativeEvent.simulateNativeEvent(this.root, 'change');
122
186
  }
123
187
  }
124
- canBeCompletedToAValidTime(str) {
125
- const max = fromIsoTime(str + this.max.slice(str.length));
126
- const min = fromIsoTime(str + this.min.slice(str.length));
127
- if ((this.minTimeObj <= max && max <= this.maxTimeObj) ||
128
- (this.minTimeObj <= min && min <= this.maxTimeObj)) {
129
- return true;
188
+ onClickOutside() {
189
+ this.expanded = false;
190
+ }
191
+ handleKeydown(event) {
192
+ switch (event.key) {
193
+ case 'Escape':
194
+ case 'Tab':
195
+ this.expanded = false;
196
+ break;
130
197
  }
131
- return false;
132
- }
133
- handleBackspace() {
134
- this.openDropdown = true;
135
- if (this.focusedField.selectionStart === this.focusedField.selectionEnd) {
136
- const newEnd = this.focusedField.value.endsWith(':') ? -2 : -1;
137
- this.focusedField.value = this.focusedField.value.slice(0, newEnd);
138
- this.suggestion = this.focusedField.value.split(':')[0].padEnd(2, '0');
198
+ }
199
+ async componentWillLoad() {
200
+ usageTracking.trackComponent(this.root);
201
+ this.i18n = await index.buildI18nForComponent(this.root, translationResources);
202
+ this.clockType = this.clockType || getLocaleClockType(this.root);
203
+ }
204
+ updateValue(value, fireChange = false) {
205
+ if (value !== this.value) {
206
+ this.value = value;
207
+ simulateNativeEvent.simulateNativeEvent(this.root, 'input');
208
+ if (fireChange) {
209
+ if (this.valueLastChange !== this.value) {
210
+ simulateNativeEvent.simulateNativeEvent(this.root, 'change');
211
+ this.valueLastChange = this.value;
212
+ }
213
+ }
139
214
  }
140
- else {
141
- this.focusedField.value = '';
215
+ }
216
+ focusFirstItemInPopupList() {
217
+ setTimeout(() => {
218
+ void this.listElement.guxFocusFirstItem();
219
+ }, this.moveFocusDelay);
220
+ }
221
+ toggleDropdown() {
222
+ this.expanded = !this.expanded;
223
+ if (this.expanded) {
224
+ this.focusFirstItemInPopupList();
142
225
  }
143
226
  }
144
- onListItemClick(value) {
145
- this.inputElement.value = value;
146
- this.updateChosenValue();
147
- this.inputElement.focus();
227
+ handleClickDropdownValue(displayValue) {
228
+ const value = getValue(displayValue, this.clockType, isAm(this.value));
229
+ this.updateValue(value, true);
230
+ this.clockButton.focus();
231
+ this.expanded = false;
148
232
  }
149
- onClickOutside() {
150
- this.updateChosenValue();
151
- }
152
- updateChosenValue() {
153
- this.inputElement.value = this.validateValue(this.inputElement.value);
154
- this.value = this.inputElement.value;
155
- this.active = false;
156
- this.openDropdown = false;
157
- }
158
- onMouseUp(e) {
159
- this.focusedField = this.getShadowDomEventTarget(e);
160
- if (this.focusedField === this.inputElement) {
161
- if (this.focusedField.selectionEnd !== this.inputElement.value.length) {
162
- this.inputElement.setSelectionRange(0, this.inputElement.value.length);
163
- }
164
- else {
165
- this.inputElement.setSelectionRange(this.inputElement.value.length, this.inputElement.value.length);
233
+ onHourKeyDown(event) {
234
+ switch (event.key) {
235
+ case 'Tab':
236
+ case 'ArrowLeft':
237
+ case 'ArrowRight':
238
+ case 'Escape':
239
+ break;
240
+ case 'ArrowDown':
241
+ event.preventDefault();
242
+ this.updateValue(incrementHour(this.value, -1));
243
+ break;
244
+ case 'ArrowUp':
245
+ event.preventDefault();
246
+ this.updateValue(incrementHour(this.value, 1));
247
+ break;
248
+ case 'Backspace':
249
+ case '0':
250
+ case '1':
251
+ case '2':
252
+ case '3':
253
+ case '4':
254
+ case '5':
255
+ case '6':
256
+ case '7':
257
+ case '8':
258
+ case '9': {
259
+ event.preventDefault();
260
+ this.updateValue(getValidValueHourChange(this.value, this.clockType, event.key, this.hourInputElement.selectionStart));
261
+ break;
166
262
  }
263
+ default:
264
+ event.preventDefault();
167
265
  }
168
266
  }
169
- onFocusIn(e) {
170
- this.focusedField = this.getShadowDomEventTarget(e);
171
- this.active = true;
172
- }
173
- isValidTime(time) {
174
- const postionArray = time.split(':');
175
- const maxTimeArray = MAX_TIME.split(':');
176
- for (let i = 0; i < postionArray.length; i++) {
177
- if (Number(postionArray[i]) > Number(maxTimeArray[i])) {
178
- return false;
267
+ onMinuteKeyDown(event) {
268
+ switch (event.key) {
269
+ case 'Tab':
270
+ case 'ArrowLeft':
271
+ case 'ArrowRight':
272
+ case 'Escape':
273
+ break;
274
+ case 'ArrowDown':
275
+ event.preventDefault();
276
+ this.updateValue(incrementMinute(this.value, -1));
277
+ break;
278
+ case 'ArrowUp':
279
+ event.preventDefault();
280
+ this.updateValue(incrementMinute(this.value, 1));
281
+ break;
282
+ case 'Backspace':
283
+ case '0':
284
+ case '1':
285
+ case '2':
286
+ case '3':
287
+ case '4':
288
+ case '5':
289
+ case '6':
290
+ case '7':
291
+ case '8':
292
+ case '9': {
293
+ event.preventDefault();
294
+ this.updateValue(getValidValueMinuteChange(this.value, event.key, this.minuteInputElement.selectionStart));
295
+ break;
179
296
  }
297
+ default:
298
+ event.preventDefault();
180
299
  }
181
- return true;
182
- }
183
- validateUpperBound() {
184
- this.max = this.isInFormat(this.max) ? this.max : MAX_TIME;
185
- this.max = this.isValidTime(this.max) ? this.max : MAX_TIME;
186
- }
187
- validateLowerBound() {
188
- this.min = this.isInFormat(this.min) ? this.min : MIN_TIME;
189
- this.min = this.isValidTime(this.min) ? this.min : MIN_TIME;
190
- }
191
- validateBounds() {
192
- this.validateUpperBound();
193
- this.validateLowerBound();
194
- this.maxTimeObj = fromIsoTime(this.max);
195
- this.minTimeObj = fromIsoTime(this.min);
196
- if (this.maxTimeObj < this.minTimeObj) {
197
- this.max = MAX_TIME;
198
- this.min = MIN_TIME;
199
- this.maxTimeObj = fromIsoTime(this.max);
200
- this.minTimeObj = fromIsoTime(this.min);
300
+ }
301
+ onAmPmButtonKeyDown(event) {
302
+ switch (event.key) {
303
+ case 'ArrowDown':
304
+ case 'ArrowUp':
305
+ this.toggleAmPm(event);
306
+ break;
201
307
  }
202
308
  }
203
- validateValue(value) {
204
- let validatedValue = this.isInFormat(value) ? value : '';
205
- validatedValue =
206
- validatedValue !== '' && this.isValidTime(validatedValue)
207
- ? validatedValue
208
- : '';
209
- if (validatedValue) {
210
- const valueTimeObj = fromIsoTime(validatedValue);
211
- validatedValue =
212
- this.minTimeObj <= valueTimeObj && valueTimeObj <= this.maxTimeObj
213
- ? validatedValue
214
- : '';
309
+ onListKeyDown(event) {
310
+ switch (event.key) {
311
+ case 'Escape':
312
+ this.expanded = false;
313
+ this.clockButton.focus();
314
+ break;
215
315
  }
216
- return validatedValue;
217
316
  }
218
- async componentWillLoad() {
219
- usageTracking.trackComponent(this.root);
220
- this.i18n = await index$1.buildI18nForComponent(this.root, translationResources);
221
- this.validateBounds();
222
- this.value = this.validateValue(this.value);
317
+ toggleAmPm(event) {
318
+ event.preventDefault();
319
+ this.updateValue(incrementHour(this.value, 12), true);
223
320
  }
224
- isInFormat(value) {
225
- const regex = /^\d{2}:\d{2}:\d{2}$/;
226
- return regex.test(value);
321
+ getAmPmString() {
322
+ return isAm(this.value) ? this.i18n('am') : this.i18n('pm');
227
323
  }
228
- render() {
229
- return (index.h("div", null, index.h("div", { class: "gux-input" }, index.h("input", { type: "text", value: this.value, size: 9, "aria-label": this.label || this.i18n('defaultAriaLabel'), ref: el => (this.inputElement = el) })), this.openDropdown === true && (index.h("div", { class: "gux-list-container" }, index.h("gux-list", { ref: el => (this.listElement = el) }, this.buildDropdownOptions().map(value => {
230
- return (index.h("gux-list-item", { onClick: () => this.onListItemClick(value) }, value));
231
- }))))));
232
- }
233
- buildDropdownOptions() {
234
- const dropDownOptions = [];
235
- for (let i = 0; i < 60; i += this.interval) {
236
- const time = [
237
- this.suggestion.toString().padStart(2, '0'),
238
- i.toString().padStart(2, '0'),
239
- '00'
240
- ].join(':');
241
- const timeObj = fromIsoTime(time);
242
- if (this.minTimeObj <= timeObj && timeObj <= this.maxTimeObj) {
243
- dropDownOptions.push(time);
244
- }
324
+ renderNumberInput() {
325
+ return (index$1.h("div", null, index$1.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) }), index$1.h("span", { class: "gux-time-separator" }, this.i18n('time-separator')), index$1.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) })));
326
+ }
327
+ renderAmPmSelector() {
328
+ if (this.clockType === '12h') {
329
+ return (index$1.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()));
245
330
  }
246
- return dropDownOptions;
247
331
  }
248
- get root() { return index.getElement(this); }
249
- static get watchers() { return {
250
- "value": ["watchValue"]
251
- }; }
332
+ renderClockButton() {
333
+ return (index$1.h("button", { class: {
334
+ 'gux-clock-button': true,
335
+ 'gux-active': this.expanded
336
+ }, 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) }, index$1.h("gux-icon", { decorative: true, "icon-name": "clock-outline" })));
337
+ }
338
+ renderTimeListItems() {
339
+ return getTimeDisplayValues(this.interval, this.clockType).map(displayValue => (index$1.h("gux-list-item", { onClick: () => this.handleClickDropdownValue(displayValue) }, displayValue)));
340
+ }
341
+ renderTarget() {
342
+ return (index$1.h("div", { class: "gux-input-time", slot: "target" }, this.renderNumberInput(), this.renderAmPmSelector(), this.renderClockButton()));
343
+ }
344
+ renderPopup() {
345
+ return (index$1.h("div", { slot: "popup", class: "gux-list-container", onKeyDown: (e) => this.onListKeyDown(e) }, index$1.h("gux-list", { ref: el => (this.listElement = el) }, this.renderTimeListItems())));
346
+ }
347
+ render() {
348
+ return (index$1.h("gux-popup", { class: {
349
+ 'gux-time-picker': true,
350
+ 'gux-error': this.hasError
351
+ }, expanded: this.expanded, disabled: this.disabled }, this.renderTarget(), this.renderPopup()));
352
+ }
353
+ get root() { return index$1.getElement(this); }
252
354
  };
253
355
  __decorate([
254
356
  onClickOutside.OnClickOutside({ triggerEvents: 'mousedown' })
255
- ], GuxTimePicker.prototype, "onClickOutside", null);
256
- GuxTimePicker.style = guxTimePickerCss;
357
+ ], GuxTimePickerBeta.prototype, "onClickOutside", null);
358
+ GuxTimePickerBeta.style = guxTimePickerCss;
257
359
 
258
- exports.gux_time_picker_beta = GuxTimePicker;
360
+ exports.gux_time_picker_beta = GuxTimePickerBeta;
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-a4138a99.js');
6
- const usageTracking = require('./usage-tracking-f1397528.js');
6
+ const usageTracking = require('./usage-tracking-188e7bcd.js');
7
7
  const randomHtmlId = require('./random-html-id-b86b61c0.js');
8
- const index$1 = require('./index-d06e1e14.js');
8
+ const index$1 = require('./index-d4f3e61e.js');
9
9
  require('./get-closest-element-ab4b2eee.js');
10
10
 
11
11
  const defaultAriaLabel = "Toggle Switch";
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-a4138a99.js');
6
6
  const randomHtmlId = require('./random-html-id-b86b61c0.js');
7
- const usageTracking = require('./usage-tracking-f1397528.js');
7
+ const usageTracking = require('./usage-tracking-188e7bcd.js');
8
8
  const popper = require('./popper-11d5f714.js');
9
9
 
10
10
  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}}";
@@ -4,8 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index$2 = require('./index-a4138a99.js');
6
6
  const _commonjsHelpers = require('./_commonjsHelpers-537d719a.js');
7
- const index$3 = require('./index-d06e1e14.js');
8
- const usageTracking = require('./usage-tracking-f1397528.js');
7
+ const index$3 = require('./index-d4f3e61e.js');
8
+ const usageTracking = require('./usage-tracking-188e7bcd.js');
9
9
  require('./get-closest-element-ab4b2eee.js');
10
10
 
11
11
  /*!
@@ -2121,6 +2121,10 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
2121
2121
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2122
2122
  /* webpackMode: "lazy" */
2123
2123
  './gux-form-field-textarea.cjs.entry.js')); }).then(processMod, consoleError);
2124
+ case 'gux-form-field-time-picker.cjs':
2125
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2126
+ /* webpackMode: "lazy" */
2127
+ './gux-form-field-time-picker.cjs.entry.js')); }).then(processMod, consoleError);
2124
2128
  case 'gux-list-divider.cjs':
2125
2129
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2126
2130
  /* webpackMode: "lazy" */
@@ -2349,6 +2353,10 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
2349
2353
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2350
2354
  /* webpackMode: "lazy" */
2351
2355
  './gux-pagination-buttons-beta_3.cjs.entry.js')); }).then(processMod, consoleError);
2356
+ case 'gux-screen-reader-beta.cjs':
2357
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2358
+ /* webpackMode: "lazy" */
2359
+ './gux-screen-reader-beta.cjs.entry.js')); }).then(processMod, consoleError);
2352
2360
  case 'gux-table-select-popover.cjs':
2353
2361
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2354
2362
  /* webpackMode: "lazy" */
@@ -3990,7 +3990,7 @@ async function buildI18nForComponent(component, defaultResources, parentComponen
3990
3990
  let i18nString = (_a = intlFormats.get(resourceKey)) === null || _a === void 0 ? void 0 : _a.format(context);
3991
3991
  if (!i18nString) {
3992
3992
  i18nString = (_b = defaultFormats.get(resourceKey)) === null || _b === void 0 ? void 0 : _b.format(context);
3993
- console.warn(`No localized string available for "${i18nString}" for "${locale}" locale. Falling back to English translation.`);
3993
+ console.warn(`No localized string available for "${resourceKey}-${i18nString}" for "${locale}" locale. Falling back to English translation.`);
3994
3994
  }
3995
3995
  return i18nString;
3996
3996
  };