@ui5/webcomponents 2.3.1-rc.0 → 2.4.0-rc.1

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 (540) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/cypress/specs/Button.cy.ts +13 -26
  3. package/cypress/specs/Form.cy.ts +100 -96
  4. package/cypress/specs/Menu.cy.ts +5 -10
  5. package/cypress/specs/RTL.cy.ts +2 -4
  6. package/cypress/specs/base/AriaLabelHelper.cy.ts +2 -4
  7. package/cypress/specs/base/Events.cy.ts +207 -0
  8. package/dist/.tsbuildinfo +1 -1
  9. package/dist/Avatar.js +4 -2
  10. package/dist/Avatar.js.map +1 -1
  11. package/dist/AvatarGroup.js +2 -2
  12. package/dist/AvatarGroup.js.map +1 -1
  13. package/dist/Breadcrumbs.js +6 -5
  14. package/dist/Breadcrumbs.js.map +1 -1
  15. package/dist/Button.js +8 -3
  16. package/dist/Button.js.map +1 -1
  17. package/dist/Calendar.js +17 -12
  18. package/dist/Calendar.js.map +1 -1
  19. package/dist/CalendarLegend.js +6 -3
  20. package/dist/CalendarLegend.js.map +1 -1
  21. package/dist/CardHeader.js +6 -4
  22. package/dist/CardHeader.js.map +1 -1
  23. package/dist/Carousel.js +4 -3
  24. package/dist/Carousel.js.map +1 -1
  25. package/dist/CheckBox.js +16 -5
  26. package/dist/CheckBox.js.map +1 -1
  27. package/dist/ColorPalette.js +1 -1
  28. package/dist/ColorPalette.js.map +1 -1
  29. package/dist/ColorPaletteItem.js +5 -0
  30. package/dist/ColorPaletteItem.js.map +1 -1
  31. package/dist/ColorPalettePopover.js +12 -3
  32. package/dist/ColorPalettePopover.js.map +1 -1
  33. package/dist/ColorPicker.js +5 -2
  34. package/dist/ColorPicker.js.map +1 -1
  35. package/dist/ComboBox.js +16 -11
  36. package/dist/ComboBox.js.map +1 -1
  37. package/dist/DatePicker.js +8 -5
  38. package/dist/DatePicker.js.map +1 -1
  39. package/dist/DayPicker.js +15 -7
  40. package/dist/DayPicker.js.map +1 -1
  41. package/dist/FileUploader.js +5 -3
  42. package/dist/FileUploader.js.map +1 -1
  43. package/dist/Form.d.ts +3 -3
  44. package/dist/Form.js +5 -5
  45. package/dist/Form.js.map +1 -1
  46. package/dist/FormGroup.js +3 -0
  47. package/dist/FormGroup.js.map +1 -1
  48. package/dist/Icon.js +5 -3
  49. package/dist/Icon.js.map +1 -1
  50. package/dist/Input.js +41 -19
  51. package/dist/Input.js.map +1 -1
  52. package/dist/Link.d.ts +1 -6
  53. package/dist/Link.js +10 -15
  54. package/dist/Link.js.map +1 -1
  55. package/dist/List.d.ts +1 -0
  56. package/dist/List.js +31 -19
  57. package/dist/List.js.map +1 -1
  58. package/dist/ListItem.d.ts +1 -0
  59. package/dist/ListItem.js +20 -7
  60. package/dist/ListItem.js.map +1 -1
  61. package/dist/ListItemBase.js +21 -10
  62. package/dist/ListItemBase.js.map +1 -1
  63. package/dist/ListItemGroup.js +6 -5
  64. package/dist/ListItemGroup.js.map +1 -1
  65. package/dist/MessageStrip.js +4 -2
  66. package/dist/MessageStrip.js.map +1 -1
  67. package/dist/MonthPicker.js +9 -5
  68. package/dist/MonthPicker.js.map +1 -1
  69. package/dist/MultiComboBox.js +24 -15
  70. package/dist/MultiComboBox.js.map +1 -1
  71. package/dist/MultiInput.js +6 -3
  72. package/dist/MultiInput.js.map +1 -1
  73. package/dist/Panel.js +5 -3
  74. package/dist/Panel.js.map +1 -1
  75. package/dist/Popover.js +1 -1
  76. package/dist/Popover.js.map +1 -1
  77. package/dist/Popup.js +16 -13
  78. package/dist/Popup.js.map +1 -1
  79. package/dist/RadioButton.js +4 -2
  80. package/dist/RadioButton.js.map +1 -1
  81. package/dist/RadioButtonGroup.js +1 -1
  82. package/dist/RadioButtonGroup.js.map +1 -1
  83. package/dist/RangeSlider.d.ts +16 -6
  84. package/dist/RangeSlider.js +172 -21
  85. package/dist/RangeSlider.js.map +1 -1
  86. package/dist/RatingIndicator.js +5 -3
  87. package/dist/RatingIndicator.js.map +1 -1
  88. package/dist/ResponsivePopover.js +1 -1
  89. package/dist/ResponsivePopover.js.map +1 -1
  90. package/dist/SegmentedButton.js +2 -1
  91. package/dist/SegmentedButton.js.map +1 -1
  92. package/dist/Select.d.ts +3 -3
  93. package/dist/Select.js +20 -8
  94. package/dist/Select.js.map +1 -1
  95. package/dist/Slider.d.ts +10 -2
  96. package/dist/Slider.js +55 -7
  97. package/dist/Slider.js.map +1 -1
  98. package/dist/SliderBase.d.ts +28 -4
  99. package/dist/SliderBase.js +82 -12
  100. package/dist/SliderBase.js.map +1 -1
  101. package/dist/SplitButton.js +8 -4
  102. package/dist/SplitButton.js.map +1 -1
  103. package/dist/StepInput.js +8 -5
  104. package/dist/StepInput.js.map +1 -1
  105. package/dist/Switch.js +16 -4
  106. package/dist/Switch.js.map +1 -1
  107. package/dist/TabContainer.js +16 -14
  108. package/dist/TabContainer.js.map +1 -1
  109. package/dist/Table.js +2 -1
  110. package/dist/Table.js.map +1 -1
  111. package/dist/TableGrowing.js +4 -2
  112. package/dist/TableGrowing.js.map +1 -1
  113. package/dist/TableSelection.js +6 -4
  114. package/dist/TableSelection.js.map +1 -1
  115. package/dist/Tag.js +4 -2
  116. package/dist/Tag.js.map +1 -1
  117. package/dist/TextArea.js +26 -10
  118. package/dist/TextArea.js.map +1 -1
  119. package/dist/TimePicker.js +11 -5
  120. package/dist/TimePicker.js.map +1 -1
  121. package/dist/TimePickerClock.js +3 -2
  122. package/dist/TimePickerClock.js.map +1 -1
  123. package/dist/TimePickerInternals.js +2 -1
  124. package/dist/TimePickerInternals.js.map +1 -1
  125. package/dist/TimeSelectionClocks.d.ts +1 -2
  126. package/dist/TimeSelectionClocks.js +5 -10
  127. package/dist/TimeSelectionClocks.js.map +1 -1
  128. package/dist/TimeSelectionInputs.js +5 -1
  129. package/dist/TimeSelectionInputs.js.map +1 -1
  130. package/dist/Toast.js +4 -2
  131. package/dist/Toast.js.map +1 -1
  132. package/dist/Token.js +7 -4
  133. package/dist/Token.js.map +1 -1
  134. package/dist/Tokenizer.js +23 -17
  135. package/dist/Tokenizer.js.map +1 -1
  136. package/dist/Toolbar.js +14 -1
  137. package/dist/Toolbar.js.map +1 -1
  138. package/dist/ToolbarSelect.js +5 -2
  139. package/dist/ToolbarSelect.js.map +1 -1
  140. package/dist/Tree.js +34 -12
  141. package/dist/Tree.js.map +1 -1
  142. package/dist/TreeItemBase.js +8 -5
  143. package/dist/TreeItemBase.js.map +1 -1
  144. package/dist/YearPicker.js +9 -5
  145. package/dist/YearPicker.js.map +1 -1
  146. package/dist/bundle.scoped.config.d.ts +1 -0
  147. package/dist/bundle.scoped.config.js +5 -0
  148. package/dist/bundle.scoped.config.js.map +1 -0
  149. package/dist/bundle.scoped.esm.d.ts +1 -0
  150. package/dist/bundle.scoped.esm.js +1 -4
  151. package/dist/bundle.scoped.esm.js.map +1 -1
  152. package/dist/css/themes/Avatar.css +1 -1
  153. package/dist/css/themes/AvatarGroup.css +1 -1
  154. package/dist/css/themes/Bar.css +1 -1
  155. package/dist/css/themes/Breadcrumbs.css +1 -1
  156. package/dist/css/themes/BusyIndicator.css +1 -1
  157. package/dist/css/themes/Button.css +1 -1
  158. package/dist/css/themes/Calendar.css +1 -1
  159. package/dist/css/themes/CalendarHeader.css +1 -1
  160. package/dist/css/themes/CalendarLegend.css +1 -1
  161. package/dist/css/themes/CalendarLegendItem.css +1 -1
  162. package/dist/css/themes/Card.css +1 -1
  163. package/dist/css/themes/CardHeader.css +1 -1
  164. package/dist/css/themes/Carousel.css +1 -1
  165. package/dist/css/themes/CheckBox.css +1 -1
  166. package/dist/css/themes/ColorPalette.css +1 -1
  167. package/dist/css/themes/ColorPaletteItem.css +1 -1
  168. package/dist/css/themes/ColorPalettePopover.css +1 -1
  169. package/dist/css/themes/ColorPicker.css +1 -1
  170. package/dist/css/themes/ComboBox.css +1 -1
  171. package/dist/css/themes/DatePicker.css +1 -1
  172. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  173. package/dist/css/themes/DayPicker.css +1 -1
  174. package/dist/css/themes/Dialog.css +1 -1
  175. package/dist/css/themes/FileUploader.css +1 -1
  176. package/dist/css/themes/Form.css +1 -1
  177. package/dist/css/themes/FormItem.css +1 -1
  178. package/dist/css/themes/FormLabelSpan.css +1 -1
  179. package/dist/css/themes/FormLayout.css +1 -1
  180. package/dist/css/themes/GrowingButton.css +1 -1
  181. package/dist/css/themes/Icon.css +1 -1
  182. package/dist/css/themes/Input.css +1 -1
  183. package/dist/css/themes/InputIcon.css +1 -1
  184. package/dist/css/themes/InputSharedStyles.css +1 -1
  185. package/dist/css/themes/Link.css +1 -1
  186. package/dist/css/themes/List.css +1 -1
  187. package/dist/css/themes/ListItem.css +1 -1
  188. package/dist/css/themes/ListItemBase.css +1 -1
  189. package/dist/css/themes/ListItemCustom.css +1 -1
  190. package/dist/css/themes/ListItemGroup.css +1 -1
  191. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  192. package/dist/css/themes/ListItemIcon.css +1 -1
  193. package/dist/css/themes/Menu.css +1 -1
  194. package/dist/css/themes/MenuItem.css +1 -1
  195. package/dist/css/themes/MessageStrip.css +1 -1
  196. package/dist/css/themes/MonthPicker.css +1 -1
  197. package/dist/css/themes/MultiComboBox.css +1 -1
  198. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  199. package/dist/css/themes/MultiInput.css +1 -1
  200. package/dist/css/themes/NavigationMenu.css +1 -1
  201. package/dist/css/themes/NavigationMenuItem.css +1 -1
  202. package/dist/css/themes/OptionBase.css +1 -1
  203. package/dist/css/themes/Panel.css +1 -1
  204. package/dist/css/themes/Popover.css +1 -1
  205. package/dist/css/themes/PopupsCommon.css +1 -1
  206. package/dist/css/themes/ProgressIndicator.css +1 -1
  207. package/dist/css/themes/RadioButton.css +1 -1
  208. package/dist/css/themes/RangeSlider.css +1 -1
  209. package/dist/css/themes/RatingIndicator.css +1 -1
  210. package/dist/css/themes/ResponsivePopover.css +1 -1
  211. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  212. package/dist/css/themes/SegmentedButton.css +1 -1
  213. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  214. package/dist/css/themes/Select.css +1 -1
  215. package/dist/css/themes/SliderBase.css +1 -1
  216. package/dist/css/themes/SplitButton.css +1 -1
  217. package/dist/css/themes/StepInput.css +1 -1
  218. package/dist/css/themes/SuggestionItem.css +1 -1
  219. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  220. package/dist/css/themes/Switch.css +1 -1
  221. package/dist/css/themes/TabContainer.css +1 -1
  222. package/dist/css/themes/TabInOverflow.css +1 -1
  223. package/dist/css/themes/TabInStrip.css +1 -1
  224. package/dist/css/themes/TabSemanticIcon.css +1 -1
  225. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  226. package/dist/css/themes/Table.css +1 -1
  227. package/dist/css/themes/TableCellBase.css +1 -1
  228. package/dist/css/themes/TableHeaderRow.css +1 -1
  229. package/dist/css/themes/TableRow.css +1 -1
  230. package/dist/css/themes/TableRowBase.css +1 -1
  231. package/dist/css/themes/Tag.css +1 -1
  232. package/dist/css/themes/Text.css +1 -1
  233. package/dist/css/themes/TextArea.css +1 -1
  234. package/dist/css/themes/TimePicker.css +1 -1
  235. package/dist/css/themes/Toast.css +1 -1
  236. package/dist/css/themes/ToggleButton.css +1 -1
  237. package/dist/css/themes/Token.css +1 -1
  238. package/dist/css/themes/Tokenizer.css +1 -1
  239. package/dist/css/themes/TokenizerPopover.css +1 -1
  240. package/dist/css/themes/Toolbar.css +1 -1
  241. package/dist/css/themes/ToolbarPopover.css +1 -1
  242. package/dist/css/themes/TreeItem.css +1 -1
  243. package/dist/css/themes/ValueStateMessage.css +1 -1
  244. package/dist/css/themes/YearPicker.css +1 -1
  245. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  246. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  247. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  248. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  249. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  250. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  251. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  252. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  253. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  254. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  255. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  256. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  257. package/dist/custom-elements-internal.json +499 -59
  258. package/dist/custom-elements.json +94 -21
  259. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  260. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  261. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  262. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  263. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  264. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  265. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  266. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  267. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  268. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  269. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  270. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  271. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  272. package/dist/generated/i18n/i18n-defaults.js +3 -1
  273. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  274. package/dist/generated/templates/DialogTemplate.lit.js +1 -1
  275. package/dist/generated/templates/DialogTemplate.lit.js.map +1 -1
  276. package/dist/generated/templates/LinkTemplate.lit.js +1 -1
  277. package/dist/generated/templates/LinkTemplate.lit.js.map +1 -1
  278. package/dist/generated/templates/ListTemplate.lit.js +5 -4
  279. package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
  280. package/dist/generated/templates/PopoverTemplate.lit.js +1 -1
  281. package/dist/generated/templates/PopoverTemplate.lit.js.map +1 -1
  282. package/dist/generated/templates/PopupTemplate.lit.js +1 -1
  283. package/dist/generated/templates/PopupTemplate.lit.js.map +1 -1
  284. package/dist/generated/templates/RangeSliderTemplate.lit.js +9 -3
  285. package/dist/generated/templates/RangeSliderTemplate.lit.js.map +1 -1
  286. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +1 -1
  287. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js.map +1 -1
  288. package/dist/generated/templates/SliderBaseTemplate.lit.js +3 -1
  289. package/dist/generated/templates/SliderBaseTemplate.lit.js.map +1 -1
  290. package/dist/generated/templates/SliderTemplate.lit.js +6 -2
  291. package/dist/generated/templates/SliderTemplate.lit.js.map +1 -1
  292. package/dist/generated/templates/TimeSelectionClocksTemplate.lit.js +2 -2
  293. package/dist/generated/templates/TimeSelectionClocksTemplate.lit.js.map +1 -1
  294. package/dist/generated/themes/Avatar.css.js +1 -1
  295. package/dist/generated/themes/Avatar.css.js.map +1 -1
  296. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  297. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  298. package/dist/generated/themes/Bar.css.js +1 -1
  299. package/dist/generated/themes/Bar.css.js.map +1 -1
  300. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  301. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  302. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  303. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  304. package/dist/generated/themes/Button.css.js +1 -1
  305. package/dist/generated/themes/Button.css.js.map +1 -1
  306. package/dist/generated/themes/Calendar.css.js +1 -1
  307. package/dist/generated/themes/Calendar.css.js.map +1 -1
  308. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  309. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  310. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  311. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  312. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  313. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  314. package/dist/generated/themes/Card.css.js +1 -1
  315. package/dist/generated/themes/Card.css.js.map +1 -1
  316. package/dist/generated/themes/CardHeader.css.js +1 -1
  317. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  318. package/dist/generated/themes/Carousel.css.js +1 -1
  319. package/dist/generated/themes/Carousel.css.js.map +1 -1
  320. package/dist/generated/themes/CheckBox.css.js +1 -1
  321. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  322. package/dist/generated/themes/ColorPalette.css.js +1 -1
  323. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  324. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  325. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  326. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  327. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  328. package/dist/generated/themes/ColorPicker.css.js +1 -1
  329. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  330. package/dist/generated/themes/ComboBox.css.js +1 -1
  331. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  332. package/dist/generated/themes/DatePicker.css.js +1 -1
  333. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  334. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  335. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  336. package/dist/generated/themes/DayPicker.css.js +1 -1
  337. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  338. package/dist/generated/themes/Dialog.css.js +1 -1
  339. package/dist/generated/themes/Dialog.css.js.map +1 -1
  340. package/dist/generated/themes/FileUploader.css.js +1 -1
  341. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  342. package/dist/generated/themes/Form.css.js +1 -1
  343. package/dist/generated/themes/Form.css.js.map +1 -1
  344. package/dist/generated/themes/FormItem.css.js +1 -1
  345. package/dist/generated/themes/FormItem.css.js.map +1 -1
  346. package/dist/generated/themes/FormLabelSpan.css.js +1 -1
  347. package/dist/generated/themes/FormLabelSpan.css.js.map +1 -1
  348. package/dist/generated/themes/FormLayout.css.js +1 -1
  349. package/dist/generated/themes/FormLayout.css.js.map +1 -1
  350. package/dist/generated/themes/GrowingButton.css.js +1 -1
  351. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  352. package/dist/generated/themes/Icon.css.js +1 -1
  353. package/dist/generated/themes/Icon.css.js.map +1 -1
  354. package/dist/generated/themes/Input.css.js +1 -1
  355. package/dist/generated/themes/Input.css.js.map +1 -1
  356. package/dist/generated/themes/InputIcon.css.js +1 -1
  357. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  358. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  359. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  360. package/dist/generated/themes/Link.css.js +1 -1
  361. package/dist/generated/themes/Link.css.js.map +1 -1
  362. package/dist/generated/themes/List.css.js +1 -1
  363. package/dist/generated/themes/List.css.js.map +1 -1
  364. package/dist/generated/themes/ListItem.css.js +1 -1
  365. package/dist/generated/themes/ListItem.css.js.map +1 -1
  366. package/dist/generated/themes/ListItemBase.css.js +1 -1
  367. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  368. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  369. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  370. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  371. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  372. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  373. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  374. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  375. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  376. package/dist/generated/themes/Menu.css.js +1 -1
  377. package/dist/generated/themes/Menu.css.js.map +1 -1
  378. package/dist/generated/themes/MenuItem.css.js +1 -1
  379. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  380. package/dist/generated/themes/MessageStrip.css.js +1 -1
  381. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  382. package/dist/generated/themes/MonthPicker.css.js +1 -1
  383. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  384. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  385. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  386. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  387. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  388. package/dist/generated/themes/MultiInput.css.js +1 -1
  389. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  390. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  391. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  392. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  393. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  394. package/dist/generated/themes/OptionBase.css.js +1 -1
  395. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  396. package/dist/generated/themes/Panel.css.js +1 -1
  397. package/dist/generated/themes/Panel.css.js.map +1 -1
  398. package/dist/generated/themes/Popover.css.js +1 -1
  399. package/dist/generated/themes/Popover.css.js.map +1 -1
  400. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  401. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  402. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  403. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  404. package/dist/generated/themes/RadioButton.css.js +1 -1
  405. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  406. package/dist/generated/themes/RangeSlider.css.js +1 -1
  407. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  408. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  409. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  410. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  411. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  412. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  413. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  414. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  415. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  416. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  417. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  418. package/dist/generated/themes/Select.css.js +1 -1
  419. package/dist/generated/themes/Select.css.js.map +1 -1
  420. package/dist/generated/themes/SliderBase.css.js +1 -1
  421. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  422. package/dist/generated/themes/SplitButton.css.js +1 -1
  423. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  424. package/dist/generated/themes/StepInput.css.js +1 -1
  425. package/dist/generated/themes/StepInput.css.js.map +1 -1
  426. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  427. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  428. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  429. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  430. package/dist/generated/themes/Switch.css.js +1 -1
  431. package/dist/generated/themes/Switch.css.js.map +1 -1
  432. package/dist/generated/themes/TabContainer.css.js +1 -1
  433. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  434. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  435. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  436. package/dist/generated/themes/TabInStrip.css.js +1 -1
  437. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  438. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  439. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  440. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  441. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  442. package/dist/generated/themes/Table.css.js +1 -1
  443. package/dist/generated/themes/Table.css.js.map +1 -1
  444. package/dist/generated/themes/TableCellBase.css.js +1 -1
  445. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  446. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  447. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  448. package/dist/generated/themes/TableRow.css.js +1 -1
  449. package/dist/generated/themes/TableRow.css.js.map +1 -1
  450. package/dist/generated/themes/TableRowBase.css.js +1 -1
  451. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  452. package/dist/generated/themes/Tag.css.js +1 -1
  453. package/dist/generated/themes/Tag.css.js.map +1 -1
  454. package/dist/generated/themes/Text.css.js +1 -1
  455. package/dist/generated/themes/Text.css.js.map +1 -1
  456. package/dist/generated/themes/TextArea.css.js +1 -1
  457. package/dist/generated/themes/TextArea.css.js.map +1 -1
  458. package/dist/generated/themes/TimePicker.css.js +1 -1
  459. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  460. package/dist/generated/themes/Toast.css.js +1 -1
  461. package/dist/generated/themes/Toast.css.js.map +1 -1
  462. package/dist/generated/themes/ToggleButton.css.js +1 -1
  463. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  464. package/dist/generated/themes/Token.css.js +1 -1
  465. package/dist/generated/themes/Token.css.js.map +1 -1
  466. package/dist/generated/themes/Tokenizer.css.js +1 -1
  467. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  468. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  469. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  470. package/dist/generated/themes/Toolbar.css.js +1 -1
  471. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  472. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  473. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  474. package/dist/generated/themes/TreeItem.css.js +1 -1
  475. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  476. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  477. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  478. package/dist/generated/themes/YearPicker.css.js +1 -1
  479. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  480. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  481. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  482. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  483. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  484. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  485. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  486. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  487. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  488. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  489. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  490. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  491. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  492. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  493. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  494. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  495. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  496. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  497. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  498. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  499. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  500. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  501. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  502. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  503. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  504. package/dist/vscode.html-custom-data.json +21 -6
  505. package/dist/web-types.json +52 -32
  506. package/package.json +9 -9
  507. package/src/Link.hbs +0 -1
  508. package/src/List.hbs +7 -1
  509. package/src/Popup.hbs +2 -2
  510. package/src/RangeSlider.hbs +70 -38
  511. package/src/Slider.hbs +37 -18
  512. package/src/SliderBase.hbs +13 -4
  513. package/src/TimeSelectionClocks.hbs +0 -2
  514. package/src/i18n/messagebundle.properties +6 -0
  515. package/src/themes/ColorPaletteItem.css +23 -1
  516. package/src/themes/ColorPicker.css +9 -1
  517. package/src/themes/Form.css +3 -2
  518. package/src/themes/FormLayout.css +3 -3
  519. package/src/themes/GrowingButton.css +5 -2
  520. package/src/themes/Input.css +0 -1
  521. package/src/themes/Link.css +10 -6
  522. package/src/themes/ListItemBase.css +3 -3
  523. package/src/themes/ListItemGroupHeader.css +4 -0
  524. package/src/themes/SliderBase.css +27 -7
  525. package/src/themes/Switch.css +2 -1
  526. package/src/themes/base/ColorPalette-parameters.css +3 -0
  527. package/src/themes/base/sizes-parameters.css +1 -1
  528. package/src/themes/sap_fiori_3/SliderBase-parameters.css +7 -0
  529. package/src/themes/sap_fiori_3/sizes-parameters.css +4 -0
  530. package/src/themes/sap_fiori_3_dark/SliderBase-parameters.css +7 -0
  531. package/src/themes/sap_fiori_3_dark/sizes-parameters.css +4 -0
  532. package/src/themes/sap_fiori_3_hcb/sizes-parameters.css +6 -0
  533. package/src/themes/sap_fiori_3_hcw/sizes-parameters.css +6 -0
  534. package/src/themes/sap_horizon/ColorPalette-parameters.css +3 -0
  535. package/src/themes/sap_horizon_dark/ColorPalette-parameters.css +3 -0
  536. package/src/themes/sap_horizon_dark_exp/ColorPalette-parameters.css +3 -0
  537. package/src/themes/sap_horizon_exp/ColorPalette-parameters.css +3 -0
  538. package/src/themes/sap_horizon_hcb/SliderBase-parameters.css +1 -1
  539. package/src/themes/sap_horizon_hcw/SliderBase-parameters.css +1 -1
  540. package/tsconfig.json +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"TimePickerClock.js","sourceRoot":"","sources":["../src/TimePickerClock.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 type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\n\n// Template\nimport TimePickerClockTemplate from \"./generated/templates/TimePickerClockTemplate.lit.js\";\n\n// Styles\nimport TimePickerClockCss from \"./generated/themes/TimePickerClock.css.js\";\n\ntype TimePickerClockChangeEventDetail = {\n\tvalue: number,\n\tstringValue: string,\n\tfinalChange: boolean,\n}\n\ntype TimePickerClockItem = {\n\tangle?: number,\n\titem?: string,\n\tinnerItem?: string,\n\touterStyles?: object,\n\tinnerStyles?: object,\n}\n\ntype TimePickerClockSelection = {\n\tshowMarker?: boolean,\n\titemClasses?: string,\n\tinnerItemClasses?: string,\n}\n\ntype TimePickerClockDimensions = {\n\tradius: number,\n\tcenterX: number,\n\tcenterY: number,\n\tdotHeight: number,\n\tnumberHeight: number,\n\touterMax: number,\n\touterMin: number,\n\tinnerMax: number,\n\tinnerMin: number,\n\toffsetX: number,\n\toffsetY: number,\n}\n\ntype TimePickerClockSelectedItem = TimePickerClockItem & TimePickerClockSelection;\n\nconst ANIMATION_DURATION_MAX = 200; // total animation duration, without the delay before firing the event\nconst ANIMATION_DELAY_EVENT = 100; // delay before firing the event\nconst CLOCK_ANGLE_STEP = 6;\nconst CLOCK_NUMBER_CLASS = \"ui5-tp-clock-number\";\nconst CLOCK_NUMBER_HOVER_CLASS = \"ui5-tp-clock-number-hover\";\nconst CLOCK_NUMBER_SELECTED_CLASS = \"ui5-tp-clock-selected\";\nconst CLOCK_MIDDOT_CLASS = \"ui5-tp-clock-mid-dot\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-time-picker-clock` allows selecting of hours,minutes or seconds (depending on property set).\n * The component supports interactions with mouse, touch and mouse wheel.\n * Depending on settings, the clock can display only outer set of items (when the clock displays hours in 12-hour mode,\n * minutes or seconds), or outer and inner sets of items (when the clock displays hours in 24-hours mode).\n * The step for displaying or selecting of items can be configured.\n *\n * `ui5-time-picker-clock` is used as part of `ui5-time-selection-clocks` component, which\n * is used in `ui5-time-picker` component respectively.\n *\n * ### Usage\n *\n * `ui5-time-picker-clock` can display hours, minutes or seconds\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TimePickerClock.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.15.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-time-picker-clock\",\n\trenderer: litRender,\n\tstyles: TimePickerClockCss,\n\ttemplate: TimePickerClockTemplate,\n})\n\n/**\n * Fired when a value of clock is changed.\n * @param { integer } value The new `value` of the clock.\n * @param { string } stringValue The new `value` of the clock, as string, zero-prepended when necessary.\n * @param { boolean } finalChange `true` when a value is selected and confirmed, `false` when a value is only selected but not confirmed.\n */\n@event<TimePickerClockChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalue: { type: Number },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tstringValue: { type: String },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tfinalChange: { type: Boolean },\n\t},\n})\n\nclass TimePickerClock extends UI5Element {\n\t/**\n\t * Determines whether the component is displayed as disabled.\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Determines whether the component is active (visible).\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tactive = false;\n\n\t/**\n\t * Minimum item value for the outer circle of the clock.\n\t * @default -1\n\t */\n\t@property({ type: Number })\n\titemMin = -1;\n\n\t/**\n\t * Maximum item value for the outer circle of the clock.\n\t * @default -1\n\t */\n\t@property({ type: Number })\n\titemMax = -1;\n\n\t/**\n\t * If set to `true`, an inner circle is displayed.\n\t * The first item value of the inner circle will be itemMax + 1\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tshowInnerCircle = false;\n\n\t/**\n\t * Label of the clock dial - for example, 'Hours', 'Minutes', or 'Seconds'.\n\t * @default undefined\n\t */\n\t@property()\n\tlabel?: string;\n\n\t/**\n\t * If set to `true`, a surrounding circle with markers (dots) will be hidden.\n\t * (for example, on the 'Minutes' clock-dial, markers represent minutes).\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\thideFractions = false;\n\n\t/**\n\t * If provided, this will replace the last item displayed. If there is only one (outer) circle,\n\t * the last item from outer circle will be replaced; if there is an inner circle too, the last\n\t * item of inner circle will be replaced. Usually, the last item '24' is replaced with '0'.\n\t * @default -1\n\t */\n\t@property({ type: Number })\n\tlastItemReplacement = -1;\n\n\t/**\n\t * Prepend with zero flag. If `true`, values less than 10 will be prepend with 0.\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tprependZero = false;\n\n\t/**\n\t * The currently selected value of the clock.\n\t * @default -1\n\t */\n\t@property({ type: Number })\n\tselectedValue = -1\n\n\t/**\n\t * The step for displaying of one unit of items.\n\t * 1 means 1/60 of the circle.\n\t * The default display step is 5 which means minutes and seconds are displayed as \"0\", \"5\", \"10\", etc.\n\t * For hours the display step must be set to 1.\n\t * @default 5\n\t */\n\t@property({ type: Number })\n\tdisplayStep = 5;\n\n\t/**\n\t * The step for selection of items.\n\t * 1 means 1 unit:\n\t * - if the clock displays hours - 1 unit = 1 hour\n\t * - if the clock displays minutes/seconds - 1 unit = 1 minute/second\n\t * @default 1\n\t */\n\t@property({ type: Number })\n\tvalueStep = 1;\n\n\t/**\n\t * Defines the currently available Time Picker Clock items depending on Clock setup.\n\t */\n\t@property({ type: Array })\n\t_items: Array<TimePickerClockItem> = [];\n\n\t/**\n\t * Defines the currently selected Time Picker Clock item.\n\t */\n\t@property({ type: Object })\n\t_selectedItem: TimePickerClockSelectedItem = {};\n\n\t/**\n\t * Keeps variables used in interaction calculations.\n\t */\n\t@property({ type: Object })\n\t_dimensionParameters: TimePickerClockDimensions = {\n\t\tradius: 0,\n\t\tcenterX: 0,\n\t\tcenterY: 0,\n\t\tdotHeight: 0,\n\t\tnumberHeight: 0,\n\t\touterMax: 0,\n\t\touterMin: 0,\n\t\tinnerMax: 0,\n\t\tinnerMin: 0,\n\t\toffsetX: 0,\n\t\toffsetY: 0,\n\t};\n\n\t/**\n\t * Mousedown or Touchstart event flag.\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_mouseOrTouchDown = false;\n\n\t/**\n\t * Cancel Mouseout flag.\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_cancelTouchOut = false;\n\n\t/**\n\t * Calculated selected value of the clock during interactions.\n\t * @default -1\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_selectedValue = -1;\n\n\t/**\n\t * Selected value of the clock during interactions.\n\t * @default -1\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_movSelectedValue = -1;\n\n\t/**\n\t * Hovered value of the clock during interactions.\n\t * @default -1\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_hoveredValue = -1;\n\n\t/**\n\t * Previously hovered value of the clock during interactions.\n\t * @default -1\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_prevHoveredValue = -1;\n\n\t/**\n\t * Animation in progress flag.\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_animationInProgress = false;\n\n\t_fnOnMouseOutUp: () => void;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._fnOnMouseOutUp = () => {\n\t\t\tthis._mouseOrTouchDown = false;\n\t\t};\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn <ClassMap>{\n\t\t\tclock: {\n\t\t\t\t\"ui5-tp-clock\": true,\n\t\t\t\t\"ui5-tp-clock-inner\": this.showInnerCircle,\n\t\t\t\t\"ui5-tp-clock-active\": this.active,\n\t\t\t},\n\t\t};\n\t}\n\n\tonEnterDOM() {\n\t\tdocument.addEventListener(\"mouseup\", this._fnOnMouseOutUp, false);\n\t}\n\n\tonExitDOM() {\n\t\tdocument.removeEventListener(\"mouseup\", this._fnOnMouseOutUp, false);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._prepareClockItems();\n\t\tconst value: number = this._fixReplacementValue(this.selectedValue);\n\t\tthis._updateSelectedValueObject(value);\n\t}\n\n\t/**\n\t * Returns the real value of the passed clock item, if the replacement must be done, returns the replaced value.\n\t * @param value The value of the clock item\n\t * @returns The real/replaced value\n\t */\n\t_fixReplacementValue(value: number): number {\n\t\tlet realValue = value;\n\t\tconst maxValue = this.itemMax * (this.showInnerCircle ? 2 : 1);\n\n\t\tif (realValue === 0) {\n\t\t\trealValue = maxValue;\n\t\t}\n\t\tif (realValue === maxValue && this.lastItemReplacement !== -1) {\n\t\t\trealValue = this.lastItemReplacement;\n\t\t}\n\n\t\treturn realValue;\n\t}\n\n\t/**\n\t * Updates internal selected value object constructed for rendering purposes.\n\t * @param value currently selected value.\n\t */\n\t_updateSelectedValueObject(value: number) {\n\t\tif (value === -1) {\n\t\t\tthis._selectedItem = {\n\t\t\t\tshowMarker: false,\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\n\t\tconst selectedOuter = (value >= this.itemMin && value <= this.itemMax) || (!this.showInnerCircle && value === this.lastItemReplacement);\n\t\tconst selectedInner = ((value >= this.itemMin + this.itemMax && value <= this.itemMax * 2) || value === this.lastItemReplacement) && this.showInnerCircle;\n\t\tconst stepAngle = 360 / (this.itemMax - this.itemMin + 1);\n\t\tconst innerValue = this.lastItemReplacement === -1 || !this.prependZero ? value.toString() : value.toString().padStart(2, \"0\");\n\t\tlet currentAngle: number | undefined = selectedOuter || selectedInner ? value * stepAngle : undefined;\n\n\t\tif (currentAngle !== undefined) {\n\t\t\tcurrentAngle %= 360;\n\t\t}\n\n\t\tthis._selectedItem = {\n\t\t\t\"angle\": currentAngle,\n\t\t\t\"item\": selectedOuter ? value.toString() : \"\",\n\t\t\t\"innerItem\": selectedInner ? innerValue : \"\",\n\t\t\t\"showMarker\": selectedOuter || selectedInner,\n\t\t\t\"itemClasses\": CLOCK_NUMBER_CLASS + (selectedOuter ? ` ${CLOCK_NUMBER_SELECTED_CLASS}` : \"\"),\n\t\t\t\"innerItemClasses\": CLOCK_NUMBER_CLASS + (selectedInner ? ` ${CLOCK_NUMBER_SELECTED_CLASS}` : \"\"),\n\t\t\t\"outerStyles\": {\n\t\t\t\ttransform: `translate(-50%) rotate(${currentAngle || 0}deg)`,\n\t\t\t},\n\t\t\t\"innerStyles\": {\n\t\t\t\ttransform: `rotate(-${currentAngle || 0}deg)`,\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * Prepares clock items objects according to current clock settings. Item objects are used for rendering purposes.\n\t */\n\t_prepareClockItems() {\n\t\tconst values = [];\n\t\tlet displayStep = this.displayStep;\n\t\tlet item: TimePickerClockItem;\n\t\tlet valueIndex;\n\t\tlet i;\n\n\t\tthis._items = [];\n\n\t\tfor (i = this.itemMin; i <= this.itemMax; i++) {\n\t\t\tvalues.push({\n\t\t\t\t\"item\": i.toString(),\n\t\t\t\t\"innerItem\": this.showInnerCircle ? (i + this.itemMax).toString() : undefined,\n\t\t\t});\n\t\t}\n\t\tif (this.lastItemReplacement !== -1) {\n\t\t\tif (this.showInnerCircle && this.prependZero) {\n\t\t\t\tvalues[values.length - 1].innerItem = this.lastItemReplacement.toString().padStart(2, \"0\");\n\t\t\t} else {\n\t\t\t\tvalues[values.length - 1].item = this.lastItemReplacement.toString();\n\t\t\t}\n\t\t}\n\n\t\t// determines angle step for values display\n\t\tconst itemStep = 360 / CLOCK_ANGLE_STEP / values.length;\n\n\t\t// determines step for values display in units\n\t\tif (this.valueStep * itemStep > displayStep) {\n\t\t\tdisplayStep = this.valueStep * itemStep;\n\t\t}\n\n\t\tfor (i = 1; i <= 60; i++) {\n\t\t\tvalueIndex = i / itemStep - 1;\n\t\t\titem = i % displayStep !== 0 ? {} : values[valueIndex];\n\t\t\titem.angle = i * CLOCK_ANGLE_STEP;\n\t\t\titem.outerStyles = {\n\t\t\t\ttransform: `translate(-50%) rotate(${i * 6}deg)`,\n\t\t\t};\n\t\t\titem.innerStyles = {\n\t\t\t\ttransform: `rotate(-${i * 6}deg)`,\n\t\t\t};\n\t\t\tthis._items.push(item);\n\t\t}\n\t}\n\n\t/**\n\t * Returns the DOM Reference of the clock cover element\n\t * @returns the DOM Reference\n\t */\n\t_getClockCoverContainerDomRef(): Element | null | undefined {\n\t\tconst domRef = this.getDomRef();\n\t\treturn domRef && domRef.querySelector(\".ui5-tp-clock-cover\");\n\t}\n\n\t/**\n\t * Returns the real max value of clock items, taking in count if there is inner circle or not.\n\t * @returns max value\n\t */\n\t_getMaxValue(): number {\n\t\treturn this.showInnerCircle ? this.itemMax * 2 : this.itemMax;\n\t}\n\n\t/**\n\t * Calculates the outer height of a HTML element.\n\t * @param element The element which outer height to be calculated\n\t * @returns Outer height of the passed HTML element\n\t */\n\t_outerHeight(element: HTMLElement): number {\n\t\tif (!element) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst style = window.getComputedStyle(element);\n\n\t\treturn element.offsetHeight + parseInt(style.marginTop) + parseInt(style.marginBottom);\n\t}\n\n\t/**\n\t * Returns the Id of the DOM element of the clock item that display specific value.\n\t * @param value The value of the clock item\n\t * @returns Id of the clock item element\n\t */\n\t_hoveredId(value: number): string {\n\t\tif (value === this._getMaxValue() && this.lastItemReplacement !== -1) {\n\t\t\tvalue = this.lastItemReplacement;\n\t\t}\n\n\t\tconst valueString = this.showInnerCircle && value === this.lastItemReplacement && this.prependZero ? value.toString().padStart(2, \"0\") : value.toString();\n\n\t\treturn `#${this._id}-${valueString}`;\n\t}\n\n\t/**\n\t * Returns provided value as string. Padding with additional zero is applied if necessary.\n\t * @param value The value that should be returned as string\n\t * @returns The value as string\n\t */\n\t_getStringValue(value: number): string {\n\t\treturn this.prependZero ? value.toString().padStart(2, \"0\") : value.toString();\n\t}\n\n\t/**\n\t * Calculates dimension variables necessary for determining of item selection.\n\t * @returns Dimensions object\n\t */\n\t_calculateDimensions(): TimePickerClockDimensions | undefined {\n\t\tconst cover = this.getDomRef() as HTMLElement;\n\t\tconst scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;\n\t\tconst scrollTop = window.pageYOffset || document.documentElement.scrollTop;\n\n\t\tif (!cover) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst domRef = this.getDomRef() as HTMLElement;\n\t\tconst dotElement = domRef.querySelector(`.${CLOCK_MIDDOT_CLASS}`) as HTMLElement;\n\t\tconst numberElement = domRef.querySelector(`.${CLOCK_NUMBER_CLASS}`) as HTMLElement;\n\t\tconst radius = Math.round(cover.offsetHeight / 2);\n\t\tconst dotHeight = this._outerHeight(dotElement);\n\t\tconst numberHeight = this._outerHeight(numberElement);\n\t\tconst offset = cover.getBoundingClientRect();\n\n\t\tthis._dimensionParameters = {\n\t\t\t\"radius\": radius,\n\t\t\t\"centerX\": radius,\n\t\t\t\"centerY\": radius,\n\t\t\t\"dotHeight\": dotHeight,\n\t\t\t\"numberHeight\": numberHeight,\n\t\t\t\"outerMax\": radius,\n\t\t\t\"outerMin\": radius - numberHeight,\n\t\t\t\"innerMax\": radius - numberHeight - 1,\n\t\t\t\"innerMin\": radius - numberHeight * 2 - 1,\n\t\t\t\"offsetX\": offset.left + scrollLeft,\n\t\t\t\"offsetY\": offset.top + scrollTop,\n\t\t};\n\t}\n\n\t/**\n\t * Calculates selected and hovered values based on click/touch position.\n\t * @param x X position of click/touch returned by the event\n\t * @param y Y position of click/touch returned by the event\n\t */\n\t_calculatePosition(x: number, y: number) {\n\t\tconst dX = x - this._dimensionParameters.offsetX + 1 - this._dimensionParameters.radius;\n\t\tconst dY = y - this._dimensionParameters.offsetY + 1 - this._dimensionParameters.radius;\n\t\tconst mod = dX >= 0 ? 0 : 180;\n\t\tconst angle = ((Math.atan(dY / dX) * 180) / Math.PI) + 90 + mod;\n\t\tconst angleStep = (360 / this.itemMax) * this.valueStep;\n\t\tconst radius = Math.sqrt(dX * dX + dY * dY);\n\t\tconst isOuter = radius <= this._dimensionParameters.outerMax && radius > (this.showInnerCircle ? this._dimensionParameters.outerMin : this._dimensionParameters.innerMin);\n\t\tconst isInner = this.showInnerCircle && radius <= this._dimensionParameters.innerMax && radius > this._dimensionParameters.innerMin;\n\t\tconst isOuterHover = radius <= this._dimensionParameters.outerMax && radius > this._dimensionParameters.outerMin;\n\t\tconst isInnerHover = isInner;\n\t\tlet finalAngle = Math.round((angle === 0 ? 360 : angle) / angleStep) * angleStep;\n\n\t\tif (finalAngle === 0) {\n\t\t\tfinalAngle = 360;\n\t\t}\n\n\t\t// selected item calculations\n\t\tif (isInner || isOuter) {\n\t\t\tthis._selectedValue = (finalAngle / angleStep) * this.valueStep;\n\t\t\tif (isInner) {\n\t\t\t\tthis._selectedValue += this.itemMax;\n\t\t\t}\n\t\t} else {\n\t\t\tthis._selectedValue = -1;\n\t\t}\n\n\t\t// hover simulation calculations\n\t\tthis._hoveredValue = isInnerHover || isOuterHover ? this._selectedValue : -1;\n\n\t\tif (this._selectedValue === this._getMaxValue() && this.lastItemReplacement !== -1) {\n\t\t\tthis._selectedValue = this.lastItemReplacement;\n\t\t}\n\t}\n\n\t/**\n\t * Does the animation between the old and the new value of the clock. Can be skipped with setting the second parameter to true.\n\t * @param newValue the new value that must be set\n\t * @param skipAnimation whether to skip the animation\n\t */\n\t_changeValueAnimation(newValue: number, skipAnimation = false) {\n\t\tconst maxValue = this.itemMax * (this.showInnerCircle ? 2 : 1);\n\t\tlet firstSelected = this._movSelectedValue;\n\t\tlet\tlastSelected = newValue;\n\t\tlet direction = 1;\n\t\tlet\tpath1;\n\t\tlet path2;\n\t\tlet delay;\n\n\t\tif (!skipAnimation) {\n\t\t\t// do the animation here\n\n\t\t\tpath1 = Math.abs(firstSelected - lastSelected);\n\t\t\tpath2 = maxValue - path1;\n\n\t\t\tif (firstSelected < lastSelected) {\n\t\t\t\tif (path2 < path1) {\n\t\t\t\t\tfirstSelected += maxValue;\n\t\t\t\t\tdirection = -1;\n\t\t\t\t}\n\t\t\t} else if (path2 < path1) {\n\t\t\t\tlastSelected += maxValue;\n\t\t\t} else {\n\t\t\t\tdirection = -1;\n\t\t\t}\n\n\t\t\tdelay = firstSelected === lastSelected ? 0 : Math.ceil(ANIMATION_DURATION_MAX / Math.abs(firstSelected - lastSelected));\n\t\t\tthis._animationInProgress = true;\n\t\t\tthis._selectNextNumber(firstSelected, lastSelected, direction, maxValue, newValue, delay);\n\t\t} else {\n\t\t\tthis._setSelectedValue(newValue);\n\t\t}\n\t}\n\n\t/**\n\t * Does the animation step between old and new selected values.\n\t * @param firstSelected first/current value to move from\n\t * @param lastSelected last value to move to\n\t * @param direction direction of the animation\n\t * @param maxValue max clock value\n\t * @param newValue new value\n\t * @param delay delay of the single step\n\t */\n\t_selectNextNumber(firstSelected: number, lastSelected: number, direction: number, maxValue: number, newValue: number, delay: number) {\n\t\tconst current = firstSelected > maxValue ? firstSelected - maxValue : firstSelected;\n\n\t\tif (firstSelected === lastSelected) {\n\t\t\tthis._animationInProgress = false;\n\t\t}\n\t\tthis._setSelectedValue(current);\n\t\tif (firstSelected !== lastSelected) {\n\t\t\tfirstSelected += direction;\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis._selectNextNumber(firstSelected, lastSelected, direction, maxValue, newValue, delay);\n\t\t\t}, delay);\n\t\t} else {\n\t\t\t// the new value is set, fire event\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.fireEvent<TimePickerClockChangeEventDetail>(\"change\", {\n\t\t\t\t\t\"value\": newValue,\n\t\t\t\t\t\"stringValue\": this._getStringValue(newValue),\n\t\t\t\t\t\"finalChange\": true,\n\t\t\t\t});\n\t\t\t}, ANIMATION_DELAY_EVENT);\n\t\t}\n\t}\n\n\t/**\n\t * Mousewheel handler. Increases/decreases value of the clock.\n\t * @param increase whether to increase or decrease the value\n\t */\n\t_modifyValue(increase: boolean) {\n\t\tlet selectedValue = this.selectedValue;\n\t\tconst replacementValue = this.lastItemReplacement;\n\t\tconst minValue = this.itemMin;\n\t\tconst maxValue = this.itemMax * (this.showInnerCircle ? 2 : 1);\n\t\tlet step = this.valueStep;\n\t\tlet newValue;\n\n\t\t// fix step in order to change value to the nearest possible if step is > 1\n\t\tif (selectedValue % step !== 0) {\n\t\t\tnewValue = increase ? Math.ceil(selectedValue / step) * step : Math.floor(selectedValue / step) * step;\n\t\t\tstep = Math.abs(selectedValue - newValue);\n\t\t}\n\n\t\tif (selectedValue === replacementValue) {\n\t\t\tselectedValue = maxValue;\n\t\t}\n\t\tif (increase) {\n\t\t\tselectedValue += step;\n\t\t\tif (selectedValue > maxValue) {\n\t\t\t\tselectedValue -= maxValue;\n\t\t\t}\n\t\t} else {\n\t\t\tselectedValue -= step;\n\t\t\tif (selectedValue < minValue) {\n\t\t\t\tselectedValue = maxValue;\n\t\t\t}\n\t\t}\n\n\t\tthis._setSelectedValue(selectedValue);\n\t}\n\n\t/**\n\t * Sets new selected value, fires change event and updates selected value object used for rendering purposes.\n\t * @param value\n\t */\n\t_setSelectedValue(value: number) {\n\t\tconst realValue: number = this._fixReplacementValue(value);\n\t\tthis.selectedValue = realValue;\n\t\tthis.fireEvent<TimePickerClockChangeEventDetail>(\"change\", {\n\t\t\t\"value\": realValue,\n\t\t\t\"stringValue\": this._getStringValue(realValue),\n\t\t\t\"finalChange\": false,\n\t\t});\n\t\tthis._updateSelectedValueObject(realValue);\n\t}\n\n\t/**\n\t * TouchStart/MouseDown event handler.\n\t * @param evt Event object\n\t */\n\t_onTouchStart(evt: Event) {\n\t\tthis._cancelTouchOut = false;\n\t\tif (this.disabled || this._mouseOrTouchDown) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst x = evt.type === \"touchstart\" ? (evt as TouchEvent).touches[0].pageX : (evt as MouseEvent).pageX;\n\t\tconst y = evt.type === \"touchstart\" ? (evt as TouchEvent).touches[0].pageY : (evt as MouseEvent).pageY;\n\n\t\tthis._movSelectedValue = this.selectedValue;\n\t\tthis._calculateDimensions();\n\t\tthis._calculatePosition(x, y);\n\t\tthis._mouseOrTouchDown = true;\n\t}\n\n\t/**\n\t * TouchMove/MouseMove event handler.\n\t * @param evt Event object\n\t */\n\t_onTouchMove(evt: Event) {\n\t\tlet\thoveredNumber;\n\t\tconst domRef = this.getDomRef();\n\n\t\tevt.preventDefault();\n\t\tif (this._mouseOrTouchDown) {\n\t\t\tconst x = evt.type === \"touchmove\" ? (evt as TouchEvent).touches[0].pageX : (evt as MouseEvent).pageX;\n\t\t\tconst y = evt.type === \"touchmove\" ? (evt as TouchEvent).touches[0].pageY : (evt as MouseEvent).pageY;\n\t\t\tthis._calculatePosition(x, y);\n\t\t\tif (!this.disabled && this._selectedValue !== -1 && this._selectedValue !== this._movSelectedValue) {\n\t\t\t\tthis._setSelectedValue(this._selectedValue);\n\t\t\t\tthis._movSelectedValue = 0 + this._selectedValue;\n\t\t\t}\n\t\t} else if (evt.type === \"mousemove\") {\n\t\t\tif (!this._dimensionParameters.radius) {\n\t\t\t\tthis._calculateDimensions();\n\t\t\t}\n\t\t\tthis._calculatePosition((evt as MouseEvent).pageX, (evt as MouseEvent).pageY);\n\t\t\tif (this.displayStep > 1 && this._hoveredValue !== -1) {\n\t\t\t\tthis._hoveredValue = Math.round(this._hoveredValue / this.displayStep) * this.displayStep;\n\t\t\t}\n\n\t\t\tif (!this.disabled && this._hoveredValue !== this._prevHoveredValue) {\n\t\t\t\thoveredNumber = (domRef as HTMLElement).querySelector(this._hoveredId(this._prevHoveredValue));\n\t\t\t\thoveredNumber && hoveredNumber.classList.remove(CLOCK_NUMBER_HOVER_CLASS);\n\t\t\t\tthis._prevHoveredValue = this._hoveredValue;\n\t\t\t\thoveredNumber = (domRef as HTMLElement).querySelector(this._hoveredId(this._prevHoveredValue));\n\t\t\t\thoveredNumber && hoveredNumber.classList.add(CLOCK_NUMBER_HOVER_CLASS);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * TouchEnd/MouseUp event handler.\n\t * @param evt Event object\n\t */\n\t_onTouchEnd(evt: Event) {\n\t\tif (!this._mouseOrTouchDown) {\n\t\t\treturn;\n\t\t}\n\t\tthis._mouseOrTouchDown = false;\n\t\tevt.preventDefault();\n\t\tif (this.disabled || this._selectedValue === -1) {\n\t\t\treturn;\n\t\t}\n\t\tif (!this._cancelTouchOut) {\n\t\t\tthis._changeValueAnimation(this._selectedValue);\n\t\t}\n\t}\n\n\t/**\n\t * Mouse Wheel event handler.\n\t * @param evt Event object\n\t */\n\t_onMouseWheel(evt: WheelEvent) {\n\t\tconst increase = evt.detail ? (evt.detail > 0) : (evt.deltaY > 0 || evt.deltaX > 0);\n\n\t\tevt.preventDefault();\n\t\tif (!this._mouseOrTouchDown) {\n\t\t\tthis._modifyValue(increase);\n\t\t}\n\t}\n\n\t/**\n\t * MouseOut event handler.\n\t */\n\t_onMouseOut() {\n\t\tconst hoveredNumber = (this.getDomRef() as HTMLElement).querySelector(this._hoveredId(this._hoveredValue));\n\n\t\thoveredNumber && hoveredNumber.classList.remove(CLOCK_NUMBER_HOVER_CLASS);\n\t\tthis._hoveredValue = -1;\n\t\tthis._prevHoveredValue = -1;\n\t}\n}\n\nTimePickerClock.define();\n\nexport default TimePickerClock;\nexport type { TimePickerClockChangeEventDetail };\n"]}
