@ui5/webcomponents 2.0.0-rc.3 → 2.0.0-rc.5

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 (927) hide show
  1. package/.env.testing +4 -0
  2. package/CHANGELOG.md +273 -0
  3. package/README.md +1 -34
  4. package/dist/.tsbuildinfo +1 -1
  5. package/dist/Avatar.d.ts +2 -2
  6. package/dist/AvatarGroup.d.ts +4 -4
  7. package/dist/Breadcrumbs.d.ts +1 -1
  8. package/dist/Breadcrumbs.js +10 -5
  9. package/dist/Breadcrumbs.js.map +1 -1
  10. package/dist/Button.d.ts +27 -13
  11. package/dist/Button.js +38 -18
  12. package/dist/Button.js.map +1 -1
  13. package/dist/Calendar.d.ts +10 -5
  14. package/dist/Calendar.js +81 -26
  15. package/dist/Calendar.js.map +1 -1
  16. package/dist/CalendarDate.d.ts +2 -1
  17. package/dist/CalendarDate.js.map +1 -1
  18. package/dist/CalendarDateRange.d.ts +31 -0
  19. package/dist/CalendarDateRange.js +36 -0
  20. package/dist/CalendarDateRange.js.map +1 -0
  21. package/dist/CalendarHeader.js +8 -8
  22. package/dist/CalendarHeader.js.map +1 -1
  23. package/dist/CheckBox.d.ts +8 -17
  24. package/dist/CheckBox.js +14 -22
  25. package/dist/CheckBox.js.map +1 -1
  26. package/dist/ColorPalette.d.ts +19 -0
  27. package/dist/ColorPalette.js +112 -13
  28. package/dist/ColorPalette.js.map +1 -1
  29. package/dist/ColorPaletteItem.d.ts +16 -0
  30. package/dist/ColorPaletteItem.js +10 -0
  31. package/dist/ColorPaletteItem.js.map +1 -1
  32. package/dist/ColorPalettePopover.d.ts +5 -0
  33. package/dist/ColorPalettePopover.js +15 -0
  34. package/dist/ColorPalettePopover.js.map +1 -1
  35. package/dist/ColorPicker.d.ts +13 -1
  36. package/dist/ColorPicker.js +10 -0
  37. package/dist/ColorPicker.js.map +1 -1
  38. package/dist/ComboBox.d.ts +23 -11
  39. package/dist/ComboBox.js +156 -58
  40. package/dist/ComboBox.js.map +1 -1
  41. package/dist/ComboBoxItem.d.ts +5 -5
  42. package/dist/ComboBoxItem.js +3 -7
  43. package/dist/ComboBoxItem.js.map +1 -1
  44. package/dist/{ComboBoxGroupItem.d.ts → ComboBoxItemGroup.d.ts} +11 -3
  45. package/dist/{ComboBoxGroupItem.js → ComboBoxItemGroup.js} +24 -9
  46. package/dist/ComboBoxItemGroup.js.map +1 -0
  47. package/dist/CustomListItem.d.ts +7 -0
  48. package/dist/CustomListItem.js +7 -2
  49. package/dist/CustomListItem.js.map +1 -1
  50. package/dist/DatePicker.d.ts +9 -18
  51. package/dist/DatePicker.js +19 -15
  52. package/dist/DatePicker.js.map +1 -1
  53. package/dist/DateRangePicker.d.ts +5 -1
  54. package/dist/DateRangePicker.js +21 -0
  55. package/dist/DateRangePicker.js.map +1 -1
  56. package/dist/DateTimePicker.d.ts +4 -1
  57. package/dist/DateTimePicker.js +14 -0
  58. package/dist/DateTimePicker.js.map +1 -1
  59. package/dist/DayPicker.js +6 -4
  60. package/dist/DayPicker.js.map +1 -1
  61. package/dist/Dialog.d.ts +0 -16
  62. package/dist/Dialog.js +0 -21
  63. package/dist/Dialog.js.map +1 -1
  64. package/dist/FileUploader.d.ts +6 -23
  65. package/dist/FileUploader.js +15 -46
  66. package/dist/FileUploader.js.map +1 -1
  67. package/dist/Form.d.ts +199 -0
  68. package/dist/Form.js +359 -0
  69. package/dist/Form.js.map +1 -0
  70. package/dist/FormGroup.d.ts +64 -0
  71. package/dist/FormGroup.js +87 -0
  72. package/dist/FormGroup.js.map +1 -0
  73. package/dist/FormItem.d.ts +63 -0
  74. package/dist/FormItem.js +77 -0
  75. package/dist/FormItem.js.map +1 -0
  76. package/dist/Input.d.ts +17 -30
  77. package/dist/Input.js +46 -48
  78. package/dist/Input.js.map +1 -1
  79. package/dist/Label.d.ts +1 -1
  80. package/dist/Label.js +1 -1
  81. package/dist/Label.js.map +1 -1
  82. package/dist/Link.d.ts +6 -5
  83. package/dist/Link.js +3 -2
  84. package/dist/Link.js.map +1 -1
  85. package/dist/List.d.ts +3 -2
  86. package/dist/List.js +45 -0
  87. package/dist/List.js.map +1 -1
  88. package/dist/ListItem.d.ts +8 -15
  89. package/dist/ListItem.js +25 -34
  90. package/dist/ListItem.js.map +1 -1
  91. package/dist/ListItemBase.d.ts +24 -2
  92. package/dist/ListItemBase.js +54 -13
  93. package/dist/ListItemBase.js.map +1 -1
  94. package/dist/ListItemGroup.d.ts +6 -1
  95. package/dist/ListItemGroup.js +4 -1
  96. package/dist/ListItemGroup.js.map +1 -1
  97. package/dist/ListItemGroupHeader.d.ts +2 -0
  98. package/dist/ListItemGroupHeader.js +9 -0
  99. package/dist/ListItemGroupHeader.js.map +1 -1
  100. package/dist/Menu.d.ts +11 -90
  101. package/dist/Menu.js +65 -324
  102. package/dist/Menu.js.map +1 -1
  103. package/dist/MenuItem.d.ts +88 -23
  104. package/dist/MenuItem.js +111 -23
  105. package/dist/MenuItem.js.map +1 -1
  106. package/dist/MonthPicker.d.ts +1 -0
  107. package/dist/MonthPicker.js +10 -6
  108. package/dist/MonthPicker.js.map +1 -1
  109. package/dist/MultiComboBox.d.ts +17 -3
  110. package/dist/MultiComboBox.js +63 -25
  111. package/dist/MultiComboBox.js.map +1 -1
  112. package/dist/MultiInput.d.ts +18 -4
  113. package/dist/MultiInput.js +56 -31
  114. package/dist/MultiInput.js.map +1 -1
  115. package/dist/NavigationMenu.d.ts +1 -6
  116. package/dist/NavigationMenu.js +3 -47
  117. package/dist/NavigationMenu.js.map +1 -1
  118. package/dist/NavigationMenuItem.d.ts +22 -3
  119. package/dist/NavigationMenuItem.js +29 -4
  120. package/dist/NavigationMenuItem.js.map +1 -1
  121. package/dist/Option.d.ts +21 -33
  122. package/dist/Option.js +41 -19
  123. package/dist/Option.js.map +1 -1
  124. package/dist/OptionCustom.d.ts +52 -0
  125. package/dist/OptionCustom.js +69 -0
  126. package/dist/OptionCustom.js.map +1 -0
  127. package/dist/Panel.d.ts +1 -1
  128. package/dist/Popover.d.ts +8 -21
  129. package/dist/Popover.js +32 -44
  130. package/dist/Popover.js.map +1 -1
  131. package/dist/Popup.d.ts +23 -23
  132. package/dist/Popup.js +58 -66
  133. package/dist/Popup.js.map +1 -1
  134. package/dist/RadioButton.d.ts +17 -28
  135. package/dist/RadioButton.js +20 -32
  136. package/dist/RadioButton.js.map +1 -1
  137. package/dist/RadioButtonGroup.js +6 -5
  138. package/dist/RadioButtonGroup.js.map +1 -1
  139. package/dist/RangeSlider.d.ts +3 -1
  140. package/dist/RangeSlider.js +7 -0
  141. package/dist/RangeSlider.js.map +1 -1
  142. package/dist/ResponsivePopover.d.ts +4 -16
  143. package/dist/ResponsivePopover.js +17 -30
  144. package/dist/ResponsivePopover.js.map +1 -1
  145. package/dist/SegmentedButtonItem.d.ts +6 -1
  146. package/dist/SegmentedButtonItem.js +7 -4
  147. package/dist/SegmentedButtonItem.js.map +1 -1
  148. package/dist/Select.d.ts +28 -82
  149. package/dist/Select.js +84 -231
  150. package/dist/Select.js.map +1 -1
  151. package/dist/Slider.d.ts +3 -1
  152. package/dist/Slider.js +4 -0
  153. package/dist/Slider.js.map +1 -1
  154. package/dist/SliderBase.d.ts +11 -1
  155. package/dist/SliderBase.js +6 -0
  156. package/dist/SliderBase.js.map +1 -1
  157. package/dist/StandardListItem.d.ts +7 -0
  158. package/dist/StandardListItem.js +3 -0
  159. package/dist/StandardListItem.js.map +1 -1
  160. package/dist/StepInput.d.ts +6 -15
  161. package/dist/StepInput.js +7 -11
  162. package/dist/StepInput.js.map +1 -1
  163. package/dist/Switch.d.ts +8 -17
  164. package/dist/Switch.js +13 -21
  165. package/dist/Switch.js.map +1 -1
  166. package/dist/TabContainer.js +11 -5
  167. package/dist/TabContainer.js.map +1 -1
  168. package/dist/Tag.d.ts +1 -1
  169. package/dist/Tag.js.map +1 -1
  170. package/dist/TextArea.d.ts +9 -18
  171. package/dist/TextArea.js +22 -15
  172. package/dist/TextArea.js.map +1 -1
  173. package/dist/TimePicker.d.ts +24 -23
  174. package/dist/TimePicker.js +48 -57
  175. package/dist/TimePicker.js.map +1 -1
  176. package/dist/TimeSelectionClocks.js +2 -0
  177. package/dist/TimeSelectionClocks.js.map +1 -1
  178. package/dist/TimeSelectionInputs.js +2 -0
  179. package/dist/TimeSelectionInputs.js.map +1 -1
  180. package/dist/Toast.d.ts +1 -1
  181. package/dist/Toast.js +2 -2
  182. package/dist/Toast.js.map +1 -1
  183. package/dist/ToggleSpinButton.d.ts +1 -1
  184. package/dist/ToggleSpinButton.js +1 -1
  185. package/dist/ToggleSpinButton.js.map +1 -1
  186. package/dist/Token.d.ts +5 -0
  187. package/dist/Token.js +3 -0
  188. package/dist/Token.js.map +1 -1
  189. package/dist/Tokenizer.d.ts +11 -5
  190. package/dist/Tokenizer.js +93 -71
  191. package/dist/Tokenizer.js.map +1 -1
  192. package/dist/Toolbar.d.ts +5 -0
  193. package/dist/Toolbar.js +16 -4
  194. package/dist/Toolbar.js.map +1 -1
  195. package/dist/ToolbarButton.d.ts +11 -3
  196. package/dist/ToolbarButton.js +2 -2
  197. package/dist/ToolbarButton.js.map +1 -1
  198. package/dist/TreeItemBase.d.ts +8 -1
  199. package/dist/TreeItemBase.js +3 -1
  200. package/dist/TreeItemBase.js.map +1 -1
  201. package/dist/TreeItemCustom.js +4 -2
  202. package/dist/TreeItemCustom.js.map +1 -1
  203. package/dist/bundle.esm.d.ts +0 -1
  204. package/dist/bundle.esm.js +5 -3
  205. package/dist/bundle.esm.js.map +1 -1
  206. package/dist/css/themes/Avatar.css +1 -1
  207. package/dist/css/themes/AvatarGroup.css +1 -1
  208. package/dist/css/themes/Bar.css +1 -1
  209. package/dist/css/themes/Breadcrumbs.css +1 -1
  210. package/dist/css/themes/BusyIndicator.css +1 -1
  211. package/dist/css/themes/Button.css +1 -1
  212. package/dist/css/themes/Calendar.css +1 -1
  213. package/dist/css/themes/CalendarHeader.css +1 -1
  214. package/dist/css/themes/CalendarLegend.css +1 -1
  215. package/dist/css/themes/CalendarLegendItem.css +1 -1
  216. package/dist/css/themes/Card.css +1 -1
  217. package/dist/css/themes/CardHeader.css +1 -1
  218. package/dist/css/themes/Carousel.css +1 -1
  219. package/dist/css/themes/CheckBox.css +1 -1
  220. package/dist/css/themes/ColorPalette.css +1 -1
  221. package/dist/css/themes/ColorPaletteItem.css +1 -1
  222. package/dist/css/themes/ColorPalettePopover.css +1 -1
  223. package/dist/css/themes/ColorPicker.css +1 -1
  224. package/dist/css/themes/ComboBox.css +1 -1
  225. package/dist/css/themes/CustomListItem.css +1 -1
  226. package/dist/css/themes/DatePicker.css +1 -1
  227. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  228. package/dist/css/themes/DayPicker.css +1 -1
  229. package/dist/css/themes/Dialog.css +1 -1
  230. package/dist/css/themes/FileUploader.css +1 -1
  231. package/dist/css/themes/Form.css +1 -0
  232. package/dist/css/themes/FormItem.css +1 -0
  233. package/dist/css/themes/FormLabelSpan.css +1 -0
  234. package/dist/css/themes/FormLayout.css +1 -0
  235. package/dist/css/themes/GrowingButton.css +1 -1
  236. package/dist/css/themes/Icon.css +1 -1
  237. package/dist/css/themes/Input.css +1 -1
  238. package/dist/css/themes/InputIcon.css +1 -1
  239. package/dist/css/themes/InputSharedStyles.css +1 -1
  240. package/dist/css/themes/Label.css +1 -1
  241. package/dist/css/themes/Link.css +1 -1
  242. package/dist/css/themes/List.css +1 -1
  243. package/dist/css/themes/ListItem.css +1 -1
  244. package/dist/css/themes/ListItemAdditionalText.css +1 -0
  245. package/dist/css/themes/ListItemBase.css +1 -1
  246. package/dist/css/themes/ListItemGroup.css +1 -1
  247. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  248. package/dist/css/themes/ListItemIcon.css +1 -0
  249. package/dist/css/themes/Menu.css +1 -1
  250. package/dist/css/themes/MenuItem.css +1 -0
  251. package/dist/css/themes/MessageStrip.css +1 -1
  252. package/dist/css/themes/MonthPicker.css +1 -1
  253. package/dist/css/themes/MultiComboBox.css +1 -1
  254. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  255. package/dist/css/themes/MultiInput.css +1 -1
  256. package/dist/css/themes/NavigationMenu.css +1 -1
  257. package/dist/css/themes/NavigationMenuItem.css +1 -0
  258. package/dist/css/themes/OptionBase.css +1 -0
  259. package/dist/css/themes/Panel.css +1 -1
  260. package/dist/css/themes/Popover.css +1 -1
  261. package/dist/css/themes/Popup.css +1 -1
  262. package/dist/css/themes/PopupsCommon.css +1 -1
  263. package/dist/css/themes/ProgressIndicator.css +1 -1
  264. package/dist/css/themes/RadioButton.css +1 -1
  265. package/dist/css/themes/RangeSlider.css +1 -1
  266. package/dist/css/themes/RatingIndicator.css +1 -1
  267. package/dist/css/themes/ResponsivePopover.css +1 -1
  268. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  269. package/dist/css/themes/SegmentedButton.css +1 -1
  270. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  271. package/dist/css/themes/Select.css +1 -1
  272. package/dist/css/themes/SelectPopover.css +1 -1
  273. package/dist/css/themes/SliderBase.css +1 -1
  274. package/dist/css/themes/SplitButton.css +1 -1
  275. package/dist/css/themes/StepInput.css +1 -1
  276. package/dist/css/themes/Switch.css +1 -1
  277. package/dist/css/themes/TabContainer.css +1 -1
  278. package/dist/css/themes/TabInOverflow.css +1 -1
  279. package/dist/css/themes/TabInStrip.css +1 -1
  280. package/dist/css/themes/TabSemanticIcon.css +1 -1
  281. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  282. package/dist/css/themes/Tag.css +1 -1
  283. package/dist/css/themes/Text.css +1 -1
  284. package/dist/css/themes/TextArea.css +1 -1
  285. package/dist/css/themes/TimePicker.css +1 -1
  286. package/dist/css/themes/Toast.css +1 -1
  287. package/dist/css/themes/ToggleButton.css +1 -1
  288. package/dist/css/themes/Token.css +1 -1
  289. package/dist/css/themes/Tokenizer.css +1 -1
  290. package/dist/css/themes/TokenizerPopover.css +1 -1
  291. package/dist/css/themes/Toolbar.css +1 -1
  292. package/dist/css/themes/ToolbarPopover.css +1 -1
  293. package/dist/css/themes/TreeItem.css +1 -1
  294. package/dist/css/themes/ValueStateMessage.css +1 -1
  295. package/dist/css/themes/YearPicker.css +1 -1
  296. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  297. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  298. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  299. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  300. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  301. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  302. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  303. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  304. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  305. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  306. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  307. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  308. package/dist/custom-elements-internal.json +2425 -1770
  309. package/dist/custom-elements.json +1994 -1511
  310. package/dist/features/InputSuggestions.js +3 -1
  311. package/dist/features/InputSuggestions.js.map +1 -1
  312. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  313. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  314. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  315. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  316. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  317. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  318. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  319. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  320. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  321. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  322. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  323. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  324. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  325. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  326. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  327. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  328. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  329. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  330. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  331. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  332. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  333. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  334. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  335. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  336. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  337. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  338. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  339. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  340. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  341. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  342. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  343. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  344. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  345. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  346. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  347. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  348. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  349. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  350. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  351. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  352. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  353. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  354. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  355. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  356. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  357. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  358. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  359. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  360. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  361. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  362. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  363. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  364. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  365. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  366. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  367. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  368. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  369. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  370. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  371. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  372. package/dist/generated/i18n/i18n-defaults.d.ts +6 -2
  373. package/dist/generated/i18n/i18n-defaults.js +6 -2
  374. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  375. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +2 -2
  376. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  377. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +2 -2
  378. package/dist/generated/templates/BusyIndicatorTemplate.lit.js.map +1 -1
  379. package/dist/generated/templates/ButtonTemplate.lit.js +3 -2
  380. package/dist/generated/templates/ButtonTemplate.lit.js.map +1 -1
  381. package/dist/generated/templates/CalendarTemplate.lit.js +1 -1
  382. package/dist/generated/templates/CalendarTemplate.lit.js.map +1 -1
  383. package/dist/generated/templates/CheckBoxTemplate.lit.js +1 -1
  384. package/dist/generated/templates/CheckBoxTemplate.lit.js.map +1 -1
  385. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +2 -2
  386. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js.map +1 -1
  387. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +1 -1
  388. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js.map +1 -1
  389. package/dist/generated/templates/ColorPaletteTemplate.lit.js +1 -1
  390. package/dist/generated/templates/ColorPaletteTemplate.lit.js.map +1 -1
  391. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +12 -9
  392. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  393. package/dist/generated/templates/ComboBoxTemplate.lit.js +14 -11
  394. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  395. package/dist/generated/templates/DatePickerInputTemplate.lit.js +2 -2
  396. package/dist/generated/templates/DatePickerInputTemplate.lit.js.map +1 -1
  397. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +1 -1
  398. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
  399. package/dist/generated/templates/DatePickerTemplate.lit.js +2 -2
  400. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  401. package/dist/generated/templates/DateRangePickerTemplate.lit.d.ts +4 -0
  402. package/dist/generated/templates/DateRangePickerTemplate.lit.js +9 -0
  403. package/dist/generated/templates/DateRangePickerTemplate.lit.js.map +1 -0
  404. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
  405. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
  406. package/dist/generated/templates/DateTimePickerTemplate.lit.js +2 -2
  407. package/dist/generated/templates/DateTimePickerTemplate.lit.js.map +1 -1
  408. package/dist/generated/templates/DialogTemplate.lit.js +1 -1
  409. package/dist/generated/templates/DialogTemplate.lit.js.map +1 -1
  410. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +1 -1
  411. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js.map +1 -1
  412. package/dist/generated/templates/FileUploaderTemplate.lit.js +5 -7
  413. package/dist/generated/templates/FileUploaderTemplate.lit.js.map +1 -1
  414. package/dist/generated/templates/FormItemTemplate.lit.d.ts +4 -0
  415. package/dist/generated/templates/FormItemTemplate.lit.js +6 -0
  416. package/dist/generated/templates/FormItemTemplate.lit.js.map +1 -0
  417. package/dist/generated/templates/FormTemplate.lit.d.ts +4 -0
  418. package/dist/generated/templates/FormTemplate.lit.js +13 -0
  419. package/dist/generated/templates/FormTemplate.lit.js.map +1 -0
  420. package/dist/generated/templates/InputPopoverTemplate.lit.js +2 -2
  421. package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -1
  422. package/dist/generated/templates/InputTemplate.lit.js +4 -4
  423. package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
  424. package/dist/generated/templates/{MenuListItemTemplate.lit.d.ts → ListItemBaseTemplate.lit.d.ts} +2 -2
  425. package/dist/generated/templates/ListItemBaseTemplate.lit.js +5 -0
  426. package/dist/generated/templates/ListItemBaseTemplate.lit.js.map +1 -0
  427. package/dist/generated/templates/ListItemGroupHeaderTemplate.lit.js +1 -1
  428. package/dist/generated/templates/ListItemGroupHeaderTemplate.lit.js.map +1 -1
  429. package/dist/generated/templates/ListItemGroupTemplate.lit.js +1 -1
  430. package/dist/generated/templates/ListItemGroupTemplate.lit.js.map +1 -1
  431. package/dist/generated/templates/MenuItemTemplate.lit.d.ts +4 -0
  432. package/dist/generated/templates/{MenuListItemTemplate.lit.js → MenuItemTemplate.lit.js} +23 -15
  433. package/dist/generated/templates/MenuItemTemplate.lit.js.map +1 -0
  434. package/dist/generated/templates/MenuTemplate.lit.js +6 -8
  435. package/dist/generated/templates/MenuTemplate.lit.js.map +1 -1
  436. package/dist/generated/templates/MonthPickerTemplate.lit.js +1 -1
  437. package/dist/generated/templates/MonthPickerTemplate.lit.js.map +1 -1
  438. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +2 -2
  439. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  440. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +4 -4
  441. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  442. package/dist/generated/templates/MultiInputTemplate.lit.js +28 -27
  443. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
  444. package/dist/generated/templates/NavigationMenuItemTemplate.lit.d.ts +4 -0
  445. package/dist/generated/templates/NavigationMenuItemTemplate.lit.js +57 -0
  446. package/dist/generated/templates/NavigationMenuItemTemplate.lit.js.map +1 -0
  447. package/dist/generated/templates/NavigationMenuTemplate.lit.js +6 -19
  448. package/dist/generated/templates/NavigationMenuTemplate.lit.js.map +1 -1
  449. package/dist/generated/templates/OptionCustomTemplate.lit.d.ts +4 -0
  450. package/dist/generated/templates/OptionCustomTemplate.lit.js +5 -0
  451. package/dist/generated/templates/OptionCustomTemplate.lit.js.map +1 -0
  452. package/dist/generated/templates/OptionTemplate.lit.d.ts +4 -0
  453. package/dist/generated/templates/OptionTemplate.lit.js +7 -0
  454. package/dist/generated/templates/OptionTemplate.lit.js.map +1 -0
  455. package/dist/generated/templates/PopoverTemplate.lit.js +1 -1
  456. package/dist/generated/templates/PopoverTemplate.lit.js.map +1 -1
  457. package/dist/generated/templates/PopupTemplate.lit.js +1 -1
  458. package/dist/generated/templates/PopupTemplate.lit.js.map +1 -1
  459. package/dist/generated/templates/RadioButtonTemplate.lit.js +1 -1
  460. package/dist/generated/templates/RadioButtonTemplate.lit.js.map +1 -1
  461. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +3 -3
  462. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js.map +1 -1
  463. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +1 -1
  464. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js.map +1 -1
  465. package/dist/generated/templates/SelectPopoverTemplate.lit.js +6 -7
  466. package/dist/generated/templates/SelectPopoverTemplate.lit.js.map +1 -1
  467. package/dist/generated/templates/SelectTemplate.lit.js +8 -9
  468. package/dist/generated/templates/SelectTemplate.lit.js.map +1 -1
  469. package/dist/generated/templates/StepInputTemplate.lit.js +3 -3
  470. package/dist/generated/templates/StepInputTemplate.lit.js.map +1 -1
  471. package/dist/generated/templates/SwitchTemplate.lit.js +1 -1
  472. package/dist/generated/templates/SwitchTemplate.lit.js.map +1 -1
  473. package/dist/generated/templates/TabContainerTemplate.lit.js +2 -2
  474. package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -1
  475. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +1 -1
  476. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js.map +1 -1
  477. package/dist/generated/templates/TextAreaTemplate.lit.js +2 -2
  478. package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -1
  479. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +2 -2
  480. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js.map +1 -1
  481. package/dist/generated/templates/TimePickerTemplate.lit.js +3 -3
  482. package/dist/generated/templates/TimePickerTemplate.lit.js.map +1 -1
  483. package/dist/generated/templates/ToggleButtonTemplate.lit.js +3 -2
  484. package/dist/generated/templates/ToggleButtonTemplate.lit.js.map +1 -1
  485. package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js +3 -2
  486. package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js.map +1 -1
  487. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +4 -3
  488. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js.map +1 -1
  489. package/dist/generated/templates/TokenizerTemplate.lit.js +4 -3
  490. package/dist/generated/templates/TokenizerTemplate.lit.js.map +1 -1
  491. package/dist/generated/templates/ToolbarButtonTemplate.lit.js +1 -1
  492. package/dist/generated/templates/ToolbarButtonTemplate.lit.js.map +1 -1
  493. package/dist/generated/templates/ToolbarPopoverButtonTemplate.lit.js +1 -1
  494. package/dist/generated/templates/ToolbarPopoverButtonTemplate.lit.js.map +1 -1
  495. package/dist/generated/templates/ToolbarPopoverTemplate.lit.js +1 -1
  496. package/dist/generated/templates/ToolbarPopoverTemplate.lit.js.map +1 -1
  497. package/dist/generated/templates/ToolbarTemplate.lit.js +1 -1
  498. package/dist/generated/templates/ToolbarTemplate.lit.js.map +1 -1
  499. package/dist/generated/templates/YearPickerTemplate.lit.js +1 -1
  500. package/dist/generated/templates/YearPickerTemplate.lit.js.map +1 -1
  501. package/dist/generated/themes/Avatar.css.js +1 -1
  502. package/dist/generated/themes/Avatar.css.js.map +1 -1
  503. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  504. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  505. package/dist/generated/themes/Bar.css.js +1 -1
  506. package/dist/generated/themes/Bar.css.js.map +1 -1
  507. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  508. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  509. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  510. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  511. package/dist/generated/themes/Button.css.js +1 -1
  512. package/dist/generated/themes/Button.css.js.map +1 -1
  513. package/dist/generated/themes/Calendar.css.js +1 -1
  514. package/dist/generated/themes/Calendar.css.js.map +1 -1
  515. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  516. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  517. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  518. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  519. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  520. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  521. package/dist/generated/themes/Card.css.js +1 -1
  522. package/dist/generated/themes/Card.css.js.map +1 -1
  523. package/dist/generated/themes/CardHeader.css.js +1 -1
  524. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  525. package/dist/generated/themes/Carousel.css.js +1 -1
  526. package/dist/generated/themes/Carousel.css.js.map +1 -1
  527. package/dist/generated/themes/CheckBox.css.js +1 -1
  528. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  529. package/dist/generated/themes/ColorPalette.css.js +1 -1
  530. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  531. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  532. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  533. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  534. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  535. package/dist/generated/themes/ColorPicker.css.js +1 -1
  536. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  537. package/dist/generated/themes/ComboBox.css.js +1 -1
  538. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  539. package/dist/generated/themes/CustomListItem.css.js +1 -1
  540. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  541. package/dist/generated/themes/DatePicker.css.js +1 -1
  542. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  543. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  544. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  545. package/dist/generated/themes/DayPicker.css.js +1 -1
  546. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  547. package/dist/generated/themes/Dialog.css.js +1 -1
  548. package/dist/generated/themes/Dialog.css.js.map +1 -1
  549. package/dist/generated/themes/FileUploader.css.js +1 -1
  550. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  551. package/dist/generated/themes/Form.css.js +9 -0
  552. package/dist/generated/themes/Form.css.js.map +1 -0
  553. package/dist/generated/themes/FormItem.css.js +9 -0
  554. package/dist/generated/themes/FormItem.css.js.map +1 -0
  555. package/dist/generated/themes/FormLabelSpan.css.js +9 -0
  556. package/dist/generated/themes/FormLabelSpan.css.js.map +1 -0
  557. package/dist/generated/themes/FormLayout.css.d.ts +3 -0
  558. package/dist/generated/themes/FormLayout.css.js +9 -0
  559. package/dist/generated/themes/FormLayout.css.js.map +1 -0
  560. package/dist/generated/themes/GrowingButton.css.js +1 -1
  561. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  562. package/dist/generated/themes/Icon.css.js +1 -1
  563. package/dist/generated/themes/Icon.css.js.map +1 -1
  564. package/dist/generated/themes/Input.css.js +1 -1
  565. package/dist/generated/themes/Input.css.js.map +1 -1
  566. package/dist/generated/themes/InputIcon.css.js +1 -1
  567. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  568. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  569. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  570. package/dist/generated/themes/Label.css.js +1 -1
  571. package/dist/generated/themes/Label.css.js.map +1 -1
  572. package/dist/generated/themes/Link.css.js +1 -1
  573. package/dist/generated/themes/Link.css.js.map +1 -1
  574. package/dist/generated/themes/List.css.js +1 -1
  575. package/dist/generated/themes/List.css.js.map +1 -1
  576. package/dist/generated/themes/ListItem.css.js +1 -1
  577. package/dist/generated/themes/ListItem.css.js.map +1 -1
  578. package/dist/generated/themes/ListItemAdditionalText.css.d.ts +3 -0
  579. package/dist/generated/themes/{SelectMenu.css.js → ListItemAdditionalText.css.js} +2 -2
  580. package/dist/generated/themes/ListItemAdditionalText.css.js.map +1 -0
  581. package/dist/generated/themes/ListItemBase.css.js +1 -1
  582. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  583. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  584. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  585. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  586. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  587. package/dist/generated/themes/ListItemIcon.css.d.ts +3 -0
  588. package/dist/generated/themes/ListItemIcon.css.js +9 -0
  589. package/dist/generated/themes/ListItemIcon.css.js.map +1 -0
  590. package/dist/generated/themes/Menu.css.js +1 -1
  591. package/dist/generated/themes/Menu.css.js.map +1 -1
  592. package/dist/generated/themes/MenuItem.css.d.ts +3 -0
  593. package/dist/generated/themes/MenuItem.css.js +9 -0
  594. package/dist/generated/themes/MenuItem.css.js.map +1 -0
  595. package/dist/generated/themes/MessageStrip.css.js +1 -1
  596. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  597. package/dist/generated/themes/MonthPicker.css.js +1 -1
  598. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  599. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  600. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  601. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  602. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  603. package/dist/generated/themes/MultiInput.css.js +1 -1
  604. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  605. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  606. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  607. package/dist/generated/themes/NavigationMenuItem.css.d.ts +3 -0
  608. package/dist/generated/themes/NavigationMenuItem.css.js +9 -0
  609. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -0
  610. package/dist/generated/themes/OptionBase.css.d.ts +3 -0
  611. package/dist/generated/themes/{SelectMenuOption.css.js → OptionBase.css.js} +3 -2
  612. package/dist/generated/themes/{SelectMenu.css.js.map → OptionBase.css.js.map} +1 -1
  613. package/dist/generated/themes/Panel.css.js +1 -1
  614. package/dist/generated/themes/Panel.css.js.map +1 -1
  615. package/dist/generated/themes/Popover.css.js +1 -1
  616. package/dist/generated/themes/Popover.css.js.map +1 -1
  617. package/dist/generated/themes/Popup.css.js +1 -1
  618. package/dist/generated/themes/Popup.css.js.map +1 -1
  619. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  620. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  621. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  622. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  623. package/dist/generated/themes/RadioButton.css.js +1 -1
  624. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  625. package/dist/generated/themes/RangeSlider.css.js +1 -1
  626. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  627. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  628. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  629. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  630. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  631. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  632. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  633. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  634. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  635. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  636. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  637. package/dist/generated/themes/Select.css.js +1 -1
  638. package/dist/generated/themes/Select.css.js.map +1 -1
  639. package/dist/generated/themes/SelectPopover.css.js +1 -1
  640. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  641. package/dist/generated/themes/SliderBase.css.js +1 -1
  642. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  643. package/dist/generated/themes/SplitButton.css.js +1 -1
  644. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  645. package/dist/generated/themes/StepInput.css.js +1 -1
  646. package/dist/generated/themes/StepInput.css.js.map +1 -1
  647. package/dist/generated/themes/Switch.css.js +1 -1
  648. package/dist/generated/themes/Switch.css.js.map +1 -1
  649. package/dist/generated/themes/TabContainer.css.js +1 -1
  650. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  651. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  652. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  653. package/dist/generated/themes/TabInStrip.css.js +1 -1
  654. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  655. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  656. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  657. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  658. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  659. package/dist/generated/themes/Tag.css.js +1 -1
  660. package/dist/generated/themes/Tag.css.js.map +1 -1
  661. package/dist/generated/themes/Text.css.js +1 -1
  662. package/dist/generated/themes/Text.css.js.map +1 -1
  663. package/dist/generated/themes/TextArea.css.js +1 -1
  664. package/dist/generated/themes/TextArea.css.js.map +1 -1
  665. package/dist/generated/themes/TimePicker.css.js +1 -1
  666. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  667. package/dist/generated/themes/Toast.css.js +1 -1
  668. package/dist/generated/themes/Toast.css.js.map +1 -1
  669. package/dist/generated/themes/ToggleButton.css.js +1 -1
  670. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  671. package/dist/generated/themes/Token.css.js +1 -1
  672. package/dist/generated/themes/Token.css.js.map +1 -1
  673. package/dist/generated/themes/Tokenizer.css.js +1 -1
  674. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  675. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  676. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  677. package/dist/generated/themes/Toolbar.css.js +1 -1
  678. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  679. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  680. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  681. package/dist/generated/themes/TreeItem.css.js +1 -1
  682. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  683. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  684. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  685. package/dist/generated/themes/YearPicker.css.js +1 -1
  686. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  687. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  688. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  689. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  690. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  691. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  692. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  693. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  694. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  695. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  696. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  697. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  698. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  699. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  700. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  701. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  702. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  703. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  704. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  705. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  706. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  707. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  708. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  709. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  710. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  711. package/dist/popup-utils/OpenedPopupsRegistry.js +1 -1
  712. package/dist/popup-utils/OpenedPopupsRegistry.js.map +1 -1
  713. package/dist/popup-utils/PopoverRegistry.js +5 -4
  714. package/dist/popup-utils/PopoverRegistry.js.map +1 -1
  715. package/dist/styles/Icon.css +33 -0
  716. package/dist/styles/Icon.module.css +33 -0
  717. package/dist/types/FormItemSpacing.d.ts +19 -0
  718. package/dist/types/FormItemSpacing.js +21 -0
  719. package/dist/types/FormItemSpacing.js.map +1 -0
  720. package/dist/types/{HighlightTypes.d.ts → Highlight.d.ts} +3 -3
  721. package/dist/types/Highlight.js +30 -0
  722. package/dist/types/Highlight.js.map +1 -0
  723. package/dist/types/InputType.d.ts +7 -1
  724. package/dist/types/InputType.js +6 -0
  725. package/dist/types/InputType.js.map +1 -1
  726. package/dist/types/LinkAccessibleRole.d.ts +19 -0
  727. package/dist/types/LinkAccessibleRole.js +21 -0
  728. package/dist/types/LinkAccessibleRole.js.map +1 -0
  729. package/dist/vscode.html-custom-data.json +312 -163
  730. package/dist/web-types.json +736 -378
  731. package/package.json +10 -10
  732. package/src/Breadcrumbs.hbs +4 -2
  733. package/src/BusyIndicator.hbs +1 -1
  734. package/src/Button.hbs +12 -2
  735. package/src/Calendar.hbs +2 -2
  736. package/src/CheckBox.hbs +0 -2
  737. package/src/ColorPalette.hbs +3 -1
  738. package/src/ColorPaletteItem.hbs +1 -1
  739. package/src/ColorPalettePopover.hbs +2 -1
  740. package/src/ComboBox.hbs +3 -2
  741. package/src/ComboBoxPopover.hbs +15 -4
  742. package/src/DatePickerInput.hbs +1 -3
  743. package/src/DatePickerPopover.hbs +3 -3
  744. package/src/DateRangePicker.hbs +23 -0
  745. package/src/DateTimePickerPopover.hbs +2 -2
  746. package/src/FileUploader.hbs +10 -16
  747. package/src/FileUploaderPopover.hbs +1 -1
  748. package/src/Form.hbs +37 -0
  749. package/src/FormItem.hbs +14 -0
  750. package/src/Input.hbs +2 -3
  751. package/src/InputPopover.hbs +5 -5
  752. package/src/ListItemBase.hbs +21 -0
  753. package/src/ListItemGroup.hbs +12 -12
  754. package/src/ListItemGroupHeader.hbs +0 -1
  755. package/src/Menu.hbs +17 -49
  756. package/src/MenuItem.hbs +111 -0
  757. package/src/MonthPicker.hbs +2 -2
  758. package/src/MultiComboBox.hbs +3 -2
  759. package/src/MultiComboBoxPopover.hbs +4 -4
  760. package/src/MultiInput.hbs +4 -2
  761. package/src/NavigationMenu.hbs +14 -101
  762. package/src/NavigationMenuItem.hbs +124 -0
  763. package/src/Option.hbs +15 -0
  764. package/src/OptionCustom.hbs +5 -0
  765. package/src/Popup.hbs +1 -0
  766. package/src/RadioButton.hbs +0 -1
  767. package/src/ResponsivePopover.hbs +6 -5
  768. package/src/SegmentedButtonItem.hbs +1 -1
  769. package/src/Select.hbs +2 -3
  770. package/src/SelectPopover.hbs +9 -20
  771. package/src/StepInput.hbs +2 -4
  772. package/src/Switch.hbs +0 -1
  773. package/src/TabContainer.hbs +4 -4
  774. package/src/TextArea.hbs +0 -2
  775. package/src/TextAreaPopover.hbs +1 -1
  776. package/src/TimePicker.hbs +4 -5
  777. package/src/TimePickerPopover.hbs +7 -5
  778. package/src/TokenizerPopover.hbs +9 -7
  779. package/src/ToolbarButton.hbs +1 -1
  780. package/src/ToolbarPopover.hbs +2 -2
  781. package/src/ToolbarPopoverButton.hbs +1 -1
  782. package/src/YearPicker.hbs +1 -1
  783. package/src/i18n/messagebundle.properties +11 -3
  784. package/src/i18n/messagebundle_ar.properties +13 -3
  785. package/src/i18n/messagebundle_bg.properties +13 -3
  786. package/src/i18n/messagebundle_ca.properties +13 -3
  787. package/src/i18n/messagebundle_cnr.properties +13 -3
  788. package/src/i18n/messagebundle_cs.properties +13 -3
  789. package/src/i18n/messagebundle_cy.properties +13 -3
  790. package/src/i18n/messagebundle_da.properties +13 -3
  791. package/src/i18n/messagebundle_de.properties +13 -3
  792. package/src/i18n/messagebundle_el.properties +13 -3
  793. package/src/i18n/messagebundle_en.properties +13 -3
  794. package/src/i18n/messagebundle_en_GB.properties +13 -3
  795. package/src/i18n/messagebundle_en_US_saprigi.properties +13 -3
  796. package/src/i18n/messagebundle_es.properties +13 -3
  797. package/src/i18n/messagebundle_es_MX.properties +13 -3
  798. package/src/i18n/messagebundle_et.properties +13 -3
  799. package/src/i18n/messagebundle_fi.properties +13 -3
  800. package/src/i18n/messagebundle_fr.properties +13 -3
  801. package/src/i18n/messagebundle_fr_CA.properties +13 -3
  802. package/src/i18n/messagebundle_hi.properties +13 -3
  803. package/src/i18n/messagebundle_hr.properties +13 -3
  804. package/src/i18n/messagebundle_hu.properties +13 -3
  805. package/src/i18n/messagebundle_id.properties +13 -3
  806. package/src/i18n/messagebundle_it.properties +14 -4
  807. package/src/i18n/messagebundle_iw.properties +13 -3
  808. package/src/i18n/messagebundle_ja.properties +13 -3
  809. package/src/i18n/messagebundle_kk.properties +13 -3
  810. package/src/i18n/messagebundle_ko.properties +13 -3
  811. package/src/i18n/messagebundle_lt.properties +13 -3
  812. package/src/i18n/messagebundle_lv.properties +13 -3
  813. package/src/i18n/messagebundle_mk.properties +13 -3
  814. package/src/i18n/messagebundle_ms.properties +13 -3
  815. package/src/i18n/messagebundle_nl.properties +13 -3
  816. package/src/i18n/messagebundle_no.properties +13 -3
  817. package/src/i18n/messagebundle_pl.properties +13 -3
  818. package/src/i18n/messagebundle_pt.properties +13 -3
  819. package/src/i18n/messagebundle_pt_PT.properties +13 -3
  820. package/src/i18n/messagebundle_ro.properties +13 -3
  821. package/src/i18n/messagebundle_ru.properties +13 -3
  822. package/src/i18n/messagebundle_sh.properties +13 -3
  823. package/src/i18n/messagebundle_sk.properties +13 -3
  824. package/src/i18n/messagebundle_sl.properties +13 -3
  825. package/src/i18n/messagebundle_sr.properties +13 -3
  826. package/src/i18n/messagebundle_sv.properties +13 -3
  827. package/src/i18n/messagebundle_th.properties +13 -3
  828. package/src/i18n/messagebundle_tr.properties +13 -3
  829. package/src/i18n/messagebundle_uk.properties +17 -7
  830. package/src/i18n/messagebundle_vi.properties +13 -3
  831. package/src/i18n/messagebundle_zh_CN.properties +13 -3
  832. package/src/i18n/messagebundle_zh_TW.properties +13 -3
  833. package/src/styles/Icon.module.css +1 -0
  834. package/src/themes/Button.css +7 -10
  835. package/src/themes/Calendar.css +1 -0
  836. package/src/themes/CalendarLegendItem.css +4 -1
  837. package/src/themes/ColorPalette.css +11 -6
  838. package/src/themes/ColorPaletteItem.css +55 -27
  839. package/src/themes/Form.css +50 -0
  840. package/src/themes/FormItem.css +65 -0
  841. package/src/themes/FormLabelSpan.css +267 -0
  842. package/src/themes/FormLayout.css +159 -0
  843. package/src/themes/GrowingButton.css +1 -1
  844. package/src/themes/Input.css +20 -20
  845. package/src/themes/InputIcon.css +6 -13
  846. package/src/themes/InputSharedStyles.css +15 -16
  847. package/src/themes/Label.css +7 -4
  848. package/src/themes/Link.css +5 -5
  849. package/src/themes/ListItem.css +6 -57
  850. package/src/themes/ListItemAdditionalText.css +10 -0
  851. package/src/themes/ListItemBase.css +61 -46
  852. package/src/themes/ListItemIcon.css +6 -0
  853. package/src/themes/Menu.css +0 -10
  854. package/src/themes/{MenuListItem.css → MenuItem.css} +13 -1
  855. package/src/themes/MonthPicker.css +23 -0
  856. package/src/themes/NavigationMenu.css +7 -65
  857. package/src/themes/NavigationMenuItem.css +54 -0
  858. package/src/themes/OptionBase.css +3 -0
  859. package/src/themes/Popover.css +1 -1
  860. package/src/themes/Popup.css +1 -1
  861. package/src/themes/RadioButton.css +8 -8
  862. package/src/themes/ResponsivePopover.css +3 -3
  863. package/src/themes/ResponsivePopoverCommon.css +3 -3
  864. package/src/themes/SegmentedButton.css +2 -3
  865. package/src/themes/SegmentedButtonItem.css +0 -8
  866. package/src/themes/SelectPopover.css +1 -9
  867. package/src/themes/TimePicker.css +1 -24
  868. package/src/themes/base/ColorPalette-parameters.css +10 -4
  869. package/src/themes/base/Form-parameters.css +20 -0
  870. package/src/themes/base/sizes-parameters.css +25 -7
  871. package/src/themes/sap_fiori_3/parameters-bundle.css +2 -2
  872. package/src/themes/sap_fiori_3/sizes-parameters.css +6 -0
  873. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +2 -2
  874. package/src/themes/sap_fiori_3_dark/sizes-parameters.css +6 -0
  875. package/src/themes/sap_fiori_3_hcb/Tag-parameters.css +102 -0
  876. package/src/themes/sap_fiori_3_hcw/Tag-parameters.css +102 -0
  877. package/src/themes/sap_horizon/ColorPalette-parameters.css +7 -4
  878. package/src/themes/sap_horizon/parameters-bundle.css +1 -0
  879. package/src/themes/sap_horizon/sizes-parameters.css +4 -2
  880. package/src/themes/sap_horizon_dark/ColorPalette-parameters.css +7 -4
  881. package/src/themes/sap_horizon_dark/sizes-parameters.css +4 -2
  882. package/src/themes/sap_horizon_dark_exp/ColorPalette-parameters.css +5 -4
  883. package/src/themes/sap_horizon_dark_exp/sizes-parameters.css +1 -2
  884. package/src/themes/sap_horizon_exp/ColorPalette-parameters.css +5 -4
  885. package/src/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  886. package/src/themes/sap_horizon_exp/sizes-parameters.css +1 -2
  887. package/src/themes/sap_horizon_hcb/ColorPalette-parameters.css +8 -0
  888. package/src/themes/sap_horizon_hcb/Tag-parameters.css +9 -9
  889. package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  890. package/src/themes/sap_horizon_hcw/ColorPalette-parameters.css +8 -0
  891. package/src/themes/sap_horizon_hcw/Tag-parameters.css +9 -9
  892. package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  893. package/dist/ComboBoxGroupItem.js.map +0 -1
  894. package/dist/MenuListItem.d.ts +0 -61
  895. package/dist/MenuListItem.js +0 -71
  896. package/dist/MenuListItem.js.map +0 -1
  897. package/dist/SelectMenu.d.ts +0 -102
  898. package/dist/SelectMenu.js +0 -237
  899. package/dist/SelectMenu.js.map +0 -1
  900. package/dist/SelectMenuOption.d.ts +0 -94
  901. package/dist/SelectMenuOption.js +0 -78
  902. package/dist/SelectMenuOption.js.map +0 -1
  903. package/dist/css/themes/MenuListItem.css +0 -1
  904. package/dist/css/themes/SelectMenu.css +0 -1
  905. package/dist/css/themes/SelectMenuOption.css +0 -0
  906. package/dist/features/InputElementsFormSupport.d.ts +0 -41
  907. package/dist/features/InputElementsFormSupport.js +0 -134
  908. package/dist/features/InputElementsFormSupport.js.map +0 -1
  909. package/dist/generated/templates/MenuListItemTemplate.lit.js.map +0 -1
  910. package/dist/generated/templates/SelectMenuTemplate.lit.d.ts +0 -4
  911. package/dist/generated/templates/SelectMenuTemplate.lit.js +0 -15
  912. package/dist/generated/templates/SelectMenuTemplate.lit.js.map +0 -1
  913. package/dist/generated/themes/MenuListItem.css.js +0 -9
  914. package/dist/generated/themes/MenuListItem.css.js.map +0 -1
  915. package/dist/generated/themes/SelectMenuOption.css.js.map +0 -1
  916. package/dist/styles/Input.css +0 -0
  917. package/dist/styles/Input.module.css +0 -0
  918. package/dist/types/HighlightTypes.js +0 -30
  919. package/dist/types/HighlightTypes.js.map +0 -1
  920. package/src/MenuListItem.hbs +0 -35
  921. package/src/SelectMenu.hbs +0 -57
  922. package/src/styles/Input.module.css +0 -0
  923. package/src/themes/SelectMenu.css +0 -16
  924. package/src/themes/SelectMenuOption.css +0 -0
  925. /package/dist/generated/themes/{MenuListItem.css.d.ts → Form.css.d.ts} +0 -0
  926. /package/dist/generated/themes/{SelectMenu.css.d.ts → FormItem.css.d.ts} +0 -0
  927. /package/dist/generated/themes/{SelectMenuOption.css.d.ts → FormLabelSpan.css.d.ts} +0 -0
