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
@@ -9,212 +9,194 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
9
9
  return c > 3 && r && Object.defineProperty(target, key, r), r;
10
10
  };
11
11
  import { h } from '@stencil/core';
12
- import { OnClickOutside } from '../../../utils/decorator/on-click-outside';
13
- import { fromIsoTime } from '../../../utils/date/from-iso-time-string';
14
- import { trackComponent } from '../../../usage-tracking';
15
12
  import { buildI18nForComponent } from '../../../i18n';
16
13
  import translationResources from './i18n/en.json';
17
- const MAX_TIME = '23:59:59';
18
- const MIN_TIME = '00:00:00';
19
- const DEFAULT_INTERVAL = 15;
20
- export class GuxTimePicker {
14
+ import { OnClickOutside } from '../../../utils/decorator/on-click-outside';
15
+ import { trackComponent } from '../../../usage-tracking';
16
+ import simulateNativeEvent from '../../../utils/dom/simulate-native-event';
17
+ import { getHourDisplayValue, getHoursPattern, getLocaleClockType, getMinuteDisplayValue, getMinutesPattern, getTimeDisplayValues, getValidValueHourChange, getValidValueMinuteChange, getValue, incrementHour, incrementMinute, isAm } from './gux-time-picker.service';
18
+ export class GuxTimePickerBeta {
21
19
  constructor() {
22
- this.value = '';
23
- this.interval = DEFAULT_INTERVAL;
24
- this.max = MAX_TIME;
25
- this.min = MIN_TIME;
26
- this.label = '';
27
- this.active = false;
28
- this.openDropdown = false;
29
- this.suggestion = '00';
30
- this.isPressEvent = false;
31
- }
32
- watchValue(newValue) {
33
- this.changed.emit(newValue);
20
+ this.moveFocusDelay = 100;
21
+ this.value = '00:00';
22
+ this.interval = 60;
23
+ this.disabled = false;
24
+ this.required = false;
25
+ this.hasError = false;
26
+ this.expanded = false;
34
27
  }
35
- getShadowDomEventTarget(event) {
36
- return event.composedPath()[0];
28
+ onFocus() {
29
+ this.valueLastChange = this.value;
37
30
  }
38
- onKeyDown(e) {
39
- this.focusedField = this.getShadowDomEventTarget(e);
40
- if (this.focusedField === this.inputElement) {
41
- switch (e.key) {
42
- case 'Enter':
43
- this.updateChosenValue();
44
- this.inputElement.focus();
45
- break;
46
- case 'Backspace':
47
- e.preventDefault();
48
- this.handleBackspace();
49
- break;
50
- case 'Tab':
51
- this.updateChosenValue();
52
- break;
53
- case 'ArrowDown':
54
- e.preventDefault();
55
- if (this.listElement) {
56
- void this.listElement.guxFocusFirstItem();
57
- }
58
- break;
59
- case 'ArrowUp':
60
- case 'ArrowRight':
61
- case 'ArrowLeft':
62
- e.preventDefault();
63
- break;
64
- default:
65
- e.preventDefault();
66
- if ('0' <= e.key && e.key <= '9') {
67
- this.openDropdown = true;
68
- if (this.focusedField.value.length < 8) {
69
- let newValue = this.focusedField.value + String(parseInt(e.key, 10));
70
- const arr = newValue.split(':');
71
- if (newValue.length > 6 && Number(arr[2].padEnd(2, '0')) > 59) {
72
- return;
73
- }
74
- if (!this.canBeCompletedToAValidTime(newValue)) {
75
- return;
76
- }
77
- if (arr[arr.length - 1].length === 2 && newValue.length < 8) {
78
- newValue += ':';
79
- }
80
- this.focusedField.value = newValue;
81
- this.suggestion = arr[0].padEnd(2, '0');
82
- }
83
- }
84
- }
85
- }
86
- else {
87
- switch (e.key) {
88
- case 'Escape':
89
- this.updateChosenValue();
90
- this.inputElement.focus();
91
- break;
92
- }
31
+ onBlur() {
32
+ if (this.valueLastChange !== this.value) {
33
+ simulateNativeEvent(this.root, 'change');
93
34
  }
94
35
  }
95
- canBeCompletedToAValidTime(str) {
96
- const max = fromIsoTime(str + this.max.slice(str.length));
97
- const min = fromIsoTime(str + this.min.slice(str.length));
98
- if ((this.minTimeObj <= max && max <= this.maxTimeObj) ||
99
- (this.minTimeObj <= min && min <= this.maxTimeObj)) {
100
- return true;
101
- }
102
- return false;
36
+ onClickOutside() {
37
+ this.expanded = false;
103
38
  }
104
- handleBackspace() {
105
- this.openDropdown = true;
106
- if (this.focusedField.selectionStart === this.focusedField.selectionEnd) {
107
- const newEnd = this.focusedField.value.endsWith(':') ? -2 : -1;
108
- this.focusedField.value = this.focusedField.value.slice(0, newEnd);
109
- this.suggestion = this.focusedField.value.split(':')[0].padEnd(2, '0');
39
+ handleKeydown(event) {
40
+ switch (event.key) {
41
+ case 'Escape':
42
+ case 'Tab':
43
+ this.expanded = false;
44
+ break;
110
45
  }
111
- else {
112
- this.focusedField.value = '';
46
+ }
47
+ async componentWillLoad() {
48
+ trackComponent(this.root);
49
+ this.i18n = await buildI18nForComponent(this.root, translationResources);
50
+ this.clockType = this.clockType || getLocaleClockType(this.root);
51
+ }
52
+ updateValue(value, fireChange = false) {
53
+ if (value !== this.value) {
54
+ this.value = value;
55
+ simulateNativeEvent(this.root, 'input');
56
+ if (fireChange) {
57
+ if (this.valueLastChange !== this.value) {
58
+ simulateNativeEvent(this.root, 'change');
59
+ this.valueLastChange = this.value;
60
+ }
61
+ }
113
62
  }
114
63
  }
115
- onListItemClick(value) {
116
- this.inputElement.value = value;
117
- this.updateChosenValue();
118
- this.inputElement.focus();
64
+ focusFirstItemInPopupList() {
65
+ setTimeout(() => {
66
+ void this.listElement.guxFocusFirstItem();
67
+ }, this.moveFocusDelay);
119
68
  }
120
- onClickOutside() {
121
- this.updateChosenValue();
69
+ toggleDropdown() {
70
+ this.expanded = !this.expanded;
71
+ if (this.expanded) {
72
+ this.focusFirstItemInPopupList();
73
+ }
122
74
  }
123
- updateChosenValue() {
124
- this.inputElement.value = this.validateValue(this.inputElement.value);
125
- this.value = this.inputElement.value;
126
- this.active = false;
127
- this.openDropdown = false;
75
+ handleClickDropdownValue(displayValue) {
76
+ const value = getValue(displayValue, this.clockType, isAm(this.value));
77
+ this.updateValue(value, true);
78
+ this.clockButton.focus();
79
+ this.expanded = false;
128
80
  }
129
- onMouseUp(e) {
130
- this.focusedField = this.getShadowDomEventTarget(e);
131
- if (this.focusedField === this.inputElement) {
132
- if (this.focusedField.selectionEnd !== this.inputElement.value.length) {
133
- this.inputElement.setSelectionRange(0, this.inputElement.value.length);
81
+ onHourKeyDown(event) {
82
+ switch (event.key) {
83
+ case 'Tab':
84
+ case 'ArrowLeft':
85
+ case 'ArrowRight':
86
+ case 'Escape':
87
+ break;
88
+ case 'ArrowDown':
89
+ event.preventDefault();
90
+ this.updateValue(incrementHour(this.value, -1));
91
+ break;
92
+ case 'ArrowUp':
93
+ event.preventDefault();
94
+ this.updateValue(incrementHour(this.value, 1));
95
+ break;
96
+ case 'Backspace':
97
+ case '0':
98
+ case '1':
99
+ case '2':
100
+ case '3':
101
+ case '4':
102
+ case '5':
103
+ case '6':
104
+ case '7':
105
+ case '8':
106
+ case '9': {
107
+ event.preventDefault();
108
+ this.updateValue(getValidValueHourChange(this.value, this.clockType, event.key, this.hourInputElement.selectionStart));
109
+ break;
134
110
  }
135
- else {
136
- this.inputElement.setSelectionRange(this.inputElement.value.length, this.inputElement.value.length);
111
+ default:
112
+ event.preventDefault();
113
+ }
114
+ }
115
+ onMinuteKeyDown(event) {
116
+ switch (event.key) {
117
+ case 'Tab':
118
+ case 'ArrowLeft':
119
+ case 'ArrowRight':
120
+ case 'Escape':
121
+ break;
122
+ case 'ArrowDown':
123
+ event.preventDefault();
124
+ this.updateValue(incrementMinute(this.value, -1));
125
+ break;
126
+ case 'ArrowUp':
127
+ event.preventDefault();
128
+ this.updateValue(incrementMinute(this.value, 1));
129
+ break;
130
+ case 'Backspace':
131
+ case '0':
132
+ case '1':
133
+ case '2':
134
+ case '3':
135
+ case '4':
136
+ case '5':
137
+ case '6':
138
+ case '7':
139
+ case '8':
140
+ case '9': {
141
+ event.preventDefault();
142
+ this.updateValue(getValidValueMinuteChange(this.value, event.key, this.minuteInputElement.selectionStart));
143
+ break;
137
144
  }
145
+ default:
146
+ event.preventDefault();
138
147
  }
139
148
  }
140
- onFocusIn(e) {
141
- this.focusedField = this.getShadowDomEventTarget(e);
142
- this.active = true;
149
+ onAmPmButtonKeyDown(event) {
150
+ switch (event.key) {
151
+ case 'ArrowDown':
152
+ case 'ArrowUp':
153
+ this.toggleAmPm(event);
154
+ break;
155
+ }
143
156
  }
144
- isValidTime(time) {
145
- const postionArray = time.split(':');
146
- const maxTimeArray = MAX_TIME.split(':');
147
- for (let i = 0; i < postionArray.length; i++) {
148
- if (Number(postionArray[i]) > Number(maxTimeArray[i])) {
149
- return false;
150
- }
157
+ onListKeyDown(event) {
158
+ switch (event.key) {
159
+ case 'Escape':
160
+ this.expanded = false;
161
+ this.clockButton.focus();
162
+ break;
151
163
  }
152
- return true;
153
164
  }
154
- validateUpperBound() {
155
- this.max = this.isInFormat(this.max) ? this.max : MAX_TIME;
156
- this.max = this.isValidTime(this.max) ? this.max : MAX_TIME;
165
+ toggleAmPm(event) {
166
+ event.preventDefault();
167
+ this.updateValue(incrementHour(this.value, 12), true);
157
168
  }
158
- validateLowerBound() {
159
- this.min = this.isInFormat(this.min) ? this.min : MIN_TIME;
160
- this.min = this.isValidTime(this.min) ? this.min : MIN_TIME;
169
+ getAmPmString() {
170
+ return isAm(this.value) ? this.i18n('am') : this.i18n('pm');
161
171
  }
162
- validateBounds() {
163
- this.validateUpperBound();
164
- this.validateLowerBound();
165
- this.maxTimeObj = fromIsoTime(this.max);
166
- this.minTimeObj = fromIsoTime(this.min);
167
- if (this.maxTimeObj < this.minTimeObj) {
168
- this.max = MAX_TIME;
169
- this.min = MIN_TIME;
170
- this.maxTimeObj = fromIsoTime(this.max);
171
- this.minTimeObj = fromIsoTime(this.min);
172
- }
172
+ renderNumberInput() {
173
+ 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) })));
173
174
  }
174
- validateValue(value) {
175
- let validatedValue = this.isInFormat(value) ? value : '';
176
- validatedValue =
177
- validatedValue !== '' && this.isValidTime(validatedValue)
178
- ? validatedValue
179
- : '';
180
- if (validatedValue) {
181
- const valueTimeObj = fromIsoTime(validatedValue);
182
- validatedValue =
183
- this.minTimeObj <= valueTimeObj && valueTimeObj <= this.maxTimeObj
184
- ? validatedValue
185
- : '';
175
+ renderAmPmSelector() {
176
+ if (this.clockType === '12h') {
177
+ 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()));
186
178
  }
187
- return validatedValue;
188
179
  }
189
- async componentWillLoad() {
190
- trackComponent(this.root);
191
- this.i18n = await buildI18nForComponent(this.root, translationResources);
192
- this.validateBounds();
193
- this.value = this.validateValue(this.value);
180
+ renderClockButton() {
181
+ return (h("button", { class: {
182
+ 'gux-clock-button': true,
183
+ 'gux-active': this.expanded
184
+ }, 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" })));
194
185
  }
195
- isInFormat(value) {
196
- const regex = /^\d{2}:\d{2}:\d{2}$/;
197
- return regex.test(value);
186
+ renderTimeListItems() {
187
+ return getTimeDisplayValues(this.interval, this.clockType).map(displayValue => (h("gux-list-item", { onClick: () => this.handleClickDropdownValue(displayValue) }, displayValue)));
198
188
  }
199
- render() {
200
- 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 => {
201
- return (h("gux-list-item", { onClick: () => this.onListItemClick(value) }, value));
202
- }))))));
189
+ renderTarget() {
190
+ return (h("div", { class: "gux-input-time", slot: "target" }, this.renderNumberInput(), this.renderAmPmSelector(), this.renderClockButton()));
203
191
  }
204
- buildDropdownOptions() {
205
- const dropDownOptions = [];
206
- for (let i = 0; i < 60; i += this.interval) {
207
- const time = [
208
- this.suggestion.toString().padStart(2, '0'),
209
- i.toString().padStart(2, '0'),
210
- '00'
211
- ].join(':');
212
- const timeObj = fromIsoTime(time);
213
- if (this.minTimeObj <= timeObj && timeObj <= this.maxTimeObj) {
214
- dropDownOptions.push(time);
215
- }
216
- }
217
- return dropDownOptions;
192
+ renderPopup() {
193
+ return (h("div", { slot: "popup", class: "gux-list-container", onKeyDown: (e) => this.onListKeyDown(e) }, h("gux-list", { ref: el => (this.listElement = el) }, this.renderTimeListItems())));
194
+ }
195
+ render() {
196
+ return (h("gux-popup", { class: {
197
+ 'gux-time-picker': true,
198
+ 'gux-error': this.hasError
199
+ }, expanded: this.expanded, disabled: this.disabled }, this.renderTarget(), this.renderPopup()));
218
200
  }
219
201
  static get is() { return "gux-time-picker-beta"; }
220
202
  static get encapsulation() { return "shadow"; }
@@ -234,9 +216,14 @@ export class GuxTimePicker {
234
216
  "type": "string",
235
217
  "mutable": true,
236
218
  "complexType": {
237
- "original": "string",
238
- "resolved": "string",
239
- "references": {}
219
+ "original": "GuxISOHourMinute",
220
+ "resolved": "`${string}:${string}`",
221
+ "references": {
222
+ "GuxISOHourMinute": {
223
+ "location": "import",
224
+ "path": "./gux-time-picker.type"
225
+ }
226
+ }
240
227
  },
241
228
  "required": false,
242
229
  "optional": false,
@@ -245,16 +232,21 @@ export class GuxTimePicker {
245
232
  "text": ""
246
233
  },
247
234
  "attribute": "value",
248
- "reflect": true,
249
- "defaultValue": "''"
235
+ "reflect": false,
236
+ "defaultValue": "'00:00'"
250
237
  },
251
238
  "interval": {
252
239
  "type": "number",
253
- "mutable": true,
240
+ "mutable": false,
254
241
  "complexType": {
255
- "original": "number",
256
- "resolved": "number",
257
- "references": {}
242
+ "original": "GuxMinuteInterval",
243
+ "resolved": "15 | 30 | 60",
244
+ "references": {
245
+ "GuxMinuteInterval": {
246
+ "location": "import",
247
+ "path": "./gux-time-picker.type"
248
+ }
249
+ }
258
250
  },
259
251
  "required": false,
260
252
  "optional": false,
@@ -264,14 +256,14 @@ export class GuxTimePicker {
264
256
  },
265
257
  "attribute": "interval",
266
258
  "reflect": false,
267
- "defaultValue": "DEFAULT_INTERVAL"
259
+ "defaultValue": "60"
268
260
  },
269
- "max": {
270
- "type": "string",
271
- "mutable": true,
261
+ "disabled": {
262
+ "type": "boolean",
263
+ "mutable": false,
272
264
  "complexType": {
273
- "original": "string",
274
- "resolved": "string",
265
+ "original": "boolean",
266
+ "resolved": "boolean",
275
267
  "references": {}
276
268
  },
277
269
  "required": false,
@@ -280,16 +272,16 @@ export class GuxTimePicker {
280
272
  "tags": [],
281
273
  "text": ""
282
274
  },
283
- "attribute": "max",
275
+ "attribute": "disabled",
284
276
  "reflect": false,
285
- "defaultValue": "MAX_TIME"
277
+ "defaultValue": "false"
286
278
  },
287
- "min": {
288
- "type": "string",
289
- "mutable": true,
279
+ "required": {
280
+ "type": "boolean",
281
+ "mutable": false,
290
282
  "complexType": {
291
- "original": "string",
292
- "resolved": "string",
283
+ "original": "boolean",
284
+ "resolved": "boolean",
293
285
  "references": {}
294
286
  },
295
287
  "required": false,
@@ -298,16 +290,16 @@ export class GuxTimePicker {
298
290
  "tags": [],
299
291
  "text": ""
300
292
  },
301
- "attribute": "min",
293
+ "attribute": "required",
302
294
  "reflect": false,
303
- "defaultValue": "MIN_TIME"
295
+ "defaultValue": "false"
304
296
  },
305
- "label": {
306
- "type": "string",
297
+ "hasError": {
298
+ "type": "boolean",
307
299
  "mutable": false,
308
300
  "complexType": {
309
- "original": "string",
310
- "resolved": "string",
301
+ "original": "boolean",
302
+ "resolved": "boolean",
311
303
  "references": {}
312
304
  },
313
305
  "required": false,
@@ -316,60 +308,56 @@ export class GuxTimePicker {
316
308
  "tags": [],
317
309
  "text": ""
318
310
  },
319
- "attribute": "label",
311
+ "attribute": "has-error",
320
312
  "reflect": false,
321
- "defaultValue": "''"
313
+ "defaultValue": "false"
314
+ },
315
+ "clockType": {
316
+ "type": "string",
317
+ "mutable": true,
318
+ "complexType": {
319
+ "original": "GuxClockType",
320
+ "resolved": "\"12h\" | \"24h\"",
321
+ "references": {
322
+ "GuxClockType": {
323
+ "location": "import",
324
+ "path": "./gux-time-picker.type"
325
+ }
326
+ }
327
+ },
328
+ "required": false,
329
+ "optional": false,
330
+ "docs": {
331
+ "tags": [],
332
+ "text": ""
333
+ },
334
+ "attribute": "clock-type",
335
+ "reflect": false
322
336
  }
323
337
  };
324
338
  }
325
339
  static get states() {
326
340
  return {
327
- "active": {},
328
- "openDropdown": {},
329
- "suggestion": {}
341
+ "expanded": {}
330
342
  };
331
343
  }
332
- static get events() {
333
- return [{
334
- "method": "changed",
335
- "name": "changed",
336
- "bubbles": true,
337
- "cancelable": true,
338
- "composed": true,
339
- "docs": {
340
- "tags": [],
341
- "text": ""
342
- },
343
- "complexType": {
344
- "original": "string",
345
- "resolved": "string",
346
- "references": {}
347
- }
348
- }];
349
- }
350
344
  static get elementRef() { return "root"; }
351
- static get watchers() {
352
- return [{
353
- "propName": "value",
354
- "methodName": "watchValue"
355
- }];
356
- }
357
345
  static get listeners() {
358
346
  return [{
359
- "name": "keydown",
360
- "method": "onKeyDown",
347
+ "name": "focus",
348
+ "method": "onFocus",
361
349
  "target": undefined,
362
350
  "capture": false,
363
351
  "passive": false
364
352
  }, {
365
- "name": "mouseup",
366
- "method": "onMouseUp",
353
+ "name": "blur",
354
+ "method": "onBlur",
367
355
  "target": undefined,
368
356
  "capture": false,
369
- "passive": true
357
+ "passive": false
370
358
  }, {
371
- "name": "focusin",
372
- "method": "onFocusIn",
359
+ "name": "keydown",
360
+ "method": "handleKeydown",
373
361
  "target": undefined,
374
362
  "capture": false,
375
363
  "passive": false
@@ -378,4 +366,4 @@ export class GuxTimePicker {
378
366
  }
379
367
  __decorate([
380
368
  OnClickOutside({ triggerEvents: 'mousedown' })
381
- ], GuxTimePicker.prototype, "onClickOutside", null);
369
+ ], GuxTimePickerBeta.prototype, "onClickOutside", null);