1
+ {"version":3,"file":"TimePickerClock.js","sourceRoot":"","sources":["../src/TimePickerClock.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 type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\n\n// Template\nimport TimePickerClockTemplate from \"./generated/templates/TimePickerClockTemplate.lit.js\";\n\n// Styles\nimport TimePickerClockCss from \"./generated/themes/TimePickerClock.css.js\";\n\ntype TimePickerClockChangeEventDetail = {\n\tvalue: number,\n\tstringValue: string,\n\tfinalChange: boolean,\n}\n\ntype TimePickerClockItem = {\n\tangle?: number,\n\titem?: string,\n\tinnerItem?: string,\n\touterStyles?: object,\n\tinnerStyles?: object,\n}\n\ntype TimePickerClockSelection = {\n\tshowMarker?: boolean,\n\titemClasses?: string,\n\tinnerItemClasses?: string,\n}\n\ntype TimePickerClockDimensions = {\n\tradius: number,\n\tcenterX: number,\n\tcenterY: number,\n\tdotHeight: number,\n\tnumberHeight: number,\n\touterMax: number,\n\touterMin: number,\n\tinnerMax: number,\n\tinnerMin: number,\n\toffsetX: number,\n\toffsetY: number,\n}\n\ntype TimePickerClockSelectedItem = TimePickerClockItem & TimePickerClockSelection;\n\nconst ANIMATION_DURATION_MAX = 200; // total animation duration, without the delay before firing the event\nconst ANIMATION_DELAY_EVENT = 100; // delay before firing the event\nconst CLOCK_ANGLE_STEP = 6;\nconst CLOCK_NUMBER_CLASS = \"ui5-tp-clock-number\";\nconst CLOCK_NUMBER_HOVER_CLASS = \"ui5-tp-clock-number-hover\";\nconst CLOCK_NUMBER_SELECTED_CLASS = \"ui5-tp-clock-selected\";\nconst CLOCK_MIDDOT_CLASS = \"ui5-tp-clock-mid-dot\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-time-picker-clock` allows selecting of hours,minutes or seconds (depending on property set).\n * The component supports interactions with mouse, touch and mouse wheel.\n * Depending on settings, the clock can display only outer set of items (when the clock displays hours in 12-hour mode,\n * minutes or seconds), or outer and inner sets of items (when the clock displays hours in 24-hours mode).\n * The step for displaying or selecting of items can be configured.\n *\n * `ui5-time-picker-clock` is used as part of `ui5-time-selection-clocks` component, which\n * is used in `ui5-time-picker` component respectively.\n *\n * ### Usage\n *\n * `ui5-time-picker-clock` can display hours, minutes or seconds\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TimePickerClock.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.15.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-time-picker-clock\",\n\trenderer: litRender,\n\tstyles: TimePickerClockCss,\n\ttemplate: TimePickerClockTemplate,\n})\n\n/**\n * Fired when a value of clock is changed.\n * @param { integer } value The new `value` of the clock.\n * @param { string } stringValue The new `value` of the clock, as string, zero-prepended when necessary.\n * @param { boolean } finalChange `true` when a value is selected and confirmed, `false` when a value is only selected but not confirmed.\n */\n@event<TimePickerClockChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalue: { type: Number },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tstringValue: { type: String },\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tfinalChange: { type: Boolean },\n\t},\n\tbubbles: true,\n})\n\nclass TimePickerClock extends UI5Element {\n\t/**\n\t * Determines whether the component is displayed as disabled.\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Determines whether the component is active (visible).\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tactive = false;\n\n\t/**\n\t * Minimum item value for the outer circle of the clock.\n\t * @default -1\n\t */\n\t@property({ type: Number })\n\titemMin = -1;\n\n\t/**\n\t * Maximum item value for the outer circle of the clock.\n\t * @default -1\n\t */\n\t@property({ type: Number })\n\titemMax = -1;\n\n\t/**\n\t * If set to `true`, an inner circle is displayed.\n\t * The first item value of the inner circle will be itemMax + 1\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tshowInnerCircle = false;\n\n\t/**\n\t * Label of the clock dial - for example, 'Hours', 'Minutes', or 'Seconds'.\n\t * @default undefined\n\t */\n\t@property()\n\tlabel?: string;\n\n\t/**\n\t * If set to `true`, a surrounding circle with markers (dots) will be hidden.\n\t * (for example, on the 'Minutes' clock-dial, markers represent minutes).\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\thideFractions = false;\n\n\t/**\n\t * If provided, this will replace the last item displayed. If there is only one (outer) circle,\n\t * the last item from outer circle will be replaced; if there is an inner circle too, the last\n\t * item of inner circle will be replaced. Usually, the last item '24' is replaced with '0'.\n\t * @default -1\n\t */\n\t@property({ type: Number })\n\tlastItemReplacement = -1;\n\n\t/**\n\t * Prepend with zero flag. If `true`, values less than 10 will be prepend with 0.\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tprependZero = false;\n\n\t/**\n\t * The currently selected value of the clock.\n\t * @default -1\n\t */\n\t@property({ type: Number })\n\tselectedValue = -1\n\n\t/**\n\t * The step for displaying of one unit of items.\n\t * 1 means 1/60 of the circle.\n\t * The default display step is 5 which means minutes and seconds are displayed as \"0\", \"5\", \"10\", etc.\n\t * For hours the display step must be set to 1.\n\t * @default 5\n\t */\n\t@property({ type: Number })\n\tdisplayStep = 5;\n\n\t/**\n\t * The step for selection of items.\n\t * 1 means 1 unit:\n\t * - if the clock displays hours - 1 unit = 1 hour\n\t * - if the clock displays minutes/seconds - 1 unit = 1 minute/second\n\t * @default 1\n\t */\n\t@property({ type: Number })\n\tvalueStep = 1;\n\n\t/**\n\t * Defines the currently available Time Picker Clock items depending on Clock setup.\n\t */\n\t@property({ type: Array })\n\t_items: Array<TimePickerClockItem> = [];\n\n\t/**\n\t * Defines the currently selected Time Picker Clock item.\n\t */\n\t@property({ type: Object })\n\t_selectedItem: TimePickerClockSelectedItem = {};\n\n\t/**\n\t * Keeps variables used in interaction calculations.\n\t */\n\t@property({ type: Object })\n\t_dimensionParameters: TimePickerClockDimensions = {\n\t\tradius: 0,\n\t\tcenterX: 0,\n\t\tcenterY: 0,\n\t\tdotHeight: 0,\n\t\tnumberHeight: 0,\n\t\touterMax: 0,\n\t\touterMin: 0,\n\t\tinnerMax: 0,\n\t\tinnerMin: 0,\n\t\toffsetX: 0,\n\t\toffsetY: 0,\n\t};\n\n\t/**\n\t * Mousedown or Touchstart event flag.\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_mouseOrTouchDown = false;\n\n\t/**\n\t * Cancel Mouseout flag.\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_cancelTouchOut = false;\n\n\t/**\n\t * Calculated selected value of the clock during interactions.\n\t * @default -1\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_selectedValue = -1;\n\n\t/**\n\t * Selected value of the clock during interactions.\n\t * @default -1\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_movSelectedValue = -1;\n\n\t/**\n\t * Hovered value of the clock during interactions.\n\t * @default -1\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_hoveredValue = -1;\n\n\t/**\n\t * Previously hovered value of the clock during interactions.\n\t * @default -1\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_prevHoveredValue = -1;\n\n\t/**\n\t * Animation in progress flag.\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_animationInProgress = false;\n\n\t_fnOnMouseOutUp: () => void;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._fnOnMouseOutUp = () => {\n\t\t\tthis._mouseOrTouchDown = false;\n\t\t};\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn <ClassMap>{\n\t\t\tclock: {\n\t\t\t\t\"ui5-tp-clock\": true,\n\t\t\t\t\"ui5-tp-clock-inner\": this.showInnerCircle,\n\t\t\t\t\"ui5-tp-clock-active\": this.active,\n\t\t\t},\n\t\t};\n\t}\n\n\tonEnterDOM() {\n\t\tdocument.addEventListener(\"mouseup\", this._fnOnMouseOutUp, false);\n\t}\n\n\tonExitDOM() {\n\t\tdocument.removeEventListener(\"mouseup\", this._fnOnMouseOutUp, false);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._prepareClockItems();\n\t\tconst value: number = this._fixReplacementValue(this.selectedValue);\n\t\tthis._updateSelectedValueObject(value);\n\t}\n\n\t/**\n\t * Returns the real value of the passed clock item, if the replacement must be done, returns the replaced value.\n\t * @param value The value of the clock item\n\t * @returns The real/replaced value\n\t */\n\t_fixReplacementValue(value: number): number {\n\t\tlet realValue = value;\n\t\tconst maxValue = this.itemMax * (this.showInnerCircle ? 2 : 1);\n\n\t\tif (realValue === 0) {\n\t\t\trealValue = maxValue;\n\t\t}\n\t\tif (realValue === maxValue && this.lastItemReplacement !== -1) {\n\t\t\trealValue = this.lastItemReplacement;\n\t\t}\n\n\t\treturn realValue;\n\t}\n\n\t/**\n\t * Updates internal selected value object constructed for rendering purposes.\n\t * @param value currently selected value.\n\t */\n\t_updateSelectedValueObject(value: number) {\n\t\tif (value === -1) {\n\t\t\tthis._selectedItem = {\n\t\t\t\tshowMarker: false,\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\n\t\tconst selectedOuter = (value >= this.itemMin && value <= this.itemMax) || (!this.showInnerCircle && value === this.lastItemReplacement);\n\t\tconst selectedInner = ((value >= this.itemMin + this.itemMax && value <= this.itemMax * 2) || value === this.lastItemReplacement) && this.showInnerCircle;\n\t\tconst stepAngle = 360 / (this.itemMax - this.itemMin + 1);\n\t\tconst innerValue = this.lastItemReplacement === -1 || !this.prependZero ? value.toString() : value.toString().padStart(2, \"0\");\n\t\tlet currentAngle: number | undefined = selectedOuter || selectedInner ? value * stepAngle : undefined;\n\n\t\tif (currentAngle !== undefined) {\n\t\t\tcurrentAngle %= 360;\n\t\t}\n\n\t\tthis._selectedItem = {\n\t\t\t\"angle\": currentAngle,\n\t\t\t\"item\": selectedOuter ? value.toString() : \"\",\n\t\t\t\"innerItem\": selectedInner ? innerValue : \"\",\n\t\t\t\"showMarker\": selectedOuter || selectedInner,\n\t\t\t\"itemClasses\": CLOCK_NUMBER_CLASS + (selectedOuter ? ` ${CLOCK_NUMBER_SELECTED_CLASS}` : \"\"),\n\t\t\t\"innerItemClasses\": CLOCK_NUMBER_CLASS + (selectedInner ? ` ${CLOCK_NUMBER_SELECTED_CLASS}` : \"\"),\n\t\t\t\"outerStyles\": {\n\t\t\t\ttransform: `translate(-50%) rotate(${currentAngle || 0}deg)`,\n\t\t\t},\n\t\t\t\"innerStyles\": {\n\t\t\t\ttransform: `rotate(-${currentAngle || 0}deg)`,\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * Prepares clock items objects according to current clock settings. Item objects are used for rendering purposes.\n\t */\n\t_prepareClockItems() {\n\t\tconst values = [];\n\t\tlet displayStep = this.displayStep;\n\t\tlet item: TimePickerClockItem;\n\t\tlet valueIndex;\n\t\tlet i;\n\n\t\tthis._items = [];\n\n\t\tfor (i = this.itemMin; i <= this.itemMax; i++) {\n\t\t\tvalues.push({\n\t\t\t\t\"item\": i.toString(),\n\t\t\t\t\"innerItem\": this.showInnerCircle ? (i + this.itemMax).toString() : undefined,\n\t\t\t});\n\t\t}\n\t\tif (this.lastItemReplacement !== -1) {\n\t\t\tif (this.showInnerCircle && this.prependZero) {\n\t\t\t\tvalues[values.length - 1].innerItem = this.lastItemReplacement.toString().padStart(2, \"0\");\n\t\t\t} else {\n\t\t\t\tvalues[values.length - 1].item = this.lastItemReplacement.toString();\n\t\t\t}\n\t\t}\n\n\t\t// determines angle step for values display\n\t\tconst itemStep = 360 / CLOCK_ANGLE_STEP / values.length;\n\n\t\t// determines step for values display in units\n\t\tif (this.valueStep * itemStep > displayStep) {\n\t\t\tdisplayStep = this.valueStep * itemStep;\n\t\t}\n\n\t\tfor (i = 1; i <= 60; i++) {\n\t\t\tvalueIndex = i / itemStep - 1;\n\t\t\titem = i % displayStep !== 0 ? {} : values[valueIndex];\n\t\t\titem.angle = i * CLOCK_ANGLE_STEP;\n\t\t\titem.outerStyles = {\n\t\t\t\ttransform: `translate(-50%) rotate(${i * 6}deg)`,\n\t\t\t};\n\t\t\titem.innerStyles = {\n\t\t\t\ttransform: `rotate(-${i * 6}deg)`,\n\t\t\t};\n\t\t\tthis._items.push(item);\n\t\t}\n\t}\n\n\t/**\n\t * Returns the DOM Reference of the clock cover element\n\t * @returns the DOM Reference\n\t */\n\t_getClockCoverContainerDomRef(): Element | null | undefined {\n\t\tconst domRef = this.getDomRef();\n\t\treturn domRef && domRef.querySelector(\".ui5-tp-clock-cover\");\n\t}\n\n\t/**\n\t * Returns the real max value of clock items, taking in count if there is inner circle or not.\n\t * @returns max value\n\t */\n\t_getMaxValue(): number {\n\t\treturn this.showInnerCircle ? this.itemMax * 2 : this.itemMax;\n\t}\n\n\t/**\n\t * Calculates the outer height of a HTML element.\n\t * @param element The element which outer height to be calculated\n\t * @returns Outer height of the passed HTML element\n\t */\n\t_outerHeight(element: HTMLElement): number {\n\t\tif (!element) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst style = window.getComputedStyle(element);\n\n\t\treturn element.offsetHeight + parseInt(style.marginTop) + parseInt(style.marginBottom);\n\t}\n\n\t/**\n\t * Returns the Id of the DOM element of the clock item that display specific value.\n\t * @param value The value of the clock item\n\t * @returns Id of the clock item element\n\t */\n\t_hoveredId(value: number): string {\n\t\tif (value === this._getMaxValue() && this.lastItemReplacement !== -1) {\n\t\t\tvalue = this.lastItemReplacement;\n\t\t}\n\n\t\tconst valueString = this.showInnerCircle && value === this.lastItemReplacement && this.prependZero ? value.toString().padStart(2, \"0\") : value.toString();\n\n\t\treturn `#${this._id}-${valueString}`;\n\t}\n\n\t/**\n\t * Returns provided value as string. Padding with additional zero is applied if necessary.\n\t * @param value The value that should be returned as string\n\t * @returns The value as string\n\t */\n\t_getStringValue(value: number): string {\n\t\treturn this.prependZero ? value.toString().padStart(2, \"0\") : value.toString();\n\t}\n\n\t/**\n\t * Calculates dimension variables necessary for determining of item selection.\n\t * @returns Dimensions object\n\t */\n\t_calculateDimensions(): TimePickerClockDimensions | undefined {\n\t\tconst cover = this.getDomRef() as HTMLElement;\n\t\tconst scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;\n\t\tconst scrollTop = window.pageYOffset || document.documentElement.scrollTop;\n\n\t\tif (!cover) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst domRef = this.getDomRef() as HTMLElement;\n\t\tconst dotElement = domRef.querySelector(`.${CLOCK_MIDDOT_CLASS}`) as HTMLElement;\n\t\tconst numberElement = domRef.querySelector(`.${CLOCK_NUMBER_CLASS}`) as HTMLElement;\n\t\tconst radius = Math.round(cover.offsetHeight / 2);\n\t\tconst dotHeight = this._outerHeight(dotElement);\n\t\tconst numberHeight = this._outerHeight(numberElement);\n\t\tconst offset = cover.getBoundingClientRect();\n\n\t\tthis._dimensionParameters = {\n\t\t\t\"radius\": radius,\n\t\t\t\"centerX\": radius,\n\t\t\t\"centerY\": radius,\n\t\t\t\"dotHeight\": dotHeight,\n\t\t\t\"numberHeight\": numberHeight,\n\t\t\t\"outerMax\": radius,\n\t\t\t\"outerMin\": radius - numberHeight,\n\t\t\t\"innerMax\": radius - numberHeight - 1,\n\t\t\t\"innerMin\": radius - numberHeight * 2 - 1,\n\t\t\t\"offsetX\": offset.left + scrollLeft,\n\t\t\t\"offsetY\": offset.top + scrollTop,\n\t\t};\n\t}\n\n\t/**\n\t * Calculates selected and hovered values based on click/touch position.\n\t * @param x X position of click/touch returned by the event\n\t * @param y Y position of click/touch returned by the event\n\t */\n\t_calculatePosition(x: number, y: number) {\n\t\tconst dX = x - this._dimensionParameters.offsetX + 1 - this._dimensionParameters.radius;\n\t\tconst dY = y - this._dimensionParameters.offsetY + 1 - this._dimensionParameters.radius;\n\t\tconst mod = dX >= 0 ? 0 : 180;\n\t\tconst angle = ((Math.atan(dY / dX) * 180) / Math.PI) + 90 + mod;\n\t\tconst angleStep = (360 / this.itemMax) * this.valueStep;\n\t\tconst radius = Math.sqrt(dX * dX + dY * dY);\n\t\tconst isOuter = radius <= this._dimensionParameters.outerMax && radius > (this.showInnerCircle ? this._dimensionParameters.outerMin : this._dimensionParameters.innerMin);\n\t\tconst isInner = this.showInnerCircle && radius <= this._dimensionParameters.innerMax && radius > this._dimensionParameters.innerMin;\n\t\tconst isOuterHover = radius <= this._dimensionParameters.outerMax && radius > this._dimensionParameters.outerMin;\n\t\tconst isInnerHover = isInner;\n\t\tlet finalAngle = Math.round((angle === 0 ? 360 : angle) / angleStep) * angleStep;\n\n\t\tif (finalAngle === 0) {\n\t\t\tfinalAngle = 360;\n\t\t}\n\n\t\t// selected item calculations\n\t\tif (isInner || isOuter) {\n\t\t\tthis._selectedValue = (finalAngle / angleStep) * this.valueStep;\n\t\t\tif (isInner) {\n\t\t\t\tthis._selectedValue += this.itemMax;\n\t\t\t}\n\t\t} else {\n\t\t\tthis._selectedValue = -1;\n\t\t}\n\n\t\t// hover simulation calculations\n\t\tthis._hoveredValue = isInnerHover || isOuterHover ? this._selectedValue : -1;\n\n\t\tif (this._selectedValue === this._getMaxValue() && this.lastItemReplacement !== -1) {\n\t\t\tthis._selectedValue = this.lastItemReplacement;\n\t\t}\n\t}\n\n\t/**\n\t * Does the animation between the old and the new value of the clock. Can be skipped with setting the second parameter to true.\n\t * @param newValue the new value that must be set\n\t * @param skipAnimation whether to skip the animation\n\t */\n\t_changeValueAnimation(newValue: number, skipAnimation = false) {\n\t\tconst maxValue = this.itemMax * (this.showInnerCircle ? 2 : 1);\n\t\tlet firstSelected = this._movSelectedValue;\n\t\tlet\tlastSelected = newValue;\n\t\tlet direction = 1;\n\t\tlet\tpath1;\n\t\tlet path2;\n\t\tlet delay;\n\n\t\tif (!skipAnimation) {\n\t\t\t// do the animation here\n\n\t\t\tpath1 = Math.abs(firstSelected - lastSelected);\n\t\t\tpath2 = maxValue - path1;\n\n\t\t\tif (firstSelected < lastSelected) {\n\t\t\t\tif (path2 < path1) {\n\t\t\t\t\tfirstSelected += maxValue;\n\t\t\t\t\tdirection = -1;\n\t\t\t\t}\n\t\t\t} else if (path2 < path1) {\n\t\t\t\tlastSelected += maxValue;\n\t\t\t} else {\n\t\t\t\tdirection = -1;\n\t\t\t}\n\n\t\t\tdelay = firstSelected === lastSelected ? 0 : Math.ceil(ANIMATION_DURATION_MAX / Math.abs(firstSelected - lastSelected));\n\t\t\tthis._animationInProgress = true;\n\t\t\tthis._selectNextNumber(firstSelected, lastSelected, direction, maxValue, newValue, delay);\n\t\t} else {\n\t\t\tthis._setSelectedValue(newValue);\n\t\t}\n\t}\n\n\t/**\n\t * Does the animation step between old and new selected values.\n\t * @param firstSelected first/current value to move from\n\t * @param lastSelected last value to move to\n\t * @param direction direction of the animation\n\t * @param maxValue max clock value\n\t * @param newValue new value\n\t * @param delay delay of the single step\n\t */\n\t_selectNextNumber(firstSelected: number, lastSelected: number, direction: number, maxValue: number, newValue: number, delay: number) {\n\t\tconst current = firstSelected > maxValue ? firstSelected - maxValue : firstSelected;\n\n\t\tif (firstSelected === lastSelected) {\n\t\t\tthis._animationInProgress = false;\n\t\t}\n\t\tthis._setSelectedValue(current);\n\t\tif (firstSelected !== lastSelected) {\n\t\t\tfirstSelected += direction;\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis._selectNextNumber(firstSelected, lastSelected, direction, maxValue, newValue, delay);\n\t\t\t}, delay);\n\t\t} else {\n\t\t\t// the new value is set, fire event\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.fireDecoratorEvent<TimePickerClockChangeEventDetail>(\"change\", {\n\t\t\t\t\t\"value\": newValue,\n\t\t\t\t\t\"stringValue\": this._getStringValue(newValue),\n\t\t\t\t\t\"finalChange\": true,\n\t\t\t\t});\n\t\t\t}, ANIMATION_DELAY_EVENT);\n\t\t}\n\t}\n\n\t/**\n\t * Mousewheel handler. Increases/decreases value of the clock.\n\t * @param increase whether to increase or decrease the value\n\t */\n\t_modifyValue(increase: boolean) {\n\t\tlet selectedValue = this.selectedValue;\n\t\tconst replacementValue = this.lastItemReplacement;\n\t\tconst minValue = this.itemMin;\n\t\tconst maxValue = this.itemMax * (this.showInnerCircle ? 2 : 1);\n\t\tlet step = this.valueStep;\n\t\tlet newValue;\n\n\t\t// fix step in order to change value to the nearest possible if step is > 1\n\t\tif (selectedValue % step !== 0) {\n\t\t\tnewValue = increase ? Math.ceil(selectedValue / step) * step : Math.floor(selectedValue / step) * step;\n\t\t\tstep = Math.abs(selectedValue - newValue);\n\t\t}\n\n\t\tif (selectedValue === replacementValue) {\n\t\t\tselectedValue = maxValue;\n\t\t}\n\t\tif (increase) {\n\t\t\tselectedValue += step;\n\t\t\tif (selectedValue > maxValue) {\n\t\t\t\tselectedValue -= maxValue;\n\t\t\t}\n\t\t} else {\n\t\t\tselectedValue -= step;\n\t\t\tif (selectedValue < minValue) {\n\t\t\t\tselectedValue = maxValue;\n\t\t\t}\n\t\t}\n\n\t\tthis._setSelectedValue(selectedValue);\n\t}\n\n\t/**\n\t * Sets new selected value, fires change event and updates selected value object used for rendering purposes.\n\t * @param value\n\t */\n\t_setSelectedValue(value: number) {\n\t\tconst realValue: number = this._fixReplacementValue(value);\n\t\tthis.selectedValue = realValue;\n\t\tthis.fireDecoratorEvent<TimePickerClockChangeEventDetail>(\"change\", {\n\t\t\t\"value\": realValue,\n\t\t\t\"stringValue\": this._getStringValue(realValue),\n\t\t\t\"finalChange\": false,\n\t\t});\n\t\tthis._updateSelectedValueObject(realValue);\n\t}\n\n\t/**\n\t * TouchStart/MouseDown event handler.\n\t * @param evt Event object\n\t */\n\t_onTouchStart(evt: Event) {\n\t\tthis._cancelTouchOut = false;\n\t\tif (this.disabled || this._mouseOrTouchDown) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst x = evt.type === \"touchstart\" ? (evt as TouchEvent).touches[0].pageX : (evt as MouseEvent).pageX;\n\t\tconst y = evt.type === \"touchstart\" ? (evt as TouchEvent).touches[0].pageY : (evt as MouseEvent).pageY;\n\n\t\tthis._movSelectedValue = this.selectedValue;\n\t\tthis._calculateDimensions();\n\t\tthis._calculatePosition(x, y);\n\t\tthis._mouseOrTouchDown = true;\n\t}\n\n\t/**\n\t * TouchMove/MouseMove event handler.\n\t * @param evt Event object\n\t */\n\t_onTouchMove(evt: Event) {\n\t\tlet\thoveredNumber;\n\t\tconst domRef = this.getDomRef();\n\n\t\tevt.preventDefault();\n\t\tif (this._mouseOrTouchDown) {\n\t\t\tconst x = evt.type === \"touchmove\" ? (evt as TouchEvent).touches[0].pageX : (evt as MouseEvent).pageX;\n\t\t\tconst y = evt.type === \"touchmove\" ? (evt as TouchEvent).touches[0].pageY : (evt as MouseEvent).pageY;\n\t\t\tthis._calculatePosition(x, y);\n\t\t\tif (!this.disabled && this._selectedValue !== -1 && this._selectedValue !== this._movSelectedValue) {\n\t\t\t\tthis._setSelectedValue(this._selectedValue);\n\t\t\t\tthis._movSelectedValue = 0 + this._selectedValue;\n\t\t\t}\n\t\t} else if (evt.type === \"mousemove\") {\n\t\t\tif (!this._dimensionParameters.radius) {\n\t\t\t\tthis._calculateDimensions();\n\t\t\t}\n\t\t\tthis._calculatePosition((evt as MouseEvent).pageX, (evt as MouseEvent).pageY);\n\t\t\tif (this.displayStep > 1 && this._hoveredValue !== -1) {\n\t\t\t\tthis._hoveredValue = Math.round(this._hoveredValue / this.displayStep) * this.displayStep;\n\t\t\t}\n\n\t\t\tif (!this.disabled && this._hoveredValue !== this._prevHoveredValue) {\n\t\t\t\thoveredNumber = (domRef as HTMLElement).querySelector(this._hoveredId(this._prevHoveredValue));\n\t\t\t\thoveredNumber && hoveredNumber.classList.remove(CLOCK_NUMBER_HOVER_CLASS);\n\t\t\t\tthis._prevHoveredValue = this._hoveredValue;\n\t\t\t\thoveredNumber = (domRef as HTMLElement).querySelector(this._hoveredId(this._prevHoveredValue));\n\t\t\t\thoveredNumber && hoveredNumber.classList.add(CLOCK_NUMBER_HOVER_CLASS);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * TouchEnd/MouseUp event handler.\n\t * @param evt Event object\n\t */\n\t_onTouchEnd(evt: Event) {\n\t\tif (!this._mouseOrTouchDown) {\n\t\t\treturn;\n\t\t}\n\t\tthis._mouseOrTouchDown = false;\n\t\tevt.preventDefault();\n\t\tif (this.disabled || this._selectedValue === -1) {\n\t\t\treturn;\n\t\t}\n\t\tif (!this._cancelTouchOut) {\n\t\t\tthis._changeValueAnimation(this._selectedValue);\n\t\t}\n\t}\n\n\t/**\n\t * Mouse Wheel event handler.\n\t * @param evt Event object\n\t */\n\t_onMouseWheel(evt: WheelEvent) {\n\t\tconst increase = evt.detail ? (evt.detail > 0) : (evt.deltaY > 0 || evt.deltaX > 0);\n\n\t\tevt.preventDefault();\n\t\tif (!this._mouseOrTouchDown) {\n\t\t\tthis._modifyValue(increase);\n\t\t}\n\t}\n\n\t/**\n\t * MouseOut event handler.\n\t */\n\t_onMouseOut() {\n\t\tconst hoveredNumber = (this.getDomRef() as HTMLElement).querySelector(this._hoveredId(this._hoveredValue));\n\n\t\thoveredNumber && hoveredNumber.classList.remove(CLOCK_NUMBER_HOVER_CLASS);\n\t\tthis._hoveredValue = -1;\n\t\tthis._prevHoveredValue = -1;\n\t}\n}\n\nTimePickerClock.define();\n\nexport default TimePickerClock;\nexport type { TimePickerClockChangeEventDetail };\n"]}
@@ -163,7 +163,7 @@ let TimePickerInternals = TimePickerInternals_1 = class TimePickerInternals exte
163
163
  const value = this.formatValue(date);
