@ui5/webcomponents 1.22.0-rc.2 → 1.22.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 (519) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Avatar.d.ts +6 -6
  4. package/dist/Avatar.js +5 -5
  5. package/dist/Avatar.js.map +1 -1
  6. package/dist/AvatarGroup.d.ts +17 -5
  7. package/dist/AvatarGroup.js +7 -8
  8. package/dist/AvatarGroup.js.map +1 -1
  9. package/dist/Badge.d.ts +2 -2
  10. package/dist/Badge.js.map +1 -1
  11. package/dist/Breadcrumbs.d.ts +1 -15
  12. package/dist/Breadcrumbs.js +12 -81
  13. package/dist/Breadcrumbs.js.map +1 -1
  14. package/dist/BreadcrumbsItem.d.ts +4 -0
  15. package/dist/BreadcrumbsItem.js +5 -0
  16. package/dist/BreadcrumbsItem.js.map +1 -1
  17. package/dist/Button.d.ts +20 -9
  18. package/dist/Button.js +3 -2
  19. package/dist/Button.js.map +1 -1
  20. package/dist/Card.d.ts +12 -1
  21. package/dist/Card.js.map +1 -1
  22. package/dist/CardHeader.d.ts +1 -1
  23. package/dist/CardHeader.js.map +1 -1
  24. package/dist/CheckBox.js +4 -2
  25. package/dist/CheckBox.js.map +1 -1
  26. package/dist/ColorPalette.d.ts +11 -2
  27. package/dist/ColorPalette.js.map +1 -1
  28. package/dist/ColorPaletteItem.d.ts +2 -3
  29. package/dist/ColorPaletteItem.js +1 -2
  30. package/dist/ColorPaletteItem.js.map +1 -1
  31. package/dist/ColorPalettePopover.d.ts +1 -2
  32. package/dist/ColorPalettePopover.js +0 -1
  33. package/dist/ColorPalettePopover.js.map +1 -1
  34. package/dist/ComboBox.d.ts +13 -1
  35. package/dist/ComboBox.js.map +1 -1
  36. package/dist/DatePicker.d.ts +5 -1
  37. package/dist/DatePicker.js +33 -6
  38. package/dist/DatePicker.js.map +1 -1
  39. package/dist/DateTimePicker.d.ts +1 -7
  40. package/dist/DateTimePicker.js +6 -17
  41. package/dist/DateTimePicker.js.map +1 -1
  42. package/dist/Icon.d.ts +8 -1
  43. package/dist/Icon.js.map +1 -1
  44. package/dist/Input.d.ts +18 -3
  45. package/dist/Input.js +0 -1
  46. package/dist/Input.js.map +1 -1
  47. package/dist/Link.d.ts +9 -7
  48. package/dist/Link.js +4 -3
  49. package/dist/Link.js.map +1 -1
  50. package/dist/ListItem.d.ts +4 -3
  51. package/dist/ListItem.js +1 -1
  52. package/dist/ListItem.js.map +1 -1
  53. package/dist/ListItemBase.d.ts +2 -1
  54. package/dist/ListItemBase.js +3 -2
  55. package/dist/ListItemBase.js.map +1 -1
  56. package/dist/MessageStrip.d.ts +1 -1
  57. package/dist/MessageStrip.js.map +1 -1
  58. package/dist/MultiComboBox.d.ts +12 -1
  59. package/dist/MultiComboBox.js.map +1 -1
  60. package/dist/MultiInput.d.ts +8 -2
  61. package/dist/MultiInput.js.map +1 -1
  62. package/dist/Option.d.ts +3 -2
  63. package/dist/Option.js +2 -1
  64. package/dist/Option.js.map +1 -1
  65. package/dist/Popover.js +6 -6
  66. package/dist/Popover.js.map +1 -1
  67. package/dist/SegmentedButton.d.ts +11 -3
  68. package/dist/SegmentedButton.js.map +1 -1
  69. package/dist/SegmentedButtonItem.d.ts +1 -2
  70. package/dist/SegmentedButtonItem.js +0 -1
  71. package/dist/SegmentedButtonItem.js.map +1 -1
  72. package/dist/Select.d.ts +17 -1
  73. package/dist/Select.js +6 -9
  74. package/dist/Select.js.map +1 -1
  75. package/dist/SelectMenu.d.ts +1 -1
  76. package/dist/SelectMenu.js +0 -1
  77. package/dist/SelectMenu.js.map +1 -1
  78. package/dist/SelectMenuOption.d.ts +2 -1
  79. package/dist/SelectMenuOption.js +0 -1
  80. package/dist/SelectMenuOption.js.map +1 -1
  81. package/dist/SuggestionGroupItem.d.ts +1 -1
  82. package/dist/SuggestionGroupItem.js.map +1 -1
  83. package/dist/SuggestionItem.d.ts +1 -1
  84. package/dist/SuggestionItem.js.map +1 -1
  85. package/dist/Tab.d.ts +12 -12
  86. package/dist/Tab.js +22 -23
  87. package/dist/Tab.js.map +1 -1
  88. package/dist/TabContainer.d.ts +33 -2
  89. package/dist/TabContainer.js +30 -30
  90. package/dist/TabContainer.js.map +1 -1
  91. package/dist/TabSeparator.d.ts +2 -2
  92. package/dist/TabSeparator.js +2 -2
  93. package/dist/TabSeparator.js.map +1 -1
  94. package/dist/Table.d.ts +14 -1
  95. package/dist/Table.js +8 -8
  96. package/dist/Table.js.map +1 -1
  97. package/dist/TableGroupRow.d.ts +4 -4
  98. package/dist/TableGroupRow.js +5 -5
  99. package/dist/TableGroupRow.js.map +1 -1
  100. package/dist/TableRow.d.ts +4 -4
  101. package/dist/TableRow.js +6 -6
  102. package/dist/TableRow.js.map +1 -1
  103. package/dist/TimePickerInternals.d.ts +1 -0
  104. package/dist/TimePickerInternals.js.map +1 -1
  105. package/dist/TimeSelectionClocks.d.ts +18 -17
  106. package/dist/TimeSelectionClocks.js +48 -18
  107. package/dist/TimeSelectionClocks.js.map +1 -1
  108. package/dist/Toast.d.ts +1 -8
  109. package/dist/Toast.js +21 -19
  110. package/dist/Toast.js.map +1 -1
  111. package/dist/ToggleSpinButton.d.ts +0 -1
  112. package/dist/ToggleSpinButton.js +0 -1
  113. package/dist/ToggleSpinButton.js.map +1 -1
  114. package/dist/Token.d.ts +3 -2
  115. package/dist/Token.js +1 -1
  116. package/dist/Token.js.map +1 -1
  117. package/dist/Tokenizer.d.ts +1 -1
  118. package/dist/Tokenizer.js.map +1 -1
  119. package/dist/Toolbar.d.ts +1 -1
  120. package/dist/Toolbar.js +3 -3
  121. package/dist/Toolbar.js.map +1 -1
  122. package/dist/ToolbarButton.d.ts +5 -6
  123. package/dist/ToolbarButton.js.map +1 -1
  124. package/dist/ToolbarSelect.js +4 -4
  125. package/dist/ToolbarSelect.js.map +1 -1
  126. package/dist/Tree.js +2 -2
  127. package/dist/Tree.js.map +1 -1
  128. package/dist/TreeItemBase.d.ts +2 -2
  129. package/dist/TreeItemBase.js +4 -4
  130. package/dist/TreeItemBase.js.map +1 -1
  131. package/dist/bundle.esm.js.map +1 -1
  132. package/dist/css/themes/Avatar.css +1 -1
  133. package/dist/css/themes/AvatarGroup.css +1 -1
  134. package/dist/css/themes/Badge.css +1 -1
  135. package/dist/css/themes/Breadcrumbs.css +1 -1
  136. package/dist/css/themes/BusyIndicator.css +1 -1
  137. package/dist/css/themes/Button.css +1 -1
  138. package/dist/css/themes/Calendar.css +1 -1
  139. package/dist/css/themes/CalendarHeader.css +1 -1
  140. package/dist/css/themes/Card.css +1 -1
  141. package/dist/css/themes/CardHeader.css +1 -1
  142. package/dist/css/themes/Carousel.css +1 -1
  143. package/dist/css/themes/CheckBox.css +1 -1
  144. package/dist/css/themes/ColorPalette.css +1 -1
  145. package/dist/css/themes/ColorPaletteItem.css +1 -1
  146. package/dist/css/themes/ColorPalettePopover.css +1 -1
  147. package/dist/css/themes/ColorPicker.css +1 -1
  148. package/dist/css/themes/ComboBox.css +1 -1
  149. package/dist/css/themes/CustomListItem.css +1 -1
  150. package/dist/css/themes/DatePicker.css +1 -1
  151. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  152. package/dist/css/themes/DayPicker.css +1 -1
  153. package/dist/css/themes/Dialog.css +1 -1
  154. package/dist/css/themes/FileUploader.css +1 -1
  155. package/dist/css/themes/GroupHeaderListItem.css +1 -1
  156. package/dist/css/themes/GrowingButton.css +1 -1
  157. package/dist/css/themes/Icon.css +1 -1
  158. package/dist/css/themes/Input.css +1 -1
  159. package/dist/css/themes/InputIcon.css +1 -1
  160. package/dist/css/themes/InputSharedStyles.css +1 -1
  161. package/dist/css/themes/Link.css +1 -1
  162. package/dist/css/themes/List.css +1 -1
  163. package/dist/css/themes/ListItem.css +1 -1
  164. package/dist/css/themes/ListItemBase.css +1 -1
  165. package/dist/css/themes/Menu.css +1 -1
  166. package/dist/css/themes/MessageStrip.css +1 -1
  167. package/dist/css/themes/MonthPicker.css +1 -1
  168. package/dist/css/themes/MultiComboBox.css +1 -1
  169. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  170. package/dist/css/themes/MultiInput.css +1 -1
  171. package/dist/css/themes/NavigationMenu.css +1 -1
  172. package/dist/css/themes/Panel.css +1 -1
  173. package/dist/css/themes/Popover.css +1 -1
  174. package/dist/css/themes/PopupStaticAreaStyles.css +1 -1
  175. package/dist/css/themes/PopupsCommon.css +1 -1
  176. package/dist/css/themes/ProgressIndicator.css +1 -1
  177. package/dist/css/themes/RadioButton.css +1 -1
  178. package/dist/css/themes/RangeSlider.css +1 -1
  179. package/dist/css/themes/RatingIndicator.css +1 -1
  180. package/dist/css/themes/ResponsivePopover.css +1 -1
  181. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  182. package/dist/css/themes/SegmentedButton.css +1 -1
  183. package/dist/css/themes/Select.css +1 -1
  184. package/dist/css/themes/SelectMenu.css +1 -1
  185. package/dist/css/themes/SelectPopover.css +1 -1
  186. package/dist/css/themes/SliderBase.css +1 -1
  187. package/dist/css/themes/SplitButton.css +1 -1
  188. package/dist/css/themes/StepInput.css +1 -1
  189. package/dist/css/themes/Switch.css +1 -1
  190. package/dist/css/themes/TabContainer.css +1 -1
  191. package/dist/css/themes/TabInOverflow.css +1 -1
  192. package/dist/css/themes/TabInStrip.css +1 -1
  193. package/dist/css/themes/TabSemanticIcon.css +1 -1
  194. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  195. package/dist/css/themes/Table.css +1 -1
  196. package/dist/css/themes/TableCell.css +1 -1
  197. package/dist/css/themes/TableColumn.css +1 -1
  198. package/dist/css/themes/TableGroupRow.css +1 -1
  199. package/dist/css/themes/TableRow.css +1 -1
  200. package/dist/css/themes/TextArea.css +1 -1
  201. package/dist/css/themes/TimePicker.css +1 -1
  202. package/dist/css/themes/TimePickerPopover.css +1 -1
  203. package/dist/css/themes/TimeSelectionClocks.css +1 -1
  204. package/dist/css/themes/Toast.css +1 -1
  205. package/dist/css/themes/ToggleButton.css +1 -1
  206. package/dist/css/themes/Token.css +1 -1
  207. package/dist/css/themes/Tokenizer.css +1 -1
  208. package/dist/css/themes/TokenizerPopover.css +1 -1
  209. package/dist/css/themes/Toolbar.css +1 -1
  210. package/dist/css/themes/ToolbarPopover.css +1 -1
  211. package/dist/css/themes/TreeItem.css +1 -1
  212. package/dist/css/themes/ValueStateMessage.css +1 -1
  213. package/dist/css/themes/WheelSlider.css +1 -1
  214. package/dist/css/themes/YearPicker.css +1 -1
  215. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  216. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  217. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  218. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  219. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  220. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  221. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  222. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  223. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  224. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  225. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  226. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  227. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  228. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  229. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  230. package/dist/custom-elements-internal.json +306 -79
  231. package/dist/custom-elements.json +119 -26
  232. package/dist/features/InputSuggestions.d.ts +2 -2
  233. package/dist/features/InputSuggestions.js.map +1 -1
  234. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  235. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  236. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  237. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  238. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  239. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  240. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  241. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  242. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  243. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  244. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  245. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  246. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  247. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  248. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  249. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  250. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  251. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  252. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  253. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +3 -3
  254. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  255. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +1 -1
  256. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js.map +1 -1
  257. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
  258. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
  259. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +1 -1
  260. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js.map +1 -1
  261. package/dist/generated/templates/TabInOverflowTemplate.lit.js +1 -1
  262. package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +1 -1
  263. package/dist/generated/templates/TabInStripTemplate.lit.js +1 -1
  264. package/dist/generated/templates/TabInStripTemplate.lit.js.map +1 -1
  265. package/dist/generated/templates/TableGroupRowTemplate.lit.js +1 -1
  266. package/dist/generated/templates/TableGroupRowTemplate.lit.js.map +1 -1
  267. package/dist/generated/templates/TableRowTemplate.lit.js +1 -1
  268. package/dist/generated/templates/TableRowTemplate.lit.js.map +1 -1
  269. package/dist/generated/templates/TableTemplate.lit.js +1 -1
  270. package/dist/generated/templates/TableTemplate.lit.js.map +1 -1
  271. package/dist/generated/templates/TimeSelectionClocksTemplate.lit.js +3 -3
  272. package/dist/generated/templates/TimeSelectionClocksTemplate.lit.js.map +1 -1
  273. package/dist/generated/templates/ToastTemplate.lit.js +2 -2
  274. package/dist/generated/templates/ToastTemplate.lit.js.map +1 -1
  275. package/dist/generated/templates/TokenTemplate.lit.js +1 -1
  276. package/dist/generated/templates/TokenTemplate.lit.js.map +1 -1
  277. package/dist/generated/themes/Avatar.css.js +1 -1
  278. package/dist/generated/themes/Avatar.css.js.map +1 -1
  279. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  280. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  281. package/dist/generated/themes/Badge.css.js +1 -1
  282. package/dist/generated/themes/Badge.css.js.map +1 -1
  283. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  284. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  285. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  286. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  287. package/dist/generated/themes/Button.css.js +1 -1
  288. package/dist/generated/themes/Button.css.js.map +1 -1
  289. package/dist/generated/themes/Calendar.css.js +1 -1
  290. package/dist/generated/themes/Calendar.css.js.map +1 -1
  291. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  292. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  293. package/dist/generated/themes/Card.css.js +1 -1
  294. package/dist/generated/themes/Card.css.js.map +1 -1
  295. package/dist/generated/themes/CardHeader.css.js +1 -1
  296. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  297. package/dist/generated/themes/Carousel.css.js +1 -1
  298. package/dist/generated/themes/Carousel.css.js.map +1 -1
  299. package/dist/generated/themes/CheckBox.css.js +1 -1
  300. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  301. package/dist/generated/themes/ColorPalette.css.js +1 -1
  302. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  303. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  304. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  305. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  306. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  307. package/dist/generated/themes/ColorPicker.css.js +1 -1
  308. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  309. package/dist/generated/themes/ComboBox.css.js +1 -1
  310. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  311. package/dist/generated/themes/CustomListItem.css.js +1 -1
  312. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  313. package/dist/generated/themes/DatePicker.css.js +1 -1
  314. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  315. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  316. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  317. package/dist/generated/themes/DayPicker.css.js +1 -1
  318. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  319. package/dist/generated/themes/Dialog.css.js +1 -1
  320. package/dist/generated/themes/Dialog.css.js.map +1 -1
  321. package/dist/generated/themes/FileUploader.css.js +1 -1
  322. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  323. package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
  324. package/dist/generated/themes/GroupHeaderListItem.css.js.map +1 -1
  325. package/dist/generated/themes/GrowingButton.css.js +1 -1
  326. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  327. package/dist/generated/themes/Icon.css.js +1 -1
  328. package/dist/generated/themes/Icon.css.js.map +1 -1
  329. package/dist/generated/themes/Input.css.js +1 -1
  330. package/dist/generated/themes/Input.css.js.map +1 -1
  331. package/dist/generated/themes/InputIcon.css.js +1 -1
  332. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  333. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  334. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  335. package/dist/generated/themes/Link.css.js +1 -1
  336. package/dist/generated/themes/Link.css.js.map +1 -1
  337. package/dist/generated/themes/List.css.js +1 -1
  338. package/dist/generated/themes/List.css.js.map +1 -1
  339. package/dist/generated/themes/ListItem.css.js +1 -1
  340. package/dist/generated/themes/ListItem.css.js.map +1 -1
  341. package/dist/generated/themes/ListItemBase.css.js +1 -1
  342. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  343. package/dist/generated/themes/Menu.css.js +1 -1
  344. package/dist/generated/themes/Menu.css.js.map +1 -1
  345. package/dist/generated/themes/MessageStrip.css.js +1 -1
  346. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  347. package/dist/generated/themes/MonthPicker.css.js +1 -1
  348. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  349. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  350. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  351. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  352. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  353. package/dist/generated/themes/MultiInput.css.js +1 -1
  354. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  355. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  356. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  357. package/dist/generated/themes/Panel.css.js +1 -1
  358. package/dist/generated/themes/Panel.css.js.map +1 -1
  359. package/dist/generated/themes/Popover.css.js +1 -1
  360. package/dist/generated/themes/Popover.css.js.map +1 -1
  361. package/dist/generated/themes/PopupStaticAreaStyles.css.js +1 -1
  362. package/dist/generated/themes/PopupStaticAreaStyles.css.js.map +1 -1
  363. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  364. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  365. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  366. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  367. package/dist/generated/themes/RadioButton.css.js +1 -1
  368. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  369. package/dist/generated/themes/RangeSlider.css.js +1 -1
  370. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  371. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  372. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  373. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  374. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  375. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  376. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  377. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  378. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  379. package/dist/generated/themes/Select.css.js +1 -1
  380. package/dist/generated/themes/Select.css.js.map +1 -1
  381. package/dist/generated/themes/SelectMenu.css.js +1 -1
  382. package/dist/generated/themes/SelectMenu.css.js.map +1 -1
  383. package/dist/generated/themes/SelectPopover.css.js +1 -1
  384. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  385. package/dist/generated/themes/SliderBase.css.js +1 -1
  386. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  387. package/dist/generated/themes/SplitButton.css.js +1 -1
  388. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  389. package/dist/generated/themes/StepInput.css.js +1 -1
  390. package/dist/generated/themes/StepInput.css.js.map +1 -1
  391. package/dist/generated/themes/Switch.css.js +1 -1
  392. package/dist/generated/themes/Switch.css.js.map +1 -1
  393. package/dist/generated/themes/TabContainer.css.js +1 -1
  394. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  395. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  396. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  397. package/dist/generated/themes/TabInStrip.css.js +1 -1
  398. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  399. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  400. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  401. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  402. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  403. package/dist/generated/themes/Table.css.js +1 -1
  404. package/dist/generated/themes/Table.css.js.map +1 -1
  405. package/dist/generated/themes/TableCell.css.js +1 -1
  406. package/dist/generated/themes/TableCell.css.js.map +1 -1
  407. package/dist/generated/themes/TableColumn.css.js +1 -1
  408. package/dist/generated/themes/TableColumn.css.js.map +1 -1
  409. package/dist/generated/themes/TableGroupRow.css.js +1 -1
  410. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  411. package/dist/generated/themes/TableRow.css.js +1 -1
  412. package/dist/generated/themes/TableRow.css.js.map +1 -1
  413. package/dist/generated/themes/TextArea.css.js +1 -1
  414. package/dist/generated/themes/TextArea.css.js.map +1 -1
  415. package/dist/generated/themes/TimePicker.css.js +1 -1
  416. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  417. package/dist/generated/themes/TimePickerPopover.css.js +1 -1
  418. package/dist/generated/themes/TimePickerPopover.css.js.map +1 -1
  419. package/dist/generated/themes/TimeSelectionClocks.css.js +1 -1
  420. package/dist/generated/themes/TimeSelectionClocks.css.js.map +1 -1
  421. package/dist/generated/themes/Toast.css.js +1 -1
  422. package/dist/generated/themes/Toast.css.js.map +1 -1
  423. package/dist/generated/themes/ToggleButton.css.js +1 -1
  424. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  425. package/dist/generated/themes/Token.css.js +1 -1
  426. package/dist/generated/themes/Token.css.js.map +1 -1
  427. package/dist/generated/themes/Tokenizer.css.js +1 -1
  428. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  429. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  430. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  431. package/dist/generated/themes/Toolbar.css.js +1 -1
  432. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  433. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  434. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  435. package/dist/generated/themes/TreeItem.css.js +1 -1
  436. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  437. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  438. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  439. package/dist/generated/themes/WheelSlider.css.js +1 -1
  440. package/dist/generated/themes/WheelSlider.css.js.map +1 -1
  441. package/dist/generated/themes/YearPicker.css.js +1 -1
  442. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  443. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  444. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
  445. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  446. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
  447. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  448. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
  449. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  450. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  451. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  452. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  453. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  454. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  455. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  456. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  457. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  458. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  459. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  460. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  461. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  462. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  463. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  464. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  465. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  466. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  467. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  468. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  469. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  470. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  471. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  472. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  473. package/package.json +12 -11
  474. package/src/Breadcrumbs.hbs +4 -16
  475. package/src/ColorPaletteItem.hbs +1 -1
  476. package/src/DateTimePickerPopover.hbs +8 -11
  477. package/src/GroupHeaderListItem.hbs +1 -1
  478. package/src/TabInOverflow.hbs +1 -1
  479. package/src/TabInStrip.hbs +3 -3
  480. package/src/Table.hbs +1 -1
  481. package/src/TableGroupRow.hbs +1 -1
  482. package/src/TableRow.hbs +1 -1
  483. package/src/TimeSelectionClocks.hbs +5 -1
  484. package/src/Toast.hbs +2 -10
  485. package/src/Token.hbs +1 -1
  486. package/src/i18n/messagebundle_en.properties +4 -0
  487. package/src/i18n/messagebundle_en_US_saprigi.properties +4 -0
  488. package/src/i18n/messagebundle_sv.properties +2 -2
  489. package/src/i18n/messagebundle_uk.properties +3 -3
  490. package/src/themes/Breadcrumbs.css +1 -16
  491. package/src/themes/DateTimePickerPopover.css +10 -1
  492. package/src/themes/List.css +1 -1
  493. package/src/themes/PopupStaticAreaStyles.css +1 -2
  494. package/src/themes/PopupsCommon.css +2 -0
  495. package/src/themes/SplitButton.css +3 -3
  496. package/src/themes/TabInStrip.css +1 -1
  497. package/src/themes/TimePickerPopover.css +4 -0
  498. package/src/themes/TimeSelectionClocks.css +3 -5
  499. package/src/themes/Toast.css +24 -23
  500. package/src/themes/base/PopupStaticAreaStyles-parameters.css +3 -0
  501. package/src/themes/base/sizes-parameters.css +6 -2
  502. package/src/themes/sap_belize/parameters-bundle.css +1 -0
  503. package/src/themes/sap_belize_hcb/parameters-bundle.css +1 -0
  504. package/src/themes/sap_belize_hcw/parameters-bundle.css +1 -0
  505. package/src/themes/sap_fiori_3/parameters-bundle.css +1 -0
  506. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
  507. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
  508. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
  509. package/src/themes/sap_horizon/Breadcrumbs-parameters.css +1 -1
  510. package/src/themes/sap_horizon/parameters-bundle.css +1 -0
  511. package/src/themes/sap_horizon_dark/Breadcrumbs-parameters.css +1 -1
  512. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -0
  513. package/src/themes/sap_horizon_dark_exp/Breadcrumbs-parameters.css +1 -1
  514. package/src/themes/sap_horizon_exp/Breadcrumbs-parameters.css +1 -1
  515. package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -0
  516. package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -0
  517. package/dist/Interfaces.d.ts +0 -180
  518. package/dist/Interfaces.js +0 -2
  519. package/dist/Interfaces.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TimePickerInternals.js","sourceRoot":"","sources":["../src/TimePickerInternals.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAE3E,OAAO,SAAS,MAAM,kDAAkD,CAAC;AACzE,OAAO,UAAU,MAAM,oDAAoD,CAAC;AAC5E,OAAO,2BAA2B,MAAM,qEAAqE,CAAC;AAC9G,OAAO,qEAAqE,CAAC,CAAC,gCAAgC;AAC9G,OAAO,YAAY,MAAM,oDAAoD,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,6DAA6D,CAAC;AACxF,OAAO,OAAO,MAAM,+CAA+C,CAAC;AACpE,OAA4B,sBAAsB,CAAC;AACnD,OAAO,EACN,sBAAsB,EACtB,uBAAuB,GAEvB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACN,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,GAC3B,MAAM,mCAAmC,CAAC;AAyC3C,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,wCAAwC;AAE1E;;;;;;;;;;;;;GAaG;AAeH,IAAM,mBAAmB,2BAAzB,MAAM,mBAAoB,SAAQ,UAAU;IA2F3C,MAAM,CAAC,KAAK,CAAC,QAAQ;QACpB,CAAC,qBAAmB,CAAC,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpD,aAAa,CAAC,oBAAoB,CAAC;YACnC,SAAS,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,EAAE,CAAC;SACtF,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,mBAAmB;QACtB,yDAAyD;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,YAAyC,CAAC;QAC/E,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,qCAAqC;QAChH,OAAO,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,gBAAgB;QACnB,yDAAyD;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,YAAyC,CAAC;QAC/E,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,qCAAqC;QAChH,qDAAqD;QACrD,OAAO,CAAC,CAAC,UAAU,CAAC,MAAM,IAAK,UAAU,CAAC,MAAkB,KAAK,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,iBAAiB;QACpB,yDAAyD;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,YAAyC,CAAC;QAC/E,OAAO,uBAAuB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,oBAAoB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,oBAAoB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,oBAAoB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,SAA+B,EAAE,SAA+B,CAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/I,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC3F,CAAC;IAED,IAAI,YAAY;QACf,8DAA8D;QAC9D,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,iBAAkC,CAAC;QAC7E,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,MAAM;QACT,IAAI,KAAK,CAAC;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;QACtC,IAAI,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,IAAI,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE;YAC5G,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;SAClC;aAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,IAAI,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE;YACnH,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;SAClC;aAAM;YACN,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;SAC7B;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAC3D,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;SACpB;QACD,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,QAAQ;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5D,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACvD,CAAC;IAED,IAAI,QAAQ;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5D,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACvD,CAAC;IAED,IAAI,OAAO;QACV,IAAI,MAAM,CAAC;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;QAEtC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,EAAE;YAClD,OAAO,SAAS,CAAC;SACjB;QACD,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,KAAK,CAAC,EAAE;YAC3C,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;SAChH;aAAM;YACN,MAAM,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;SAC9K;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,IAAI,cAAc;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACnC,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvC,MAAM,UAAU,GAAG,2BAA2B,CAAC,SAAS,EAAE,CAAC,CAAC;QAE5D,OAAO,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAClG,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,KAAK,OAAO,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC;IAC9G,CAAC;IAED,IAAI,UAAU;QACb,OAAO,qBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,YAAY;QACf,OAAO,qBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,YAAY;QACf,OAAO,qBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,qBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC5E,CAAC;IAED,QAAQ,CAAC,IAAU;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,CAAC,SAAS,CAAiC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;SAC7F;IACF,CAAC;IAED,OAAO,CAAC,KAAa;QACpB,OAAO,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,SAA+B,EAAE,SAA+B,CAAC,CAAC;IACxH,CAAC;IAED,cAAc,CAAC,KAAa;QAC3B,IAAI,KAAK,KAAK,EAAE,EAAE;YACjB,OAAO,KAAK,CAAC;SACb;QACD,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,SAA+B,EAAE,SAA+B,CAAC,CAAC,CAAC;IACjI,CAAC;IAED,SAAS;QACR,IAAI,UAAsB,CAAC;QAC3B,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,UAAU,GAAG,UAAU,CAAC,eAAe,CAAC;gBACvC,YAAY,EAAE,IAAI,CAAC,aAAa;gBAChC,OAAO,EAAE,IAAI,CAAC,cAAc;aAC5B,CAAC,CAAC;SACH;aAAM;YACN,UAAU,GAAG,UAAU,CAAC,eAAe,CAAC;gBACvC,YAAY,EAAE,IAAI,CAAC,aAAa;gBAChC,KAAK,EAAE,IAAI,CAAC,cAAc;aAC1B,CAAC,CAAC;SACH;QACD,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,IAAU;QACrB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,aAAa,CAAC,IAAY;QAEzB,OAAO,IAAoB,CAAC;IAC7B,CAAC;IAED,cAAc,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,EAAU;QACxB,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE5B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,EAAU;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,KAAa;QACzB,IAAI,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,EAAE;YACjD,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAChC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;QAEjC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,OAAe;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;QAEjC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,OAAe;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;QAEjC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAkB,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrH,CAAC;IAED,sBAAsB;QACrB,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC9B,kBAAkB;YAClB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAClB,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI;iBAChC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;SACH;IACF,CAAC;IAED,aAAa,CAAC,GAAiB;QAC9B,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;QAE9B,IAAI,UAAU,EAAE;YACf,MAAM,MAAM,GAAI,UAA0B,CAAC,WAAW,CAAC;YACvD,IAAI,CAAC,sBAAsB,CAAC,MAAgB,CAAC,CAAC;SAC9C;IACF,CAAC;IAED,sBAAsB,CAAC,MAAc;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;QAEjC,IAAI,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;YAC/D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;SACpC;QAAC,IAAI,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YAChE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,KAAa;QACxB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK;YACjD,KAAK,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACjC;aAAM,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK;YACxD,KAAK,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;SAC1C;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,gBAAyB;QACvC,IAAI,CAAC,mBAAmB,EAAE;YACzB,OAAO,CAAC,sCAAsC;SAC9C;QACD,IAAI,IAAI,CAAC,eAAe,EAAE;YACzB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACnC;QACD,IAAI,gBAAgB,EAAE;YACrB,IAAI,CAAC,cAAc,EAAE,CAAC;SACtB;IACF,CAAC;IAED;;OAEG;IACH,cAAc;QACb,IAAI,CAAC,mBAAmB,EAAE;YACzB,OAAO,CAAC,sCAAsC;SAC9C;QACD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,IAAI,CAAC,WAAW,EAAE;gBACrB,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;aAC7B;QACF,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,cAAc,KAAI,CAAC;CACnB,CAAA;AA3ZA;IADC,QAAQ,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;kDACvB;AAcf;IADC,QAAQ,EAAE;0DACY;AASvB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;yDAC/C;AAQtB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;0DACJ;AAQ7B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sDACG;AAQ9C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0DACiB;AAQ5C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;qDACK;AAQhD;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;4DACJ;AAQhD;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;wDAC/B;AAQrB;IADC,QAAQ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;4DACzB;AAvFpB,mBAAmB;IAdxB,aAAa,CAAC;QACd,GAAG,EAAE,2BAA2B;KAChC,CAAC;IAEF;;OAEG;;IACF,KAAK,CAAiC,QAAQ,EAAE;QAChD,MAAM,EAAE;YACP,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SACxB;KACD,CAAC;GAEI,mBAAmB,CAmaxB;AAED,mBAAmB,CAAC,MAAM,EAAE,CAAC;AAE7B,eAAe,mBAAmB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\"; // default calendar for bundling\nimport CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport { fetchCldr } from \"@ui5/webcomponents-base/dist/asset-registries/LocaleData.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport SegmentedButton from \"./SegmentedButton.js\";\nimport {\n\tgetHoursConfigByFormat,\n\tgetTimeControlsByFormat,\n\tHourType,\n} from \"./timepicker-utils/TimeSlider.js\";\nimport {\n\tTIMEPICKER_HOURS_LABEL,\n\tTIMEPICKER_MINUTES_LABEL,\n\tTIMEPICKER_SECONDS_LABEL,\n\tTIMEPICKER_CLOCK_DIAL_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype TimePickerComponentIndexMap = {\n\thours: number,\n\tminutes: number,\n\tseconds: number,\n}\n\ntype TimeSelectionPeriodProperties = {\n\tlabel: string,\n\tpressed: boolean,\n}\n\ntype TimeSelectionChangeEventDetail = {\n\tvalue: string | undefined,\n\tvalid: boolean,\n}\n\ntype TimePickerEntityAttributes = {\n\tmin: number,\n\tmax: number,\n\tstep: number,\n}\n\ntype TimePickerEntityProperties = {\n\tlabel: string,\n\tentity?: string,\n\titemMin?: number,\n\titemMax?: number,\n\tvalue: number,\n\tstringValue?: string,\n\ttextValue?: string,\n\tdisplayStep?: number,\n\tlastItemReplacement?: number,\n\tshowInnerCircle?: boolean,\n\tprependZero: boolean,\n\tactive?: boolean,\n\thasSeparator?: boolean,\n\tattributes?: TimePickerEntityAttributes,\n}\n\nconst TYPE_COOLDOWN_DELAY = 1000; // Cooldown delay; 0 = disabled cooldown\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * <code>ui5-time-picker-internals</code> is helper component that contains shared methods used in <code>ui5-time-selection-clocks</code>\n * and <ui5-time-selection-inputs> components and should not be used separately.\n *\n * @constructor\n * @extends UI5Element\n * @abstract\n * @since 1.15.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-time-picker-internals\",\n})\n\n/**\n * Fired when the value changes due to user interaction with the sliders.\n */\n@event<TimeSelectionChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\tvalue: { type: String },\n\t\tvalid: { type: Boolean },\n\t},\n})\n\nclass TimePickerInternals extends UI5Element {\n\t/**\n\t * Defines a formatted time value.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ defaultValue: undefined })\n\tvalue?: string;\n\n\t/**\n\t * Determines the format, displayed in the input field.\n\t *\n\t * Example:\n\t * HH:mm:ss -> 11:42:35\n\t * hh:mm:ss a -> 2:23:15 PM\n\t * mm:ss -> 12:04 (only minutes and seconds)\n\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tformatPattern!: string;\n\n\t/**\n\t * The index of the active Clock/TogleSpinButton.\n\t *\n\t * @default 0\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\t_activeIndex!: number;\n\n\t/**\n\t * Contains calendar type.\n\t *\n\t * @private\n\t */\n\t@property({ type: CalendarType })\n\t_calendarType!: CalendarType;\n\n\t/**\n\t * Contains currently available Time Picker components depending on time format.\n\t *\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_entities!: Array<TimePickerEntityProperties>;\n\n\t/**\n\t * Contains component-to-index map.\n\t *\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_componentMap!: TimePickerComponentIndexMap;\n\n\t/**\n\t * Contains currently available Button components depending on time format.\n\t *\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_periods!: Array<TimeSelectionPeriodProperties>;\n\n\t/**\n\t * Id of the cooldown interval\n\t *\n\t * @private\n\t */\n\t@property({ validator: Integer, noAttribute: true })\n\t_typeCooldownId?: ReturnType<typeof setTimeout>;\n\n\t/**\n\t * Exact match number buffer\n\t *\n\t * @private\n\t */\n\t@property({ validator: Integer, noAttribute: true })\n\t_exactMatch?: number;\n\n\t/**\n\t * Buffer for entered by keyboard numbers\n\t *\n\t * @private\n\t */\n\t@property({ defaultValue: \"\", noAttribute: true })\n\t_keyboardBuffer!: string;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic async onDefine() {\n\t\t[TimePickerInternals.i18nBundle] = await Promise.all([\n\t\t\tgetI18nBundle(\"@ui5/webcomponents\"),\n\t\t\tfetchCldr(getLocale().getLanguage(), getLocale().getRegion(), getLocale().getScript()),\n\t\t]);\n\t}\n\n\tget _hoursConfiguration() {\n\t\t// @ts-ignore aFormatArray is a private API of DateFormat\n\t\tconst formatArray = this.getFormat().aFormatArray as Array<{ type: HourType }>;\n\t\tconst hourFormat = formatArray.find(item => item.type.startsWith(\"hour\")); // try to find an entry for the hours\n\t\treturn getHoursConfigByFormat(hourFormat ? hourFormat.type : \"hour0_23\");\n\t}\n\n\tget _zeroPaddedHours() {\n\t\t// @ts-ignore aFormatArray is a private API of DateFormat\n\t\tconst formatArray = this.getFormat().aFormatArray as Array<{ type: HourType }>;\n\t\tconst hourFormat = formatArray.find(item => item.type.startsWith(\"hour\")); // try to find an entry for the hours\n\t\t// @ts-ignore digits is a private API of aFormatArray\n\t\treturn !(hourFormat.digits && (hourFormat.digits as Integer) === 1);\n\t}\n\n\tget _neededComponents() {\n\t\t// @ts-ignore aFormatArray is a private API of DateFormat\n\t\tconst formatArray = this.getFormat().aFormatArray as Array<{ type: HourType }>;\n\t\treturn getTimeControlsByFormat(formatArray, this._hoursConfiguration);\n\t}\n\n\tget _hasHoursComponent() {\n\t\treturn this._neededComponents[0];\n\t}\n\n\tget _hasMinutesComponent() {\n\t\treturn this._neededComponents[1];\n\t}\n\n\tget _hasSecondsComponent() {\n\t\treturn this._neededComponents[2];\n\t}\n\n\tget _hasPeriodsComponent() {\n\t\treturn this._neededComponents[3];\n\t}\n\n\tget dateValue() {\n\t\treturn this.value ? this.getFormat().parse(this.value, undefined as unknown as boolean, undefined as unknown as boolean) as Date : new Date();\n\t}\n\n\tget validDateValue() {\n\t\treturn this.value !== undefined && this.isValid(this.value) ? this.dateValue : new Date();\n\t}\n\n\tget periodsArray() {\n\t\t// @ts-ignore aDayPeriodsAbbrev is a private API of DateFormat\n\t\tconst dayPeriodsAbbrev = this.getFormat().aDayPeriodsAbbrev as Array<string>;\n\t\treturn dayPeriodsAbbrev.map((x: string) => x.toUpperCase());\n\t}\n\n\tget _hours() {\n\t\tlet hours;\n\t\tconst dateValue = this.validDateValue;\n\t\tif (this._hoursConfiguration.isTwelveHoursFormat && dateValue.getHours() > this._hoursConfiguration.maxHour) {\n\t\t\thours = dateValue.getHours() - 12;\n\t\t} else if (this._hoursConfiguration.isTwelveHoursFormat && dateValue.getHours() < this._hoursConfiguration.minHour) {\n\t\t\thours = dateValue.getHours() + 12;\n\t\t} else {\n\t\t\thours = dateValue.getHours();\n\t\t}\n\t\tif (hours.toString().length === 1 && this._zeroPaddedHours) {\n\t\t\thours = `0${hours}`;\n\t\t}\n\t\treturn hours.toString();\n\t}\n\n\tget _minutes() {\n\t\tconst minutes = this.validDateValue.getMinutes().toString();\n\t\treturn minutes.length === 1 ? `0${minutes}` : minutes;\n\t}\n\n\tget _seconds() {\n\t\tconst seconds = this.validDateValue.getSeconds().toString();\n\t\treturn seconds.length === 1 ? `0${seconds}` : seconds;\n\t}\n\n\tget _period() {\n\t\tlet period;\n\t\tconst dateValue = this.validDateValue;\n\n\t\tif (!this._hoursConfiguration.isTwelveHoursFormat) {\n\t\t\treturn undefined;\n\t\t}\n\t\tif (this._hoursConfiguration.minHour === 1) {\n\t\t\tperiod = dateValue.getHours() >= this._hoursConfiguration.maxHour ? this.periodsArray[1] : this.periodsArray[0];\n\t\t} else {\n\t\t\tperiod = (dateValue.getHours() > this._hoursConfiguration.maxHour || dateValue.getHours() === this._hoursConfiguration.minHour) ? this.periodsArray[1] : this.periodsArray[0];\n\t\t}\n\t\treturn period;\n\t}\n\n\tget _formatPattern() {\n\t\tconst pattern = this.formatPattern;\n\t\tconst hasHours = !!pattern.match(/H/i);\n\t\tconst fallback = !pattern || !hasHours;\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\n\t\treturn fallback ? localeData.getCombinedDateTimePattern(\"medium\", \"medium\", undefined) : pattern;\n\t}\n\n\tget _isPattern() {\n\t\treturn this._formatPattern !== \"medium\" && this._formatPattern !== \"short\" && this._formatPattern !== \"long\";\n\t}\n\n\tget hoursLabel() {\n\t\treturn TimePickerInternals.i18nBundle.getText(TIMEPICKER_HOURS_LABEL);\n\t}\n\n\tget minutesLabel() {\n\t\treturn TimePickerInternals.i18nBundle.getText(TIMEPICKER_MINUTES_LABEL);\n\t}\n\n\tget secondsLabel() {\n\t\treturn TimePickerInternals.i18nBundle.getText(TIMEPICKER_SECONDS_LABEL);\n\t}\n\n\tget clockDialAriaLabel() {\n\t\treturn TimePickerInternals.i18nBundle.getText(TIMEPICKER_CLOCK_DIAL_LABEL);\n\t}\n\n\tsetValue(date: Date) {\n\t\tconst value = this.formatValue(date);\n\n\t\tif (this.isValid(value)) {\n\t\t\tthis.value = this.normalizeValue(value);\n\t\t\tthis.fireEvent<TimeSelectionChangeEventDetail>(\"change\", { value: this.value, valid: true });\n\t\t}\n\t}\n\n\tisValid(value: string) {\n\t\treturn value === \"\" || this.getFormat().parse(value, undefined as unknown as boolean, undefined as unknown as boolean);\n\t}\n\n\tnormalizeValue(value: string) {\n\t\tif (value === \"\") {\n\t\t\treturn value;\n\t\t}\n\t\treturn this.getFormat().format(this.getFormat().parse(value, undefined as unknown as boolean, undefined as unknown as boolean));\n\t}\n\n\tgetFormat() {\n\t\tlet dateFormat: DateFormat;\n\t\tif (this._isPattern) {\n\t\t\tdateFormat = DateFormat.getDateInstance({\n\t\t\t\tcalendarType: this._calendarType,\n\t\t\t\tpattern: this._formatPattern,\n\t\t\t});\n\t\t} else {\n\t\t\tdateFormat = DateFormat.getDateInstance({\n\t\t\t\tcalendarType: this._calendarType,\n\t\t\t\tstyle: this._formatPattern,\n\t\t\t});\n\t\t}\n\t\treturn dateFormat;\n\t}\n\n\tformatValue(date: Date) {\n\t\treturn this.getFormat().format(date);\n\t}\n\n\t_componentKey(name: string) {\n\t\ttype ComponentKey = keyof typeof this._componentMap;\n\t\treturn name as ComponentKey;\n\t}\n\n\t_indexFromName(name: string) {\n\t\treturn this._componentMap[this._componentKey(name)];\n\t}\n\n\t/**\n\t * Returns name of the clock or button from the id of the event target.\n\t *\n\t * @returns name of the clock/button\n\t */\n\t_getNameFromId(id: string): string | undefined {\n\t\tconst parts = id.split(\"_\");\n\n\t\treturn parts.length ? parts[parts.length - 1] : undefined;\n\t}\n\n\t/**\n\t * Returns index of the clock or button from the id of the event target.\n\t *\n\t * @returns index of the clock/button\n\t */\n\t_getIndexFromId(id: string): number {\n\t\tconst name = this._getNameFromId(id);\n\n\t\treturn name ? this._indexFromName(name) : 0;\n\t}\n\n\t/**\n\t * Changes hours value.\n\t *\n\t * @param hours new hours value\n\t */\n\t_hoursChange(hours: number) {\n\t\tif (this._hoursConfiguration.isTwelveHoursFormat) {\n\t\t\thours = this._shiftHours(hours);\n\t\t}\n\n\t\tconst date = this.validDateValue;\n\n\t\tdate.setHours(hours);\n\t\tthis.setValue(date);\n\t}\n\n\t/**\n\t * Changes minutes value.\n\t *\n\t * @param minutes new minutes value\n\t */\n\t_minutesChange(minutes: number) {\n\t\tconst date = this.validDateValue;\n\n\t\tdate.setMinutes(minutes);\n\t\tthis.setValue(date);\n\t}\n\n\t/**\n\t * Changes seconds value.\n\t *\n\t * @param seconds new seconds value\n\t */\n\t_secondsChange(seconds: number) {\n\t\tconst date = this.validDateValue;\n\n\t\tdate.setSeconds(seconds);\n\t\tthis.setValue(date);\n\t}\n\n\t_buttonAmPm() {\n\t\treturn this._hasPeriodsComponent ? this.shadowRoot?.querySelector<SegmentedButton>(`#${this._id}_AmPm`) : undefined;\n\t}\n\n\t_createPeriodComponent() {\n\t\tif (this._hasPeriodsComponent) {\n\t\t\t// add period item\n\t\t\tthis.periodsArray.forEach(item => {\n\t\t\t\tthis._periods.push({\n\t\t\t\t\t\"label\": item,\n\t\t\t\t\t\"pressed\": this._period === item,\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n\n\t_periodChange(evt: PointerEvent) {\n\t\tconst periodItem = evt.target;\n\n\t\tif (periodItem) {\n\t\t\tconst period = (periodItem as HTMLElement).textContent;\n\t\t\tthis._calculatePeriodChange(period as string);\n\t\t}\n\t}\n\n\t_calculatePeriodChange(period: string) {\n\t\tconst date = this.validDateValue;\n\n\t\tif (period === this._periods[0].label && date.getHours() >= 12) {\n\t\t\tdate.setHours(date.getHours() - 12);\n\t\t} if (period === this._periods[1].label && date.getHours() < 12) {\n\t\t\tdate.setHours(date.getHours() + 12);\n\t\t}\n\t\tthis.setValue(date);\n\t}\n\n\t/**\n\t * Shifts hours value with +/- 12 depending on hour value and day period.\n\t *\n\t * @param hours current hours\n\t * @returns shifted hours\n\t */\n\t_shiftHours(hours: number): number {\n\t\tif (this._period === this.periodsArray[0]) { // AM\n\t\t\thours = hours === 12 ? 0 : hours;\n\t\t} else if (this._period === this.periodsArray[1]) { // PM\n\t\t\thours = hours === 12 ? hours : hours + 12;\n\t\t}\n\t\treturn hours;\n\t}\n\n\t/**\n\t * Clears the currently existing cooldown period and starts new one if requested.\n\t *\n\t * @param startNewCooldown whether to start new cooldown period after clearing previous one\n\t */\n\t_resetCooldown(startNewCooldown: boolean) {\n\t\tif (!TYPE_COOLDOWN_DELAY) {\n\t\t\treturn; // if delay is 0, cooldown is disabled\n\t\t}\n\t\tif (this._typeCooldownId) {\n\t\t\tclearTimeout(this._typeCooldownId);\n\t\t}\n\t\tif (startNewCooldown) {\n\t\t\tthis._startCooldown();\n\t\t}\n\t}\n\n\t/**\n\t * Starts new cooldown period.\n\t */\n\t_startCooldown() {\n\t\tif (!TYPE_COOLDOWN_DELAY) {\n\t\t\treturn; // if delay is 0, cooldown is disabled\n\t\t}\n\t\tthis._typeCooldownId = setTimeout(() => {\n\t\t\tthis._keyboardBuffer = \"\";\n\t\t\tthis._typeCooldownId = undefined;\n\t\t\tif (this._exactMatch) {\n\t\t\t\tthis._setExactMatch();\n\t\t\t\tthis._exactMatch = undefined;\n\t\t\t}\n\t\t}, TYPE_COOLDOWN_DELAY);\n\t}\n\n\t/**\n\t * Sets the exact match value. Override if necessary.\n\t */\n\t_setExactMatch() {}\n}\n\nTimePickerInternals.define();\n\nexport default TimePickerInternals;\nexport type {\n\tTimePickerComponentIndexMap,\n\tTimeSelectionChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"TimePickerInternals.js","sourceRoot":"","sources":["../src/TimePickerInternals.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\"; // default calendar for bundling\nimport CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport { fetchCldr } from \"@ui5/webcomponents-base/dist/asset-registries/LocaleData.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport SegmentedButton from \"./SegmentedButton.js\";\nimport {\n\tgetHoursConfigByFormat,\n\tgetTimeControlsByFormat,\n\tHourType,\n} from \"./timepicker-utils/TimeSlider.js\";\nimport {\n\tTIMEPICKER_HOURS_LABEL,\n\tTIMEPICKER_MINUTES_LABEL,\n\tTIMEPICKER_SECONDS_LABEL,\n\tTIMEPICKER_CLOCK_DIAL_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype TimePickerComponentIndexMap = {\n\thours: number,\n\tminutes: number,\n\tseconds: number,\n}\n\ntype TimeSelectionPeriodProperties = {\n\tlabel: string,\n\tpressed: boolean,\n}\n\ntype TimeSelectionChangeEventDetail = {\n\tvalue: string | undefined,\n\tvalid: boolean,\n}\n\ntype TimePickerEntityAttributes = {\n\tmin: number,\n\tmax: number,\n\tstep: number,\n}\n\ntype TimePickerEntityProperties = {\n\tlabel: string,\n\tentity?: string,\n\titemMin?: number,\n\titemMax?: number,\n\tvalue: number,\n\tstringValue?: string,\n\ttextValue?: string,\n\tdisplayStep?: number,\n\tlastItemReplacement?: number,\n\tshowInnerCircle?: boolean,\n\tprependZero: boolean,\n\tactive?: boolean,\n\tfocused?: boolean,\n\thasSeparator?: boolean,\n\tattributes?: TimePickerEntityAttributes,\n}\n\nconst TYPE_COOLDOWN_DELAY = 1000; // Cooldown delay; 0 = disabled cooldown\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * <code>ui5-time-picker-internals</code> is helper component that contains shared methods used in <code>ui5-time-selection-clocks</code>\n * and <ui5-time-selection-inputs> components and should not be used separately.\n *\n * @constructor\n * @extends UI5Element\n * @abstract\n * @since 1.15.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-time-picker-internals\",\n})\n\n/**\n * Fired when the value changes due to user interaction with the sliders.\n */\n@event<TimeSelectionChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\tvalue: { type: String },\n\t\tvalid: { type: Boolean },\n\t},\n})\n\nclass TimePickerInternals extends UI5Element {\n\t/**\n\t * Defines a formatted time value.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ defaultValue: undefined })\n\tvalue?: string;\n\n\t/**\n\t * Determines the format, displayed in the input field.\n\t *\n\t * Example:\n\t * HH:mm:ss -> 11:42:35\n\t * hh:mm:ss a -> 2:23:15 PM\n\t * mm:ss -> 12:04 (only minutes and seconds)\n\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tformatPattern!: string;\n\n\t/**\n\t * The index of the active Clock/TogleSpinButton.\n\t *\n\t * @default 0\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\t_activeIndex!: number;\n\n\t/**\n\t * Contains calendar type.\n\t *\n\t * @private\n\t */\n\t@property({ type: CalendarType })\n\t_calendarType!: CalendarType;\n\n\t/**\n\t * Contains currently available Time Picker components depending on time format.\n\t *\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_entities!: Array<TimePickerEntityProperties>;\n\n\t/**\n\t * Contains component-to-index map.\n\t *\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_componentMap!: TimePickerComponentIndexMap;\n\n\t/**\n\t * Contains currently available Button components depending on time format.\n\t *\n\t * @private\n\t */\n\t@property({ type: Object, multiple: true })\n\t_periods!: Array<TimeSelectionPeriodProperties>;\n\n\t/**\n\t * Id of the cooldown interval\n\t *\n\t * @private\n\t */\n\t@property({ validator: Integer, noAttribute: true })\n\t_typeCooldownId?: ReturnType<typeof setTimeout>;\n\n\t/**\n\t * Exact match number buffer\n\t *\n\t * @private\n\t */\n\t@property({ validator: Integer, noAttribute: true })\n\t_exactMatch?: number;\n\n\t/**\n\t * Buffer for entered by keyboard numbers\n\t *\n\t * @private\n\t */\n\t@property({ defaultValue: \"\", noAttribute: true })\n\t_keyboardBuffer!: string;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic async onDefine() {\n\t\t[TimePickerInternals.i18nBundle] = await Promise.all([\n\t\t\tgetI18nBundle(\"@ui5/webcomponents\"),\n\t\t\tfetchCldr(getLocale().getLanguage(), getLocale().getRegion(), getLocale().getScript()),\n\t\t]);\n\t}\n\n\tget _hoursConfiguration() {\n\t\t// @ts-ignore aFormatArray is a private API of DateFormat\n\t\tconst formatArray = this.getFormat().aFormatArray as Array<{ type: HourType }>;\n\t\tconst hourFormat = formatArray.find(item => item.type.startsWith(\"hour\")); // try to find an entry for the hours\n\t\treturn getHoursConfigByFormat(hourFormat ? hourFormat.type : \"hour0_23\");\n\t}\n\n\tget _zeroPaddedHours() {\n\t\t// @ts-ignore aFormatArray is a private API of DateFormat\n\t\tconst formatArray = this.getFormat().aFormatArray as Array<{ type: HourType }>;\n\t\tconst hourFormat = formatArray.find(item => item.type.startsWith(\"hour\")); // try to find an entry for the hours\n\t\t// @ts-ignore digits is a private API of aFormatArray\n\t\treturn !(hourFormat.digits && (hourFormat.digits as Integer) === 1);\n\t}\n\n\tget _neededComponents() {\n\t\t// @ts-ignore aFormatArray is a private API of DateFormat\n\t\tconst formatArray = this.getFormat().aFormatArray as Array<{ type: HourType }>;\n\t\treturn getTimeControlsByFormat(formatArray, this._hoursConfiguration);\n\t}\n\n\tget _hasHoursComponent() {\n\t\treturn this._neededComponents[0];\n\t}\n\n\tget _hasMinutesComponent() {\n\t\treturn this._neededComponents[1];\n\t}\n\n\tget _hasSecondsComponent() {\n\t\treturn this._neededComponents[2];\n\t}\n\n\tget _hasPeriodsComponent() {\n\t\treturn this._neededComponents[3];\n\t}\n\n\tget dateValue() {\n\t\treturn this.value ? this.getFormat().parse(this.value, undefined as unknown as boolean, undefined as unknown as boolean) as Date : new Date();\n\t}\n\n\tget validDateValue() {\n\t\treturn this.value !== undefined && this.isValid(this.value) ? this.dateValue : new Date();\n\t}\n\n\tget periodsArray() {\n\t\t// @ts-ignore aDayPeriodsAbbrev is a private API of DateFormat\n\t\tconst dayPeriodsAbbrev = this.getFormat().aDayPeriodsAbbrev as Array<string>;\n\t\treturn dayPeriodsAbbrev.map((x: string) => x.toUpperCase());\n\t}\n\n\tget _hours() {\n\t\tlet hours;\n\t\tconst dateValue = this.validDateValue;\n\t\tif (this._hoursConfiguration.isTwelveHoursFormat && dateValue.getHours() > this._hoursConfiguration.maxHour) {\n\t\t\thours = dateValue.getHours() - 12;\n\t\t} else if (this._hoursConfiguration.isTwelveHoursFormat && dateValue.getHours() < this._hoursConfiguration.minHour) {\n\t\t\thours = dateValue.getHours() + 12;\n\t\t} else {\n\t\t\thours = dateValue.getHours();\n\t\t}\n\t\tif (hours.toString().length === 1 && this._zeroPaddedHours) {\n\t\t\thours = `0${hours}`;\n\t\t}\n\t\treturn hours.toString();\n\t}\n\n\tget _minutes() {\n\t\tconst minutes = this.validDateValue.getMinutes().toString();\n\t\treturn minutes.length === 1 ? `0${minutes}` : minutes;\n\t}\n\n\tget _seconds() {\n\t\tconst seconds = this.validDateValue.getSeconds().toString();\n\t\treturn seconds.length === 1 ? `0${seconds}` : seconds;\n\t}\n\n\tget _period() {\n\t\tlet period;\n\t\tconst dateValue = this.validDateValue;\n\n\t\tif (!this._hoursConfiguration.isTwelveHoursFormat) {\n\t\t\treturn undefined;\n\t\t}\n\t\tif (this._hoursConfiguration.minHour === 1) {\n\t\t\tperiod = dateValue.getHours() >= this._hoursConfiguration.maxHour ? this.periodsArray[1] : this.periodsArray[0];\n\t\t} else {\n\t\t\tperiod = (dateValue.getHours() > this._hoursConfiguration.maxHour || dateValue.getHours() === this._hoursConfiguration.minHour) ? this.periodsArray[1] : this.periodsArray[0];\n\t\t}\n\t\treturn period;\n\t}\n\n\tget _formatPattern() {\n\t\tconst pattern = this.formatPattern;\n\t\tconst hasHours = !!pattern.match(/H/i);\n\t\tconst fallback = !pattern || !hasHours;\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\n\t\treturn fallback ? localeData.getCombinedDateTimePattern(\"medium\", \"medium\", undefined) : pattern;\n\t}\n\n\tget _isPattern() {\n\t\treturn this._formatPattern !== \"medium\" && this._formatPattern !== \"short\" && this._formatPattern !== \"long\";\n\t}\n\n\tget hoursLabel() {\n\t\treturn TimePickerInternals.i18nBundle.getText(TIMEPICKER_HOURS_LABEL);\n\t}\n\n\tget minutesLabel() {\n\t\treturn TimePickerInternals.i18nBundle.getText(TIMEPICKER_MINUTES_LABEL);\n\t}\n\n\tget secondsLabel() {\n\t\treturn TimePickerInternals.i18nBundle.getText(TIMEPICKER_SECONDS_LABEL);\n\t}\n\n\tget clockDialAriaLabel() {\n\t\treturn TimePickerInternals.i18nBundle.getText(TIMEPICKER_CLOCK_DIAL_LABEL);\n\t}\n\n\tsetValue(date: Date) {\n\t\tconst value = this.formatValue(date);\n\n\t\tif (this.isValid(value)) {\n\t\t\tthis.value = this.normalizeValue(value);\n\t\t\tthis.fireEvent<TimeSelectionChangeEventDetail>(\"change\", { value: this.value, valid: true });\n\t\t}\n\t}\n\n\tisValid(value: string) {\n\t\treturn value === \"\" || this.getFormat().parse(value, undefined as unknown as boolean, undefined as unknown as boolean);\n\t}\n\n\tnormalizeValue(value: string) {\n\t\tif (value === \"\") {\n\t\t\treturn value;\n\t\t}\n\t\treturn this.getFormat().format(this.getFormat().parse(value, undefined as unknown as boolean, undefined as unknown as boolean));\n\t}\n\n\tgetFormat() {\n\t\tlet dateFormat: DateFormat;\n\t\tif (this._isPattern) {\n\t\t\tdateFormat = DateFormat.getDateInstance({\n\t\t\t\tcalendarType: this._calendarType,\n\t\t\t\tpattern: this._formatPattern,\n\t\t\t});\n\t\t} else {\n\t\t\tdateFormat = DateFormat.getDateInstance({\n\t\t\t\tcalendarType: this._calendarType,\n\t\t\t\tstyle: this._formatPattern,\n\t\t\t});\n\t\t}\n\t\treturn dateFormat;\n\t}\n\n\tformatValue(date: Date) {\n\t\treturn this.getFormat().format(date);\n\t}\n\n\t_componentKey(name: string) {\n\t\ttype ComponentKey = keyof typeof this._componentMap;\n\t\treturn name as ComponentKey;\n\t}\n\n\t_indexFromName(name: string) {\n\t\treturn this._componentMap[this._componentKey(name)];\n\t}\n\n\t/**\n\t * Returns name of the clock or button from the id of the event target.\n\t *\n\t * @returns name of the clock/button\n\t */\n\t_getNameFromId(id: string): string | undefined {\n\t\tconst parts = id.split(\"_\");\n\n\t\treturn parts.length ? parts[parts.length - 1] : undefined;\n\t}\n\n\t/**\n\t * Returns index of the clock or button from the id of the event target.\n\t *\n\t * @returns index of the clock/button\n\t */\n\t_getIndexFromId(id: string): number {\n\t\tconst name = this._getNameFromId(id);\n\n\t\treturn name ? this._indexFromName(name) : 0;\n\t}\n\n\t/**\n\t * Changes hours value.\n\t *\n\t * @param hours new hours value\n\t */\n\t_hoursChange(hours: number) {\n\t\tif (this._hoursConfiguration.isTwelveHoursFormat) {\n\t\t\thours = this._shiftHours(hours);\n\t\t}\n\n\t\tconst date = this.validDateValue;\n\n\t\tdate.setHours(hours);\n\t\tthis.setValue(date);\n\t}\n\n\t/**\n\t * Changes minutes value.\n\t *\n\t * @param minutes new minutes value\n\t */\n\t_minutesChange(minutes: number) {\n\t\tconst date = this.validDateValue;\n\n\t\tdate.setMinutes(minutes);\n\t\tthis.setValue(date);\n\t}\n\n\t/**\n\t * Changes seconds value.\n\t *\n\t * @param seconds new seconds value\n\t */\n\t_secondsChange(seconds: number) {\n\t\tconst date = this.validDateValue;\n\n\t\tdate.setSeconds(seconds);\n\t\tthis.setValue(date);\n\t}\n\n\t_buttonAmPm() {\n\t\treturn this._hasPeriodsComponent ? this.shadowRoot?.querySelector<SegmentedButton>(`#${this._id}_AmPm`) : undefined;\n\t}\n\n\t_createPeriodComponent() {\n\t\tif (this._hasPeriodsComponent) {\n\t\t\t// add period item\n\t\t\tthis.periodsArray.forEach(item => {\n\t\t\t\tthis._periods.push({\n\t\t\t\t\t\"label\": item,\n\t\t\t\t\t\"pressed\": this._period === item,\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n\n\t_periodChange(evt: PointerEvent) {\n\t\tconst periodItem = evt.target;\n\n\t\tif (periodItem) {\n\t\t\tconst period = (periodItem as HTMLElement).textContent;\n\t\t\tthis._calculatePeriodChange(period as string);\n\t\t}\n\t}\n\n\t_calculatePeriodChange(period: string) {\n\t\tconst date = this.validDateValue;\n\n\t\tif (period === this._periods[0].label && date.getHours() >= 12) {\n\t\t\tdate.setHours(date.getHours() - 12);\n\t\t} if (period === this._periods[1].label && date.getHours() < 12) {\n\t\t\tdate.setHours(date.getHours() + 12);\n\t\t}\n\t\tthis.setValue(date);\n\t}\n\n\t/**\n\t * Shifts hours value with +/- 12 depending on hour value and day period.\n\t *\n\t * @param hours current hours\n\t * @returns shifted hours\n\t */\n\t_shiftHours(hours: number): number {\n\t\tif (this._period === this.periodsArray[0]) { // AM\n\t\t\thours = hours === 12 ? 0 : hours;\n\t\t} else if (this._period === this.periodsArray[1]) { // PM\n\t\t\thours = hours === 12 ? hours : hours + 12;\n\t\t}\n\t\treturn hours;\n\t}\n\n\t/**\n\t * Clears the currently existing cooldown period and starts new one if requested.\n\t *\n\t * @param startNewCooldown whether to start new cooldown period after clearing previous one\n\t */\n\t_resetCooldown(startNewCooldown: boolean) {\n\t\tif (!TYPE_COOLDOWN_DELAY) {\n\t\t\treturn; // if delay is 0, cooldown is disabled\n\t\t}\n\t\tif (this._typeCooldownId) {\n\t\t\tclearTimeout(this._typeCooldownId);\n\t\t}\n\t\tif (startNewCooldown) {\n\t\t\tthis._startCooldown();\n\t\t}\n\t}\n\n\t/**\n\t * Starts new cooldown period.\n\t */\n\t_startCooldown() {\n\t\tif (!TYPE_COOLDOWN_DELAY) {\n\t\t\treturn; // if delay is 0, cooldown is disabled\n\t\t}\n\t\tthis._typeCooldownId = setTimeout(() => {\n\t\t\tthis._keyboardBuffer = \"\";\n\t\t\tthis._typeCooldownId = undefined;\n\t\t\tif (this._exactMatch) {\n\t\t\t\tthis._setExactMatch();\n\t\t\t\tthis._exactMatch = undefined;\n\t\t\t}\n\t\t}, TYPE_COOLDOWN_DELAY);\n\t}\n\n\t/**\n\t * Sets the exact match value. Override if necessary.\n\t */\n\t_setExactMatch() {}\n}\n\nTimePickerInternals.define();\n\nexport default TimePickerInternals;\nexport type {\n\tTimePickerComponentIndexMap,\n\tTimeSelectionChangeEventDetail,\n};\n"]}