@@ -34,7 +34,6 @@ import { TIMEPICKER_SUBMIT_BUTTON, TIMEPICKER_CANCEL_BUTTON, TIMEPICKER_INPUT_DE
34
34
  // Styles
35
35
  import TimePickerCss from "./generated/themes/TimePicker.css.js";
36
36
  import TimePickerPopoverCss from "./generated/themes/TimePickerPopover.css.js";
37
- import PopoverCss from "./generated/themes/Popover.css.js";
38
37
  import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverCommon.css.js";
39
38
  /**
40
39
  * @class
@@ -105,10 +104,17 @@ let TimePicker = TimePicker_1 = class TimePicker extends UI5Element {
105
104
  fetchCldr(getLocale().getLanguage(), getLocale().getRegion(), getLocale().getScript()),
106
105
  ]);
107
106
  }
107
+ async formElementAnchor() {
108
+ return this.getFocusDomRefAsync();
109
+ }
110
+ get formFormattedValue() {
111
+ return this.value || "";
112
+ }
108
113
  onBeforeRendering() {
109
114
  if (this.value) {
110
115
  this.value = this.normalizeValue(this.value) || this.value;
111
116
  }
117
+ this.tempValue = this.value && this.isValid(this.value) ? this.value : this.getFormat().format(UI5Date.getInstance());
112
118
  }
113
119
  get dateAriaDescription() {
114
120
  return TimePicker_1.i18nBundle.getText(TIMEPICKER_INPUT_DESCRIPTION);
@@ -158,52 +164,19 @@ let TimePicker = TimePicker_1 = class TimePicker extends UI5Element {
158
164
  onTimeSelectionChange(e) {
159
165
  this.tempValue = e.detail.value; // every time the user changes the time selection -> update tempValue
160
166
  }
161
- /**
162
- * Opens the picker.
163
- * @public
164
- * @returns Resolves when the picker is open
165
- */
166
- openPicker() {
167
- this.tempValue = this.value && this.isValid(this.value) ? this.value : this.getFormat().format(UI5Date.getInstance());
168
- const responsivePopover = this._getPopover();
169
- responsivePopover.showAt(this);
170
- }
171
- /**
172
- * Closes the picker
173
- * @public
174
- * @returns Resolves when the picker is closed
175
- */
176
- closePicker() {
177
- const responsivePopover = this._getPopover();
178
- responsivePopover.close();
179
- this._isPickerOpen = false;
180
- }
181
- togglePicker() {
182
- if (this.isOpen()) {
183
- this.closePicker();
184
- }
185
- else if (this._canOpenPicker()) {
186
- this.openPicker();
187
- }
188
- }
189
- /**
190
- * Checks if the picker is open
191
- * @public
192
- */
193
- isOpen() {
194
- return !!this._isPickerOpen;
167
+ _togglePicker() {
168
+ this.open = !this.open;
195
169
  }
196
170
  submitPickers() {
197
171
  this._updateValueAndFireEvents(this.tempValue, true, ["change", "value-changed"]);
198
- this.closePicker();
172
+ this._togglePicker();
199
173
  }
200
174
  onResponsivePopoverAfterClose() {
201
- this._isPickerOpen = false;
175
+ this.open = false;
176
+ this.fireEvent("close");
202
177
  }
203
178
  onResponsivePopoverAfterOpen() {
204
- this._isPickerOpen = true;
205
- const responsivePopover = this._getPopover();
206
- responsivePopover.querySelector("[ui5-time-selection-clocks]")._focusFirstButton();
179
+ this.fireEvent("open");
207
180
  }
208
181
  /**
209
182
  * Opens the Inputs popover.
@@ -213,7 +186,8 @@ let TimePicker = TimePicker_1 = class TimePicker extends UI5Element {
213
186
  openInputsPopover() {
214
187
  this.tempValue = this.value && this.isValid(this.value) ? this.value : this.getFormat().format(UI5Date.getInstance());
215
188
  const popover = this._getInputsPopover();
216
- popover.showAt(this);
189
+ popover.opener = this;
190
+ popover.open = true;
217
191
  this._isInputsPopoverOpen = true;
218
192
  }
219
193
  /**
@@ -223,7 +197,7 @@ let TimePicker = TimePicker_1 = class TimePicker extends UI5Element {
223
197
  */
224
198
  closeInputsPopover() {
225
199
  const popover = this._getInputsPopover();
226
- popover.close();
200
+ popover.open = false;
227
201
  }
228
202
  toggleInputsPopover() {
229
203
  if (this.isInputsPopoverOpen()) {
@@ -251,9 +225,9 @@ let TimePicker = TimePicker_1 = class TimePicker extends UI5Element {
251
225
  onInputsPopoverAfterClose() {
252
226
  this._isInputsPopoverOpen = false;
253
227
  }
254
- _handleInputClick(evt) {
255
- const target = evt.target;
256
- if (this._isPickerOpen) {
228
+ _handleInputClick(e) {
229
+ const target = e.target;
230
+ if (this.open) {
257
231
  return;
258
232
  }
259
233
  if (this._isPhone && target && !target.hasAttribute("ui5-icon")) {
@@ -324,13 +298,13 @@ let TimePicker = TimePicker_1 = class TimePicker extends UI5Element {
324
298
  }
325
299
  if (isShow(e)) {
326
300
  e.preventDefault();
327
- this.togglePicker();
301
+ this._togglePicker();
328
302
  }
329
303
  const target = e.target;
330
- if ((this._getInput().isEqualNode(target) && this.isOpen()) && (isTabNext(e) || isTabPrevious(e) || isF6Next(e) || isF6Previous(e))) {
331
- this.closePicker();
304
+ if (target && this.open && this._getInput().id === target.id && (isTabNext(e) || isTabPrevious(e) || isF6Next(e) || isF6Previous(e))) {
305
+ this._togglePicker();
332
306
  }
333
- if (this.isOpen()) {
307
+ if (this.open) {
334
308
  return;
335
309
  }
336
310
  if (isPageUpShiftCtrl(e)) {
@@ -436,19 +410,19 @@ let TimePicker = TimePicker_1 = class TimePicker extends UI5Element {
436
410
  this._getInput().readonly = true;
437
411
  setTimeout(() => { this._getInput().readonly = false; }, 0);
438
412
  }
439
- _onfocusin(evt) {
413
+ _onfocusin(e) {
440
414
  if (this._isPhone) {
441
415
  this._hideMobileKeyboard();
442
416
  if (this._isInputsPopoverOpen) {
443
417
  const popover = this._getInputsPopover();
444
418
  popover.applyFocus();
445
419
  }
446
- evt.preventDefault();
420
+ e.preventDefault();
447
421
  }
448
422
  }
449
- _oninput(evt) {
423
+ _oninput(e) {
450
424
  if (this._isPhone) {
451
- evt.preventDefault();
425
+ e.preventDefault();
452
426
  }
453
427
  }
454
428
  get submitButtonLabel() {
@@ -465,8 +439,11 @@ let TimePicker = TimePicker_1 = class TimePicker extends UI5Element {
465
439
  }
466
440
  };
467
441
  __decorate([
468
- property({ defaultValue: undefined })
442
+ property({ type: String, defaultValue: undefined })
469
443
  ], TimePicker.prototype, "value", void 0);
444
+ __decorate([
445
+ property()
446
+ ], TimePicker.prototype, "name", void 0);
470
447
  __decorate([
471
448
  property({ type: ValueState, defaultValue: ValueState.None })
472
449
  ], TimePicker.prototype, "valueState", void 0);
@@ -483,8 +460,8 @@ __decorate([
483
460
  property()
484
461
  ], TimePicker.prototype, "formatPattern", void 0);
485
462
  __decorate([
486
- property({ type: Boolean, noAttribute: true })
487
- ], TimePicker.prototype, "_isPickerOpen", void 0);
463
+ property({ type: Boolean })
464
+ ], TimePicker.prototype, "open", void 0);
488
465
  __decorate([
489
466
  property({ type: Boolean, noAttribute: true })
490
467
  ], TimePicker.prototype, "_isInputsPopoverOpen", void 0);
@@ -495,12 +472,12 @@ TimePicker = TimePicker_1 = __decorate([
495
472
  customElement({
496
473
  tag: "ui5-time-picker",
497
474
  languageAware: true,
475
+ formAssociated: true,
498
476
  renderer: litRender,
499
477
  template: TimePickerTemplate,
500
478
  styles: [
501
479
  TimePickerCss,
502
480
  ResponsivePopoverCommonCss,
503
- PopoverCss,
504
481
  TimePickerPopoverCss,
505
482
  ],
506
483
  dependencies: [
@@ -560,6 +537,20 @@ TimePicker = TimePicker_1 = __decorate([
560
537
  },
561
538
  },
562
539
  })
540
+ /**
541
+ * Fired after the value-help dialog of the component is opened.
542
+ * @since 2.0.0
543
+ * @public
544
+ */
545
+ ,
546
+ event("open")
547
+ /**
548
+ * Fired after the value-help dialog of the component is closed.
549
+ * @since 2.0.0
550
+ * @public
551
+ */
552
+ ,
553
+ event("close")
563
554
  ], TimePicker);
564
555
  TimePicker.define();
565
556
  export default TimePicker;
@@ -1 +1 @@
1
- {"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../src/TimePicker.ts"],"names":[],"mappings":"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","sourcesContent":["import { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport 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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\"; // default calendar for bundling\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport { fetchCldr } from \"@ui5/webcomponents-base/dist/asset-registries/LocaleData.js\";\nimport {\n\tisShow,\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageDownShift,\n\tisPageUpShiftCtrl,\n\tisPageDownShiftCtrl,\n\tisTabNext,\n\tisTabPrevious,\n\tisF6Next,\n\tisF6Previous,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport \"@ui5/webcomponents-icons/dist/time-entry-request.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport Icon from \"./Icon.js\";\nimport Popover from \"./Popover.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport TimePickerTemplate from \"./generated/templates/TimePickerTemplate.lit.js\";\nimport Input from \"./Input.js\";\nimport Button from \"./Button.js\";\nimport TimeSelectionClocks from \"./TimeSelectionClocks.js\";\nimport TimeSelectionInputs from \"./TimeSelectionInputs.js\";\nimport type { TimeSelectionChangeEventDetail } from \"./TimePickerInternals.js\";\n\nimport {\n\tTIMEPICKER_SUBMIT_BUTTON,\n\tTIMEPICKER_CANCEL_BUTTON,\n\tTIMEPICKER_INPUT_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport TimePickerCss from \"./generated/themes/TimePicker.css.js\";\nimport TimePickerPopoverCss from \"./generated/themes/TimePickerPopover.css.js\";\nimport PopoverCss from \"./generated/themes/Popover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\n\ntype TimePickerChangeInputEventDetail = {\n\tvalue: string,\n\tvalid: boolean,\n}\n\ntype TimePickerChangeEventDetail = TimePickerChangeInputEventDetail;\ntype TimePickerInputEventDetail = TimePickerChangeInputEventDetail;\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-time-picker` component provides an input field with assigned clocks which are opened on user action.\n * The `ui5-time-picker` allows users to select a localized time using touch, mouse, or keyboard input.\n * It consists of two parts: the time input field and the clocks.\n *\n * ### Usage\n * The user can enter a time by:\n *\n * - Using the clocks that are displayed in a popup\n * - Typing it in directly in the input field\n *\n * When the user makes an entry and chooses the enter key, the clocks show the corresponding time (hours, minutes and seconds separately).\n * When the user directly triggers the clocks display, the actual time is displayed.\n * For the `ui5-time-picker`\n *\n * ### Formatting\n *\n * If a time is entered by typing it into\n * the input field, it must fit to the used time format.\n *\n * Supported format options are pattern-based on Unicode LDML Date Format notation.\n * For more information, see [UTS #35: Unicode Locale Data Markup Language](http://unicode.org/reports/tr35/#Date_Field_Symbol_Table).\n *\n * For example, if the `format-pattern` is \"HH:mm:ss\",\n * a valid value string is \"11:42:35\" and the same is displayed in the input.\n *\n * ### Keyboard handling\n * [F4], [Alt]+[Up], [Alt]+[Down] Open/Close picker dialog and move focus to it.\n *\n * When closed:\n *\n * - [Page Up] - Increments hours by 1. If 12 am is reached, increment hours to 1 pm and vice versa.\n * - [Page Down] - Decrements the corresponding field by 1. If 1 pm is reached, decrement hours to 12 am and vice versa.\n * - [Shift]+[Page Up] - Increments minutes by 1.\n * - [Shift]+[Page Down] - Decrements minutes by 1.\n * - [Shift]+[Ctrl]+[Page Up] - Increments seconds by 1.\n * - [Shift]+[Ctrl]+[Page Down] - Decrements seconds by 1.\n * -\n *\n * When opened:\n *\n * - [Page Up] - Increments hours by 1. If 12 am is reached, increment hours to 1 pm and vice versa.\n * - [Page Down] - Decrements the corresponding field by 1. If 1 pm is reached, decrement hours to 12 am and vice versa.\n * - [Shift]+[Page Up] - Increments minutes by 1.\n * - [Shift]+[Page Down] - Decrements minutes by 1.\n * - [Shift]+[Ctrl]+[Page Up] - Increments seconds by 1.\n * - [Shift]+[Ctrl]+[Page Down] - Decrements seconds by 1.\n * - [A] or [P] - Selects AM or PM respectively.\n * - [0]-[9] - Allows direct time selecting (hours/minutes/seconds).\n * - [:] - Allows switching between hours/minutes/seconds clocks. If the last clock is displayed and [:] is pressed, the first clock is beind displayed.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TimePicker.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.6\n */\n@customElement({\n\ttag: \"ui5-time-picker\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: TimePickerTemplate,\n\tstyles: [\n\t\tTimePickerCss,\n\t\tResponsivePopoverCommonCss,\n\t\tPopoverCss,\n\t\tTimePickerPopoverCss,\n\t],\n\tdependencies: [\n\t\tIcon,\n\t\tPopover,\n\t\tResponsivePopover,\n\t\tTimeSelectionClocks,\n\t\tTimeSelectionInputs,\n\t\tInput,\n\t\tButton,\n\t],\n})\n/**\n * Fired when the input operation has finished by clicking the \"OK\" button or\n * when the text in the input field has changed and the focus leaves the input field.\n * @public\n * @param {string} value The submitted value.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event<TimePickerChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalid: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\n\n/**\n * Fired when the value of the `ui5-time-picker` is changed at each key stroke.\n * @public\n * @param {string} value The current value.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event<TimePickerInputEventDetail>(\"input\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalid: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\nclass TimePicker extends UI5Element {\n\t/**\n\t * Defines a formatted time value.\n\t * @default undefined\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property({ defaultValue: undefined })\n\tvalue?: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t/**\n\t * Defines the disabled state of the comonent.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the readonly state of the comonent.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Defines a short hint, intended to aid the user with data entry when the\n\t * component has no value.\n\t *\n\t * **Note:** When no placeholder is set, the format pattern is displayed as a placeholder.\n\t * Passing an empty string as the value of this property will make the component appear empty - without placeholder or format pattern.\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ defaultValue: undefined })\n\tplaceholder?: 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\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tformatPattern!: string;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_isPickerOpen!: boolean;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_isInputsPopoverOpen!: boolean;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the `ui5-time-picker`.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the `ui5-time-picker` is in `Information`, `Warning` or `Error` value state.\n\t * @since 1.0.0-rc.8\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\ttempValue?: string;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic async onDefine() {\n\t\t[TimePicker.i18nBundle] = await Promise.all([\n\t\t\tgetI18nBundle(\"@ui5/webcomponents\"),\n\t\t\tfetchCldr(getLocale().getLanguage(), getLocale().getRegion(), getLocale().getScript()),\n\t\t]);\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this.value) {\n\t\t\tthis.value = this.normalizeValue(this.value) || this.value;\n\t\t}\n\t}\n\n\tget dateAriaDescription() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_INPUT_DESCRIPTION);\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\t\"ariaRoledescription\": this.dateAriaDescription,\n\t\t\t\"ariaHasPopup\": \"dialog\",\n\t\t};\n\t}\n\n\t/**\n\t * Currently selected time represented as JavaScript Date instance\n\t * @public\n\t * @default null\n\t */\n\tget dateValue(): Date | Date[] | null {\n\t\treturn this.getFormat().parse(this._effectiveValue as string);\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\treturn this.placeholder !== undefined ? this.placeholder : this._displayFormat;\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget _formatPattern() {\n\t\tconst hasHours = !!this.formatPattern.match(/H/i);\n\t\tconst fallback = !this.formatPattern || !hasHours;\n\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\treturn fallback ? localeData.getTimePattern(\"medium\") : this.formatPattern;\n\t}\n\n\tget _displayFormat() {\n\t\t// @ts-ignore oFormatOptions is a private API of DateFormat\n\t\treturn this.getFormat().oFormatOptions.pattern as string;\n\t}\n\n\tget _effectiveValue() {\n\t\treturn this.value;\n\t}\n\n\tget _timeSelectionValue() {\n\t\treturn this.tempValue;\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tonTimeSelectionChange(e: CustomEvent<TimeSelectionChangeEventDetail>) {\n\t\tthis.tempValue = e.detail.value; // every time the user changes the time selection -> update tempValue\n\t}\n\n\t/**\n\t * Opens the picker.\n\t * @public\n\t * @returns Resolves when the picker is open\n\t */\n\topenPicker(): void {\n\t\tthis.tempValue = this.value && this.isValid(this.value) ? this.value : this.getFormat().format(UI5Date.getInstance());\n\t\tconst responsivePopover = this._getPopover();\n\t\tresponsivePopover.showAt(this);\n\t}\n\n\t/**\n\t * Closes the picker\n\t * @public\n\t * @returns Resolves when the picker is closed\n\t */\n\tclosePicker(): void {\n\t\tconst responsivePopover = this._getPopover();\n\t\tresponsivePopover.close();\n\t\tthis._isPickerOpen = false;\n\t}\n\n\ttogglePicker() {\n\t\tif (this.isOpen()) {\n\t\t\tthis.closePicker();\n\t\t} else if (this._canOpenPicker()) {\n\t\t\tthis.openPicker();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the picker is open\n\t * @public\n\t */\n\tisOpen(): boolean {\n\t\treturn !!this._isPickerOpen;\n\t}\n\n\tsubmitPickers() {\n\t\tthis._updateValueAndFireEvents(this.tempValue!, true, [\"change\", \"value-changed\"]);\n\t\tthis.closePicker();\n\t}\n\n\tonResponsivePopoverAfterClose() {\n\t\tthis._isPickerOpen = false;\n\t}\n\n\tonResponsivePopoverAfterOpen() {\n\t\tthis._isPickerOpen = true;\n\t\tconst responsivePopover = this._getPopover();\n\t\tresponsivePopover.querySelector<TimeSelectionClocks>(\"[ui5-time-selection-clocks]\")!._focusFirstButton();\n\t}\n\n\t/**\n\t * Opens the Inputs popover.\n\t * @private\n\t * @returns Resolves when the Inputs popover is open\n\t */\n\topenInputsPopover() {\n\t\tthis.tempValue = this.value && this.isValid(this.value) ? this.value : this.getFormat().format(UI5Date.getInstance());\n\t\tconst popover = this._getInputsPopover();\n\t\tpopover.showAt(this);\n\t\tthis._isInputsPopoverOpen = true;\n\t}\n\n\t/**\n\t * Closes the Inputs popover\n\t * @private\n\t * @returns Resolves when the Inputs popover is closed\n\t */\n\tcloseInputsPopover() {\n\t\tconst popover = this._getInputsPopover();\n\t\tpopover.close();\n\t}\n\n\ttoggleInputsPopover() {\n\t\tif (this.isInputsPopoverOpen()) {\n\t\t\tthis.closeInputsPopover();\n\t\t} else if (this._canOpenInputsPopover()) {\n\t\t\tthis.openInputsPopover();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the inputs popover is open\n\t * @private\n\t */\n\tisInputsPopoverOpen(): boolean {\n\t\treturn !!this._isInputsPopoverOpen;\n\t}\n\n\tsubmitInputsPopover() {\n\t\tthis._updateValueAndFireEvents(this.tempValue!, true, [\"change\", \"value-changed\"]);\n\t\tthis.closeInputsPopover();\n\t}\n\n\tonInputsPopoverAfterOpen() {\n\t\tconst popover = this._getInputsPopover();\n\t\tpopover.querySelector<TimeSelectionInputs>(\"[ui5-time-selection-inputs]\")!._addNumericAttributes();\n\t}\n\n\tonInputsPopoverAfterClose() {\n\t\tthis._isInputsPopoverOpen = false;\n\t}\n\n\t_handleInputClick(evt: MouseEvent) {\n\t\tconst target = evt.target as HTMLElement;\n\t\tif (this._isPickerOpen) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isPhone && target && !target.hasAttribute(\"ui5-icon\")) {\n\t\t\tthis.toggleInputsPopover();\n\t\t}\n\n\t\tconst inputField = this._getInputField();\n\n\t\tif (inputField) {\n\t\t\t(inputField as HTMLInputElement).select();\n\t\t}\n\t}\n\n\t_updateValueAndFireEvents(value: string, normalizeValue: boolean, eventsNames: Array<string>) {\n\t\tif (value === this.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst valid = this.isValid(value);\n\n\t\tif (value !== undefined && valid && normalizeValue) { // if value === undefined, valid is guaranteed to be falsy\n\t\t\tvalue = this.normalizeValue(value); // transform valid values (in any format) to the correct format\n\t\t}\n\t\tif (!eventsNames.includes(\"input\")) {\n\t\t\tthis.value = \"\"; // Do not remove! DurationPicker (an external component extending TimePicker) use case -> value is 05:10, user tries 05:12, after normalization value is changed back to 05:10 so no invalidation happens, but the input still shows 05:12. Thus we enforce invalidation with the \"\"\n\t\t\tthis.value = value;\n\t\t}\n\t\tthis.tempValue = value; // if the picker is open, sync it\n\t\tthis._updateValueState(); // Change the value state to Error/None, but only if needed\n\t\teventsNames.forEach(eventName => {\n\t\t\tthis.fireEvent<TimePickerChangeInputEventDetail>(eventName, { value, valid });\n\t\t});\n\t}\n\n\t_updateValueState() {\n\t\tconst isValid = this.isValid(this.value);\n\t\tif (!isValid) { // If not valid - always set Error regardless of the current value state\n\t\t\tthis.valueState = ValueState.Negative;\n\t\t} else if (isValid && this.valueState === ValueState.Negative) { // However if valid, change only Error (but not the others) to None\n\t\t\tthis.valueState = ValueState.None;\n\t\t}\n\t}\n\n\t_handleInputChange(e: CustomEvent) {\n\t\tconst target = e.target as Input;\n\t\tthis._updateValueAndFireEvents(target.value, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t_handleInputLiveChange(e: CustomEvent) {\n\t\tconst target = e.target as Input;\n\t\tthis._updateValueAndFireEvents(target.value, false, [\"input\"]);\n\t}\n\n\t_canOpenPicker() {\n\t\treturn !this.disabled && !this.readonly;\n\t}\n\n\t_canOpenInputsPopover() {\n\t\treturn !this.disabled && this._isPhone;\n\t}\n\n\t_getPopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\t_getInputsPopover() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\")!;\n\t}\n\n\t_getInput(): Input {\n\t\treturn this.shadowRoot!.querySelector<Input>(\"[ui5-input]\")!;\n\t}\n\n\t_getInputField() {\n\t\tconst input = this._getInput();\n\t\treturn input && input.getInputDOMRef();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (this._isPhone && !this.isInputsPopoverOpen()) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (isShow(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.togglePicker();\n\t\t}\n\n\t\tconst target = e.target as Node;\n\n\t\tif ((this._getInput().isEqualNode(target) && this.isOpen()) && (isTabNext(e) || isTabPrevious(e) || isF6Next(e) || isF6Previous(e))) {\n\t\t\tthis.closePicker();\n\t\t}\n\t\tif (this.isOpen()) {\n\t\t\treturn;\n\t\t}\n\t\tif (isPageUpShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"second\");\n\t\t} else if (isPageUpShift(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"minute\");\n\t\t} else if (isPageUp(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"hour\");\n\t\t} else if (isPageDownShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"second\");\n\t\t} else if (isPageDownShift(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"minute\");\n\t\t} else if (isPageDown(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"hour\");\n\t\t}\n\t}\n\n\tget _isPattern() {\n\t\treturn this._formatPattern !== \"medium\" && this._formatPattern !== \"short\" && this._formatPattern !== \"long\";\n\t}\n\n\tgetFormat() {\n\t\tlet dateFormat;\n\n\t\tif (this._isPattern) {\n\t\t\tdateFormat = DateFormat.getDateInstance({\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\tstyle: this._formatPattern,\n\t\t\t});\n\t\t}\n\n\t\treturn dateFormat;\n\t}\n\n\t/**\n\t * Formats a Java Script date object into a string representing a locale date and time\n\t * according to the `formatPattern` property of the TimePicker instance\n\t * @param date A Java Script date object to be formatted as string\n\t * @public\n\t * @returns formatted value\n\t */\n\tformatValue(date: Date): string {\n\t\treturn this.getFormat().format(date);\n\t}\n\n\t/**\n\t * Checks if a value is valid against the current `formatPattern` value.\n\t *\n\t * **Note:** an empty string is considered as valid value.\n\t * @param value The value to be tested against the current date format\n\t * @public\n\t */\n\tisValid(value: string | undefined): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\t\treturn !!this.getFormat().parse(value as string);\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));\n\t}\n\n\t_modifyValueBy(amount: number, unit: string) {\n\t\tconst date = this.getFormat().parse(this._effectiveValue as string) as Date;\n\t\tif (!date) {\n\t\t\treturn;\n\t\t}\n\t\tif (unit === \"hour\") {\n\t\t\tdate.setHours(date.getHours() + amount);\n\t\t} else if (unit === \"minute\") {\n\t\t\tdate.setMinutes(date.getMinutes() + amount);\n\t\t} else if (unit === \"second\") {\n\t\t\tdate.setSeconds(date.getSeconds() + amount);\n\t\t}\n\n\t\tconst newValue = this.formatValue(date);\n\n\t\tthis._updateValueAndFireEvents(newValue, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t/**\n\t * The listener for this event can't be passive as it calls preventDefault()\n\t * @param e Wheel Event\n\t * @private\n\t */\n\t_handleWheel(e: WheelEvent) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Hides mobile device keyboard by temporary setting the input to readonly state.\n\t */\n\t_hideMobileKeyboard() {\n\t\tthis._getInput().readonly = true;\n\t\tsetTimeout(() => { this._getInput().readonly = false; }, 0);\n\t}\n\n\t_onfocusin(evt: FocusEvent) {\n\t\tif (this._isPhone) {\n\t\t\tthis._hideMobileKeyboard();\n\t\t\tif (this._isInputsPopoverOpen) {\n\t\t\t\tconst popover = this._getInputsPopover();\n\t\t\t\tpopover.applyFocus();\n\t\t\t}\n\t\t\tevt.preventDefault();\n\t\t}\n\t}\n\n\t_oninput(evt: CustomEvent) {\n\t\tif (this._isPhone) {\n\t\t\tevt.preventDefault();\n\t\t}\n\t}\n\n\tget submitButtonLabel() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_SUBMIT_BUTTON);\n\t}\n\n\tget cancelButtonLabel() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_CANCEL_BUTTON);\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget openIconName() {\n\t\treturn \"time-entry-request\";\n\t}\n}\n\nTimePicker.define();\n\nexport default TimePicker;\nexport type {\n\tTimeSelectionChangeEventDetail,\n\tTimePickerChangeEventDetail,\n\tTimePickerInputEventDetail,\n};\n"]}
1
+ {"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../src/TimePicker.ts"],"names":[],"mappings":"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","sourcesContent":["import { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport 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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\"; // default calendar for bundling\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport { fetchCldr } from \"@ui5/webcomponents-base/dist/asset-registries/LocaleData.js\";\nimport {\n\tisShow,\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageDownShift,\n\tisPageUpShiftCtrl,\n\tisPageDownShiftCtrl,\n\tisTabNext,\n\tisTabPrevious,\n\tisF6Next,\n\tisF6Previous,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport \"@ui5/webcomponents-icons/dist/time-entry-request.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport Icon from \"./Icon.js\";\nimport Popover from \"./Popover.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport TimePickerTemplate from \"./generated/templates/TimePickerTemplate.lit.js\";\nimport Input from \"./Input.js\";\nimport Button from \"./Button.js\";\nimport TimeSelectionClocks from \"./TimeSelectionClocks.js\";\nimport TimeSelectionInputs from \"./TimeSelectionInputs.js\";\nimport type { TimeSelectionChangeEventDetail } from \"./TimePickerInternals.js\";\n\nimport {\n\tTIMEPICKER_SUBMIT_BUTTON,\n\tTIMEPICKER_CANCEL_BUTTON,\n\tTIMEPICKER_INPUT_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport TimePickerCss from \"./generated/themes/TimePicker.css.js\";\nimport TimePickerPopoverCss from \"./generated/themes/TimePickerPopover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\n\ntype TimePickerChangeInputEventDetail = {\n\tvalue: string,\n\tvalid: boolean,\n}\n\ntype TimePickerChangeEventDetail = TimePickerChangeInputEventDetail;\ntype TimePickerInputEventDetail = TimePickerChangeInputEventDetail;\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-time-picker` component provides an input field with assigned clocks which are opened on user action.\n * The `ui5-time-picker` allows users to select a localized time using touch, mouse, or keyboard input.\n * It consists of two parts: the time input field and the clocks.\n *\n * ### Usage\n * The user can enter a time by:\n *\n * - Using the clocks that are displayed in a popup\n * - Typing it in directly in the input field\n *\n * When the user makes an entry and chooses the enter key, the clocks show the corresponding time (hours, minutes and seconds separately).\n * When the user directly triggers the clocks display, the actual time is displayed.\n * For the `ui5-time-picker`\n *\n * ### Formatting\n *\n * If a time is entered by typing it into\n * the input field, it must fit to the used time format.\n *\n * Supported format options are pattern-based on Unicode LDML Date Format notation.\n * For more information, see [UTS #35: Unicode Locale Data Markup Language](http://unicode.org/reports/tr35/#Date_Field_Symbol_Table).\n *\n * For example, if the `format-pattern` is \"HH:mm:ss\",\n * a valid value string is \"11:42:35\" and the same is displayed in the input.\n *\n * ### Keyboard handling\n * [F4], [Alt]+[Up], [Alt]+[Down] Open/Close picker dialog and move focus to it.\n *\n * When closed:\n *\n * - [Page Up] - Increments hours by 1. If 12 am is reached, increment hours to 1 pm and vice versa.\n * - [Page Down] - Decrements the corresponding field by 1. If 1 pm is reached, decrement hours to 12 am and vice versa.\n * - [Shift]+[Page Up] - Increments minutes by 1.\n * - [Shift]+[Page Down] - Decrements minutes by 1.\n * - [Shift]+[Ctrl]+[Page Up] - Increments seconds by 1.\n * - [Shift]+[Ctrl]+[Page Down] - Decrements seconds by 1.\n * -\n *\n * When opened:\n *\n * - [Page Up] - Increments hours by 1. If 12 am is reached, increment hours to 1 pm and vice versa.\n * - [Page Down] - Decrements the corresponding field by 1. If 1 pm is reached, decrement hours to 12 am and vice versa.\n * - [Shift]+[Page Up] - Increments minutes by 1.\n * - [Shift]+[Page Down] - Decrements minutes by 1.\n * - [Shift]+[Ctrl]+[Page Up] - Increments seconds by 1.\n * - [Shift]+[Ctrl]+[Page Down] - Decrements seconds by 1.\n * - [A] or [P] - Selects AM or PM respectively.\n * - [0]-[9] - Allows direct time selecting (hours/minutes/seconds).\n * - [:] - Allows switching between hours/minutes/seconds clocks. If the last clock is displayed and [:] is pressed, the first clock is beind displayed.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TimePicker.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.6\n */\n@customElement({\n\ttag: \"ui5-time-picker\",\n\tlanguageAware: true,\n\tformAssociated: true,\n\trenderer: litRender,\n\ttemplate: TimePickerTemplate,\n\tstyles: [\n\t\tTimePickerCss,\n\t\tResponsivePopoverCommonCss,\n\t\tTimePickerPopoverCss,\n\t],\n\tdependencies: [\n\t\tIcon,\n\t\tPopover,\n\t\tResponsivePopover,\n\t\tTimeSelectionClocks,\n\t\tTimeSelectionInputs,\n\t\tInput,\n\t\tButton,\n\t],\n})\n/**\n * Fired when the input operation has finished by clicking the \"OK\" button or\n * when the text in the input field has changed and the focus leaves the input field.\n * @public\n * @param {string} value The submitted value.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event<TimePickerChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalid: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\n\n/**\n * Fired when the value of the `ui5-time-picker` is changed at each key stroke.\n * @public\n * @param {string} value The current value.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event<TimePickerInputEventDetail>(\"input\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalid: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\n/**\n * Fired after the value-help dialog of the component is opened.\n * @since 2.0.0\n * @public\n */\n@event(\"open\")\n/**\n * Fired after the value-help dialog of the component is closed.\n * @since 2.0.0\n * @public\n */\n@event(\"close\")\nclass TimePicker extends UI5Element implements IFormInputElement {\n\t/**\n\t * Defines a formatted time value.\n\t * @default undefined\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property({ type: String, defaultValue: undefined })\n\tvalue?: string;\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default \"\"\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t/**\n\t * Defines the disabled state of the comonent.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the readonly state of the comonent.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Defines a short hint, intended to aid the user with data entry when the\n\t * component has no value.\n\t *\n\t * **Note:** When no placeholder is set, the format pattern is displayed as a placeholder.\n\t * Passing an empty string as the value of this property will make the component appear empty - without placeholder or format pattern.\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ defaultValue: undefined })\n\tplaceholder?: 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\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tformatPattern!: string;\n\n\t/**\n\t * Defines the open or closed state of the popover.\n\t * @public\n\t * @default false\n\t * @since 2.0\n\t */\n\t@property({ type: Boolean })\n\topen!: boolean;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_isInputsPopoverOpen!: boolean;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the `ui5-time-picker`.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the `ui5-time-picker` is in `Information`, `Warning` or `Error` value state.\n\t * @since 1.0.0-rc.8\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\ttempValue?: string;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic async onDefine() {\n\t\t[TimePicker.i18nBundle] = await Promise.all([\n\t\t\tgetI18nBundle(\"@ui5/webcomponents\"),\n\t\t\tfetchCldr(getLocale().getLanguage(), getLocale().getRegion(), getLocale().getScript()),\n\t\t]);\n\t}\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\treturn this.value || \"\";\n\t}\n\n\tonBeforeRendering() {\n\t\tif (this.value) {\n\t\t\tthis.value = this.normalizeValue(this.value) || this.value;\n\t\t}\n\n\t\tthis.tempValue = this.value && this.isValid(this.value) ? this.value : this.getFormat().format(UI5Date.getInstance());\n\t}\n\n\tget dateAriaDescription() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_INPUT_DESCRIPTION);\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\t\"ariaRoledescription\": this.dateAriaDescription,\n\t\t\t\"ariaHasPopup\": \"dialog\",\n\t\t};\n\t}\n\n\t/**\n\t * Currently selected time represented as JavaScript Date instance\n\t * @public\n\t * @default null\n\t */\n\tget dateValue(): Date | Date[] | null {\n\t\treturn this.getFormat().parse(this._effectiveValue as string);\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\treturn this.placeholder !== undefined ? this.placeholder : this._displayFormat;\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget _formatPattern() {\n\t\tconst hasHours = !!this.formatPattern.match(/H/i);\n\t\tconst fallback = !this.formatPattern || !hasHours;\n\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\treturn fallback ? localeData.getTimePattern(\"medium\") : this.formatPattern;\n\t}\n\n\tget _displayFormat() {\n\t\t// @ts-ignore oFormatOptions is a private API of DateFormat\n\t\treturn this.getFormat().oFormatOptions.pattern as string;\n\t}\n\n\tget _effectiveValue() {\n\t\treturn this.value;\n\t}\n\n\tget _timeSelectionValue() {\n\t\treturn this.tempValue;\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tonTimeSelectionChange(e: CustomEvent<TimeSelectionChangeEventDetail>) {\n\t\tthis.tempValue = e.detail.value; // every time the user changes the time selection -> update tempValue\n\t}\n\n\t_togglePicker() {\n\t\tthis.open = !this.open;\n\t}\n\n\tsubmitPickers() {\n\t\tthis._updateValueAndFireEvents(this.tempValue!, true, [\"change\", \"value-changed\"]);\n\t\tthis._togglePicker();\n\t}\n\n\tonResponsivePopoverAfterClose() {\n\t\tthis.open = false;\n\t\tthis.fireEvent(\"close\");\n\t}\n\n\tonResponsivePopoverAfterOpen() {\n\t\tthis.fireEvent(\"open\");\n\t}\n\n\t/**\n\t * Opens the Inputs popover.\n\t * @private\n\t * @returns Resolves when the Inputs popover is open\n\t */\n\topenInputsPopover() {\n\t\tthis.tempValue = this.value && this.isValid(this.value) ? this.value : this.getFormat().format(UI5Date.getInstance());\n\t\tconst popover = this._getInputsPopover();\n\t\tpopover.opener = this;\n\t\tpopover.open = true;\n\t\tthis._isInputsPopoverOpen = true;\n\t}\n\n\t/**\n\t * Closes the Inputs popover\n\t * @private\n\t * @returns Resolves when the Inputs popover is closed\n\t */\n\tcloseInputsPopover() {\n\t\tconst popover = this._getInputsPopover();\n\t\tpopover.open = false;\n\t}\n\n\ttoggleInputsPopover() {\n\t\tif (this.isInputsPopoverOpen()) {\n\t\t\tthis.closeInputsPopover();\n\t\t} else if (this._canOpenInputsPopover()) {\n\t\t\tthis.openInputsPopover();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the inputs popover is open\n\t * @private\n\t */\n\tisInputsPopoverOpen(): boolean {\n\t\treturn !!this._isInputsPopoverOpen;\n\t}\n\n\tsubmitInputsPopover() {\n\t\tthis._updateValueAndFireEvents(this.tempValue!, true, [\"change\", \"value-changed\"]);\n\t\tthis.closeInputsPopover();\n\t}\n\n\tonInputsPopoverAfterOpen() {\n\t\tconst popover = this._getInputsPopover();\n\t\tpopover.querySelector<TimeSelectionInputs>(\"[ui5-time-selection-inputs]\")!._addNumericAttributes();\n\t}\n\n\tonInputsPopoverAfterClose() {\n\t\tthis._isInputsPopoverOpen = false;\n\t}\n\n\t_handleInputClick(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (this.open) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isPhone && target && !target.hasAttribute(\"ui5-icon\")) {\n\t\t\tthis.toggleInputsPopover();\n\t\t}\n\n\t\tconst inputField = this._getInputField();\n\n\t\tif (inputField) {\n\t\t\t(inputField as HTMLInputElement).select();\n\t\t}\n\t}\n\n\t_updateValueAndFireEvents(value: string, normalizeValue: boolean, eventsNames: Array<string>) {\n\t\tif (value === this.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst valid = this.isValid(value);\n\n\t\tif (value !== undefined && valid && normalizeValue) { // if value === undefined, valid is guaranteed to be falsy\n\t\t\tvalue = this.normalizeValue(value); // transform valid values (in any format) to the correct format\n\t\t}\n\t\tif (!eventsNames.includes(\"input\")) {\n\t\t\tthis.value = \"\"; // Do not remove! DurationPicker (an external component extending TimePicker) use case -> value is 05:10, user tries 05:12, after normalization value is changed back to 05:10 so no invalidation happens, but the input still shows 05:12. Thus we enforce invalidation with the \"\"\n\t\t\tthis.value = value;\n\t\t}\n\t\tthis.tempValue = value; // if the picker is open, sync it\n\t\tthis._updateValueState(); // Change the value state to Error/None, but only if needed\n\t\teventsNames.forEach(eventName => {\n\t\t\tthis.fireEvent<TimePickerChangeInputEventDetail>(eventName, { value, valid });\n\t\t});\n\t}\n\n\t_updateValueState() {\n\t\tconst isValid = this.isValid(this.value);\n\t\tif (!isValid) { // If not valid - always set Error regardless of the current value state\n\t\t\tthis.valueState = ValueState.Negative;\n\t\t} else if (isValid && this.valueState === ValueState.Negative) { // However if valid, change only Error (but not the others) to None\n\t\t\tthis.valueState = ValueState.None;\n\t\t}\n\t}\n\n\t_handleInputChange(e: CustomEvent) {\n\t\tconst target = e.target as Input;\n\t\tthis._updateValueAndFireEvents(target.value, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t_handleInputLiveChange(e: CustomEvent) {\n\t\tconst target = e.target as Input;\n\t\tthis._updateValueAndFireEvents(target.value, false, [\"input\"]);\n\t}\n\n\t_canOpenPicker() {\n\t\treturn !this.disabled && !this.readonly;\n\t}\n\n\t_canOpenInputsPopover() {\n\t\treturn !this.disabled && this._isPhone;\n\t}\n\n\t_getPopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\t_getInputsPopover() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\")!;\n\t}\n\n\t_getInput(): Input {\n\t\treturn this.shadowRoot!.querySelector<Input>(\"[ui5-input]\")!;\n\t}\n\n\t_getInputField() {\n\t\tconst input = this._getInput();\n\t\treturn input && input.getInputDOMRef();\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (this._isPhone && !this.isInputsPopoverOpen()) {\n\t\t\te.preventDefault();\n\t\t}\n\t\tif (isShow(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._togglePicker();\n\t\t}\n\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (target && this.open && this._getInput().id === target.id && (isTabNext(e) || isTabPrevious(e) || isF6Next(e) || isF6Previous(e))) {\n\t\t\tthis._togglePicker();\n\t\t}\n\t\tif (this.open) {\n\t\t\treturn;\n\t\t}\n\t\tif (isPageUpShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"second\");\n\t\t} else if (isPageUpShift(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"minute\");\n\t\t} else if (isPageUp(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(1, \"hour\");\n\t\t} else if (isPageDownShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"second\");\n\t\t} else if (isPageDownShift(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"minute\");\n\t\t} else if (isPageDown(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyValueBy(-1, \"hour\");\n\t\t}\n\t}\n\n\tget _isPattern() {\n\t\treturn this._formatPattern !== \"medium\" && this._formatPattern !== \"short\" && this._formatPattern !== \"long\";\n\t}\n\n\tgetFormat() {\n\t\tlet dateFormat;\n\n\t\tif (this._isPattern) {\n\t\t\tdateFormat = DateFormat.getDateInstance({\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\tstyle: this._formatPattern,\n\t\t\t});\n\t\t}\n\n\t\treturn dateFormat;\n\t}\n\n\t/**\n\t * Formats a Java Script date object into a string representing a locale date and time\n\t * according to the `formatPattern` property of the TimePicker instance\n\t * @param date A Java Script date object to be formatted as string\n\t * @public\n\t * @returns formatted value\n\t */\n\tformatValue(date: Date): string {\n\t\treturn this.getFormat().format(date);\n\t}\n\n\t/**\n\t * Checks if a value is valid against the current `formatPattern` value.\n\t *\n\t * **Note:** an empty string is considered as valid value.\n\t * @param value The value to be tested against the current date format\n\t * @public\n\t */\n\tisValid(value: string | undefined): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\t\treturn !!this.getFormat().parse(value as string);\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));\n\t}\n\n\t_modifyValueBy(amount: number, unit: string) {\n\t\tconst date = this.getFormat().parse(this._effectiveValue as string) as Date;\n\t\tif (!date) {\n\t\t\treturn;\n\t\t}\n\t\tif (unit === \"hour\") {\n\t\t\tdate.setHours(date.getHours() + amount);\n\t\t} else if (unit === \"minute\") {\n\t\t\tdate.setMinutes(date.getMinutes() + amount);\n\t\t} else if (unit === \"second\") {\n\t\t\tdate.setSeconds(date.getSeconds() + amount);\n\t\t}\n\n\t\tconst newValue = this.formatValue(date);\n\n\t\tthis._updateValueAndFireEvents(newValue, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t/**\n\t * The listener for this event can't be passive as it calls preventDefault()\n\t * @param e Wheel Event\n\t * @private\n\t */\n\t_handleWheel(e: WheelEvent) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Hides mobile device keyboard by temporary setting the input to readonly state.\n\t */\n\t_hideMobileKeyboard() {\n\t\tthis._getInput().readonly = true;\n\t\tsetTimeout(() => { this._getInput().readonly = false; }, 0);\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tif (this._isPhone) {\n\t\t\tthis._hideMobileKeyboard();\n\t\t\tif (this._isInputsPopoverOpen) {\n\t\t\t\tconst popover = this._getInputsPopover();\n\t\t\t\tpopover.applyFocus();\n\t\t\t}\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_oninput(e: CustomEvent) {\n\t\tif (this._isPhone) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\tget submitButtonLabel() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_SUBMIT_BUTTON);\n\t}\n\n\tget cancelButtonLabel() {\n\t\treturn TimePicker.i18nBundle.getText(TIMEPICKER_CANCEL_BUTTON);\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget openIconName() {\n\t\treturn \"time-entry-request\";\n\t}\n}\n\nTimePicker.define();\n\nexport default TimePicker;\nexport type {\n\tTimeSelectionChangeEventDetail,\n\tTimePickerChangeEventDetail,\n\tTimePickerInputEventDetail,\n};\n"]}
@@ -13,6 +13,7 @@ import TimePickerInternals from "./TimePickerInternals.js";
13
13
  import TimePickerClock from "./TimePickerClock.js";
14
14
  import ToggleSpinButton from "./ToggleSpinButton.js";
15
15
  import SegmentedButton from "./SegmentedButton.js";
16
+ import SegmentedButtonItem from "./SegmentedButtonItem.js";
16
17
  // Template
17
18
  import TimeSelectionClocksTemplate from "./generated/templates/TimeSelectionClocksTemplate.lit.js";
18
19
  // Styles
@@ -427,6 +428,7 @@ TimeSelectionClocks = __decorate([
427
428
  TimePickerClock,
428
429
  ToggleSpinButton,
429
430
  SegmentedButton,
431
+ SegmentedButtonItem,
430
432
  ],
431
433
  })
432
434
  ], TimeSelectionClocks);
@@ -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 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],\n})\n\nclass TimeSelectionClocks extends TimePickerInternals {\n\t/**\n\t * Flag for pressed Space key\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_spacePressed!: boolean;\n\n\t/**\n\t * Flag for focused state of Clocks component\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_focused!: boolean;\n\n\t/**\n\t * Flag for focused state of AM/PM segmented button\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_amPmFocused!: boolean;\n\n\tonBeforeRendering() {\n\t\tthis._createComponents();\n\t}\n\n\t/**\n\t * Returns ToggleSpinButton component by index or name.\n\t * @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\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!: boolean;\n\n\t/**\n\t * Flag for focused state of Clocks component\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_focused!: boolean;\n\n\t/**\n\t * Flag for focused state of AM/PM segmented button\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_amPmFocused!: boolean;\n\n\tonBeforeRendering() {\n\t\tthis._createComponents();\n\t}\n\n\t/**\n\t * Returns ToggleSpinButton component by index or name.\n\t * @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"]}
@@ -12,6 +12,7 @@ import { isEnter, isNumber, } from "@ui5/webcomponents-base/dist/Keys.js";
12
12
  import TimePickerInternals from "./TimePickerInternals.js";
13
13
  import Input from "./Input.js";
14
14
  import SegmentedButton from "./SegmentedButton.js";
15
+ import SegmentedButtonItem from "./SegmentedButtonItem.js";
15
16
  import InputType from "./types/InputType.js";
16
17
  import { TIMEPICKER_INPUTS_ENTER_HOURS, TIMEPICKER_INPUTS_ENTER_MINUTES, TIMEPICKER_INPUTS_ENTER_SECONDS, } from "./generated/i18n/i18n-defaults.js";
17
18
  // Template
@@ -301,6 +302,7 @@ TimeSelectionInputs = __decorate([
301
302
  dependencies: [
302
303
  Input,
303
304
  SegmentedButton,
305
+ SegmentedButtonItem,
304
306
  ],
305
307
  })
306
308
  ], TimeSelectionInputs);