164
164
  if (this.isValid(value)) {
165
165
  this.value = this.normalizeValue(value);
166
- this.fireEvent("change", { value: this.value, valid: true });
166
+ this.fireDecoratorEvent("change", { value: this.value, valid: true });
167
167
  }
168
168
  }
169
169
  isValid(value) {
@@ -374,6 +374,7 @@ TimePickerInternals = TimePickerInternals_1 = __decorate([
374
374
  value: { type: String },
375
375
  valid: { type: Boolean },
376
376
  },
377
+ bubbles: true,
377
378
  })
378
379
  ], TimePickerInternals);
379
380
  export default TimePickerInternals;
@@ -1 +1 @@
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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.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 i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.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 type CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport type SegmentedButton from \"./SegmentedButton.js\";\nimport { getHoursConfigByFormat, getTimeControlsByFormat } from \"./timepicker-utils/TimeSlider.js\";\nimport type { HourType } 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\tselected: 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 * ### Overview\n *\n * `ui5-time-picker-internals` is helper component that contains shared methods used in `ui5-time-selection-clocks`\n * and `<ui5-time-selection-inputs>` components and should not be used separately.\n * @constructor\n * @extends UI5Element\n * @abstract\n * @since 1.15.0\n * @private\n */\n@customElement({\n\tcldr: true,\n\trenderer: litRender,\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 * @default undefined\n\t * @public\n\t */\n\t@property()\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 undefined\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 * @default 0\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_activeIndex = 0\n\n\t/**\n\t * Contains calendar type.\n\t * @private\n\t */\n\t@property()\n\t_calendarType?: CalendarType;\n\n\t/**\n\t * Contains currently available Time Picker components depending on time format.\n\t * @private\n\t */\n\t@property({ type: Array })\n\t_entities: Array<TimePickerEntityProperties> = [];\n\n\t/**\n\t * Contains component-to-index map.\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 * @private\n\t */\n\t@property({ type: Array })\n\t_periods: Array<TimeSelectionPeriodProperties> = [];\n\n\t/**\n\t * Id of the cooldown interval\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_typeCooldownId?: ReturnType<typeof setTimeout>;\n\n\t/**\n\t * Exact match number buffer\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_exactMatch?: number;\n\n\t/**\n\t * Buffer for entered by keyboard numbers\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_keyboardBuffer = \"\";\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\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 : UI5Date.getInstance();\n\t}\n\n\tget validDateValue() {\n\t\treturn this.value !== undefined && this.isValid(this.value) ? this.dateValue : UI5Date.getInstance();\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 * @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 * @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 * @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 * @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 * @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\"selected\": 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 * @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 * @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\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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.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 i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.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 type CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport type SegmentedButton from \"./SegmentedButton.js\";\nimport { getHoursConfigByFormat, getTimeControlsByFormat } from \"./timepicker-utils/TimeSlider.js\";\nimport type { HourType } 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\tselected: 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 * ### Overview\n *\n * `ui5-time-picker-internals` is helper component that contains shared methods used in `ui5-time-selection-clocks`\n * and `<ui5-time-selection-inputs>` components and should not be used separately.\n * @constructor\n * @extends UI5Element\n * @abstract\n * @since 1.15.0\n * @private\n */\n@customElement({\n\tcldr: true,\n\trenderer: litRender,\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\tbubbles: true,\n})\n\nclass TimePickerInternals extends UI5Element {\n\t/**\n\t * Defines a formatted time value.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\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 undefined\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 * @default 0\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_activeIndex = 0\n\n\t/**\n\t * Contains calendar type.\n\t * @private\n\t */\n\t@property()\n\t_calendarType?: CalendarType;\n\n\t/**\n\t * Contains currently available Time Picker components depending on time format.\n\t * @private\n\t */\n\t@property({ type: Array })\n\t_entities: Array<TimePickerEntityProperties> = [];\n\n\t/**\n\t * Contains component-to-index map.\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 * @private\n\t */\n\t@property({ type: Array })\n\t_periods: Array<TimeSelectionPeriodProperties> = [];\n\n\t/**\n\t * Id of the cooldown interval\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_typeCooldownId?: ReturnType<typeof setTimeout>;\n\n\t/**\n\t * Exact match number buffer\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_exactMatch?: number;\n\n\t/**\n\t * Buffer for entered by keyboard numbers\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_keyboardBuffer = \"\";\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\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 : UI5Date.getInstance();\n\t}\n\n\tget validDateValue() {\n\t\treturn this.value !== undefined && this.isValid(this.value) ? this.dateValue : UI5Date.getInstance();\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.fireDecoratorEvent<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 * @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 * @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 * @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 * @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 * @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\"selected\": 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 * @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 * @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\nexport default TimePickerInternals;\nexport type {\n\tTimePickerComponentIndexMap,\n\tTimeSelectionChangeEventDetail,\n};\n"]}
@@ -37,9 +37,8 @@ declare class TimeSelectionClocks extends TimePickerInternals {
37
37
  * @param evt Event object
38
38
  */
39
39
  _clocksFocusIn(evt: Event): void;
40
- _clocksFocusOut(): void;
41
40
  /**
42
- * ToggleSpinButton focusin event handler.Switches to clock which button is being focused.
41
+ * ToggleSpinButton focusin event handler. Switches to clock which button is being focused.
43
42
  * @param evt Event object
44
43
  */
45
44
  _buttonFocusIn(evt: Event): void;
@@ -66,16 +66,12 @@ let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals
66
66
  */
67
67
  _clocksFocusIn(evt) {
68
68
  const target = evt.target;
69
- this._focused = true;
70
69
  if (target.id === this._id) {
71
70
  this._switchClock(this._activeIndex);
72
71
  }
73
72
  }
74
- _clocksFocusOut() {
75
- this._focused = false;
76
- }
77
73
  /**
78
- * ToggleSpinButton focusin event handler.Switches to clock which button is being focused.
74
+ * ToggleSpinButton focusin event handler. Switches to clock which button is being focused.
79
75
  * @param evt Event object
80
76
  */
81
77
  _buttonFocusIn(evt) {
@@ -115,7 +111,7 @@ let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals
115
111
  const toggleSpinButtonTarget = evt.target && evt.target.tagName.toLowerCase().indexOf("segmented") === -1;
116
112
  if (isEnter(evt)) {
117
113
  // Accept the time and close the popover
118
- this.fireEvent("close-picker");
114
+ this.fireDecoratorEvent("close-picker");
119
115
  }
120
116
  else if (isSpace(evt) && toggleSpinButtonTarget && !this._spacePressed) {
121
117
  evt.preventDefault();
@@ -321,7 +317,6 @@ let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals
321
317
  });
322
318
  }