@@ -4,29 +4,21 @@ import TimePickerClock from "./TimePickerClock.js";
4
4
  import ToggleSpinButton from "./ToggleSpinButton.js";
5
5
  import type { TimePickerClockChangeEventDetail } from "./TimePickerClock.js";
6
6
  /**
7
- * @class
8
- *
9
- * <h3 class="comment-api-title">Overview</h3>
10
- *
11
- * <code>ui5-time-selection-clocks</code> is component that contains all the <code>ui5-time-picker-clock</code> components
12
- * necessary for the <code>ui5-time-picker</code> as well as all necessary <code>ui5-toggle-spin-button</code> components
13
- * used for switching between different clocks.
14
- * <code>ui5-time-picker-clock</code> components and <code>ui5-toggle-spin-button</code> depend on the time format set to
15
- * <code>ui5-time-picker</code> component.
16
- *
17
- * This component should not be used separately.
18
- *
19
- * @constructor
20
- * @extends TimePickerInternals
21
- * @abstract
22
- * @since 1.15.0
23
- * @private
7
+ * Fired when the picker is being closed.
24
8
  */
25
9
  declare class TimeSelectionClocks extends TimePickerInternals {
26
10
  /**
27
11
  * Flag for pressed Space key
28
12
  */
29
13
  _spacePressed: boolean;
14
+ /**
15
+ * Flag for focused state of Clocks component
16
+ */
17
+ _focused: boolean;
18
+ /**
19
+ * Flag for focused state of AM/PM segmented button
20
+ */
21
+ _amPmFocused: boolean;
30
22
  onBeforeRendering(): void;
31
23
  /**
32
24
  * Returns ToggleSpinButton component by index or name.
@@ -48,12 +40,21 @@ declare class TimeSelectionClocks extends TimePickerInternals {
48
40
  * @param evt Event object
49
41
  */
50
42
  _clocksFocusIn(evt: Event): void;
43
+ _clocksFocusOut(): void;
51
44
  /**
52
45
  * ToggleSpinButton focusin event handler.Switches to clock which button is being focused.
53
46
  *
54
47
  * @param evt Event object
55
48
  */
56
49
  _buttonFocusIn(evt: Event): void;
50
+ /**
51
+ * AM/PM segmented button focusin event handler.
52
+ */
53
+ _amPmFocusIn(): void;
54
+ /**
55
+ * AM/PM segmented button focusout event handler.
56
+ */
57
+ _amPmFocusOut(): void;
57
58
  /**
58
59
  * keyup event handler.
59
60
  *
@@ -6,6 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
8
8
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
9
+ import event from "@ui5/webcomponents-base/dist/decorators/event.js";
9
10
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
10
11
  import "@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js"; // default calendar for bundling
11
12
  import { isDown, isUp, isDownAlt, isUpAlt, isPageUp, isPageDown, isPageUpShift, isPageDownShift, isPageUpShiftCtrl, isPageDownShiftCtrl, isSpace, isEnter, isKeyA, isKeyP, isNumber, isColon, } from "@ui5/webcomponents-base/dist/Keys.js";
@@ -18,23 +19,7 @@ import TimeSelectionClocksTemplate from "./generated/templates/TimeSelectionCloc
18
19
  // Styles
19
20
  import TimeSelectionClocksCss from "./generated/themes/TimeSelectionClocks.css.js";
20
21
  /**
21
- * @class
22
- *
23
- * <h3 class="comment-api-title">Overview</h3>
24
- *
25
- * <code>ui5-time-selection-clocks</code> is component that contains all the <code>ui5-time-picker-clock</code> components
26
- * necessary for the <code>ui5-time-picker</code> as well as all necessary <code>ui5-toggle-spin-button</code> components
27
- * used for switching between different clocks.
28
- * <code>ui5-time-picker-clock</code> components and <code>ui5-toggle-spin-button</code> depend on the time format set to
29
- * <code>ui5-time-picker</code> component.
30
- *
31
- * This component should not be used separately.
32
- *
33
- * @constructor
34
- * @extends TimePickerInternals
35
- * @abstract
36
- * @since 1.15.0
37
- * @private
22
+ * Fired when the picker is being closed.
38
23
  */
39
24
  let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals {
40
25
  onBeforeRendering() {
@@ -69,10 +54,14 @@ let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals
69
54
  */
70
55
  _clocksFocusIn(evt) {
71
56
  const target = evt.target;
57
+ this._focused = true;
72
58
  if (target.id === this._id) {
73
59
  this._switchClock(this._activeIndex);
74
60
  }
75
61
  }
62
+ _clocksFocusOut() {
63
+ this._focused = false;
64
+ }
76
65
  /**
77
66
  * ToggleSpinButton focusin event handler.Switches to clock which button is being focused.
78
67
  *
@@ -85,6 +74,18 @@ let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals
85
74
  this._switchTo(name);
86
75
  }
87
76
  }
77
+ /**
78
+ * AM/PM segmented button focusin event handler.
79
+ */
80
+ _amPmFocusIn() {
81
+ this._amPmFocused = true;
82
+ }
83
+ /**
84
+ * AM/PM segmented button focusout event handler.
85
+ */
86
+ _amPmFocusOut() {
87
+ this._amPmFocused = false;
88
+ }
88
89
  /**
89
90
  * keyup event handler.
90
91
  *
@@ -117,7 +118,7 @@ let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals
117
118
  else if ((isUp(evt) || isDown(evt)) && !isUpAlt(evt) && !isDownAlt(evt)) {
118
119
  // Arrows up/down increase/decrease currently active clock
119
120
  clock = this._clockComponent(this._activeIndex);
120
- clock && !clock.disabled && clock._modifyValue(isUp(evt));
121
+ clock && !clock.disabled && !this._amPmFocused && clock._modifyValue(isUp(evt));
121
122
  evt.preventDefault();
122
123
  }
123
124
  else if (isPageUp(evt) || isPageDown(evt)) {
@@ -312,6 +313,7 @@ let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals
312
313
  });
313
314
  }
314
315
  this._entities[this._activeIndex].active = true;
316
+ this._entities[this._activeIndex].focused = this._focused && !this._amPmFocused;
315
317
  this._createPeriodComponent();
316
318
  }
317
319
  /**
@@ -334,8 +336,10 @@ let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals
334
336
  const newButton = this._buttonComponent(clockIndex);
335
337
  if (this._entities.length && clockIndex < this._entities.length && newButton) {
336
338
  this._entities[this._activeIndex].active = false;
339
+ this._entities[this._activeIndex].focused = false;
337
340
  this._activeIndex = clockIndex;
338
341
  this._entities[this._activeIndex].active = true;
342
+ this._entities[this._activeIndex].focused = this._focused && !this._amPmFocused;
339
343
  newButton.focus();
340
344
  }
341
345
  }
@@ -401,7 +405,33 @@ let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals
401
405
  __decorate([
402
406
  property({ type: Boolean, noAttribute: true })
403
407
  ], TimeSelectionClocks.prototype, "_spacePressed", void 0);
408
+ __decorate([
409
+ property({ type: Boolean, noAttribute: true })
410
+ ], TimeSelectionClocks.prototype, "_focused", void 0);
411
+ __decorate([
412
+ property({ type: Boolean, noAttribute: true })
413
+ ], TimeSelectionClocks.prototype, "_amPmFocused", void 0);
404
414
  TimeSelectionClocks = __decorate([
415
+ event("close-picker")
416
+ /**
417
+ * @class
418
+ *
419
+ * <h3 class="comment-api-title">Overview</h3>
420
+ *
421
+ * <code>ui5-time-selection-clocks</code> is component that contains all the <code>ui5-time-picker-clock</code> components
422
+ * necessary for the <code>ui5-time-picker</code> as well as all necessary <code>ui5-toggle-spin-button</code> components
423
+ * used for switching between different clocks.
424
+ * <code>ui5-time-picker-clock</code> components and <code>ui5-toggle-spin-button</code> depend on the time format set to
425
+ * <code>ui5-time-picker</code> component.
426
+ *
427
+ * This component should not be used separately.
428
+ *
429
+ * @constructor
430
+ * @extends TimePickerInternals
431
+ * @since 1.15.0
432
+ * @private
433
+ */
434
+ ,
405
435
  customElement({
406
436
  tag: "ui5-time-selection-clocks",
407
437
  renderer: litRender,
@@ -1 +1 @@
1
- {"version":3,"file":"TimeSelectionClocks.js","sourceRoot":"","sources":["../src/TimeSelectionClocks.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\"; // default calendar for bundling\nimport {\n\tisDown,\n\tisUp,\n\tisDownAlt,\n\tisUpAlt,\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageDownShift,\n\tisPageUpShiftCtrl,\n\tisPageDownShiftCtrl,\n\tisSpace,\n\tisEnter,\n\tisKeyA,\n\tisKeyP,\n\tisNumber,\n\tisColon,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport TimePickerInternals from \"./TimePickerInternals.js\";\nimport TimePickerClock from \"./TimePickerClock.js\";\nimport ToggleSpinButton from \"./ToggleSpinButton.js\";\nimport SegmentedButton from \"./SegmentedButton.js\";\nimport type { TimePickerClockChangeEventDetail } from \"./TimePickerClock.js\";\n\n// Template\nimport TimeSelectionClocksTemplate from \"./generated/templates/TimeSelectionClocksTemplate.lit.js\";\n\n// Styles\nimport TimeSelectionClocksCss from \"./generated/themes/TimeSelectionClocks.css.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * <code>ui5-time-selection-clocks</code> is component that contains all the <code>ui5-time-picker-clock</code> components\n * necessary for the <code>ui5-time-picker</code> as well as all necessary <code>ui5-toggle-spin-button</code> components\n * used for switching between different clocks.\n * <code>ui5-time-picker-clock</code> components and <code>ui5-toggle-spin-button</code> depend on the time format set to\n * <code>ui5-time-picker</code> component.\n *\n * This component should not be used separately.\n *\n * @constructor\n * @extends TimePickerInternals\n * @abstract\n * @since 1.15.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-time-selection-clocks\",\n\trenderer: litRender,\n\tstyles: TimeSelectionClocksCss,\n\ttemplate: TimeSelectionClocksTemplate,\n\tdependencies: [\n\t\tTimePickerClock,\n\t\tToggleSpinButton,\n\t\tSegmentedButton,\n\t],\n})\n\nclass TimeSelectionClocks extends TimePickerInternals {\n\t/**\n\t * Flag for pressed Space key\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_spacePressed!: boolean;\n\n\tonBeforeRendering() {\n\t\tthis._createComponents();\n\t}\n\n\t/**\n\t * Returns ToggleSpinButton component by index or name.\n\t *\n\t * @param indexOrName the index or name of the component\n\t * @returns component (if exists) or undefined\n\t */\n\t_buttonComponent(indexOrName: number | string): ToggleSpinButton | undefined | null {\n\t\tconst index = typeof indexOrName === \"string\" ? this._indexFromName(indexOrName) : indexOrName;\n\t\tconst entity = this._entities[index].entity;\n\t\treturn entity ? this.shadowRoot?.querySelector<ToggleSpinButton>(`#${this._id}_button_${entity}`) : undefined;\n\t}\n\n\t/**\n\t * Returns TimePickerClock component by index or name.\n\t *\n\t * @param indexOrName the index or name of the component\n\t * @returns component (if exists) or undefined\n\t */\n\t_clockComponent(indexOrName: number | string): TimePickerClock | undefined | null {\n\t\tconst index = typeof indexOrName === \"string\" ? this._indexFromName(indexOrName) : indexOrName;\n\t\tconst entity = this._entities[index].entity;\n\t\treturn entity ? this.shadowRoot?.querySelector<TimePickerClock>(`#${this._id}_clock_${entity}`) : undefined;\n\t}\n\n\t/**\n\t * TimePickerClocks focusin event handler. Focuses the active button and switches to active clock.\n\t *\n\t * @param evt Event object\n\t */\n\t_clocksFocusIn(evt: Event) {\n\t\tconst target = evt.target as HTMLElement;\n\t\tif (target.id === this._id) {\n\t\t\tthis._switchClock(this._activeIndex);\n\t\t}\n\t}\n\n\t/**\n\t * ToggleSpinButton focusin event handler.Switches to clock which button is being focused.\n\t *\n\t * @param evt Event object\n\t */\n\t_buttonFocusIn(evt: Event) {\n\t\tconst target = evt.target as HTMLElement;\n\t\tconst name = this._getNameFromId(target.id);\n\t\tif (name) {\n\t\t\tthis._switchTo(name);\n\t\t}\n\t}\n\n\t/**\n\t * keyup event handler.\n\t *\n\t * @param evt Event object\n\t */\n\t_onkeyup(evt: KeyboardEvent) {\n\t\tif (isSpace(evt)) {\n\t\t\tthis._spacePressed = false;\n\t\t}\n\t}\n\n\t/**\n\t * keydown event handler.\n\t *\n\t * @param evt Event object\n\t */\n\t_onkeydown(evt: KeyboardEvent) {\n\t\tlet clock;\n\t\tconst toggleSpinButtonTarget = evt.target && (evt.target as HTMLElement).tagName.toLowerCase().indexOf(\"segmented\") === -1;\n\n\t\tif (isEnter(evt)) {\n\t\t\t// Accept the time and close the popover\n\t\t\tthis.fireEvent(\"close-picker\");\n\t\t} else if (isSpace(evt) && toggleSpinButtonTarget && !this._spacePressed) {\n\t\t\tevt.preventDefault();\n\t\t\tthis._spacePressed = true;\n\t\t\tthis._keyboardBuffer = \"\";\n\t\t\tthis._resetCooldown(true);\n\t\t\tthis._switchNextClock(true);\n\t\t} else if ((isUp(evt) || isDown(evt)) && !isUpAlt(evt) && !isDownAlt(evt)) {\n\t\t\t// Arrows up/down increase/decrease currently active clock\n\t\t\tclock = this._clockComponent(this._activeIndex);\n\t\t\tclock && !clock.disabled && clock._modifyValue(isUp(evt));\n\t\t\tevt.preventDefault();\n\t\t} else if (isPageUp(evt) || isPageDown(evt)) {\n\t\t\t// PageUp/PageDown increase/decrease hours clock\n\t\t\tclock = this._clockComponent(\"hours\");\n\t\t\tif (clock && !clock.disabled) {\n\t\t\t\tthis._switchTo(\"hours\");\n\t\t\t\tclock._modifyValue(isPageUp(evt));\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t} else if (isPageUpShift(evt) || isPageDownShift(evt)) {\n\t\t\t// Shift+PageUp/Shift+PageDown increase/decrease minutes clock\n\t\t\tclock = this._clockComponent(\"minutes\");\n\t\t\tif (clock && !clock.disabled) {\n\t\t\t\tthis._switchTo(\"minutes\");\n\t\t\t\tclock._modifyValue(isPageUpShift(evt));\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t} else if (isPageUpShiftCtrl(evt) || isPageDownShiftCtrl(evt)) {\n\t\t\t// Ctrl+Shift+PageUp/Ctrl+Shift+PageDown increase/decrease seconds clock\n\t\t\tclock = this._clockComponent(\"seconds\");\n\t\t\tif (clock && !clock.disabled) {\n\t\t\t\tthis._switchTo(\"seconds\");\n\t\t\t\tclock._modifyValue(isPageUpShiftCtrl(evt));\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t} else if (isKeyA(evt) || isKeyP(evt)) {\n\t\t\t// A/P selects AM/PM segmented button item\n\t\t\tconst buttonAmPm = this._buttonAmPm();\n\t\t\tif (buttonAmPm) {\n\t\t\t\tbuttonAmPm.items[0].pressed = isKeyA(evt);\n\t\t\t\tbuttonAmPm.items[1].pressed = isKeyP(evt);\n\t\t\t\tconst period = isKeyA(evt) ? buttonAmPm.items[0].textContent : buttonAmPm.items[1].textContent;\n\t\t\t\tperiod && this._calculatePeriodChange(period);\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t} else if (isColon(evt)) {\n\t\t\t// Colon (:) - Switch to next clock\n\t\t\tthis._keyboardBuffer = \"\";\n\t\t\tthis._exactMatch = undefined;\n\t\t\tthis._resetCooldown(true);\n\t\t\tthis._switchNextClock(true);\n\t\t} else if (isNumber(evt) && this._entities[this._activeIndex]) {\n\t\t\t// Direct number entry\n\t\t\tthis._exactMatch = undefined;\n\t\t\tthis._resetCooldown(true);\n\t\t\tthis._numbersInput(evt);\n\t\t}\n\t}\n\n\t/**\n\t * Handles direct numbers entry.\n\t *\n\t * @param evt Event object\n\t */\n\t_numbersInput(evt: KeyboardEvent) {\n\t\tconst char = evt.key;\n\t\tconst bufferStr = this._keyboardBuffer + char;\n\t\tconst bufferNum = parseInt(bufferStr);\n\t\tconst entity = this._entities[this._activeIndex];\n\t\tlet activeClock = this._clockComponent(this._activeIndex);\n\n\t\tif (!entity || !entity.attributes) {\n\t\t\treturn;\n\t\t}\n\t\tif (bufferNum > entity.attributes.max) {\n\t\t\t// value accumulated in the buffer (old entry + new entry) is greater than the clock maximum value,\n\t\t\t// so assign old entry to the current clock and then switch to the next clock, and add new entry as an old value\n\t\t\tactiveClock && activeClock._setSelectedValue(parseInt(this._keyboardBuffer));\n\t\t\tthis._switchNextClock();\n\t\t\tthis._keyboardBuffer = char;\n\t\t\tactiveClock = this._clockComponent(this._activeIndex);\n\t\t\tactiveClock && activeClock._setSelectedValue(parseInt(char));\n\t\t\tthis._resetCooldown(true);\n\t\t} else {\n\t\t\t// value is less than clock's max value, so add new entry to the buffer\n\t\t\tthis._keyboardBuffer = bufferStr;\n\t\t\tactiveClock && activeClock._setSelectedValue(parseInt(this._keyboardBuffer));\n\t\t\tif (this._keyboardBuffer.length === 2 || parseInt(`${this._keyboardBuffer}0`) > entity.attributes.max) {\n\t\t\t\t// if buffer length is 2, or buffer value + one more (any) number is greater than clock's max value\n\t\t\t\t// there is no place for more entry - just set buffer as a value, and switch to the next clock\n\t\t\t\tthis._resetCooldown(this._keyboardBuffer.length !== 2);\n\t\t\t\tthis._keyboardBuffer = \"\";\n\t\t\t\tthis._switchNextClock();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Focuses the first available button.\n\t */\n\t_focusFirstButton() {\n\t\tthis._activeIndex = 0;\n\t\tthis._buttonComponent(0)!.focus();\n\t}\n\n\t/**\n\t * Sets the exact match value. Must be overriden.\n\t */\n\t_setExactMatch() {\n\t\tconst clock = this._clockComponent(this._activeIndex);\n\t\tclock && this._exactMatch !== undefined && clock._setSelectedValue(this._exactMatch);\n\t}\n\n\t/**\n\t * Creates clock and button components according to the display format pattern.\n\t */\n\t_createComponents() {\n\t\tconst time = {\n\t\t\thours: parseInt(this._hours),\n\t\t\tminutes: parseInt(this._minutes),\n\t\t\tseconds: parseInt(this._seconds),\n\t\t};\n\n\t\tthis._entities = [];\n\t\tthis._periods = [];\n\t\tthis._componentMap = {\n\t\t\thours: -1,\n\t\t\tminutes: -1,\n\t\t\tseconds: -1,\n\t\t};\n\t\tif (this._hasHoursComponent) {\n\t\t\t// add Hours clock\n\t\t\tthis._componentMap.hours = this._entities.length;\n\t\t\tthis._entities.push({\n\t\t\t\t\"label\": this.hoursLabel,\n\t\t\t\t\"entity\": \"hours\",\n\t\t\t\t\"itemMin\": 1,\n\t\t\t\t\"itemMax\": 12,\n\t\t\t\t\"value\": time.hours,\n\t\t\t\t\"stringValue\": this._hours,\n\t\t\t\t\"textValue\": `${time.hours} ${this.hoursLabel}`,\n\t\t\t\t\"displayStep\": 1,\n\t\t\t\t\"lastItemReplacement\": this._hoursConfiguration.isTwelveHoursFormat ? -1 : 0,\n\t\t\t\t\"showInnerCircle\": !this._hoursConfiguration.isTwelveHoursFormat,\n\t\t\t\t\"prependZero\": this._zeroPaddedHours,\n\t\t\t\t\"hasSeparator\": this._entities.length > 0,\n\t\t\t\t\"active\": false,\n\t\t\t\t\"attributes\": {\n\t\t\t\t\t\"min\": this._hoursConfiguration.minHour,\n\t\t\t\t\t\"max\": this._hoursConfiguration.maxHour,\n\t\t\t\t\t\"step\": 1,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tif (this._hasMinutesComponent) {\n\t\t\t// add Minutes clock\n\t\t\tthis._componentMap.minutes = this._entities.length;\n\t\t\tthis._entities.push({\n\t\t\t\t\"label\": this.minutesLabel,\n\t\t\t\t\"entity\": \"minutes\",\n\t\t\t\t\"itemMin\": 1,\n\t\t\t\t\"itemMax\": 60,\n\t\t\t\t\"value\": time.minutes,\n\t\t\t\t\"stringValue\": this._minutes,\n\t\t\t\t\"textValue\": `${time.minutes} ${this.minutesLabel}`, // possible concatenation\n\t\t\t\t\"displayStep\": 5,\n\t\t\t\t\"lastItemReplacement\": 0,\n\t\t\t\t\"showInnerCircle\": false,\n\t\t\t\t\"prependZero\": false,\n\t\t\t\t\"hasSeparator\": this._entities.length > 0,\n\t\t\t\t\"active\": false,\n\t\t\t\t\"attributes\": {\n\t\t\t\t\t\"min\": 0,\n\t\t\t\t\t\"max\": 59,\n\t\t\t\t\t\"step\": 1,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tif (this._hasSecondsComponent) {\n\t\t\t// add Seconds clock\n\t\t\tthis._componentMap.seconds = this._entities.length;\n\t\t\tthis._entities.push({\n\t\t\t\t\"label\": this.secondsLabel,\n\t\t\t\t\"entity\": \"seconds\",\n\t\t\t\t\"itemMin\": 1,\n\t\t\t\t\"itemMax\": 60,\n\t\t\t\t\"value\": time.seconds,\n\t\t\t\t\"stringValue\": this._seconds,\n\t\t\t\t\"textValue\": `${time.seconds} ${this.secondsLabel}`, // possible concatenation\n\t\t\t\t\"displayStep\": 5,\n\t\t\t\t\"lastItemReplacement\": 0,\n\t\t\t\t\"showInnerCircle\": false,\n\t\t\t\t\"prependZero\": false,\n\t\t\t\t\"hasSeparator\": this._entities.length > 0,\n\t\t\t\t\"active\": false,\n\t\t\t\t\"attributes\": {\n\t\t\t\t\t\"min\": 0,\n\t\t\t\t\t\"max\": 59,\n\t\t\t\t\t\"step\": 1,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tthis._entities[this._activeIndex].active = true;\n\t\tthis._createPeriodComponent();\n\t}\n\n\t/**\n\t * Switches to the specific clock by name.\n\t *\n\t * @param clockName the name of the clock\n\t */\n\t_switchTo(clockName: string) {\n\t\tconst key = this._componentKey(clockName);\n\t\tif (this._componentMap[key] !== undefined) {\n\t\t\tthis._switchClock(this._componentMap[key]);\n\t\t}\n\t}\n\n\t/**\n\t * Switches to the specific clock by its index in _clocks property.\n\t *\n\t * @param clockIndex the index of the clock\n\t */\n\t_switchClock(clockIndex: number) {\n\t\tconst newButton = this._buttonComponent(clockIndex);\n\n\t\tif (this._entities.length && clockIndex < this._entities.length && newButton) {\n\t\t\tthis._entities[this._activeIndex].active = false;\n\t\t\tthis._activeIndex = clockIndex;\n\t\t\tthis._entities[this._activeIndex].active = true;\n\t\t\tnewButton.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Switches to the next available clock.\n\t *\n\t * @param wrapAround whether to switch to the first clock if there are no next clock\n\t */\n\t_switchNextClock(wrapAround = false) {\n\t\tlet activeIndex = this._activeIndex;\n\t\tconst startActiveIndex = activeIndex;\n\t\tconst activeClock = this._clockComponent(activeIndex);\n\n\t\tdo {\n\t\t\tactiveIndex++;\n\t\t\tif (activeIndex >= this._entities.length) {\n\t\t\t\tactiveIndex = wrapAround ? 0 : this._entities.length - 1;\n\t\t\t}\n\t\t// false-positive finding of no-unmodified-loop-condition rule\n\t\t// eslint-disable-next-line no-unmodified-loop-condition\n\t\t} while (activeClock && activeClock.disabled && activeIndex !== startActiveIndex && (wrapAround || activeIndex < this._entities.length - 1));\n\n\t\tconst newClock = this._clockComponent(activeIndex);\n\n\t\tif (activeIndex !== startActiveIndex && newClock && !newClock.disabled) {\n\t\t\tthis._switchClock(activeIndex);\n\t\t}\n\t}\n\n\t/**\n\t * Clock 'change' event handler.\n\t *\n\t * @param evt Event object\n\t */\n\t_clockChange(evt: CustomEvent<TimePickerClockChangeEventDetail>) {\n\t\tconst index = this._getIndexFromId((evt.target as HTMLElement).id);\n\t\tconst stringValue = evt.detail.stringValue;\n\t\tconst value = evt.detail.value;\n\t\tconst button = this._buttonComponent(index);\n\n\t\tif (!button) {\n\t\t\treturn;\n\t\t}\n\t\tthis._entities[index].stringValue = stringValue;\n\t\tthis._entities[index].value = value;\n\t\tthis._entities = JSON.parse(JSON.stringify(this._entities));\n\t\tswitch (index) {\n\t\tcase this._componentMap.hours:\n\t\t\tthis._hoursChange(value);\n\t\t\tbreak;\n\t\tcase this._componentMap.minutes:\n\t\t\tthis._minutesChange(value);\n\t\t\tbreak;\n\t\tcase this._componentMap.seconds:\n\t\t\tthis._secondsChange(value);\n\t\t\tbreak;\n\t\t}\n\t\tif (evt.detail.finalChange) {\n\t\t\tif (this._activeIndex < this._entities.length - 1) {\n\t\t\t\tthis._switchNextClock();\n\t\t\t} else {\n\t\t\t\tbutton.focus();\n\t\t\t}\n\t\t}\n\t}\n}\n\nTimeSelectionClocks.define();\n\nexport default TimeSelectionClocks;\n"]}
1
+ {"version":3,"file":"TimeSelectionClocks.js","sourceRoot":"","sources":["../src/TimeSelectionClocks.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\"; // default calendar for bundling\nimport {\n\tisDown,\n\tisUp,\n\tisDownAlt,\n\tisUpAlt,\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageDownShift,\n\tisPageUpShiftCtrl,\n\tisPageDownShiftCtrl,\n\tisSpace,\n\tisEnter,\n\tisKeyA,\n\tisKeyP,\n\tisNumber,\n\tisColon,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport TimePickerInternals from \"./TimePickerInternals.js\";\nimport TimePickerClock from \"./TimePickerClock.js\";\nimport ToggleSpinButton from \"./ToggleSpinButton.js\";\nimport SegmentedButton from \"./SegmentedButton.js\";\nimport type { TimePickerClockChangeEventDetail } from \"./TimePickerClock.js\";\n\n// Template\nimport TimeSelectionClocksTemplate from \"./generated/templates/TimeSelectionClocksTemplate.lit.js\";\n\n// Styles\nimport TimeSelectionClocksCss from \"./generated/themes/TimeSelectionClocks.css.js\";\n\n/**\n * Fired when the picker is being closed.\n */\n@event(\"close-picker\")\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * <code>ui5-time-selection-clocks</code> is component that contains all the <code>ui5-time-picker-clock</code> components\n * necessary for the <code>ui5-time-picker</code> as well as all necessary <code>ui5-toggle-spin-button</code> components\n * used for switching between different clocks.\n * <code>ui5-time-picker-clock</code> components and <code>ui5-toggle-spin-button</code> depend on the time format set to\n * <code>ui5-time-picker</code> component.\n *\n * This component should not be used separately.\n *\n * @constructor\n * @extends TimePickerInternals\n * @since 1.15.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-time-selection-clocks\",\n\trenderer: litRender,\n\tstyles: TimeSelectionClocksCss,\n\ttemplate: TimeSelectionClocksTemplate,\n\tdependencies: [\n\t\tTimePickerClock,\n\t\tToggleSpinButton,\n\t\tSegmentedButton,\n\t],\n})\n\nclass TimeSelectionClocks extends TimePickerInternals {\n\t/**\n\t * Flag for pressed Space key\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_spacePressed!: boolean;\n\n\t/**\n\t * Flag for focused state of Clocks component\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_focused!: boolean;\n\n\t/**\n\t * Flag for focused state of AM/PM segmented button\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_amPmFocused!: boolean;\n\n\tonBeforeRendering() {\n\t\tthis._createComponents();\n\t}\n\n\t/**\n\t * Returns ToggleSpinButton component by index or name.\n\t *\n\t * @param indexOrName the index or name of the component\n\t * @returns component (if exists) or undefined\n\t */\n\t_buttonComponent(indexOrName: number | string): ToggleSpinButton | undefined | null {\n\t\tconst index = typeof indexOrName === \"string\" ? this._indexFromName(indexOrName) : indexOrName;\n\t\tconst entity = this._entities[index].entity;\n\t\treturn entity ? this.shadowRoot?.querySelector<ToggleSpinButton>(`#${this._id}_button_${entity}`) : undefined;\n\t}\n\n\t/**\n\t * Returns TimePickerClock component by index or name.\n\t *\n\t * @param indexOrName the index or name of the component\n\t * @returns component (if exists) or undefined\n\t */\n\t_clockComponent(indexOrName: number | string): TimePickerClock | undefined | null {\n\t\tconst index = typeof indexOrName === \"string\" ? this._indexFromName(indexOrName) : indexOrName;\n\t\tconst entity = this._entities[index].entity;\n\t\treturn entity ? this.shadowRoot?.querySelector<TimePickerClock>(`#${this._id}_clock_${entity}`) : undefined;\n\t}\n\n\t/**\n\t * TimePickerClocks focusin event handler. Focuses the active button and switches to active clock.\n\t *\n\t * @param evt Event object\n\t */\n\t_clocksFocusIn(evt: Event) {\n\t\tconst target = evt.target as HTMLElement;\n\t\tthis._focused = true;\n\t\tif (target.id === this._id) {\n\t\t\tthis._switchClock(this._activeIndex);\n\t\t}\n\t}\n\n\t_clocksFocusOut() {\n\t\tthis._focused = false;\n\t}\n\n\t/**\n\t * ToggleSpinButton focusin event handler.Switches to clock which button is being focused.\n\t *\n\t * @param evt Event object\n\t */\n\t_buttonFocusIn(evt: Event) {\n\t\tconst target = evt.target as HTMLElement;\n\t\tconst name = this._getNameFromId(target.id);\n\t\tif (name) {\n\t\t\tthis._switchTo(name);\n\t\t}\n\t}\n\n\t/**\n\t * AM/PM segmented button focusin event handler.\n\t */\n\t_amPmFocusIn() {\n\t\tthis._amPmFocused = true;\n\t}\n\n\t/**\n\t * AM/PM segmented button focusout event handler.\n\t */\n\t_amPmFocusOut() {\n\t\tthis._amPmFocused = false;\n\t}\n\n\t/**\n\t * keyup event handler.\n\t *\n\t * @param evt Event object\n\t */\n\t_onkeyup(evt: KeyboardEvent) {\n\t\tif (isSpace(evt)) {\n\t\t\tthis._spacePressed = false;\n\t\t}\n\t}\n\n\t/**\n\t * keydown event handler.\n\t *\n\t * @param evt Event object\n\t */\n\t_onkeydown(evt: KeyboardEvent) {\n\t\tlet clock;\n\t\tconst toggleSpinButtonTarget = evt.target && (evt.target as HTMLElement).tagName.toLowerCase().indexOf(\"segmented\") === -1;\n\n\t\tif (isEnter(evt)) {\n\t\t\t// Accept the time and close the popover\n\t\t\tthis.fireEvent(\"close-picker\");\n\t\t} else if (isSpace(evt) && toggleSpinButtonTarget && !this._spacePressed) {\n\t\t\tevt.preventDefault();\n\t\t\tthis._spacePressed = true;\n\t\t\tthis._keyboardBuffer = \"\";\n\t\t\tthis._resetCooldown(true);\n\t\t\tthis._switchNextClock(true);\n\t\t} else if ((isUp(evt) || isDown(evt)) && !isUpAlt(evt) && !isDownAlt(evt)) {\n\t\t\t// Arrows up/down increase/decrease currently active clock\n\t\t\tclock = this._clockComponent(this._activeIndex);\n\t\t\tclock && !clock.disabled && !this._amPmFocused && clock._modifyValue(isUp(evt));\n\t\t\tevt.preventDefault();\n\t\t} else if (isPageUp(evt) || isPageDown(evt)) {\n\t\t\t// PageUp/PageDown increase/decrease hours clock\n\t\t\tclock = this._clockComponent(\"hours\");\n\t\t\tif (clock && !clock.disabled) {\n\t\t\t\tthis._switchTo(\"hours\");\n\t\t\t\tclock._modifyValue(isPageUp(evt));\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t} else if (isPageUpShift(evt) || isPageDownShift(evt)) {\n\t\t\t// Shift+PageUp/Shift+PageDown increase/decrease minutes clock\n\t\t\tclock = this._clockComponent(\"minutes\");\n\t\t\tif (clock && !clock.disabled) {\n\t\t\t\tthis._switchTo(\"minutes\");\n\t\t\t\tclock._modifyValue(isPageUpShift(evt));\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t} else if (isPageUpShiftCtrl(evt) || isPageDownShiftCtrl(evt)) {\n\t\t\t// Ctrl+Shift+PageUp/Ctrl+Shift+PageDown increase/decrease seconds clock\n\t\t\tclock = this._clockComponent(\"seconds\");\n\t\t\tif (clock && !clock.disabled) {\n\t\t\t\tthis._switchTo(\"seconds\");\n\t\t\t\tclock._modifyValue(isPageUpShiftCtrl(evt));\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t} else if (isKeyA(evt) || isKeyP(evt)) {\n\t\t\t// A/P selects AM/PM segmented button item\n\t\t\tconst buttonAmPm = this._buttonAmPm();\n\t\t\tif (buttonAmPm) {\n\t\t\t\tbuttonAmPm.items[0].pressed = isKeyA(evt);\n\t\t\t\tbuttonAmPm.items[1].pressed = isKeyP(evt);\n\t\t\t\tconst period = isKeyA(evt) ? buttonAmPm.items[0].textContent : buttonAmPm.items[1].textContent;\n\t\t\t\tperiod && this._calculatePeriodChange(period);\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t} else if (isColon(evt)) {\n\t\t\t// Colon (:) - Switch to next clock\n\t\t\tthis._keyboardBuffer = \"\";\n\t\t\tthis._exactMatch = undefined;\n\t\t\tthis._resetCooldown(true);\n\t\t\tthis._switchNextClock(true);\n\t\t} else if (isNumber(evt) && this._entities[this._activeIndex]) {\n\t\t\t// Direct number entry\n\t\t\tthis._exactMatch = undefined;\n\t\t\tthis._resetCooldown(true);\n\t\t\tthis._numbersInput(evt);\n\t\t}\n\t}\n\n\t/**\n\t * Handles direct numbers entry.\n\t *\n\t * @param evt Event object\n\t */\n\t_numbersInput(evt: KeyboardEvent) {\n\t\tconst char = evt.key;\n\t\tconst bufferStr = this._keyboardBuffer + char;\n\t\tconst bufferNum = parseInt(bufferStr);\n\t\tconst entity = this._entities[this._activeIndex];\n\t\tlet activeClock = this._clockComponent(this._activeIndex);\n\n\t\tif (!entity || !entity.attributes) {\n\t\t\treturn;\n\t\t}\n\t\tif (bufferNum > entity.attributes.max) {\n\t\t\t// value accumulated in the buffer (old entry + new entry) is greater than the clock maximum value,\n\t\t\t// so assign old entry to the current clock and then switch to the next clock, and add new entry as an old value\n\t\t\tactiveClock && activeClock._setSelectedValue(parseInt(this._keyboardBuffer));\n\t\t\tthis._switchNextClock();\n\t\t\tthis._keyboardBuffer = char;\n\t\t\tactiveClock = this._clockComponent(this._activeIndex);\n\t\t\tactiveClock && activeClock._setSelectedValue(parseInt(char));\n\t\t\tthis._resetCooldown(true);\n\t\t} else {\n\t\t\t// value is less than clock's max value, so add new entry to the buffer\n\t\t\tthis._keyboardBuffer = bufferStr;\n\t\t\tactiveClock && activeClock._setSelectedValue(parseInt(this._keyboardBuffer));\n\t\t\tif (this._keyboardBuffer.length === 2 || parseInt(`${this._keyboardBuffer}0`) > entity.attributes.max) {\n\t\t\t\t// if buffer length is 2, or buffer value + one more (any) number is greater than clock's max value\n\t\t\t\t// there is no place for more entry - just set buffer as a value, and switch to the next clock\n\t\t\t\tthis._resetCooldown(this._keyboardBuffer.length !== 2);\n\t\t\t\tthis._keyboardBuffer = \"\";\n\t\t\t\tthis._switchNextClock();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Focuses the first available button.\n\t */\n\t_focusFirstButton() {\n\t\tthis._activeIndex = 0;\n\t\tthis._buttonComponent(0)!.focus();\n\t}\n\n\t/**\n\t * Sets the exact match value. Must be overriden.\n\t */\n\t_setExactMatch() {\n\t\tconst clock = this._clockComponent(this._activeIndex);\n\t\tclock && this._exactMatch !== undefined && clock._setSelectedValue(this._exactMatch);\n\t}\n\n\t/**\n\t * Creates clock and button components according to the display format pattern.\n\t */\n\t_createComponents() {\n\t\tconst time = {\n\t\t\thours: parseInt(this._hours),\n\t\t\tminutes: parseInt(this._minutes),\n\t\t\tseconds: parseInt(this._seconds),\n\t\t};\n\n\t\tthis._entities = [];\n\t\tthis._periods = [];\n\t\tthis._componentMap = {\n\t\t\thours: -1,\n\t\t\tminutes: -1,\n\t\t\tseconds: -1,\n\t\t};\n\t\tif (this._hasHoursComponent) {\n\t\t\t// add Hours clock\n\t\t\tthis._componentMap.hours = this._entities.length;\n\t\t\tthis._entities.push({\n\t\t\t\t\"label\": this.hoursLabel,\n\t\t\t\t\"entity\": \"hours\",\n\t\t\t\t\"itemMin\": 1,\n\t\t\t\t\"itemMax\": 12,\n\t\t\t\t\"value\": time.hours,\n\t\t\t\t\"stringValue\": this._hours,\n\t\t\t\t\"textValue\": `${time.hours} ${this.hoursLabel}`,\n\t\t\t\t\"displayStep\": 1,\n\t\t\t\t\"lastItemReplacement\": this._hoursConfiguration.isTwelveHoursFormat ? -1 : 0,\n\t\t\t\t\"showInnerCircle\": !this._hoursConfiguration.isTwelveHoursFormat,\n\t\t\t\t\"prependZero\": this._zeroPaddedHours,\n\t\t\t\t\"hasSeparator\": this._entities.length > 0,\n\t\t\t\t\"active\": false,\n\t\t\t\t\"attributes\": {\n\t\t\t\t\t\"min\": this._hoursConfiguration.minHour,\n\t\t\t\t\t\"max\": this._hoursConfiguration.maxHour,\n\t\t\t\t\t\"step\": 1,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tif (this._hasMinutesComponent) {\n\t\t\t// add Minutes clock\n\t\t\tthis._componentMap.minutes = this._entities.length;\n\t\t\tthis._entities.push({\n\t\t\t\t\"label\": this.minutesLabel,\n\t\t\t\t\"entity\": \"minutes\",\n\t\t\t\t\"itemMin\": 1,\n\t\t\t\t\"itemMax\": 60,\n\t\t\t\t\"value\": time.minutes,\n\t\t\t\t\"stringValue\": this._minutes,\n\t\t\t\t\"textValue\": `${time.minutes} ${this.minutesLabel}`, // possible concatenation\n\t\t\t\t\"displayStep\": 5,\n\t\t\t\t\"lastItemReplacement\": 0,\n\t\t\t\t\"showInnerCircle\": false,\n\t\t\t\t\"prependZero\": false,\n\t\t\t\t\"hasSeparator\": this._entities.length > 0,\n\t\t\t\t\"active\": false,\n\t\t\t\t\"attributes\": {\n\t\t\t\t\t\"min\": 0,\n\t\t\t\t\t\"max\": 59,\n\t\t\t\t\t\"step\": 1,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tif (this._hasSecondsComponent) {\n\t\t\t// add Seconds clock\n\t\t\tthis._componentMap.seconds = this._entities.length;\n\t\t\tthis._entities.push({\n\t\t\t\t\"label\": this.secondsLabel,\n\t\t\t\t\"entity\": \"seconds\",\n\t\t\t\t\"itemMin\": 1,\n\t\t\t\t\"itemMax\": 60,\n\t\t\t\t\"value\": time.seconds,\n\t\t\t\t\"stringValue\": this._seconds,\n\t\t\t\t\"textValue\": `${time.seconds} ${this.secondsLabel}`, // possible concatenation\n\t\t\t\t\"displayStep\": 5,\n\t\t\t\t\"lastItemReplacement\": 0,\n\t\t\t\t\"showInnerCircle\": false,\n\t\t\t\t\"prependZero\": false,\n\t\t\t\t\"hasSeparator\": this._entities.length > 0,\n\t\t\t\t\"active\": false,\n\t\t\t\t\"attributes\": {\n\t\t\t\t\t\"min\": 0,\n\t\t\t\t\t\"max\": 59,\n\t\t\t\t\t\"step\": 1,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\tthis._entities[this._activeIndex].active = true;\n\t\tthis._entities[this._activeIndex].focused = this._focused && !this._amPmFocused;\n\t\tthis._createPeriodComponent();\n\t}\n\n\t/**\n\t * Switches to the specific clock by name.\n\t *\n\t * @param clockName the name of the clock\n\t */\n\t_switchTo(clockName: string) {\n\t\tconst key = this._componentKey(clockName);\n\t\tif (this._componentMap[key] !== undefined) {\n\t\t\tthis._switchClock(this._componentMap[key]);\n\t\t}\n\t}\n\n\t/**\n\t * Switches to the specific clock by its index in _clocks property.\n\t *\n\t * @param clockIndex the index of the clock\n\t */\n\t_switchClock(clockIndex: number) {\n\t\tconst newButton = this._buttonComponent(clockIndex);\n\n\t\tif (this._entities.length && clockIndex < this._entities.length && newButton) {\n\t\t\tthis._entities[this._activeIndex].active = false;\n\t\t\tthis._entities[this._activeIndex].focused = false;\n\t\t\tthis._activeIndex = clockIndex;\n\t\t\tthis._entities[this._activeIndex].active = true;\n\t\t\tthis._entities[this._activeIndex].focused = this._focused && !this._amPmFocused;\n\t\t\tnewButton.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Switches to the next available clock.\n\t *\n\t * @param wrapAround whether to switch to the first clock if there are no next clock\n\t */\n\t_switchNextClock(wrapAround = false) {\n\t\tlet activeIndex = this._activeIndex;\n\t\tconst startActiveIndex = activeIndex;\n\t\tconst activeClock = this._clockComponent(activeIndex);\n\n\t\tdo {\n\t\t\tactiveIndex++;\n\t\t\tif (activeIndex >= this._entities.length) {\n\t\t\t\tactiveIndex = wrapAround ? 0 : this._entities.length - 1;\n\t\t\t}\n\t\t// false-positive finding of no-unmodified-loop-condition rule\n\t\t// eslint-disable-next-line no-unmodified-loop-condition\n\t\t} while (activeClock && activeClock.disabled && activeIndex !== startActiveIndex && (wrapAround || activeIndex < this._entities.length - 1));\n\n\t\tconst newClock = this._clockComponent(activeIndex);\n\n\t\tif (activeIndex !== startActiveIndex && newClock && !newClock.disabled) {\n\t\t\tthis._switchClock(activeIndex);\n\t\t}\n\t}\n\n\t/**\n\t * Clock 'change' event handler.\n\t *\n\t * @param evt Event object\n\t */\n\t_clockChange(evt: CustomEvent<TimePickerClockChangeEventDetail>) {\n\t\tconst index = this._getIndexFromId((evt.target as HTMLElement).id);\n\t\tconst stringValue = evt.detail.stringValue;\n\t\tconst value = evt.detail.value;\n\t\tconst button = this._buttonComponent(index);\n\n\t\tif (!button) {\n\t\t\treturn;\n\t\t}\n\t\tthis._entities[index].stringValue = stringValue;\n\t\tthis._entities[index].value = value;\n\t\tthis._entities = JSON.parse(JSON.stringify(this._entities));\n\t\tswitch (index) {\n\t\tcase this._componentMap.hours:\n\t\t\tthis._hoursChange(value);\n\t\t\tbreak;\n\t\tcase this._componentMap.minutes:\n\t\t\tthis._minutesChange(value);\n\t\t\tbreak;\n\t\tcase this._componentMap.seconds:\n\t\t\tthis._secondsChange(value);\n\t\t\tbreak;\n\t\t}\n\t\tif (evt.detail.finalChange) {\n\t\t\tif (this._activeIndex < this._entities.length - 1) {\n\t\t\t\tthis._switchNextClock();\n\t\t\t} else {\n\t\t\t\tbutton.focus();\n\t\t\t}\n\t\t}\n\t}\n}\n\nTimeSelectionClocks.define();\n\nexport default TimeSelectionClocks;\n"]}
package/dist/Toast.d.ts CHANGED
@@ -92,6 +92,7 @@ declare class Toast extends UI5Element {
92
92
  focused: boolean;
93
93
  _reopen: boolean;
94
94
  constructor();
95
+ onBeforeRendering(): void;
95
96
  onAfterRendering(): void;
96
97
  /**
97
98
  * Shows the component.
@@ -106,14 +107,6 @@ declare class Toast extends UI5Element {
106
107
  * @private
107
108
  */
108
109
  get effectiveDuration(): number;
109
- get styles(): {
110
- root: {
111
- "transition-duration": string;
112
- "transition-delay": string;
113
- opacity: string;
114
- "z-index": number | undefined;
115
- };
116
- };
117
110
  _initiateOpening(): void;
118
111
  _ontransitionend(): void;
119
112
  _onmouseover(): void;
package/dist/Toast.js CHANGED
@@ -22,9 +22,10 @@ const MIN_DURATION = 500;
22
22
  const MAX_DURATION = 1000;
23
23
  const openedToasts = [];
24
24
  let opener;
25
+ let globalListenerAdded = false;
25
26
  const handleGlobalKeydown = (e) => {
26
27
  const isCtrl = e.metaKey || (!isMac() && e.ctrlKey);
27
- const isMKey = e.key.toLowerCase() === "m";
28
+ const isMKey = e.key && e.key.toLowerCase() === "m";
28
29
  const isCombinationPressed = isCtrl && e.shiftKey && isMKey;
29
30
  const hasOpenToast = openedToasts.length;
30
31
  if (isCombinationPressed) {
@@ -42,7 +43,6 @@ const handleGlobalKeydown = (e) => {
42
43
  }
43
44
  }
44
45
  };
45
- document.addEventListener("keydown", handleGlobalKeydown);
46
46
  /**
47
47
  * @class
48
48
  *
@@ -85,6 +85,25 @@ let Toast = class Toast extends UI5Element {
85
85
  constructor() {
86
86
  super();
87
87
  this._reopen = false;
88
+ this.addEventListener("focusin", this._onfocusin.bind(this));
89
+ this.addEventListener("focusout", this._onfocusout.bind(this));
90
+ this.addEventListener("keydown", this._onkeydown.bind(this));
91
+ this.addEventListener("mouseover", this._onmouseover.bind(this));
92
+ this.addEventListener("mouseleave", this._onmouseleave.bind(this));
93
+ this.addEventListener("transitionend", this._ontransitionend.bind(this));
94
+ }
95
+ onBeforeRendering() {
96
+ // Transition duration (animation) should be a third of the duration
97
+ // property, but not bigger than the maximum allowed (1000ms).
98
+ const transitionDuration = Math.min(this.effectiveDuration / 3, MAX_DURATION);
99
+ this.style.transitionDuration = this.open ? `${transitionDuration}ms` : "";
100
+ this.style.transitionDelay = this.open ? `${this.effectiveDuration - transitionDuration}ms` : "";
101
+ this.style.opacity = this.open && !this.hover && !this.focused ? "0" : "";
102
+ this.style.zIndex = `${getNextZIndex()}`;
103
+ if (!globalListenerAdded) {
104
+ document.addEventListener("keydown", handleGlobalKeydown);
105
+ globalListenerAdded = true;
106
+ }
88
107
  }
89
108
  onAfterRendering() {
90
109
  if (this._reopen) {
@@ -125,22 +144,6 @@ let Toast = class Toast extends UI5Element {
125
144
  get effectiveDuration() {
126
145
  return this.duration < MIN_DURATION ? MIN_DURATION : this.duration;
127
146
  }
128
- get styles() {
129
- // Transition duration (animation) should be a third of the duration
130
- // property, but not bigger than the maximum allowed (1000ms).
131
- const transitionDuration = Math.min(this.effectiveDuration / 3, MAX_DURATION);
132
- return {
133
- root: {
134
- "transition-duration": this.open ? `${transitionDuration}ms` : "",
135
- // Transition delay is the duration property minus the
136
- // transition duration (animation).
137
- "transition-delay": this.open ? `${this.effectiveDuration - transitionDuration}ms` : "",
138
- // We alter the opacity property, in order to trigger transition
139
- "opacity": this.open && !this.hover && !this.focused ? "0" : "",
140
- "z-index": getNextZIndex(),
141
- },
142
- };
143
- }
144
147
  _initiateOpening() {
145
148
  this.domRendered = true;
146
149
  requestAnimationFrame(() => {
@@ -157,7 +160,6 @@ let Toast = class Toast extends UI5Element {
157
160
  this.open = false;
158
161
  this.focusable = false;
159
162
  this.focused = false;
160
- openedToasts.pop();
161
163
  }
162
164
  _onmouseover() {
163
165
  this.hover = true;
package/dist/Toast.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.js","sourceRoot":"","sources":["../src/Toast.ts"],"names":[],"mappings":"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","sourcesContent":["import Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getNextZIndex } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport { isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isMac } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport ToastPlacement from \"./types/ToastPlacement.js\";\n\n// Template\nimport ToastTemplate from \"./generated/templates/ToastTemplate.lit.js\";\n\n// Styles\nimport ToastCss from \"./generated/themes/Toast.css.js\";\n\n// Constants\nconst MIN_DURATION = 500;\nconst MAX_DURATION = 1000;\nconst openedToasts: Array<Toast> = [];\nlet opener: HTMLElement | null;\n\nconst handleGlobalKeydown = (e: KeyboardEvent) => {\n\tconst isCtrl = e.metaKey || (!isMac() && e.ctrlKey);\n\tconst isMKey = e.key.toLowerCase() === \"m\";\n\tconst isCombinationPressed = isCtrl && e.shiftKey && isMKey;\n\tconst hasOpenToast = openedToasts.length;\n\n\tif (isCombinationPressed) {\n\t\te.preventDefault();\n\n\t\tif (hasOpenToast) {\n\t\t\topenedToasts[0].focusable = true;\n\n\t\t\tif (openedToasts[0].focused) {\n\t\t\t\topenedToasts[0].focused = false;\n\t\t\t\topener?.focus();\n\t\t\t} else {\n\t\t\t\topener = (document.activeElement as HTMLElement);\n\t\t\t\topenedToasts[0].focus();\n\t\t\t}\n\t\t}\n\t}\n};\n\ndocument.addEventListener(\"keydown\", handleGlobalKeydown);\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-toast</code> is a small, non-disruptive popup for success or information messages that\n * disappears automatically after a few seconds.\n *\n *\n * <h3>Usage</h3>\n *\n * <h4>When to use:</h4>\n * <ul>\n * <li>You want to display a short success or information message.</li>\n * <li>You do not want to interrupt users while they are performing an action.</li>\n * <li>You want to confirm a successful action.</li>\n * </ul>\n * <h4>When not to use:</h4>\n * <ul>\n * <li>You want to display error or warning message.</li>\n * <li>You want to interrupt users while they are performing an action.</li>\n * <li>You want to make sure that users read the message before they leave the page.</li>\n * <li>You want users to be able to copy some part of the message text.</li>\n * </ul>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Toast\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.6\n * @slot {Array<Node>} default\n * Defines the text of the component.\n * <br><br>\n * <b>Note:</b> Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n */\n@customElement({\n\ttag: \"ui5-toast\",\n\trenderer: litRender,\n\tstyles: ToastCss,\n\ttemplate: ToastTemplate,\n})\nclass Toast extends UI5Element {\n\t/**\n\t * Defines the duration in milliseconds for which component\n\t * remains on the screen before it's automatically closed.\n\t * <br><br>\n\t * <b>Note:</b> The minimum supported value is <code>500</code> ms\n\t * and even if a lower value is set, the duration would remain <code>500</code> ms.\n\t *\n\t * @default 3000\n\t * @public\n\t */\n\t@property({ validator: Integer, defaultValue: 3000 })\n\tduration!: number;\n\n\t/**\n\t * Defines the placement of the component.\n\t * <br><br>\n\t *\n\t * @default \"BottomCenter\"\n\t * @public\n\t */\n\t@property({ type: ToastPlacement, defaultValue: ToastPlacement.BottomCenter })\n\tplacement!: `${ToastPlacement}`;\n\n\t/**\n\t * Indicates whether the component is open (visible).\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\topen!: boolean;\n\n\t/**\n\t * Indicates whether the component is hovered.\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thover!: boolean;\n\n\t/**\n\t * Indicates whether the component DOM is rendered.\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdomRendered!: boolean;\n\n\t/**\n\t * Indicates whether the toast could be focused\n\t * This happens when ctr / command + shift + m is pressed\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocusable!: boolean;\n\n\t/**\n\t * Indicates whether the toast is focused\n\t * This happens when ctr / command + shift + m is pressed\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t_reopen: boolean;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._reopen = false;\n\t}\n\n\tonAfterRendering() {\n\t\tif (this._reopen) {\n\t\t\tthis._reopen = false;\n\t\t\tthis._initiateOpening();\n\t\t}\n\t}\n\n\t/**\n\t * Shows the component.\n\t * @public\n\t */\n\tshow(): void {\n\t\tif (this.open) {\n\t\t\t// If the Toast is already opened, we set the _reopen flag to true, in\n\t\t\t// order to trigger re-rendering after an animation frame\n\t\t\t// in the onAfterRendering hook.\n\t\t\t// This is needed for properly resetting the opacity transition.\n\t\t\tthis._reopen = true;\n\t\t\tthis.open = false;\n\t\t} else {\n\t\t\tthis._initiateOpening();\n\t\t}\n\t}\n\n\t_onfocusin() {\n\t\tif (this.focusable) {\n\t\t\tthis.focused = true;\n\t\t}\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\t/**\n\t * If the minimum duration is lower than 500ms, we force\n\t * it to be 500ms, as described in the documentation.\n\t * @private\n\t */\n\tget effectiveDuration() {\n\t\treturn this.duration < MIN_DURATION ? MIN_DURATION : this.duration;\n\t}\n\n\tget styles() {\n\t\t// Transition duration (animation) should be a third of the duration\n\t\t// property, but not bigger than the maximum allowed (1000ms).\n\t\tconst transitionDuration = Math.min(this.effectiveDuration / 3, MAX_DURATION);\n\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"transition-duration\": this.open ? `${transitionDuration}ms` : \"\",\n\n\t\t\t\t// Transition delay is the duration property minus the\n\t\t\t\t// transition duration (animation).\n\t\t\t\t\"transition-delay\": this.open ? `${this.effectiveDuration - transitionDuration}ms` : \"\",\n\n\t\t\t\t// We alter the opacity property, in order to trigger transition\n\t\t\t\t\"opacity\": this.open && !this.hover && !this.focused ? \"0\" : \"\",\n\n\t\t\t\t\"z-index\": getNextZIndex(),\n\t\t\t},\n\t\t};\n\t}\n\n\t_initiateOpening() {\n\t\tthis.domRendered = true;\n\t\trequestAnimationFrame(() => {\n\t\t\tthis.open = true;\n\t\t\topenedToasts.pop();\n\t\t\topenedToasts.push(this);\n\t\t});\n\t}\n\n\t_ontransitionend() {\n\t\tif (this.hover || this.focused) {\n\t\t\treturn;\n\t\t}\n\t\tthis.domRendered = false;\n\t\tthis.open = false;\n\t\tthis.focusable = false;\n\t\tthis.focused = false;\n\t\topenedToasts.pop();\n\t}\n\n\t_onmouseover() {\n\t\tthis.hover = true;\n\t}\n\n\t_onmouseleave() {\n\t\tthis.hover = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEscape(e)) {\n\t\t\tthis.focused = false;\n\t\t\topener?.focus();\n\t\t}\n\t}\n\n\tget _tabindex() {\n\t\treturn this.focused ? \"0\" : \"-1\";\n\t}\n}\n\nToast.define();\n\nexport default Toast;\n"]}
1
+ {"version":3,"file":"Toast.js","sourceRoot":"","sources":["../src/Toast.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,OAAO,MAAM,+CAA+C,CAAC;AACpE,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAC/D,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,cAAc,MAAM,2BAA2B,CAAC;AAEvD,WAAW;AACX,OAAO,aAAa,MAAM,4CAA4C,CAAC;AAEvE,SAAS;AACT,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AAEvD,YAAY;AACZ,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,YAAY,GAAiB,EAAE,CAAC;AACtC,IAAI,MAA0B,CAAC;AAE/B,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAChC,MAAM,mBAAmB,GAAG,CAAC,CAAgB,EAAE,EAAE;IAChD,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;IACpD,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC;IAC5D,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;IAEzC,IAAI,oBAAoB,EAAE;QACzB,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,YAAY,EAAE;YACjB,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;YAEjC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;gBAC5B,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;gBAChC,MAAM,EAAE,KAAK,EAAE,CAAC;aAChB;iBAAM;gBACN,MAAM,GAAI,QAAQ,CAAC,aAA6B,CAAC;gBACjD,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;aACxB;SACD;KACD;AACF,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAOH,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,UAAU;IAoE7B;QACC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,iBAAiB;QAChB,oEAAoE;QACpE,8DAA8D;QAC9D,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;QAE9E,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,kBAAkB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,GAAG,kBAAkB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACjG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,aAAa,EAAE,EAAE,CAAC;QAEzC,IAAI,CAAC,mBAAmB,EAAE;YACzB,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;YAC1D,mBAAmB,GAAG,IAAI,CAAC;SAC3B;IACF,CAAC;IAED,gBAAgB;QACf,IAAI,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACxB;IACF,CAAC;IAED;;;OAGG;IACH,IAAI;QACH,IAAI,IAAI,CAAC,IAAI,EAAE;YACd,sEAAsE;YACtE,yDAAyD;YACzD,gCAAgC;YAChC,gEAAgE;YAChE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;SAClB;aAAM;YACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACxB;IACF,CAAC;IAED,UAAU;QACT,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACpB;IACF,CAAC;IAED,WAAW;QACV,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,IAAI,iBAAiB;QACpB,OAAO,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACpE,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,qBAAqB,CAAC,GAAG,EAAE;YAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,YAAY,CAAC,GAAG,EAAE,CAAC;YACnB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,gBAAgB;QACf,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B,OAAO;SACP;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,YAAY;QACX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,aAAa;QACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;YAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,MAAM,EAAE,KAAK,EAAE,CAAC;SAChB;IACF,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAClC,CAAC;CACD,CAAA;AArKA;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;uCACnC;AAUlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,CAAC,YAAY,EAAE,CAAC;wCAC9C;AAQhC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mCACb;AAQf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oCACZ;AAQhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACN;AAStB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCACR;AASpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sCACV;AAhEb,KAAK;IANV,aAAa,CAAC;QACd,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,aAAa;KACvB,CAAC;GACI,KAAK,CAiLV;AAED,KAAK,CAAC,MAAM,EAAE,CAAC;AAEf,eAAe,KAAK,CAAC","sourcesContent":["import Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getNextZIndex } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport { isEscape } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isMac } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport ToastPlacement from \"./types/ToastPlacement.js\";\n\n// Template\nimport ToastTemplate from \"./generated/templates/ToastTemplate.lit.js\";\n\n// Styles\nimport ToastCss from \"./generated/themes/Toast.css.js\";\n\n// Constants\nconst MIN_DURATION = 500;\nconst MAX_DURATION = 1000;\nconst openedToasts: Array<Toast> = [];\nlet opener: HTMLElement | null;\n\nlet globalListenerAdded = false;\nconst handleGlobalKeydown = (e: KeyboardEvent) => {\n\tconst isCtrl = e.metaKey || (!isMac() && e.ctrlKey);\n\tconst isMKey = e.key && e.key.toLowerCase() === \"m\";\n\tconst isCombinationPressed = isCtrl && e.shiftKey && isMKey;\n\tconst hasOpenToast = openedToasts.length;\n\n\tif (isCombinationPressed) {\n\t\te.preventDefault();\n\n\t\tif (hasOpenToast) {\n\t\t\topenedToasts[0].focusable = true;\n\n\t\t\tif (openedToasts[0].focused) {\n\t\t\t\topenedToasts[0].focused = false;\n\t\t\t\topener?.focus();\n\t\t\t} else {\n\t\t\t\topener = (document.activeElement as HTMLElement);\n\t\t\t\topenedToasts[0].focus();\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-toast</code> is a small, non-disruptive popup for success or information messages that\n * disappears automatically after a few seconds.\n *\n *\n * <h3>Usage</h3>\n *\n * <h4>When to use:</h4>\n * <ul>\n * <li>You want to display a short success or information message.</li>\n * <li>You do not want to interrupt users while they are performing an action.</li>\n * <li>You want to confirm a successful action.</li>\n * </ul>\n * <h4>When not to use:</h4>\n * <ul>\n * <li>You want to display error or warning message.</li>\n * <li>You want to interrupt users while they are performing an action.</li>\n * <li>You want to make sure that users read the message before they leave the page.</li>\n * <li>You want users to be able to copy some part of the message text.</li>\n * </ul>\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Toast\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.6\n * @slot {Array<Node>} default\n * Defines the text of the component.\n * <br><br>\n * <b>Note:</b> Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n */\n@customElement({\n\ttag: \"ui5-toast\",\n\trenderer: litRender,\n\tstyles: ToastCss,\n\ttemplate: ToastTemplate,\n})\nclass Toast extends UI5Element {\n\t/**\n\t * Defines the duration in milliseconds for which component\n\t * remains on the screen before it's automatically closed.\n\t * <br><br>\n\t * <b>Note:</b> The minimum supported value is <code>500</code> ms\n\t * and even if a lower value is set, the duration would remain <code>500</code> ms.\n\t *\n\t * @default 3000\n\t * @public\n\t */\n\t@property({ validator: Integer, defaultValue: 3000 })\n\tduration!: number;\n\n\t/**\n\t * Defines the placement of the component.\n\t * <br><br>\n\t *\n\t * @default \"BottomCenter\"\n\t * @public\n\t */\n\t@property({ type: ToastPlacement, defaultValue: ToastPlacement.BottomCenter })\n\tplacement!: `${ToastPlacement}`;\n\n\t/**\n\t * Indicates whether the component is open (visible).\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\topen!: boolean;\n\n\t/**\n\t * Indicates whether the component is hovered.\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thover!: boolean;\n\n\t/**\n\t * Indicates whether the component DOM is rendered.\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdomRendered!: boolean;\n\n\t/**\n\t * Indicates whether the toast could be focused\n\t * This happens when ctr / command + shift + m is pressed\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocusable!: boolean;\n\n\t/**\n\t * Indicates whether the toast is focused\n\t * This happens when ctr / command + shift + m is pressed\n\t *\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t_reopen: boolean;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._reopen = false;\n\n\t\tthis.addEventListener(\"focusin\", this._onfocusin.bind(this));\n\t\tthis.addEventListener(\"focusout\", this._onfocusout.bind(this));\n\t\tthis.addEventListener(\"keydown\", this._onkeydown.bind(this));\n\t\tthis.addEventListener(\"mouseover\", this._onmouseover.bind(this));\n\t\tthis.addEventListener(\"mouseleave\", this._onmouseleave.bind(this));\n\t\tthis.addEventListener(\"transitionend\", this._ontransitionend.bind(this));\n\t}\n\n\tonBeforeRendering() {\n\t\t// Transition duration (animation) should be a third of the duration\n\t\t// property, but not bigger than the maximum allowed (1000ms).\n\t\tconst transitionDuration = Math.min(this.effectiveDuration / 3, MAX_DURATION);\n\n\t\tthis.style.transitionDuration = this.open ? `${transitionDuration}ms` : \"\";\n\t\tthis.style.transitionDelay = this.open ? `${this.effectiveDuration - transitionDuration}ms` : \"\";\n\t\tthis.style.opacity = this.open && !this.hover && !this.focused ? \"0\" : \"\";\n\t\tthis.style.zIndex = `${getNextZIndex()}`;\n\n\t\tif (!globalListenerAdded) {\n\t\t\tdocument.addEventListener(\"keydown\", handleGlobalKeydown);\n\t\t\tglobalListenerAdded = true;\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tif (this._reopen) {\n\t\t\tthis._reopen = false;\n\t\t\tthis._initiateOpening();\n\t\t}\n\t}\n\n\t/**\n\t * Shows the component.\n\t * @public\n\t */\n\tshow(): void {\n\t\tif (this.open) {\n\t\t\t// If the Toast is already opened, we set the _reopen flag to true, in\n\t\t\t// order to trigger re-rendering after an animation frame\n\t\t\t// in the onAfterRendering hook.\n\t\t\t// This is needed for properly resetting the opacity transition.\n\t\t\tthis._reopen = true;\n\t\t\tthis.open = false;\n\t\t} else {\n\t\t\tthis._initiateOpening();\n\t\t}\n\t}\n\n\t_onfocusin() {\n\t\tif (this.focusable) {\n\t\t\tthis.focused = true;\n\t\t}\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\t/**\n\t * If the minimum duration is lower than 500ms, we force\n\t * it to be 500ms, as described in the documentation.\n\t * @private\n\t */\n\tget effectiveDuration() {\n\t\treturn this.duration < MIN_DURATION ? MIN_DURATION : this.duration;\n\t}\n\n\t_initiateOpening() {\n\t\tthis.domRendered = true;\n\t\trequestAnimationFrame(() => {\n\t\t\tthis.open = true;\n\t\t\topenedToasts.pop();\n\t\t\topenedToasts.push(this);\n\t\t});\n\t}\n\n\t_ontransitionend() {\n\t\tif (this.hover || this.focused) {\n\t\t\treturn;\n\t\t}\n\t\tthis.domRendered = false;\n\t\tthis.open = false;\n\t\tthis.focusable = false;\n\t\tthis.focused = false;\n\t}\n\n\t_onmouseover() {\n\t\tthis.hover = true;\n\t}\n\n\t_onmouseleave() {\n\t\tthis.hover = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEscape(e)) {\n\t\t\tthis.focused = false;\n\t\t\topener?.focus();\n\t\t}\n\t}\n\n\tget _tabindex() {\n\t\treturn this.focused ? \"0\" : \"-1\";\n\t}\n}\n\nToast.define();\n\nexport default Toast;\n"]}
@@ -10,7 +10,6 @@ import ToggleButton from "./ToggleButton.js";
10
10
  *
11
11
  * @constructor
12
12
  * @extends ToggleButton
13
- * @abstract
14
13
  * @since 1.15.0
15
14
  * @private
16
15
  */