323
319
  this._entities[this._activeIndex].active = true;
324
- this._entities[this._activeIndex].focused = this._focused && !this._amPmFocused;
325
320
  this._createPeriodComponent();
326
321
  }
327
322
  /**
@@ -342,10 +337,8 @@ let TimeSelectionClocks = class TimeSelectionClocks extends TimePickerInternals
342
337
  const newButton = this._buttonComponent(clockIndex);
343
338
  if (this._entities.length && clockIndex < this._entities.length && newButton) {
344
339
  this._entities[this._activeIndex].active = false;
345
- this._entities[this._activeIndex].focused = false;
346
340
  this._activeIndex = clockIndex;
347
341
  this._entities[this._activeIndex].active = true;
348
- this._entities[this._activeIndex].focused = this._focused && !this._amPmFocused;
349
342
  newButton.focus();
350
343
  }
351
344
  }
@@ -416,7 +409,9 @@ __decorate([
416
409
  property({ type: Boolean, noAttribute: true })
417
410
  ], TimeSelectionClocks.prototype, "_amPmFocused", void 0);
418
411
  TimeSelectionClocks = __decorate([
419
- event("close-picker")
412
+ event("close-picker", {
413
+ bubbles: true,
414
+ })
420
415
  /**
421
416
  * @class
422
417
  *
@@ -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 event from \"@ui5/webcomponents-base/dist/decorators/event.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 SegmentedButtonItem from \"./SegmentedButtonItem.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 * ### Overview\n *\n * `ui5-time-selection-clocks` is component that contains all the `ui5-time-picker-clock` components\n * necessary for the `ui5-time-picker` as well as all necessary `ui5-toggle-spin-button` components\n * used for switching between different clocks.\n * `ui5-time-picker-clock` components and `ui5-toggle-spin-button` depend on the time format set to\n * `ui5-time-picker` component.\n *\n * This component should not be used separately.\n * @constructor\n * @extends TimePickerInternals\n * @since 1.15.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-time-selection-clocks\",\n\tstyles: TimeSelectionClocksCss,\n\ttemplate: TimeSelectionClocksTemplate,\n\tdependencies: [\n\t\tTimePickerClock,\n\t\tToggleSpinButton,\n\t\tSegmentedButton,\n\t\tSegmentedButtonItem,\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 = false;\n\n\t/**\n\t * Flag for focused state of Clocks component\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_focused = false;\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 = false;\n\n\tonBeforeRendering() {\n\t\tthis._createComponents();\n\t}\n\n\t/**\n\t * Returns ToggleSpinButton component by index or name.\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 * @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 * @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 * @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 * @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 * @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].selected = isKeyA(evt);\n\t\t\t\tbuttonAmPm.items[1].selected = 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 * @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 * @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 * @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 * @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 * @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 \"@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 SegmentedButtonItem from \"./SegmentedButtonItem.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\tbubbles: true,\n})\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-time-selection-clocks` is component that contains all the `ui5-time-picker-clock` components\n * necessary for the `ui5-time-picker` as well as all necessary `ui5-toggle-spin-button` components\n * used for switching between different clocks.\n * `ui5-time-picker-clock` components and `ui5-toggle-spin-button` depend on the time format set to\n * `ui5-time-picker` component.\n *\n * This component should not be used separately.\n * @constructor\n * @extends TimePickerInternals\n * @since 1.15.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-time-selection-clocks\",\n\tstyles: TimeSelectionClocksCss,\n\ttemplate: TimeSelectionClocksTemplate,\n\tdependencies: [\n\t\tTimePickerClock,\n\t\tToggleSpinButton,\n\t\tSegmentedButton,\n\t\tSegmentedButtonItem,\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 = false;\n\n\t/**\n\t * Flag for focused state of Clocks component\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_focused = false;\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 = false;\n\n\tonBeforeRendering() {\n\t\tthis._createComponents();\n\t}\n\n\t/**\n\t * Returns ToggleSpinButton component by index or name.\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 * @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 * @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 * @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 * @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 * @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.fireDecoratorEvent(\"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].selected = isKeyA(evt);\n\t\t\t\tbuttonAmPm.items[1].selected = 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 * @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 * @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 * @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 * @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 * @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"]}
@@ -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 "@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js"; // default calendar for bundling
10
11
  import { isEnter, isNumber, } from "@ui5/webcomponents-base/dist/Keys.js";
11
12
  import TimePickerInternals from "./TimePickerInternals.js";
@@ -209,7 +210,7 @@ let TimeSelectionInputs = class TimeSelectionInputs extends TimePickerInternals
209
210
  }
210
211
  if (isEnter(evt)) {
211
212
  // Accept the time and close the popover
212
- this.fireEvent("close-inputs");
213
+ this.fireDecoratorEvent("close-inputs");
213
214
  }
214
215
  else if (isNumber(evt) && this._entities[this._activeIndex]) {
215
216
  const char = evt.key;
@@ -307,6 +308,9 @@ TimeSelectionInputs = __decorate([
307
308
  SegmentedButton,
308
309
  SegmentedButtonItem,
309
310
  ],
311
+ }),
312
+ event("close-inputs", {
313
+ bubbles: true,
310
314
  })
311
315
  ], TimeSelectionInputs);
312
316
  TimeSelectionInputs.define();