@ui5/webcomponents 2.16.0-rc.0 → 2.16.0-rc.2

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 (758) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Button.js +8 -4
  4. package/dist/Button.js.map +1 -1
  5. package/dist/Calendar.d.ts +9 -9
  6. package/dist/Calendar.js +46 -38
  7. package/dist/Calendar.js.map +1 -1
  8. package/dist/CalendarHeaderTemplate.js +3 -3
  9. package/dist/CalendarHeaderTemplate.js.map +1 -1
  10. package/dist/Carousel.d.ts +33 -13
  11. package/dist/Carousel.js +239 -70
  12. package/dist/Carousel.js.map +1 -1
  13. package/dist/CarouselTemplate.js +10 -10
  14. package/dist/CarouselTemplate.js.map +1 -1
  15. package/dist/ComboBox.js +1 -1
  16. package/dist/ComboBox.js.map +1 -1
  17. package/dist/DateComponentBase.js +1 -1
  18. package/dist/DateComponentBase.js.map +1 -1
  19. package/dist/DatePicker.d.ts +2 -0
  20. package/dist/DatePicker.js +45 -5
  21. package/dist/DatePicker.js.map +1 -1
  22. package/dist/DateRangePicker.d.ts +4 -0
  23. package/dist/DateRangePicker.js +40 -10
  24. package/dist/DateRangePicker.js.map +1 -1
  25. package/dist/DateTimeInput.d.ts +6 -0
  26. package/dist/DateTimeInput.js +30 -0
  27. package/dist/DateTimeInput.js.map +1 -1
  28. package/dist/DateTimePicker.d.ts +11 -0
  29. package/dist/DateTimePicker.js +58 -5
  30. package/dist/DateTimePicker.js.map +1 -1
  31. package/dist/DayPickerTemplate.js +1 -1
  32. package/dist/DayPickerTemplate.js.map +1 -1
  33. package/dist/DynamicDateRange.d.ts +9 -2
  34. package/dist/DynamicDateRange.js +35 -2
  35. package/dist/DynamicDateRange.js.map +1 -1
  36. package/dist/FileUploader.d.ts +2 -0
  37. package/dist/FileUploader.js +13 -1
  38. package/dist/FileUploader.js.map +1 -1
  39. package/dist/Form.d.ts +1 -0
  40. package/dist/Form.js +3 -2
  41. package/dist/Form.js.map +1 -1
  42. package/dist/FormGroup.d.ts +11 -0
  43. package/dist/FormGroup.js +23 -2
  44. package/dist/FormGroup.js.map +1 -1
  45. package/dist/FormTemplate.js +1 -1
  46. package/dist/FormTemplate.js.map +1 -1
  47. package/dist/Input.d.ts +2 -0
  48. package/dist/Input.js +9 -0
  49. package/dist/Input.js.map +1 -1
  50. package/dist/List.d.ts +6 -1
  51. package/dist/List.js +7 -1
  52. package/dist/List.js.map +1 -1
  53. package/dist/ListTemplate.js +6 -5
  54. package/dist/ListTemplate.js.map +1 -1
  55. package/dist/Menu.d.ts +1 -1
  56. package/dist/Menu.js +1 -1
  57. package/dist/Menu.js.map +1 -1
  58. package/dist/MenuItem.d.ts +1 -1
  59. package/dist/MenuItem.js +1 -1
  60. package/dist/MenuItem.js.map +1 -1
  61. package/dist/MenuItemTemplate.js +1 -1
  62. package/dist/MenuItemTemplate.js.map +1 -1
  63. package/dist/MenuTemplate.js +1 -1
  64. package/dist/MenuTemplate.js.map +1 -1
  65. package/dist/MonthPicker.d.ts +6 -1
  66. package/dist/MonthPicker.js +13 -5
  67. package/dist/MonthPicker.js.map +1 -1
  68. package/dist/MonthPickerTemplate.js +1 -1
  69. package/dist/MonthPickerTemplate.js.map +1 -1
  70. package/dist/MultiInput.js +1 -1
  71. package/dist/MultiInput.js.map +1 -1
  72. package/dist/SegmentedButton.d.ts +12 -0
  73. package/dist/SegmentedButton.js +18 -1
  74. package/dist/SegmentedButton.js.map +1 -1
  75. package/dist/SegmentedButtonItem.d.ts +1 -0
  76. package/dist/SegmentedButtonItem.js +7 -0
  77. package/dist/SegmentedButtonItem.js.map +1 -1
  78. package/dist/SegmentedButtonItemTemplate.js +1 -1
  79. package/dist/SegmentedButtonItemTemplate.js.map +1 -1
  80. package/dist/SegmentedButtonTemplate.js +6 -1
  81. package/dist/SegmentedButtonTemplate.js.map +1 -1
  82. package/dist/Select.d.ts +1 -1
  83. package/dist/Select.js +1 -1
  84. package/dist/Select.js.map +1 -1
  85. package/dist/SplitButton.js +13 -8
  86. package/dist/SplitButton.js.map +1 -1
  87. package/dist/StepInput.d.ts +2 -0
  88. package/dist/StepInput.js +24 -4
  89. package/dist/StepInput.js.map +1 -1
  90. package/dist/Table.d.ts +22 -4
  91. package/dist/Table.js +27 -5
  92. package/dist/Table.js.map +1 -1
  93. package/dist/TableCellBase.d.ts +1 -2
  94. package/dist/TableCellBase.js +1 -4
  95. package/dist/TableCellBase.js.map +1 -1
  96. package/dist/TableCustomAnnouncement.js +4 -1
  97. package/dist/TableCustomAnnouncement.js.map +1 -1
  98. package/dist/TableHeaderCell.d.ts +1 -1
  99. package/dist/TableHeaderCell.js.map +1 -1
  100. package/dist/TableHeaderRowTemplate.js +4 -2
  101. package/dist/TableHeaderRowTemplate.js.map +1 -1
  102. package/dist/TableRow.js +3 -3
  103. package/dist/TableRow.js.map +1 -1
  104. package/dist/TableRowBase.d.ts +1 -0
  105. package/dist/TableRowBase.js +5 -1
  106. package/dist/TableRowBase.js.map +1 -1
  107. package/dist/TableRowTemplate.js +4 -2
  108. package/dist/TableRowTemplate.js.map +1 -1
  109. package/dist/TableSelection.js +1 -1
  110. package/dist/TableSelection.js.map +1 -1
  111. package/dist/TableSelectionMulti.js +1 -1
  112. package/dist/TableSelectionMulti.js.map +1 -1
  113. package/dist/TableTemplate.js +3 -6
  114. package/dist/TableTemplate.js.map +1 -1
  115. package/dist/TextArea.d.ts +16 -0
  116. package/dist/TextArea.js +18 -2
  117. package/dist/TextArea.js.map +1 -1
  118. package/dist/TextAreaTemplate.js +2 -1
  119. package/dist/TextAreaTemplate.js.map +1 -1
  120. package/dist/TimePicker.d.ts +6 -0
  121. package/dist/TimePicker.js +23 -3
  122. package/dist/TimePicker.js.map +1 -1
  123. package/dist/TimePickerTemplate.js +1 -1
  124. package/dist/TimePickerTemplate.js.map +1 -1
  125. package/dist/Token.d.ts +0 -1
  126. package/dist/Token.js +0 -4
  127. package/dist/Token.js.map +1 -1
  128. package/dist/Tokenizer.js +5 -0
  129. package/dist/Tokenizer.js.map +1 -1
  130. package/dist/YearPicker.d.ts +0 -1
  131. package/dist/YearPicker.js +0 -5
  132. package/dist/YearPicker.js.map +1 -1
  133. package/dist/YearRangePicker.d.ts +0 -1
  134. package/dist/YearRangePicker.js +0 -5
  135. package/dist/YearRangePicker.js.map +1 -1
  136. package/dist/bundle.esm.js +3 -0
  137. package/dist/bundle.esm.js.map +1 -1
  138. package/dist/css/themes/Avatar.css +1 -1
  139. package/dist/css/themes/AvatarGroup.css +1 -1
  140. package/dist/css/themes/Bar.css +1 -1
  141. package/dist/css/themes/Breadcrumbs.css +1 -1
  142. package/dist/css/themes/BusyIndicator.css +1 -1
  143. package/dist/css/themes/Button.css +1 -1
  144. package/dist/css/themes/ButtonBadge.css +1 -1
  145. package/dist/css/themes/Calendar.css +1 -1
  146. package/dist/css/themes/CalendarHeader.css +1 -1
  147. package/dist/css/themes/CalendarLegend.css +1 -1
  148. package/dist/css/themes/CalendarLegendItem.css +1 -1
  149. package/dist/css/themes/Card.css +1 -1
  150. package/dist/css/themes/CardHeader.css +1 -1
  151. package/dist/css/themes/Carousel.css +1 -1
  152. package/dist/css/themes/CheckBox.css +1 -1
  153. package/dist/css/themes/ColorPalette.css +1 -1
  154. package/dist/css/themes/ColorPaletteItem.css +1 -1
  155. package/dist/css/themes/ColorPalettePopover.css +1 -1
  156. package/dist/css/themes/ColorPicker.css +1 -1
  157. package/dist/css/themes/ComboBox.css +1 -1
  158. package/dist/css/themes/ComboBoxItem.css +1 -1
  159. package/dist/css/themes/DatePicker.css +1 -1
  160. package/dist/css/themes/DatePickerPopover.css +1 -1
  161. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  162. package/dist/css/themes/DayPicker.css +1 -1
  163. package/dist/css/themes/Dialog.css +1 -1
  164. package/dist/css/themes/DynamicDateRange.css +1 -1
  165. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  166. package/dist/css/themes/FileUploader.css +1 -1
  167. package/dist/css/themes/Form.css +1 -1
  168. package/dist/css/themes/FormItem.css +1 -1
  169. package/dist/css/themes/FormItemSpan.css +1 -1
  170. package/dist/css/themes/GrowingButton.css +1 -1
  171. package/dist/css/themes/Icon.css +1 -1
  172. package/dist/css/themes/Input.css +1 -1
  173. package/dist/css/themes/InputIcon.css +1 -1
  174. package/dist/css/themes/InputSharedStyles.css +1 -1
  175. package/dist/css/themes/Link.css +1 -1
  176. package/dist/css/themes/List.css +1 -1
  177. package/dist/css/themes/ListItem.css +1 -1
  178. package/dist/css/themes/ListItemBase.css +1 -1
  179. package/dist/css/themes/ListItemCustom.css +1 -1
  180. package/dist/css/themes/ListItemGroup.css +1 -1
  181. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  182. package/dist/css/themes/ListItemIcon.css +1 -1
  183. package/dist/css/themes/Menu.css +1 -1
  184. package/dist/css/themes/MenuItem.css +1 -1
  185. package/dist/css/themes/MessageStrip.css +1 -1
  186. package/dist/css/themes/MonthPicker.css +1 -1
  187. package/dist/css/themes/MultiComboBox.css +1 -1
  188. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  189. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  190. package/dist/css/themes/MultiInput.css +1 -1
  191. package/dist/css/themes/OptionBase.css +1 -1
  192. package/dist/css/themes/Panel.css +1 -1
  193. package/dist/css/themes/Popover.css +1 -1
  194. package/dist/css/themes/PopupsCommon.css +1 -1
  195. package/dist/css/themes/ProgressIndicator.css +1 -1
  196. package/dist/css/themes/RadioButton.css +1 -1
  197. package/dist/css/themes/RangeSlider.css +1 -1
  198. package/dist/css/themes/RatingIndicator.css +1 -1
  199. package/dist/css/themes/ResponsivePopover.css +1 -1
  200. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  201. package/dist/css/themes/SegmentedButton.css +1 -1
  202. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  203. package/dist/css/themes/Select.css +1 -1
  204. package/dist/css/themes/SliderBase.css +1 -1
  205. package/dist/css/themes/SplitButton.css +1 -1
  206. package/dist/css/themes/StepInput.css +1 -1
  207. package/dist/css/themes/SuggestionItem.css +1 -1
  208. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  209. package/dist/css/themes/Switch.css +1 -1
  210. package/dist/css/themes/TabContainer.css +1 -1
  211. package/dist/css/themes/TabInOverflow.css +1 -1
  212. package/dist/css/themes/TabInStrip.css +1 -1
  213. package/dist/css/themes/TabSemanticIcon.css +1 -1
  214. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  215. package/dist/css/themes/Table.css +1 -1
  216. package/dist/css/themes/TableCellBase.css +1 -1
  217. package/dist/css/themes/TableGrowing.css +1 -1
  218. package/dist/css/themes/TableHeaderRow.css +1 -1
  219. package/dist/css/themes/TableRow.css +1 -1
  220. package/dist/css/themes/TableRowActionBase.css +1 -1
  221. package/dist/css/themes/TableRowBase.css +1 -1
  222. package/dist/css/themes/Tag.css +1 -1
  223. package/dist/css/themes/Text.css +1 -1
  224. package/dist/css/themes/TextArea.css +1 -1
  225. package/dist/css/themes/TimePicker.css +1 -1
  226. package/dist/css/themes/Toast.css +1 -1
  227. package/dist/css/themes/ToggleButton.css +1 -1
  228. package/dist/css/themes/Token.css +1 -1
  229. package/dist/css/themes/Tokenizer.css +1 -1
  230. package/dist/css/themes/TokenizerPopover.css +1 -1
  231. package/dist/css/themes/Toolbar.css +1 -1
  232. package/dist/css/themes/ToolbarButton.css +1 -1
  233. package/dist/css/themes/ToolbarPopover.css +1 -1
  234. package/dist/css/themes/ToolbarSeparator.css +1 -1
  235. package/dist/css/themes/TreeItem.css +1 -1
  236. package/dist/css/themes/ValueStateMessage.css +1 -1
  237. package/dist/css/themes/ValueStateVariables.css +1 -1
  238. package/dist/css/themes/YearPicker.css +1 -1
  239. package/dist/css/themes/YearRangePicker.css +1 -1
  240. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  241. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  242. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  243. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  244. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  245. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  246. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  247. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  248. package/dist/custom-elements-internal.json +23871 -23657
  249. package/dist/custom-elements.json +2448 -2274
  250. package/dist/dynamic-date-range-options/DateTimeRange.d.ts +25 -0
  251. package/dist/dynamic-date-range-options/DateTimeRange.js +82 -0
  252. package/dist/dynamic-date-range-options/DateTimeRange.js.map +1 -0
  253. package/dist/dynamic-date-range-options/DateTimeRangeTemplate.d.ts +2 -0
  254. package/dist/dynamic-date-range-options/DateTimeRangeTemplate.js +38 -0
  255. package/dist/dynamic-date-range-options/DateTimeRangeTemplate.js.map +1 -0
  256. package/dist/dynamic-date-range-options/FromDateTime.d.ts +36 -0
  257. package/dist/dynamic-date-range-options/FromDateTime.js +136 -0
  258. package/dist/dynamic-date-range-options/FromDateTime.js.map +1 -0
  259. package/dist/dynamic-date-range-options/FromDateTimeTemplate.d.ts +2 -0
  260. package/dist/dynamic-date-range-options/FromDateTimeTemplate.js +24 -0
  261. package/dist/dynamic-date-range-options/FromDateTimeTemplate.js.map +1 -0
  262. package/dist/dynamic-date-range-options/ToDateTime.d.ts +36 -0
  263. package/dist/dynamic-date-range-options/ToDateTime.js +136 -0
  264. package/dist/dynamic-date-range-options/ToDateTime.js.map +1 -0
  265. package/dist/dynamic-date-range-options/toDates.d.ts +3 -1
  266. package/dist/dynamic-date-range-options/toDates.js +25 -1
  267. package/dist/dynamic-date-range-options/toDates.js.map +1 -1
  268. package/dist/features/InputSuggestionsTemplate.js +2 -2
  269. package/dist/features/InputSuggestionsTemplate.js.map +1 -1
  270. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  271. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  272. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  273. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  274. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  275. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  276. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  277. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  278. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  279. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  280. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  281. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  282. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  283. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  284. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  285. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  286. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  287. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  288. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  289. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  290. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  291. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  292. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  293. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  294. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  295. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  296. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  297. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  298. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  299. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  300. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  301. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  302. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  303. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  304. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  305. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  306. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  307. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  308. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  309. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  310. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  311. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  312. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  313. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  314. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  315. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  316. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  317. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  318. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  319. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  320. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  321. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  322. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  323. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  324. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  325. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  326. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  327. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  328. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  329. package/dist/generated/i18n/i18n-defaults.d.ts +28 -1
  330. package/dist/generated/i18n/i18n-defaults.js +31 -4
  331. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  332. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  333. package/dist/generated/themes/Avatar.css.js +1 -1
  334. package/dist/generated/themes/Avatar.css.js.map +1 -1
  335. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  336. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  337. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  338. package/dist/generated/themes/Bar.css.d.ts +1 -1
  339. package/dist/generated/themes/Bar.css.js +1 -1
  340. package/dist/generated/themes/Bar.css.js.map +1 -1
  341. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  342. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  343. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  344. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  345. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  346. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  347. package/dist/generated/themes/Button.css.d.ts +1 -1
  348. package/dist/generated/themes/Button.css.js +1 -1
  349. package/dist/generated/themes/Button.css.js.map +1 -1
  350. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  351. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  352. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  353. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  354. package/dist/generated/themes/Calendar.css.js +1 -1
  355. package/dist/generated/themes/Calendar.css.js.map +1 -1
  356. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  357. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  358. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  359. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  360. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  361. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  362. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  363. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  364. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  365. package/dist/generated/themes/Card.css.d.ts +1 -1
  366. package/dist/generated/themes/Card.css.js +1 -1
  367. package/dist/generated/themes/Card.css.js.map +1 -1
  368. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  369. package/dist/generated/themes/CardHeader.css.js +1 -1
  370. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  371. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  372. package/dist/generated/themes/Carousel.css.js +1 -1
  373. package/dist/generated/themes/Carousel.css.js.map +1 -1
  374. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  375. package/dist/generated/themes/CheckBox.css.js +1 -1
  376. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  377. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  378. package/dist/generated/themes/ColorPalette.css.js +1 -1
  379. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  380. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  381. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  382. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  383. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  384. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  385. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  386. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  387. package/dist/generated/themes/ColorPicker.css.js +1 -1
  388. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  389. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  390. package/dist/generated/themes/ComboBox.css.js +1 -1
  391. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  392. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  393. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  394. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  395. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  396. package/dist/generated/themes/DatePicker.css.js +1 -1
  397. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  398. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  399. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  400. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  401. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  402. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  403. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  404. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  405. package/dist/generated/themes/DayPicker.css.js +1 -1
  406. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  407. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  408. package/dist/generated/themes/Dialog.css.js +1 -1
  409. package/dist/generated/themes/Dialog.css.js.map +1 -1
  410. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  411. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  412. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  413. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  414. package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
  415. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  416. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  417. package/dist/generated/themes/FileUploader.css.js +1 -1
  418. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  419. package/dist/generated/themes/Form.css.d.ts +1 -1
  420. package/dist/generated/themes/Form.css.js +1 -1
  421. package/dist/generated/themes/Form.css.js.map +1 -1
  422. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  423. package/dist/generated/themes/FormItem.css.js +1 -1
  424. package/dist/generated/themes/FormItem.css.js.map +1 -1
  425. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  426. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  427. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  428. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  429. package/dist/generated/themes/GrowingButton.css.js +1 -1
  430. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  431. package/dist/generated/themes/Icon.css.d.ts +1 -1
  432. package/dist/generated/themes/Icon.css.js +1 -1
  433. package/dist/generated/themes/Icon.css.js.map +1 -1
  434. package/dist/generated/themes/Input.css.d.ts +1 -1
  435. package/dist/generated/themes/Input.css.js +1 -1
  436. package/dist/generated/themes/Input.css.js.map +1 -1
  437. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  438. package/dist/generated/themes/InputIcon.css.js +1 -1
  439. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  440. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  441. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  442. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  443. package/dist/generated/themes/Link.css.d.ts +1 -1
  444. package/dist/generated/themes/Link.css.js +1 -1
  445. package/dist/generated/themes/Link.css.js.map +1 -1
  446. package/dist/generated/themes/List.css.d.ts +1 -1
  447. package/dist/generated/themes/List.css.js +1 -1
  448. package/dist/generated/themes/List.css.js.map +1 -1
  449. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  450. package/dist/generated/themes/ListItem.css.js +1 -1
  451. package/dist/generated/themes/ListItem.css.js.map +1 -1
  452. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  453. package/dist/generated/themes/ListItemBase.css.js +1 -1
  454. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  455. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  456. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  457. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  458. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  459. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  460. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  461. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  462. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  463. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  464. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  465. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  466. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  467. package/dist/generated/themes/Menu.css.d.ts +1 -1
  468. package/dist/generated/themes/Menu.css.js +1 -1
  469. package/dist/generated/themes/Menu.css.js.map +1 -1
  470. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  471. package/dist/generated/themes/MenuItem.css.js +1 -1
  472. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  473. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  474. package/dist/generated/themes/MessageStrip.css.js +1 -1
  475. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  476. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  477. package/dist/generated/themes/MonthPicker.css.js +1 -1
  478. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  479. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  480. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  481. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  482. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  483. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  484. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  485. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  486. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  487. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  488. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  489. package/dist/generated/themes/MultiInput.css.js +1 -1
  490. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  491. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  492. package/dist/generated/themes/OptionBase.css.js +1 -1
  493. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  494. package/dist/generated/themes/Panel.css.d.ts +1 -1
  495. package/dist/generated/themes/Panel.css.js +1 -1
  496. package/dist/generated/themes/Panel.css.js.map +1 -1
  497. package/dist/generated/themes/Popover.css.d.ts +1 -1
  498. package/dist/generated/themes/Popover.css.js +1 -1
  499. package/dist/generated/themes/Popover.css.js.map +1 -1
  500. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  501. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  502. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  503. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  504. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  505. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  506. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  507. package/dist/generated/themes/RadioButton.css.js +1 -1
  508. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  509. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  510. package/dist/generated/themes/RangeSlider.css.js +1 -1
  511. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  512. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  513. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  514. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  515. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  516. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  517. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  518. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  519. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  520. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  521. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  522. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  523. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  524. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  525. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  526. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  527. package/dist/generated/themes/Select.css.d.ts +1 -1
  528. package/dist/generated/themes/Select.css.js +1 -1
  529. package/dist/generated/themes/Select.css.js.map +1 -1
  530. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  531. package/dist/generated/themes/SliderBase.css.js +1 -1
  532. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  533. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  534. package/dist/generated/themes/SplitButton.css.js +1 -1
  535. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  536. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  537. package/dist/generated/themes/StepInput.css.js +1 -1
  538. package/dist/generated/themes/StepInput.css.js.map +1 -1
  539. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  540. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  541. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  542. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  543. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  544. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  545. package/dist/generated/themes/Switch.css.d.ts +1 -1
  546. package/dist/generated/themes/Switch.css.js +1 -1
  547. package/dist/generated/themes/Switch.css.js.map +1 -1
  548. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  549. package/dist/generated/themes/TabContainer.css.js +1 -1
  550. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  551. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  552. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  553. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  554. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  555. package/dist/generated/themes/TabInStrip.css.js +1 -1
  556. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  557. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  558. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  559. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  560. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  561. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  562. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  563. package/dist/generated/themes/Table.css.d.ts +1 -1
  564. package/dist/generated/themes/Table.css.js +1 -1
  565. package/dist/generated/themes/Table.css.js.map +1 -1
  566. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  567. package/dist/generated/themes/TableCellBase.css.js +1 -1
  568. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  569. package/dist/generated/themes/TableGrowing.css.d.ts +1 -1
  570. package/dist/generated/themes/TableGrowing.css.js +1 -1
  571. package/dist/generated/themes/TableGrowing.css.js.map +1 -1
  572. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  573. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  574. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  575. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  576. package/dist/generated/themes/TableRow.css.js +1 -1
  577. package/dist/generated/themes/TableRow.css.js.map +1 -1
  578. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  579. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  580. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  581. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  582. package/dist/generated/themes/TableRowBase.css.js +1 -1
  583. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  584. package/dist/generated/themes/Tag.css.d.ts +1 -1
  585. package/dist/generated/themes/Tag.css.js +1 -1
  586. package/dist/generated/themes/Tag.css.js.map +1 -1
  587. package/dist/generated/themes/Text.css.d.ts +1 -1
  588. package/dist/generated/themes/Text.css.js +1 -1
  589. package/dist/generated/themes/Text.css.js.map +1 -1
  590. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  591. package/dist/generated/themes/TextArea.css.js +1 -1
  592. package/dist/generated/themes/TextArea.css.js.map +1 -1
  593. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  594. package/dist/generated/themes/TimePicker.css.js +1 -1
  595. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  596. package/dist/generated/themes/Toast.css.d.ts +1 -1
  597. package/dist/generated/themes/Toast.css.js +1 -1
  598. package/dist/generated/themes/Toast.css.js.map +1 -1
  599. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  600. package/dist/generated/themes/ToggleButton.css.js +1 -1
  601. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  602. package/dist/generated/themes/Token.css.d.ts +1 -1
  603. package/dist/generated/themes/Token.css.js +1 -1
  604. package/dist/generated/themes/Token.css.js.map +1 -1
  605. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  606. package/dist/generated/themes/Tokenizer.css.js +1 -1
  607. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  608. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  609. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  610. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  611. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  612. package/dist/generated/themes/Toolbar.css.js +1 -1
  613. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  614. package/dist/generated/themes/ToolbarButton.css.d.ts +1 -1
  615. package/dist/generated/themes/ToolbarButton.css.js +1 -1
  616. package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
  617. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  618. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  619. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  620. package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
  621. package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
  622. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
  623. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  624. package/dist/generated/themes/TreeItem.css.js +1 -1
  625. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  626. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  627. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  628. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  629. package/dist/generated/themes/ValueStateVariables.css.d.ts +1 -1
  630. package/dist/generated/themes/ValueStateVariables.css.js +1 -1
  631. package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
  632. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  633. package/dist/generated/themes/YearPicker.css.js +1 -1
  634. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  635. package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
  636. package/dist/generated/themes/YearRangePicker.css.js +1 -1
  637. package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
  638. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  639. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  640. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  641. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  642. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  643. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  644. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  645. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  646. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  647. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  648. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  649. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  650. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  651. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  652. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  653. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  654. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  655. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  656. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  657. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  658. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  659. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  660. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  661. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  662. package/dist/types/SegmentedButtonContentMode.d.ts +17 -0
  663. package/dist/types/SegmentedButtonContentMode.js +19 -0
  664. package/dist/types/SegmentedButtonContentMode.js.map +1 -0
  665. package/dist/types/SelectTwoColumnSeparator.d.ts +1 -0
  666. package/dist/types/SelectTwoColumnSeparator.js +1 -0
  667. package/dist/types/SelectTwoColumnSeparator.js.map +1 -1
  668. package/dist/vscode.html-custom-data.json +34 -9
  669. package/dist/web-types.json +69 -16
  670. package/package-scripts.cjs +0 -1
  671. package/package.json +11 -11
  672. package/src/CalendarHeaderTemplate.tsx +3 -3
  673. package/src/CarouselTemplate.tsx +20 -19
  674. package/src/DayPickerTemplate.tsx +0 -2
  675. package/src/FormTemplate.tsx +1 -1
  676. package/src/ListTemplate.tsx +9 -1
  677. package/src/MenuItemTemplate.tsx +1 -1
  678. package/src/MenuTemplate.tsx +1 -1
  679. package/src/MonthPickerTemplate.tsx +1 -0
  680. package/src/SegmentedButtonItemTemplate.tsx +1 -1
  681. package/src/SegmentedButtonTemplate.tsx +6 -1
  682. package/src/TableHeaderRowTemplate.tsx +8 -9
  683. package/src/TableRowTemplate.tsx +5 -1
  684. package/src/TableTemplate.tsx +4 -20
  685. package/src/TextAreaTemplate.tsx +4 -0
  686. package/src/TimePickerTemplate.tsx +1 -0
  687. package/src/dynamic-date-range-options/DateTimeRangeTemplate.tsx +62 -0
  688. package/src/dynamic-date-range-options/FromDateTimeTemplate.tsx +53 -0
  689. package/src/features/InputSuggestionsTemplate.tsx +2 -3
  690. package/src/i18n/messagebundle.properties +64 -5
  691. package/src/i18n/messagebundle_ar.properties +24 -6
  692. package/src/i18n/messagebundle_bg.properties +24 -6
  693. package/src/i18n/messagebundle_ca.properties +25 -7
  694. package/src/i18n/messagebundle_cnr.properties +24 -6
  695. package/src/i18n/messagebundle_cs.properties +24 -6
  696. package/src/i18n/messagebundle_cy.properties +24 -6
  697. package/src/i18n/messagebundle_da.properties +24 -6
  698. package/src/i18n/messagebundle_de.properties +25 -7
  699. package/src/i18n/messagebundle_el.properties +24 -6
  700. package/src/i18n/messagebundle_en.properties +23 -5
  701. package/src/i18n/messagebundle_en_GB.properties +26 -8
  702. package/src/i18n/messagebundle_en_US_sappsd.properties +24 -6
  703. package/src/i18n/messagebundle_en_US_saprigi.properties +24 -6
  704. package/src/i18n/messagebundle_en_US_saptrc.properties +24 -6
  705. package/src/i18n/messagebundle_es.properties +25 -7
  706. package/src/i18n/messagebundle_es_MX.properties +25 -7
  707. package/src/i18n/messagebundle_et.properties +24 -6
  708. package/src/i18n/messagebundle_fi.properties +25 -7
  709. package/src/i18n/messagebundle_fr.properties +24 -6
  710. package/src/i18n/messagebundle_fr_CA.properties +24 -6
  711. package/src/i18n/messagebundle_hi.properties +24 -6
  712. package/src/i18n/messagebundle_hr.properties +25 -7
  713. package/src/i18n/messagebundle_hu.properties +24 -6
  714. package/src/i18n/messagebundle_id.properties +25 -7
  715. package/src/i18n/messagebundle_it.properties +24 -6
  716. package/src/i18n/messagebundle_iw.properties +24 -6
  717. package/src/i18n/messagebundle_ja.properties +24 -6
  718. package/src/i18n/messagebundle_kk.properties +24 -6
  719. package/src/i18n/messagebundle_ko.properties +24 -6
  720. package/src/i18n/messagebundle_lt.properties +24 -6
  721. package/src/i18n/messagebundle_lv.properties +24 -6
  722. package/src/i18n/messagebundle_mk.properties +24 -6
  723. package/src/i18n/messagebundle_ms.properties +29 -11
  724. package/src/i18n/messagebundle_nl.properties +24 -6
  725. package/src/i18n/messagebundle_no.properties +24 -6
  726. package/src/i18n/messagebundle_pl.properties +24 -6
  727. package/src/i18n/messagebundle_pt.properties +24 -6
  728. package/src/i18n/messagebundle_pt_PT.properties +24 -6
  729. package/src/i18n/messagebundle_ro.properties +24 -6
  730. package/src/i18n/messagebundle_ru.properties +24 -6
  731. package/src/i18n/messagebundle_sh.properties +24 -6
  732. package/src/i18n/messagebundle_sk.properties +24 -6
  733. package/src/i18n/messagebundle_sl.properties +24 -6
  734. package/src/i18n/messagebundle_sr.properties +24 -6
  735. package/src/i18n/messagebundle_sv.properties +28 -10
  736. package/src/i18n/messagebundle_th.properties +26 -8
  737. package/src/i18n/messagebundle_tr.properties +24 -6
  738. package/src/i18n/messagebundle_uk.properties +25 -7
  739. package/src/i18n/messagebundle_vi.properties +24 -6
  740. package/src/i18n/messagebundle_zh_CN.properties +24 -6
  741. package/src/i18n/messagebundle_zh_TW.properties +25 -7
  742. package/src/themes/Bar.css +10 -1
  743. package/src/themes/Carousel.css +35 -18
  744. package/src/themes/DynamicDateRangePopover.css +15 -5
  745. package/src/themes/RatingIndicator.css +9 -9
  746. package/src/themes/SegmentedButton.css +10 -2
  747. package/src/themes/StepInput.css +11 -4
  748. package/src/themes/Table.css +0 -14
  749. package/src/themes/TableGrowing.css +7 -14
  750. package/src/themes/TableHeaderRow.css +1 -0
  751. package/src/themes/TableRow.css +12 -8
  752. package/src/themes/base/Carousel-parameters.css +1 -1
  753. package/src/themes/base/Table-parameters.css +4 -0
  754. package/src/themes/base/sizes-parameters.css +2 -2
  755. package/src/themes/sap_fiori_3_hcb/Carousel-parameters.css +1 -1
  756. package/src/themes/sap_fiori_3_hcw/Carousel-parameters.css +1 -1
  757. package/src/themes/sap_horizon_hcb/Carousel-parameters.css +1 -1
  758. package/src/themes/sap_horizon_hcw/Carousel-parameters.css +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeInput.js","sourceRoot":"","sources":["../src/DateTimeInput.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AAErF,SAAS;AACT,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAEtF;;;;;;GAMG;AAKH,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,KAAK;IAAjC;;QAEC,iCAA4B,GAAG,KAAK,CAAC;IAgBtC,CAAC;IAdA;;;;;;OAMG;IACH,IAAI,oBAAoB;QACvB,OAAO,IAAI,CAAC,4BAA4B,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;IACjG,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;CACD,CAAA;AAhBA;IADC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;mEACK;AAFhC,aAAa;IAJlB,aAAa,CAAC;QACd,GAAG,EAAE,oBAAoB;KACzB,CAAC;GAEI,aAAa,CAkBlB;AAED,aAAa,CAAC,MAAM,EAAE,CAAC;AAEvB,eAAe,aAAa,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\n\n// Styles\nimport Input from \"./Input.js\";\nimport { property } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport { isDesktop, isPhone, isTablet } from \"@ui5/webcomponents-base/dist/Device.js\";\n\n/**\n * Extention of the UI5 Input, so we do not modify Input's private properties within the datetime components.\n * Intended to be used for the DateTime components.\n *\n * @class\n * @private\n */\n@customElement({\n\ttag: \"ui5-datetime-input\",\n})\n\nclass DateTimeInput extends Input {\n\t@property({ noAttribute: true })\n\t_shouldOpenValueStatePopover = false;\n\n\t/**\n\t * Prevents the value state message popover from appearing when a responsive popover (like time selection) is open\n\t * since the responsive popover already includes the necessary information in its header.\n\t *\n\t * @protected\n\t * @override\n\t */\n\tget hasValueStateMessage() {\n\t\treturn this._shouldOpenValueStatePopover && super.hasValueStateMessage && !this._isMobileDevice;\n\t}\n\n\tget _isMobileDevice() {\n\t\treturn !isDesktop() && (isPhone() || isTablet());\n\t}\n}\n\nDateTimeInput.define();\n\nexport default DateTimeInput;\n"]}
1
+ {"version":3,"file":"DateTimeInput.js","sourceRoot":"","sources":["../src/DateTimeInput.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,UAAU,MAAM,kDAAkD,CAAC;AAE1E,SAAS;AACT,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAEtF;;;;;;GAMG;AAKH,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,KAAK;IAAjC;;QAEC,iCAA4B,GAAG,KAAK,CAAC;IAkDtC,CAAC;IAhDA;;;;;;OAMG;IACH,IAAI,oBAAoB;QACvB,OAAO,IAAI,CAAC,4BAA4B,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;IACjG,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,IAAI,wBAAwB;QAC3B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACzB,OAAO;QACR,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3G,IAAI,IAAI,CAAC,qCAAqC,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QAClF,CAAC;QAED,mFAAmF;QACnF,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBAClC,MAAM,aAAa,GAAI,SAA6B,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtF,MAAM,WAAW,GAAG,aAAa;qBAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;qBACnC,IAAI,CAAC,GAAG,CAAC;qBACT,IAAI,EAAE,CAAC;gBACT,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YAClE,CAAC;YACD,gCAAgC;YAChC,OAAO,GAAG,UAAU,IAAI,SAAS,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9D,CAAC;QAED,OAAO,UAAU,CAAC;IACnB,CAAC;CACD,CAAA;AAlDA;IADC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;mEACK;AAFhC,aAAa;IAJlB,aAAa,CAAC;QACd,GAAG,EAAE,oBAAoB;KACzB,CAAC;GAEI,aAAa,CAoDlB;AAED,aAAa,CAAC,MAAM,EAAE,CAAC;AAEvB,eAAe,aAAa,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\n\n// Styles\nimport Input from \"./Input.js\";\nimport { property } from \"@ui5/webcomponents-base/dist/decorators.js\";\nimport { isDesktop, isPhone, isTablet } from \"@ui5/webcomponents-base/dist/Device.js\";\n\n/**\n * Extention of the UI5 Input, so we do not modify Input's private properties within the datetime components.\n * Intended to be used for the DateTime components.\n *\n * @class\n * @private\n */\n@customElement({\n\ttag: \"ui5-datetime-input\",\n})\n\nclass DateTimeInput extends Input {\n\t@property({ noAttribute: true })\n\t_shouldOpenValueStatePopover = false;\n\n\t/**\n\t * Prevents the value state message popover from appearing when a responsive popover (like time selection) is open\n\t * since the responsive popover already includes the necessary information in its header.\n\t *\n\t * @protected\n\t * @override\n\t */\n\tget hasValueStateMessage() {\n\t\treturn this._shouldOpenValueStatePopover && super.hasValueStateMessage && !this._isMobileDevice;\n\t}\n\n\tget _isMobileDevice() {\n\t\treturn !isDesktop() && (isPhone() || isTablet());\n\t}\n\n\t/**\n\t * Override to handle nested slot structure from DatePicker -> DateTimeInput slot forwarding.\n\t * Assumes DateTimeInput always has slot-within-slot structure for valueStateMessage.\n\t * @override\n\t */\n\tget ariaValueStateHiddenText(): string | undefined {\n\t\tif (!this.hasValueState) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst valueState = this.valueState !== ValueState.None ? this.valueStateTypeMappings[this.valueState] : \"\";\n\n\t\tif (this.shouldDisplayDefaultValueStateMessage) {\n\t\t\treturn this.valueStateText ? `${valueState} ${this.valueStateText}` : valueState;\n\t\t}\n\n\t\t// Handle the specific nested slot case: outer slot -> inner slot -> actual content\n\t\tif (this.valueStateMessage.length) {\n\t\t\tconst outerSlot = this.valueStateMessage[0];\n\t\t\tif (outerSlot.tagName === \"SLOT\") {\n\t\t\t\tconst assignedNodes = (outerSlot as HTMLSlotElement).assignedNodes({ flatten: true });\n\t\t\t\tconst textContent = assignedNodes\n\t\t\t\t\t.map(node => node.textContent || \"\")\n\t\t\t\t\t.join(\" \")\n\t\t\t\t\t.trim();\n\t\t\t\treturn textContent ? `${valueState} ${textContent}` : valueState;\n\t\t\t}\n\t\t\t// Fallback for non-slot content\n\t\t\treturn `${valueState} ${outerSlot.textContent || \"\"}`.trim();\n\t\t}\n\n\t\treturn valueState;\n\t}\n}\n\nDateTimeInput.define();\n\nexport default DateTimeInput;\n"]}
@@ -100,6 +100,11 @@ declare class DateTimePicker extends DatePicker implements IFormInputElement {
100
100
  * @private
101
101
  */
102
102
  _previewValues: PreviewValues;
103
+ /**
104
+ * Stores the last valid value to preserve time when entering invalid values
105
+ * @private
106
+ */
107
+ _lastValidValue: string;
103
108
  _clocks: TimeSelectionClocks;
104
109
  _handleResizeBound: ResizeObserverCallback;
105
110
  constructor();
@@ -117,6 +122,8 @@ declare class DateTimePicker extends DatePicker implements IFormInputElement {
117
122
  * @private
118
123
  */
119
124
  _togglePicker(): void;
125
+ get formValidityMessage(): string;
126
+ get formValidity(): ValidityStateFlags;
120
127
  get _formatPattern(): string;
121
128
  get _calendarTimestamp(): number;
122
129
  get _calendarSelectedDates(): string[];
@@ -175,6 +182,10 @@ declare class DateTimePicker extends DatePicker implements IFormInputElement {
175
182
  * @override
176
183
  */
177
184
  _modifyDateValue(amount: number, unit: string, preserveDate: boolean): void;
185
+ /**
186
+ * @override
187
+ */
188
+ _updateValueAndFireEvents(value: string, normalizeValue: boolean, events: Array<"change" | "value-changed" | "input">, updateValue?: boolean): void;
178
189
  /**
179
190
  * Checks if the provided value is valid and within valid range.
180
191
  * @override
@@ -18,7 +18,7 @@ import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
18
18
  import DatePicker from "./DatePicker.js";
19
19
  import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
20
20
  // i18n texts
21
- import { TIMEPICKER_SUBMIT_BUTTON, TIMEPICKER_CANCEL_BUTTON, DATETIME_DESCRIPTION, DATETIME_PICKER_DATE_BUTTON, DATETIME_PICKER_TIME_BUTTON, DATETIMEPICKER_POPOVER_ACCESSIBLE_NAME, } from "./generated/i18n/i18n-defaults.js";
21
+ import { TIMEPICKER_SUBMIT_BUTTON, TIMEPICKER_CANCEL_BUTTON, DATETIME_DESCRIPTION, DATETIME_PICKER_DATE_BUTTON, DATETIME_PICKER_TIME_BUTTON, DATETIMEPICKER_POPOVER_ACCESSIBLE_NAME, DATETIME_VALUE_MISSING, DATETIME_PATTERN_MISMATCH, DATETIME_RANGEUNDERFLOW, DATETIME_RANGEOVERFLOW, } from "./generated/i18n/i18n-defaults.js";
22
22
  // Template
23
23
  import DateTimePickerTemplate from "./DateTimePickerTemplate.js";
24
24
  // Styles
@@ -116,6 +116,11 @@ let DateTimePicker = DateTimePicker_1 = class DateTimePicker extends DatePicker
116
116
  * @private
117
117
  */
118
118
  this._previewValues = {};
119
+ /**
120
+ * Stores the last valid value to preserve time when entering invalid values
121
+ * @private
122
+ */
123
+ this._lastValidValue = "";
119
124
  this._handleResizeBound = this._handleResize.bind(this);
120
125
  }
121
126
  /**
@@ -142,12 +147,43 @@ let DateTimePicker = DateTimePicker_1 = class DateTimePicker extends DatePicker
142
147
  _togglePicker() {
143
148
  super._togglePicker();
144
149
  if (this.open) {
150
+ let timeSelectionValue = this.value;
151
+ // If current value is invalid, use the last valid value for time selection
152
+ if (!timeSelectionValue || !this.isValidValue(timeSelectionValue)) {
153
+ timeSelectionValue = this._lastValidValue || this.getValueFormat().format(UI5Date.getInstance());
154
+ }
145
155
  this._previewValues = {
146
156
  ...this._previewValues,
147
- timeSelectionValue: this.value || this.getValueFormat().format(UI5Date.getInstance()),
157
+ timeSelectionValue,
148
158
  };
149
159
  }
150
160
  }
161
+ get formValidityMessage() {
162
+ const validity = this.formValidity;
163
+ if (validity.valueMissing) {
164
+ // @ts-ignore oFormatOptions is a private API of DateFormat
165
+ return DateTimePicker_1.i18nBundle.getText(DATETIME_VALUE_MISSING, this.getFormat().oFormatOptions.pattern);
166
+ }
167
+ if (validity.patternMismatch) {
168
+ // @ts-ignore oFormatOptions is a private API of DateFormat
169
+ return DateTimePicker_1.i18nBundle.getText(DATETIME_PATTERN_MISMATCH, this.getFormat().oFormatOptions.pattern);
170
+ }
171
+ if (validity.rangeUnderflow) {
172
+ return DateTimePicker_1.i18nBundle.getText(DATETIME_RANGEUNDERFLOW, this.minDate);
173
+ }
174
+ if (validity.rangeOverflow) {
175
+ return DateTimePicker_1.i18nBundle.getText(DATETIME_RANGEOVERFLOW, this.maxDate);
176
+ }
177
+ return "";
178
+ }
179
+ get formValidity() {
180
+ return {
181
+ valueMissing: this.required && !this.value,
182
+ patternMismatch: !this.isValidValue(this.value),
183
+ rangeUnderflow: !this.isValidMin(this.value),
184
+ rangeOverflow: !this.isValidMax(this.value),
185
+ };
186
+ }
151
187
  get _formatPattern() {
152
188
  const hasHours = !!(this.formatPattern || "").match(/H/i);
153
189
  const fallback = !this.formatPattern || !hasHours;
@@ -217,13 +253,17 @@ let DateTimePicker = DateTimePicker_1 = class DateTimePicker extends DatePicker
217
253
  */
218
254
  async onSelectedDatesChange(e) {
219
255
  e.preventDefault();
220
- // @ts-ignore Needed for FF
221
- const dateTimePickerContent = e.path ? e.path[1] : e.composedPath()[1];
256
+ // Try to get the current time value from the time picker,
257
+ // but fallback to last valid value if current picker time is empty or invalid
258
+ let timeValue = this._clocks?.value || "";
259
+ if (!timeValue || !this.isValidValue(timeValue)) {
260
+ timeValue = this._lastValidValue || this.getValueFormat().format(UI5Date.getInstance());
261
+ }
222
262
  this._previewValues = {
223
263
  ...this._previewValues,
224
264
  calendarTimestamp: e.detail.timestamp,
225
265
  calendarValue: e.detail.selectedValues[0],
226
- timeSelectionValue: dateTimePickerContent.lastChild.value,
266
+ timeSelectionValue: timeValue,
227
267
  };
228
268
  this._showTimeView = true;
229
269
  if (this.showDateView) {
@@ -294,6 +334,16 @@ let DateTimePicker = DateTimePicker_1 = class DateTimePicker extends DatePicker
294
334
  const newValue = this.formatValue(modifiedLocalDate);
295
335
  this._updateValueAndFireEvents(newValue, true, ["change", "value-changed"]);
296
336
  }
337
+ /**
338
+ * @override
339
+ */
340
+ _updateValueAndFireEvents(value, normalizeValue, events, updateValue = true) {
341
+ super._updateValueAndFireEvents(value, normalizeValue, events, updateValue);
342
+ // Always store the current value if it's valid (handles both updates and initial values)
343
+ if (this.value && this.isValidValue(this.value)) {
344
+ this._lastValidValue = this.value;
345
+ }
346
+ }
297
347
  /**
298
348
  * Checks if the provided value is valid and within valid range.
299
349
  * @override
@@ -383,6 +433,9 @@ __decorate([
383
433
  __decorate([
384
434
  property({ type: Object })
385
435
  ], DateTimePicker.prototype, "_previewValues", void 0);
436
+ __decorate([
437
+ property()
438
+ ], DateTimePicker.prototype, "_lastValidValue", void 0);
386
439
  __decorate([
387
440
  query("[ui5-time-selection-clocks]")
388
441
  ], DateTimePicker.prototype, "_clocks", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimePicker.js","sourceRoot":"","sources":["../src/DateTimePicker.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport modifyDateBy from \"@ui5/webcomponents-localization/dist/dates/modifyDateBy.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport \"@ui5/webcomponents-icons/dist/date-time.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport type { SegmentedButtonSelectionChangeEventDetail } from \"./SegmentedButton.js\";\nimport type { CalendarSelectionChangeEventDetail } from \"./Calendar.js\";\nimport DatePicker from \"./DatePicker.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type {\n\tDatePickerChangeEventDetail as DateTimePickerChangeEventDetail,\n\tDatePickerInputEventDetail as DateTimePickerInputEventDetail,\n} from \"./DatePicker.js\";\nimport type { TimeSelectionChangeEventDetail } from \"./TimePickerInternals.js\";\n\n// i18n texts\nimport {\n\tTIMEPICKER_SUBMIT_BUTTON,\n\tTIMEPICKER_CANCEL_BUTTON,\n\tDATETIME_DESCRIPTION,\n\tDATETIME_PICKER_DATE_BUTTON,\n\tDATETIME_PICKER_TIME_BUTTON,\n\tDATETIMEPICKER_POPOVER_ACCESSIBLE_NAME,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport DateTimePickerTemplate from \"./DateTimePickerTemplate.js\";\n\n// Styles\nimport DateTimePickerCss from \"./generated/themes/DateTimePicker.css.js\";\nimport DateTimePickerPopoverCss from \"./generated/themes/DateTimePickerPopover.css.js\";\nimport CalendarPickersMode from \"./types/CalendarPickersMode.js\";\nimport type TimeSelectionClocks from \"./TimeSelectionClocks.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\n\nconst PHONE_MODE_BREAKPOINT = 640; // px\n\ntype PreviewValues = {\n\ttimeSelectionValue?: string,\n\tcalendarTimestamp?: number,\n\tcalendarValue?: string,\n}\n\n/**\n * @class\n *\n * ### Overview\n * The `DateTimePicker` component alows users to select both date (day, month and year) and time (hours, minutes and seconds)\n * and for the purpose it consists of input field and Date/Time picker.\n *\n * ### Usage\n *\n * Use the `DateTimePicker` if you need a combined date and time input component.\n * Don't use it if you want to use either date, or time value.\n * In this case, use the `DatePicker` or the `TimePicker` components instead.\n *\n * The user can set date/time by:\n *\n * - using the calendar and the time selectors\n * - typing in the input field\n *\n * Programmatically, to set date/time for the `DateTimePicker`, use the `value` property\n *\n * ### Formatting\n *\n * The value entered by typing into the input field must fit to the used date/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](https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table).\n *\n * **Example:** the following format `dd/MM/yyyy, hh:mm:ss aa`\n * corresponds the `13/04/2020, 03:16:16 AM` value.\n *\n * The small 'h' defines \"12\" hours format and the \"aa\" symbols - \"AM/PM\" time periods.\n *\n * **Example:** the following format `dd/MM/yyyy, HH:mm:ss`\n * corresponds the `13/04/2020, 15:16:16` value.\n *\n * The capital 'H' indicates \"24\" hours format.\n *\n * **Note:** If the `formatPattern` does NOT include time,\n * the `DateTimePicker` will fallback to the default time format according to the locale.\n *\n * **Note:** If no placeholder is set to the `DateTimePicker`,\n * the current `formatPattern` is displayed as a placeholder.\n * If another placeholder is needed, it must be set or in case no placeholder is needed - it can be set to an empty string.\n *\n * **Note:** If the user input does NOT match the `formatPattern`,\n * the `DateTimePicker` makes an attempt to parse it based on the\n * locale settings.\n *\n * ### Responsive behavior\n *\n * The `DateTimePicker` is responsive and fully adapts to all devices.\n * For larger screens, such as tablet or desktop, it is displayed as a popover, while\n * on phone devices, it is displayed full screen.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/DateTimePicker.js\";`\n * @constructor\n * @extends DatePicker\n * @since 1.0.0-rc.7\n * @public\n */\n@customElement({\n\ttag: \"ui5-datetime-picker\",\n\ttemplate: DateTimePickerTemplate,\n\tstyles: [\n\t\tDatePicker.styles,\n\t\tDateTimePickerCss,\n\t\tDateTimePickerPopoverCss,\n\t],\n})\nclass DateTimePicker extends DatePicker implements IFormInputElement {\n\t/**\n\t * Defines the visibility of the time view in `phoneMode`.\n\t * For more information, see the `phoneMode` property.\n\t *\n\t * **Note:** The date view would be displayed by default.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_showTimeView = false\n\n\t/**\n\t * Defines if the `DateTimePicker` should be displayed in phone mode.\n\t * The phone mode turns on when the component is used on small screens or phone devices.\n\t * In phone mode the user can see either the calendar view, or the time view\n\t * and can switch between the views via toggle buttons.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_phoneMode = false;\n\n\t/**\n\t * Selected, but not yet confirmed date/time\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_previewValues: PreviewValues = {};\n\n\t@query(\"[ui5-time-selection-clocks]\")\n\t_clocks!: TimeSelectionClocks;\n\n\t_handleResizeBound: ResizeObserverCallback;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._handleResizeBound = this._handleResize.bind(this);\n\t}\n\n\t/**\n\t * @override\n\t */\n\tonResponsivePopoverAfterClose() {\n\t\tsuper.onResponsivePopoverAfterClose();\n\t\tthis._showTimeView = false;\n\t\tthis._previewValues = {};\n\t}\n\n\t/**\n\t * LIFECYCLE METHODS\n\t */\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(document.body, this._handleResizeBound);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(document.body, this._handleResizeBound);\n\t}\n\n\t/**\n\t * @override\n\t * @private\n\t */\n\t_togglePicker() {\n\t\tsuper._togglePicker();\n\n\t\tif (this.open) {\n\t\t\tthis._previewValues = {\n\t\t\t\t...this._previewValues,\n\t\t\t\ttimeSelectionValue: this.value || this.getValueFormat().format(UI5Date.getInstance()),\n\t\t\t};\n\t\t}\n\t}\n\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.getCombinedDateTimePattern(\"medium\", \"medium\", this._primaryCalendarType) : (this.formatPattern || \"\");\n\t}\n\n\tget _calendarTimestamp() {\n\t\treturn this._previewValues.calendarTimestamp ? this._previewValues.calendarTimestamp : super._calendarTimestamp;\n\t}\n\n\tget _calendarSelectedDates() {\n\t\treturn this._previewValues.calendarValue ? [this._previewValues.calendarValue] : super._calendarSelectedDates;\n\t}\n\n\tget _timeSelectionValue() {\n\t\treturn this._previewValues.timeSelectionValue ? this._previewValues.timeSelectionValue : this.value;\n\t}\n\n\tget openIconName() {\n\t\treturn \"date-time\";\n\t}\n\n\tget btnOKLabel() {\n\t\treturn DateTimePicker.i18nBundle.getText(TIMEPICKER_SUBMIT_BUTTON);\n\t}\n\n\tget btnCancelLabel() {\n\t\treturn DateTimePicker.i18nBundle.getText(TIMEPICKER_CANCEL_BUTTON);\n\t}\n\n\tget btnDateLabel() {\n\t\treturn DateTimePicker.i18nBundle.getText(DATETIME_PICKER_DATE_BUTTON);\n\t}\n\n\tget btnTimeLabel() {\n\t\treturn DateTimePicker.i18nBundle.getText(DATETIME_PICKER_TIME_BUTTON);\n\t}\n\n\tget showFooter() {\n\t\treturn true;\n\t}\n\n\tget showDateView() {\n\t\treturn this._phoneView ? !this._showTimeView : true;\n\t}\n\n\tget showTimeView() {\n\t\treturn this._phoneView ? this._showTimeView : true;\n\t}\n\n\tget _phoneView() {\n\t\treturn isPhone() || this._phoneMode;\n\t}\n\n\t/**\n\t * @override\n\t */\n\tget roleDescription() {\n\t\treturn DateTimePicker.i18nBundle.getText(DATETIME_DESCRIPTION);\n\t}\n\n\t/**\n\t * @override\n\t */\n\tget pickerAccessibleName() {\n\t\treturn DateTimePicker.i18nBundle.getText(DATETIMEPICKER_POPOVER_ACCESSIBLE_NAME, this.ariaLabelText);\n\t}\n\n\t/**\n\t * Defines whether the dialog on mobile should have header\n\t * @private\n\t */\n\tget _shouldHideHeader() {\n\t\treturn true;\n\t}\n\n\t/**\n\t * EVENT HANDLERS\n\t */\n\n\t/**\n\t * @override\n\t */\n\tasync onSelectedDatesChange(e: CustomEvent<CalendarSelectionChangeEventDetail>) {\n\t\te.preventDefault();\n\t\t// @ts-ignore Needed for FF\n\t\tconst dateTimePickerContent = e.path ? e.path[1] : e.composedPath()[1];\n\t\tthis._previewValues = {\n\t\t\t...this._previewValues,\n\t\t\tcalendarTimestamp: e.detail.timestamp,\n\t\t\tcalendarValue: e.detail.selectedValues[0],\n\t\t\ttimeSelectionValue: dateTimePickerContent.lastChild.value,\n\t\t};\n\t\tthis._showTimeView = true;\n\n\t\tif (this.showDateView) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait renderFinished();\n\t\tthis._clocks.focus();\n\t}\n\n\tonTimeSelectionChange(e: CustomEvent<TimeSelectionChangeEventDetail>) {\n\t\tthis._previewValues = {\n\t\t\t...this._previewValues,\n\t\t\ttimeSelectionValue: e.detail.value,\n\t\t};\n\t}\n\n\t/**\n\t * Handles document resize to switch between `phoneMode` and normal appearance.\n\t */\n\t_handleResize() {\n\t\tconst documentWidth = document.body.offsetWidth;\n\t\tconst toPhoneMode = documentWidth <= PHONE_MODE_BREAKPOINT;\n\t\tconst modeChange = (toPhoneMode && !this._phoneMode) || (!toPhoneMode && this._phoneMode); // XOR not allowed by lint\n\n\t\tif (modeChange) {\n\t\t\tthis._phoneMode = toPhoneMode;\n\t\t}\n\t}\n\n\tget _submitDisabled() {\n\t\treturn !this._calendarSelectedDates || !this._calendarSelectedDates.length;\n\t}\n\n\t/**\n\t * Handles clicking on the `submit` button, within the picker`s footer.\n\t */\n\t_submitClick() {\n\t\tconst selectedDate = this.getSelectedDateTime();\n\n\t\tconst value = this.getValueFormat().format(selectedDate);\n\t\tif (this.value !== value) {\n\t\t\tthis._updateValueAndFireEvents(value, true, [\"change\", \"value-changed\"]);\n\t\t}\n\n\t\tthis._togglePicker();\n\t}\n\n\t/**\n\t * Handles clicking on the `cancel` button, within the picker`s footer,\n\t * that would disregard the user selection.\n\t */\n\t_cancelClick() {\n\t\tthis._togglePicker();\n\t}\n\n\t/**\n\t * Handles the date/time switch available in `phoneMode` to switch\n\t * between the date and time views.\n\t * @param e\n\t */\n\t_dateTimeSwitchChange(e: CustomEvent<SegmentedButtonSelectionChangeEventDetail>) { // Note: fix when SegmentedButton is implemented in TS\n\t\tconst selectedItem = e.detail.selectedItems[0];\n\t\tthis._showTimeView = selectedItem.getAttribute(\"data-ui5-key\") === \"Time\";\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_modifyDateValue(amount: number, unit: string, preserveDate: boolean) {\n\t\tif (!this.dateValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst modifiedDate = modifyDateBy(CalendarDate.fromLocalJSDate(this.dateValue), amount, unit, preserveDate, this._minDate, this._maxDate);\n\t\tconst modifiedLocalDate = modifiedDate.toLocalJSDate();\n\t\tmodifiedLocalDate.setHours(this.dateValue.getHours());\n\t\tmodifiedLocalDate.setMinutes(this.dateValue.getMinutes());\n\t\tmodifiedLocalDate.setSeconds(this.dateValue.getSeconds());\n\n\t\tconst newValue = this.formatValue(modifiedLocalDate);\n\t\tthis._updateValueAndFireEvents(newValue, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t/**\n\t * Checks if the provided value is valid and within valid range.\n\t * @override\n\t * @param value\n\t */\n\t_checkValueValidity(value: string): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\t\treturn this.isValidValue(value);\n\t}\n\n\tgetSelectedDateTime() {\n\t\tconst selectedDate = this.getValueFormat().parse(this._calendarSelectedDates[0]) as Date;\n\t\tconst selectedTime = this.getValueFormat().parse(this._timeSelectionValue) as Date;\n\t\tif (selectedTime) {\n\t\t\tselectedDate.setHours(selectedTime.getHours());\n\t\t\tselectedDate.setMinutes(selectedTime.getMinutes());\n\t\t\tselectedDate.setSeconds(selectedTime.getSeconds());\n\t\t}\n\n\t\treturn selectedDate;\n\t}\n\n\tgetFormat() {\n\t\treturn this._isPattern\n\t\t\t? DateFormat.getDateTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._formatPattern,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t})\n\t\t\t: DateFormat.getDateTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._formatPattern,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t});\n\t}\n\n\tgetDisplayFormat() {\n\t\treturn this._isDisplayFormatPattern\n\t\t\t? DateFormat.getDateTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._displayFormat,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t})\n\t\t\t: DateFormat.getDateTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._displayFormat,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t});\n\t}\n\n\tgetValueFormat() {\n\t\tif (!this._valueFormat) {\n\t\t\treturn this.getISOFormat();\n\t\t}\n\n\t\treturn this._isValueFormatPattern\n\t\t\t? DateFormat.getDateTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._valueFormat,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t})\n\t\t\t: DateFormat.getDateTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._valueFormat,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t});\n\t}\n\n\tgetISOFormat() {\n\t\tif (!this._isoFormatInstance) {\n\t\t\tthis._isoFormatInstance = DateFormat.getDateTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: \"YYYY-MM-dd hh:mm:ss\",\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t});\n\t\t}\n\t\treturn this._isoFormatInstance;\n\t}\n\n\t/**\n\t * @override\n\t */\n\tget _calendarPickersMode() {\n\t\treturn CalendarPickersMode.DAY_MONTH_YEAR;\n\t}\n}\n\nDateTimePicker.define();\n\nexport default DateTimePicker;\nexport type {\n\tDateTimePickerChangeEventDetail,\n\tDateTimePickerInputEventDetail,\n};\n"]}
1
+ {"version":3,"file":"DateTimePicker.js","sourceRoot":"","sources":["../src/DateTimePicker.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport modifyDateBy from \"@ui5/webcomponents-localization/dist/dates/modifyDateBy.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport \"@ui5/webcomponents-icons/dist/date-time.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport type { SegmentedButtonSelectionChangeEventDetail } from \"./SegmentedButton.js\";\nimport type { CalendarSelectionChangeEventDetail } from \"./Calendar.js\";\nimport DatePicker from \"./DatePicker.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type {\n\tDatePickerChangeEventDetail as DateTimePickerChangeEventDetail,\n\tDatePickerInputEventDetail as DateTimePickerInputEventDetail,\n} from \"./DatePicker.js\";\nimport type { TimeSelectionChangeEventDetail } from \"./TimePickerInternals.js\";\n\n// i18n texts\nimport {\n\tTIMEPICKER_SUBMIT_BUTTON,\n\tTIMEPICKER_CANCEL_BUTTON,\n\tDATETIME_DESCRIPTION,\n\tDATETIME_PICKER_DATE_BUTTON,\n\tDATETIME_PICKER_TIME_BUTTON,\n\tDATETIMEPICKER_POPOVER_ACCESSIBLE_NAME,\n\tDATETIME_VALUE_MISSING,\n\tDATETIME_PATTERN_MISMATCH,\n\tDATETIME_RANGEUNDERFLOW,\n\tDATETIME_RANGEOVERFLOW,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport DateTimePickerTemplate from \"./DateTimePickerTemplate.js\";\n\n// Styles\nimport DateTimePickerCss from \"./generated/themes/DateTimePicker.css.js\";\nimport DateTimePickerPopoverCss from \"./generated/themes/DateTimePickerPopover.css.js\";\nimport CalendarPickersMode from \"./types/CalendarPickersMode.js\";\nimport type TimeSelectionClocks from \"./TimeSelectionClocks.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\n\nconst PHONE_MODE_BREAKPOINT = 640; // px\n\ntype PreviewValues = {\n\ttimeSelectionValue?: string,\n\tcalendarTimestamp?: number,\n\tcalendarValue?: string,\n}\n\n/**\n * @class\n *\n * ### Overview\n * The `DateTimePicker` component alows users to select both date (day, month and year) and time (hours, minutes and seconds)\n * and for the purpose it consists of input field and Date/Time picker.\n *\n * ### Usage\n *\n * Use the `DateTimePicker` if you need a combined date and time input component.\n * Don't use it if you want to use either date, or time value.\n * In this case, use the `DatePicker` or the `TimePicker` components instead.\n *\n * The user can set date/time by:\n *\n * - using the calendar and the time selectors\n * - typing in the input field\n *\n * Programmatically, to set date/time for the `DateTimePicker`, use the `value` property\n *\n * ### Formatting\n *\n * The value entered by typing into the input field must fit to the used date/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](https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table).\n *\n * **Example:** the following format `dd/MM/yyyy, hh:mm:ss aa`\n * corresponds the `13/04/2020, 03:16:16 AM` value.\n *\n * The small 'h' defines \"12\" hours format and the \"aa\" symbols - \"AM/PM\" time periods.\n *\n * **Example:** the following format `dd/MM/yyyy, HH:mm:ss`\n * corresponds the `13/04/2020, 15:16:16` value.\n *\n * The capital 'H' indicates \"24\" hours format.\n *\n * **Note:** If the `formatPattern` does NOT include time,\n * the `DateTimePicker` will fallback to the default time format according to the locale.\n *\n * **Note:** If no placeholder is set to the `DateTimePicker`,\n * the current `formatPattern` is displayed as a placeholder.\n * If another placeholder is needed, it must be set or in case no placeholder is needed - it can be set to an empty string.\n *\n * **Note:** If the user input does NOT match the `formatPattern`,\n * the `DateTimePicker` makes an attempt to parse it based on the\n * locale settings.\n *\n * ### Responsive behavior\n *\n * The `DateTimePicker` is responsive and fully adapts to all devices.\n * For larger screens, such as tablet or desktop, it is displayed as a popover, while\n * on phone devices, it is displayed full screen.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/DateTimePicker.js\";`\n * @constructor\n * @extends DatePicker\n * @since 1.0.0-rc.7\n * @public\n */\n@customElement({\n\ttag: \"ui5-datetime-picker\",\n\ttemplate: DateTimePickerTemplate,\n\tstyles: [\n\t\tDatePicker.styles,\n\t\tDateTimePickerCss,\n\t\tDateTimePickerPopoverCss,\n\t],\n})\nclass DateTimePicker extends DatePicker implements IFormInputElement {\n\t/**\n\t * Defines the visibility of the time view in `phoneMode`.\n\t * For more information, see the `phoneMode` property.\n\t *\n\t * **Note:** The date view would be displayed by default.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_showTimeView = false\n\n\t/**\n\t * Defines if the `DateTimePicker` should be displayed in phone mode.\n\t * The phone mode turns on when the component is used on small screens or phone devices.\n\t * In phone mode the user can see either the calendar view, or the time view\n\t * and can switch between the views via toggle buttons.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_phoneMode = false;\n\n\t/**\n\t * Selected, but not yet confirmed date/time\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_previewValues: PreviewValues = {};\n\n\t/**\n\t * Stores the last valid value to preserve time when entering invalid values\n\t * @private\n\t */\n\t@property()\n\t_lastValidValue: string = \"\";\n\n\t@query(\"[ui5-time-selection-clocks]\")\n\t_clocks!: TimeSelectionClocks;\n\n\t_handleResizeBound: ResizeObserverCallback;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._handleResizeBound = this._handleResize.bind(this);\n\t}\n\n\t/**\n\t * @override\n\t */\n\tonResponsivePopoverAfterClose() {\n\t\tsuper.onResponsivePopoverAfterClose();\n\t\tthis._showTimeView = false;\n\t\tthis._previewValues = {};\n\t}\n\n\t/**\n\t * LIFECYCLE METHODS\n\t */\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(document.body, this._handleResizeBound);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(document.body, this._handleResizeBound);\n\t}\n\n\t/**\n\t * @override\n\t * @private\n\t */\n\t_togglePicker() {\n\t\tsuper._togglePicker();\n\n\t\tif (this.open) {\n\t\t\tlet timeSelectionValue = this.value;\n\n\t\t\t// If current value is invalid, use the last valid value for time selection\n\t\t\tif (!timeSelectionValue || !this.isValidValue(timeSelectionValue)) {\n\t\t\t\ttimeSelectionValue = this._lastValidValue || this.getValueFormat().format(UI5Date.getInstance());\n\t\t\t}\n\n\t\t\tthis._previewValues = {\n\t\t\t\t...this._previewValues,\n\t\t\t\ttimeSelectionValue,\n\t\t\t};\n\t\t}\n\t}\n\n\tget formValidityMessage() {\n\t\tconst validity = this.formValidity;\n\n\t\tif (validity.valueMissing) {\n\t\t\t// @ts-ignore oFormatOptions is a private API of DateFormat\n\t\t\treturn DateTimePicker.i18nBundle.getText(DATETIME_VALUE_MISSING, this.getFormat().oFormatOptions.pattern as string);\n\t\t}\n\t\tif (validity.patternMismatch) {\n\t\t\t// @ts-ignore oFormatOptions is a private API of DateFormat\n\t\t\treturn DateTimePicker.i18nBundle.getText(DATETIME_PATTERN_MISMATCH, this.getFormat().oFormatOptions.pattern as string);\n\t\t}\n\t\tif (validity.rangeUnderflow) {\n\t\t\treturn DateTimePicker.i18nBundle.getText(DATETIME_RANGEUNDERFLOW, this.minDate);\n\t\t}\n\t\tif (validity.rangeOverflow) {\n\t\t\treturn DateTimePicker.i18nBundle.getText(DATETIME_RANGEOVERFLOW, this.maxDate);\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\treturn {\n\t\t\tvalueMissing: this.required && !this.value,\n\t\t\tpatternMismatch: !this.isValidValue(this.value),\n\t\t\trangeUnderflow: !this.isValidMin(this.value),\n\t\t\trangeOverflow: !this.isValidMax(this.value),\n\t\t};\n\t}\n\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.getCombinedDateTimePattern(\"medium\", \"medium\", this._primaryCalendarType) : (this.formatPattern || \"\");\n\t}\n\n\tget _calendarTimestamp() {\n\t\treturn this._previewValues.calendarTimestamp ? this._previewValues.calendarTimestamp : super._calendarTimestamp;\n\t}\n\n\tget _calendarSelectedDates() {\n\t\treturn this._previewValues.calendarValue ? [this._previewValues.calendarValue] : super._calendarSelectedDates;\n\t}\n\n\tget _timeSelectionValue() {\n\t\treturn this._previewValues.timeSelectionValue ? this._previewValues.timeSelectionValue : this.value;\n\t}\n\n\tget openIconName() {\n\t\treturn \"date-time\";\n\t}\n\n\tget btnOKLabel() {\n\t\treturn DateTimePicker.i18nBundle.getText(TIMEPICKER_SUBMIT_BUTTON);\n\t}\n\n\tget btnCancelLabel() {\n\t\treturn DateTimePicker.i18nBundle.getText(TIMEPICKER_CANCEL_BUTTON);\n\t}\n\n\tget btnDateLabel() {\n\t\treturn DateTimePicker.i18nBundle.getText(DATETIME_PICKER_DATE_BUTTON);\n\t}\n\n\tget btnTimeLabel() {\n\t\treturn DateTimePicker.i18nBundle.getText(DATETIME_PICKER_TIME_BUTTON);\n\t}\n\n\tget showFooter() {\n\t\treturn true;\n\t}\n\n\tget showDateView() {\n\t\treturn this._phoneView ? !this._showTimeView : true;\n\t}\n\n\tget showTimeView() {\n\t\treturn this._phoneView ? this._showTimeView : true;\n\t}\n\n\tget _phoneView() {\n\t\treturn isPhone() || this._phoneMode;\n\t}\n\n\t/**\n\t * @override\n\t */\n\tget roleDescription() {\n\t\treturn DateTimePicker.i18nBundle.getText(DATETIME_DESCRIPTION);\n\t}\n\n\t/**\n\t * @override\n\t */\n\tget pickerAccessibleName() {\n\t\treturn DateTimePicker.i18nBundle.getText(DATETIMEPICKER_POPOVER_ACCESSIBLE_NAME, this.ariaLabelText);\n\t}\n\n\t/**\n\t * Defines whether the dialog on mobile should have header\n\t * @private\n\t */\n\tget _shouldHideHeader() {\n\t\treturn true;\n\t}\n\n\t/**\n\t * EVENT HANDLERS\n\t */\n\n\t/**\n\t * @override\n\t */\n\tasync onSelectedDatesChange(e: CustomEvent<CalendarSelectionChangeEventDetail>) {\n\t\te.preventDefault();\n\n\t\t// Try to get the current time value from the time picker,\n\t\t// but fallback to last valid value if current picker time is empty or invalid\n\t\tlet timeValue = this._clocks?.value || \"\";\n\t\tif (!timeValue || !this.isValidValue(timeValue)) {\n\t\t\ttimeValue = this._lastValidValue || this.getValueFormat().format(UI5Date.getInstance());\n\t\t}\n\n\t\tthis._previewValues = {\n\t\t\t...this._previewValues,\n\t\t\tcalendarTimestamp: e.detail.timestamp,\n\t\t\tcalendarValue: e.detail.selectedValues[0],\n\t\t\ttimeSelectionValue: timeValue,\n\t\t};\n\t\tthis._showTimeView = true;\n\n\t\tif (this.showDateView) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait renderFinished();\n\t\tthis._clocks.focus();\n\t}\n\n\tonTimeSelectionChange(e: CustomEvent<TimeSelectionChangeEventDetail>) {\n\t\tthis._previewValues = {\n\t\t\t...this._previewValues,\n\t\t\ttimeSelectionValue: e.detail.value,\n\t\t};\n\t}\n\n\t/**\n\t * Handles document resize to switch between `phoneMode` and normal appearance.\n\t */\n\t_handleResize() {\n\t\tconst documentWidth = document.body.offsetWidth;\n\t\tconst toPhoneMode = documentWidth <= PHONE_MODE_BREAKPOINT;\n\t\tconst modeChange = (toPhoneMode && !this._phoneMode) || (!toPhoneMode && this._phoneMode); // XOR not allowed by lint\n\n\t\tif (modeChange) {\n\t\t\tthis._phoneMode = toPhoneMode;\n\t\t}\n\t}\n\n\tget _submitDisabled() {\n\t\treturn !this._calendarSelectedDates || !this._calendarSelectedDates.length;\n\t}\n\n\t/**\n\t * Handles clicking on the `submit` button, within the picker`s footer.\n\t */\n\t_submitClick() {\n\t\tconst selectedDate = this.getSelectedDateTime();\n\n\t\tconst value = this.getValueFormat().format(selectedDate);\n\t\tif (this.value !== value) {\n\t\t\tthis._updateValueAndFireEvents(value, true, [\"change\", \"value-changed\"]);\n\t\t}\n\n\t\tthis._togglePicker();\n\t}\n\n\t/**\n\t * Handles clicking on the `cancel` button, within the picker`s footer,\n\t * that would disregard the user selection.\n\t */\n\t_cancelClick() {\n\t\tthis._togglePicker();\n\t}\n\n\t/**\n\t * Handles the date/time switch available in `phoneMode` to switch\n\t * between the date and time views.\n\t * @param e\n\t */\n\t_dateTimeSwitchChange(e: CustomEvent<SegmentedButtonSelectionChangeEventDetail>) { // Note: fix when SegmentedButton is implemented in TS\n\t\tconst selectedItem = e.detail.selectedItems[0];\n\t\tthis._showTimeView = selectedItem.getAttribute(\"data-ui5-key\") === \"Time\";\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_modifyDateValue(amount: number, unit: string, preserveDate: boolean) {\n\t\tif (!this.dateValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst modifiedDate = modifyDateBy(CalendarDate.fromLocalJSDate(this.dateValue), amount, unit, preserveDate, this._minDate, this._maxDate);\n\t\tconst modifiedLocalDate = modifiedDate.toLocalJSDate();\n\t\tmodifiedLocalDate.setHours(this.dateValue.getHours());\n\t\tmodifiedLocalDate.setMinutes(this.dateValue.getMinutes());\n\t\tmodifiedLocalDate.setSeconds(this.dateValue.getSeconds());\n\n\t\tconst newValue = this.formatValue(modifiedLocalDate);\n\t\tthis._updateValueAndFireEvents(newValue, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_updateValueAndFireEvents(value: string, normalizeValue: boolean, events: Array<\"change\" | \"value-changed\" | \"input\">, updateValue = true) {\n\t\tsuper._updateValueAndFireEvents(value, normalizeValue, events, updateValue);\n\n\t\t// Always store the current value if it's valid (handles both updates and initial values)\n\t\tif (this.value && this.isValidValue(this.value)) {\n\t\t\tthis._lastValidValue = this.value;\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the provided value is valid and within valid range.\n\t * @override\n\t * @param value\n\t */\n\t_checkValueValidity(value: string): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\t\treturn this.isValidValue(value);\n\t}\n\n\tgetSelectedDateTime() {\n\t\tconst selectedDate = this.getValueFormat().parse(this._calendarSelectedDates[0]) as Date;\n\t\tconst selectedTime = this.getValueFormat().parse(this._timeSelectionValue) as Date;\n\t\tif (selectedTime) {\n\t\t\tselectedDate.setHours(selectedTime.getHours());\n\t\t\tselectedDate.setMinutes(selectedTime.getMinutes());\n\t\t\tselectedDate.setSeconds(selectedTime.getSeconds());\n\t\t}\n\n\t\treturn selectedDate;\n\t}\n\n\tgetFormat() {\n\t\treturn this._isPattern\n\t\t\t? DateFormat.getDateTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._formatPattern,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t})\n\t\t\t: DateFormat.getDateTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._formatPattern,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t});\n\t}\n\n\tgetDisplayFormat() {\n\t\treturn this._isDisplayFormatPattern\n\t\t\t? DateFormat.getDateTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._displayFormat,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t})\n\t\t\t: DateFormat.getDateTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._displayFormat,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t});\n\t}\n\n\tgetValueFormat() {\n\t\tif (!this._valueFormat) {\n\t\t\treturn this.getISOFormat();\n\t\t}\n\n\t\treturn this._isValueFormatPattern\n\t\t\t? DateFormat.getDateTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._valueFormat,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t})\n\t\t\t: DateFormat.getDateTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._valueFormat,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t});\n\t}\n\n\tgetISOFormat() {\n\t\tif (!this._isoFormatInstance) {\n\t\t\tthis._isoFormatInstance = DateFormat.getDateTimeInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: \"YYYY-MM-dd hh:mm:ss\",\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t});\n\t\t}\n\t\treturn this._isoFormatInstance;\n\t}\n\n\t/**\n\t * @override\n\t */\n\tget _calendarPickersMode() {\n\t\treturn CalendarPickersMode.DAY_MONTH_YEAR;\n\t}\n}\n\nDateTimePicker.define();\n\nexport default DateTimePicker;\nexport type {\n\tDateTimePickerChangeEventDetail,\n\tDateTimePickerInputEventDetail,\n};\n"]}
@@ -6,7 +6,7 @@ export default function DayPickerTemplate() {
6
6
  }, style: {
7
7
  "justify-content": "center",
8
8
  display: this._hidden ? "none" : "flex",
9
- }, onKeyDown: this._onkeydown, onKeyUp: this._onkeyup, onClick: this._onclick, onMouseOver: this._onmouseover, onFocusIn: this._onfocusin, onFocusOut: this._onfocusout, children: _jsxs("div", { id: `${this._id}-content`, class: "ui5-dp-content", role: "grid", "aria-roledescription": this.ariaRoledescription, children: [_jsx("div", { role: "row", class: "ui5-dp-days-names-container", children: this._dayNames.map(day => _jsx("div", { role: "columnheader", "aria-label": day.name, class: day.classes, children: day.ultraShortName })) }), this._weeks.map(week => {
9
+ }, onKeyDown: this._onkeydown, onKeyUp: this._onkeyup, onClick: this._onclick, onMouseOver: this._onmouseover, children: _jsxs("div", { id: `${this._id}-content`, class: "ui5-dp-content", role: "grid", "aria-roledescription": this.ariaRoledescription, children: [_jsx("div", { role: "row", class: "ui5-dp-days-names-container", children: this._dayNames.map(day => _jsx("div", { role: "columnheader", "aria-label": day.name, class: day.classes, children: day.ultraShortName })) }), this._weeks.map(week => {
10
10
  return week.length > 0 ?
11
11
  _jsx("div", { class: "ui5-dp-weeks-row", role: "row", children: week.map(day => {
12
12
  return "timestamp" in day ?
@@ -1 +1 @@
1
- {"version":3,"file":"DayPickerTemplate.js","sourceRoot":"","sources":["../src/DayPickerTemplate.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACxC,OAAO,CACN,cACC,KAAK,EAAE;YACN,aAAa,EAAE,IAAI;YACnB,yBAAyB,EAAE,IAAI,CAAC,wBAAwB;SACxD,EACD,KAAK,EAAE;YACN,iBAAiB,EAAE,QAAQ;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;SACvC,EACD,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,WAAW,EAAE,IAAI,CAAC,YAAY,EAC9B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,UAAU,EAAE,IAAI,CAAC,WAAW,YAE5B,eAAK,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,EAAE,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,MAAM,0BAAuB,IAAI,CAAC,mBAAmB,aAChH,cAAK,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,6BAA6B,YACjD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACzB,cACC,IAAI,EAAC,cAAc,gBACP,GAAG,CAAC,IAAI,EACpB,KAAK,EAAE,GAAG,CAAC,OAAO,YAEjB,GAAG,CAAC,cAAc,GACd,CACN,GACI,EAEL,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACtB,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBACxB,cAAK,KAAK,EAAC,kBAAkB,EAAC,IAAI,EAAC,KAAK,YACtC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gCACf,OAAO,WAAW,IAAI,GAAG,CAAC,CAAC;oCAC1B,uCACuB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EACrD,QAAQ,EAAE,GAAG,CAAC,SAAS,wBACH,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,wBACjC,GAAG,CAAC,SAAS,EACjC,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,GAAG,CAAC,OAAO,mBACH,GAAG,CAAC,YAAY,gBACnB,GAAG,CAAC,SAAS,mBACV,GAAG,CAAC,YAAY,EAC/B,KAAK,EAAE,GAAG,CAAC,OAAO,EAClB,IAAI,EAAE,GAAG,CAAC,KAAK,aACf,eACC,KAAK,EAAC,gBAAgB,wBACF,GAAG,CAAC,SAAS,YAEhC,GAAG,CAAC,GAAG,GACF,EACN,GAAG,CAAC,wBAAwB;gDAC1B,eAAM,KAAK,EAAC,kCAAkC,YAC5C,GAAG,CAAC,SAAS,GACR,EAET,GAAG,CAAC,IAAI;gDACN,cAAK,KAAK,EAAE,qBAAqB,GAAG,CAAC,IAAI,EAAE,GAAQ,IAEjD;oCACN,CAAC;wCACD,CAAC,GAAG,CAAC,QAAQ,IAAI,CAChB,cACC,SAAS,EAAC,2BAA2B,EACrC,IAAI,EAAC,WAAW,gBACJ,iBAAiB,GAAG,CAAC,OAAO,EAAE,YAE1C,eAAM,SAAS,EAAC,iBAAiB,YAAE,GAAG,CAAC,OAAO,GAAQ,GACjD,CACN,CAAC;4BACJ,CAAC,CAAC,GACG;wBACN,CAAC;4BACD,cAAK,KAAK,EAAC,mBAAmB,GAAO,CAAC;gBACxC,CAAC,CAAC,IACG,GACD,CAAC,CAAC;AACV,CAAC","sourcesContent":["import type DayPicker from \"./DayPicker.js\";\n\nexport default function DayPickerTemplate(this: DayPicker) {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t\"ui5-dp-root\": true,\n\t\t\t\t\"ui5-dp-twocalendartypes\": this.hasSecondaryCalendarType,\n\t\t\t}}\n\t\t\tstyle={{\n\t\t\t\t\"justify-content\": \"center\",\n\t\t\t\tdisplay: this._hidden ? \"none\" : \"flex\",\n\t\t\t}}\n\t\t\tonKeyDown={this._onkeydown}\n\t\t\tonKeyUp={this._onkeyup}\n\t\t\tonClick={this._onclick}\n\t\t\tonMouseOver={this._onmouseover}\n\t\t\tonFocusIn={this._onfocusin}\n\t\t\tonFocusOut={this._onfocusout}\n\t\t>\n\t\t\t<div id={`${this._id}-content`} class=\"ui5-dp-content\" role=\"grid\" aria-roledescription={this.ariaRoledescription}>\n\t\t\t\t<div role=\"row\" class=\"ui5-dp-days-names-container\">\n\t\t\t\t\t{this._dayNames.map(day =>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\trole=\"columnheader\"\n\t\t\t\t\t\t\taria-label={day.name}\n\t\t\t\t\t\t\tclass={day.classes}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{day.ultraShortName}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t{this._weeks.map(week => {\n\t\t\t\t\t return week.length > 0 ?\n\t\t\t\t\t\t<div class=\"ui5-dp-weeks-row\" role=\"row\">\n\t\t\t\t\t\t\t{week.map(day => {\n\t\t\t\t\t\t\t\treturn \"timestamp\" in day ?\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tdata-ui5-special-day={day.type ? day.type : undefined}\n\t\t\t\t\t\t\t\t\t\ttabindex={day._tabIndex}\n\t\t\t\t\t\t\t\t\t\tdata-sap-focus-ref={day.focusRef ? \"true\" : undefined}\n\t\t\t\t\t\t\t\t\t\tdata-sap-timestamp={day.timestamp}\n\t\t\t\t\t\t\t\t\t\trole=\"gridcell\"\n\t\t\t\t\t\t\t\t\t\ttitle={day.tooltip}\n\t\t\t\t\t\t\t\t\t\taria-selected={day.ariaSelected}\n\t\t\t\t\t\t\t\t\t\taria-label={day.ariaLabel}\n\t\t\t\t\t\t\t\t\t\taria-disabled={day.ariaDisabled}\n\t\t\t\t\t\t\t\t\t\tclass={day.classes}\n\t\t\t\t\t\t\t\t\t\tpart={day.parts}>\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclass=\"ui5-dp-daytext\"\n\t\t\t\t\t\t\t\t\t\t\tdata-sap-timestamp={day.timestamp}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{day.day}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t{day._isSecondaryCalendarType &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ui5-dp-daytext ui5-dp-daysectext\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{day.secondDay}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t{day.type &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class={`ui5-dp-specialday ${day.type}`}></div>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t!day.isHidden && (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"ui5-dp-weekname-container\"\n\t\t\t\t\t\t\t\t\t\t\trole=\"rowheader\"\n\t\t\t\t\t\t\t\t\t\t\taria-label={`Calendar Week ${day.weekNum}`}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"ui5-dp-weekname\">{day.weekNum}</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t:\n\t\t\t\t\t\t<div class=\"ui5-dp-empty-week\"></div>;\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>);\n}\n"]}
1
+ {"version":3,"file":"DayPickerTemplate.js","sourceRoot":"","sources":["../src/DayPickerTemplate.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACxC,OAAO,CACN,cACC,KAAK,EAAE;YACN,aAAa,EAAE,IAAI;YACnB,yBAAyB,EAAE,IAAI,CAAC,wBAAwB;SACxD,EACD,KAAK,EAAE;YACN,iBAAiB,EAAE,QAAQ;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;SACvC,EACD,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,WAAW,EAAE,IAAI,CAAC,YAAY,YAE9B,eAAK,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,EAAE,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,MAAM,0BAAuB,IAAI,CAAC,mBAAmB,aAChH,cAAK,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,6BAA6B,YACjD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACzB,cACC,IAAI,EAAC,cAAc,gBACP,GAAG,CAAC,IAAI,EACpB,KAAK,EAAE,GAAG,CAAC,OAAO,YAEjB,GAAG,CAAC,cAAc,GACd,CACN,GACI,EAEL,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACtB,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBACxB,cAAK,KAAK,EAAC,kBAAkB,EAAC,IAAI,EAAC,KAAK,YACtC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gCACf,OAAO,WAAW,IAAI,GAAG,CAAC,CAAC;oCAC1B,uCACuB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EACrD,QAAQ,EAAE,GAAG,CAAC,SAAS,wBACH,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,wBACjC,GAAG,CAAC,SAAS,EACjC,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,GAAG,CAAC,OAAO,mBACH,GAAG,CAAC,YAAY,gBACnB,GAAG,CAAC,SAAS,mBACV,GAAG,CAAC,YAAY,EAC/B,KAAK,EAAE,GAAG,CAAC,OAAO,EAClB,IAAI,EAAE,GAAG,CAAC,KAAK,aACf,eACC,KAAK,EAAC,gBAAgB,wBACF,GAAG,CAAC,SAAS,YAEhC,GAAG,CAAC,GAAG,GACF,EACN,GAAG,CAAC,wBAAwB;gDAC1B,eAAM,KAAK,EAAC,kCAAkC,YAC5C,GAAG,CAAC,SAAS,GACR,EAET,GAAG,CAAC,IAAI;gDACN,cAAK,KAAK,EAAE,qBAAqB,GAAG,CAAC,IAAI,EAAE,GAAQ,IAEjD;oCACN,CAAC;wCACD,CAAC,GAAG,CAAC,QAAQ,IAAI,CAChB,cACC,SAAS,EAAC,2BAA2B,EACrC,IAAI,EAAC,WAAW,gBACJ,iBAAiB,GAAG,CAAC,OAAO,EAAE,YAE1C,eAAM,SAAS,EAAC,iBAAiB,YAAE,GAAG,CAAC,OAAO,GAAQ,GACjD,CACN,CAAC;4BACJ,CAAC,CAAC,GACG;wBACN,CAAC;4BACD,cAAK,KAAK,EAAC,mBAAmB,GAAO,CAAC;gBACxC,CAAC,CAAC,IACG,GACD,CAAC,CAAC;AACV,CAAC","sourcesContent":["import type DayPicker from \"./DayPicker.js\";\n\nexport default function DayPickerTemplate(this: DayPicker) {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t\"ui5-dp-root\": true,\n\t\t\t\t\"ui5-dp-twocalendartypes\": this.hasSecondaryCalendarType,\n\t\t\t}}\n\t\t\tstyle={{\n\t\t\t\t\"justify-content\": \"center\",\n\t\t\t\tdisplay: this._hidden ? \"none\" : \"flex\",\n\t\t\t}}\n\t\t\tonKeyDown={this._onkeydown}\n\t\t\tonKeyUp={this._onkeyup}\n\t\t\tonClick={this._onclick}\n\t\t\tonMouseOver={this._onmouseover}\n\t\t>\n\t\t\t<div id={`${this._id}-content`} class=\"ui5-dp-content\" role=\"grid\" aria-roledescription={this.ariaRoledescription}>\n\t\t\t\t<div role=\"row\" class=\"ui5-dp-days-names-container\">\n\t\t\t\t\t{this._dayNames.map(day =>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\trole=\"columnheader\"\n\t\t\t\t\t\t\taria-label={day.name}\n\t\t\t\t\t\t\tclass={day.classes}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{day.ultraShortName}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t{this._weeks.map(week => {\n\t\t\t\t\t return week.length > 0 ?\n\t\t\t\t\t\t<div class=\"ui5-dp-weeks-row\" role=\"row\">\n\t\t\t\t\t\t\t{week.map(day => {\n\t\t\t\t\t\t\t\treturn \"timestamp\" in day ?\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tdata-ui5-special-day={day.type ? day.type : undefined}\n\t\t\t\t\t\t\t\t\t\ttabindex={day._tabIndex}\n\t\t\t\t\t\t\t\t\t\tdata-sap-focus-ref={day.focusRef ? \"true\" : undefined}\n\t\t\t\t\t\t\t\t\t\tdata-sap-timestamp={day.timestamp}\n\t\t\t\t\t\t\t\t\t\trole=\"gridcell\"\n\t\t\t\t\t\t\t\t\t\ttitle={day.tooltip}\n\t\t\t\t\t\t\t\t\t\taria-selected={day.ariaSelected}\n\t\t\t\t\t\t\t\t\t\taria-label={day.ariaLabel}\n\t\t\t\t\t\t\t\t\t\taria-disabled={day.ariaDisabled}\n\t\t\t\t\t\t\t\t\t\tclass={day.classes}\n\t\t\t\t\t\t\t\t\t\tpart={day.parts}>\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclass=\"ui5-dp-daytext\"\n\t\t\t\t\t\t\t\t\t\t\tdata-sap-timestamp={day.timestamp}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{day.day}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t{day._isSecondaryCalendarType &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ui5-dp-daytext ui5-dp-daysectext\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{day.secondDay}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t{day.type &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class={`ui5-dp-specialday ${day.type}`}></div>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t!day.isHidden && (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"ui5-dp-weekname-container\"\n\t\t\t\t\t\t\t\t\t\t\trole=\"rowheader\"\n\t\t\t\t\t\t\t\t\t\t\taria-label={`Calendar Week ${day.weekNum}`}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"ui5-dp-weekname\">{day.weekNum}</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t:\n\t\t\t\t\t\t<div class=\"ui5-dp-empty-week\"></div>;\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>);\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
- import type { JsxTemplate } from "@ui5/webcomponents-base";
3
+ import type { JsxTemplate } from "@ui5/webcomponents-base/dist/index.js";
4
4
  import IconMode from "./types/IconMode.js";
5
5
  import type Input from "./Input.js";
6
6
  import type List from "./List.js";
@@ -50,9 +50,10 @@ interface IDynamicDateRangeOption {
50
50
  format: (value: DynamicDateRangeValue) => string;
51
51
  parse: (value: string) => DynamicDateRangeValue | undefined;
52
52
  toDates: (value: DynamicDateRangeValue) => Array<Date>;
53
- handleSelectionChange?: (event: CustomEvent) => DynamicDateRangeValue | undefined;
53
+ handleSelectionChange?: (event: CustomEvent, value: DynamicDateRangeValue | undefined) => DynamicDateRangeValue | undefined;
54
54
  template?: JsxTemplate;
55
55
  isValidString: (value: string) => boolean;
56
+ resetState?: () => void;
56
57
  }
57
58
  /**
58
59
  * @class
@@ -78,6 +79,9 @@ interface IDynamicDateRangeOption {
78
79
  * - "TOMORROW" - Represents the next date. An example value is `{ operator: "TOMORROW"}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/Tomorrow.js";`
79
80
  * - "DATE" - Represents a single date. An example value is `{ operator: "DATE", values: [new Date()]}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/SingleDate.js";`
80
81
  * - "DATERANGE" - Represents a range of dates. An example value is `{ operator: "DATERANGE", values: [new Date(), new Date()]}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/DateRange.js";`
82
+ * - "DATETIMERANGE" - Represents a range of dates with times. An example value is `{ operator: "DATETIMERANGE", values: [new Date(), new Date()]}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/DateTimeRange.js";`
83
+ * - "FROMDATETIME" - Represents a range from date and time. An example value is `{ operator: "FROMDATETIME", values: [new Date()]}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/FromDateTime.js";`
84
+ * - "TODATETIME" - Represents a range to date and time. An example value is `{ operator: "TODATETIME", values: [new Date()]}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/ToDateTime.js";`
81
85
  * - "LASTDAYS" - Represents Last X Days from today. An example value is `{ operator: "LASTDAYS", values: [2]}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/LastOptions.js";`
82
86
  * - "LASTWEEKS" - Represents Last X Weeks from today. An example value is `{ operator: "LASTWEEKS", values: [3]}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/LastOptions.js";`
83
87
  * - "LASTMONTHS" - Represents Last X Months from today. An example value is `{ operator: "LASTMONTHS", values: [6]}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/LastOptions.js";`
@@ -123,18 +127,21 @@ declare class DynamicDateRange extends UI5Element {
123
127
  */
124
128
  open: boolean;
125
129
  _currentOption?: IDynamicDateRangeOption;
130
+ _lastSelectedOption?: IDynamicDateRangeOption;
126
131
  currentValue?: DynamicDateRangeValue;
127
132
  optionsObjects: Array<IDynamicDateRangeOption>;
128
133
  static optionsClasses: Map<string, new (operators?: Array<string>) => IDynamicDateRangeOption>;
129
134
  _input?: Input;
130
135
  _list?: List;
131
136
  onBeforeRendering(): void;
137
+ onAfterRendering(): Promise<void>;
132
138
  /**
133
139
  * Creates and normalizes options from the options string
134
140
  */
135
141
  _createNormalizedOptions(): Array<IDynamicDateRangeOption>;
136
142
  splitOptions(options: string): Array<string>;
137
143
  _focusSelectedItem(): void;
144
+ _focusLastSelectedItem(): void;
138
145
  /**
139
146
  * Defines whether the value help icon is hidden
140
147
  * @private
@@ -13,6 +13,7 @@ import query from "@ui5/webcomponents-base/dist/decorators/query.js";
13
13
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
14
14
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
15
15
  import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
16
+ import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
16
17
  import { isF4, isShow } from "@ui5/webcomponents-base/dist/Keys.js";
17
18
  import DynamicDateRangeTemplate from "./DynamicDateRangeTemplate.js";
18
19
  import IconMode from "./types/IconMode.js";
@@ -47,6 +48,9 @@ import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverComm
47
48
  * - "TOMORROW" - Represents the next date. An example value is `{ operator: "TOMORROW"}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/Tomorrow.js";`
48
49
  * - "DATE" - Represents a single date. An example value is `{ operator: "DATE", values: [new Date()]}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/SingleDate.js";`
49
50
  * - "DATERANGE" - Represents a range of dates. An example value is `{ operator: "DATERANGE", values: [new Date(), new Date()]}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/DateRange.js";`
51
+ * - "DATETIMERANGE" - Represents a range of dates with times. An example value is `{ operator: "DATETIMERANGE", values: [new Date(), new Date()]}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/DateTimeRange.js";`
52
+ * - "FROMDATETIME" - Represents a range from date and time. An example value is `{ operator: "FROMDATETIME", values: [new Date()]}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/FromDateTime.js";`
53
+ * - "TODATETIME" - Represents a range to date and time. An example value is `{ operator: "TODATETIME", values: [new Date()]}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/ToDateTime.js";`
50
54
  * - "LASTDAYS" - Represents Last X Days from today. An example value is `{ operator: "LASTDAYS", values: [2]}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/LastOptions.js";`
51
55
  * - "LASTWEEKS" - Represents Last X Weeks from today. An example value is `{ operator: "LASTWEEKS", values: [3]}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/LastOptions.js";`
52
56
  * - "LASTMONTHS" - Represents Last X Months from today. An example value is `{ operator: "LASTMONTHS", values: [6]}`. Import: `import "@ui5/webcomponents/dist/dynamic-date-range-options/LastOptions.js";`
@@ -89,6 +93,13 @@ let DynamicDateRange = DynamicDateRange_1 = class DynamicDateRange extends UI5El
89
93
  this.optionsObjects = this._createNormalizedOptions();
90
94
  this._focusSelectedItem();
91
95
  }
96
+ async onAfterRendering() {
97
+ await renderFinished().then(() => {
98
+ setTimeout(() => {
99
+ this._focusLastSelectedItem();
100
+ }, 0);
101
+ });
102
+ }
92
103
  /**
93
104
  * Creates and normalizes options from the options string
94
105
  */
@@ -125,6 +136,21 @@ let DynamicDateRange = DynamicDateRange_1 = class DynamicDateRange extends UI5El
125
136
  this._list?.focusItem(listItem);
126
137
  }
127
138
  }
139
+ _focusLastSelectedItem() {
140
+ if (!this._lastSelectedOption) {
141
+ return;
142
+ }
143
+ // Ensure the list exists and has items
144
+ if (!this._list || !this._list.items.length) {
145
+ return;
146
+ }
147
+ // Find the index of the last selected option in the options array
148
+ const optionIndex = this.optionsObjects.findIndex(option => option.operator === this._lastSelectedOption?.operator);
149
+ if (optionIndex >= 0 && optionIndex < this._list.items.length) {
150
+ const listItem = this._list.items[optionIndex];
151
+ this._list.focusItem(listItem);
152
+ }
153
+ }
128
154
  /**
129
155
  * Defines whether the value help icon is hidden
130
156
  * @private
@@ -137,7 +163,7 @@ let DynamicDateRange = DynamicDateRange_1 = class DynamicDateRange extends UI5El
137
163
  }
138
164
  _togglePicker() {
139
165
  if (this.open) {
140
- this.open = false;
166
+ this._close();
141
167
  }
142
168
  else {
143
169
  this.open = true;
@@ -145,6 +171,7 @@ let DynamicDateRange = DynamicDateRange_1 = class DynamicDateRange extends UI5El
145
171
  }
146
172
  _selectOption(e) {
147
173
  this._currentOption = this.optionsObjects.find(option => option.text === e.detail.item.textContent);
174
+ this._lastSelectedOption = this._currentOption;
148
175
  if (!this._currentOption?.template) {
149
176
  this.currentValue = this._currentOption?.parse(this._currentOption.text);
150
177
  this._submitValue();
@@ -221,10 +248,12 @@ let DynamicDateRange = DynamicDateRange_1 = class DynamicDateRange extends UI5El
221
248
  else {
222
249
  this.value = undefined;
223
250
  }
251
+ this._currentOption?.resetState?.();
224
252
  this._currentOption = undefined;
225
253
  this.open = false;
226
254
  }
227
255
  _close() {
256
+ this._currentOption?.resetState?.();
228
257
  this._currentOption = undefined;
229
258
  this.open = false;
230
259
  }
@@ -256,7 +285,11 @@ let DynamicDateRange = DynamicDateRange_1 = class DynamicDateRange extends UI5El
256
285
  return DynamicDateRange_1.i18nBundle.getText(DYNAMIC_DATE_RANGE_EMPTY_SELECTED_TEXT);
257
286
  }
258
287
  handleSelectionChange(e) {
259
- this.currentValue = this._currentOption?.handleSelectionChange && this._currentOption?.handleSelectionChange(e);
288
+ const value = this._currentOption?.handleSelectionChange?.(e, this.currentValue);
289
+ this.currentValue = JSON.parse(JSON.stringify(value)); // deep clone
290
+ if (this.currentValue) {
291
+ this.currentValue.values = value?.values;
292
+ }
260
293
  // Update _currentOption if the operator changed
261
294
  if (this.currentValue && this.currentValue.operator !== this._currentOption?.operator) {
262
295
  this._currentOption = this.getOption(this.currentValue.operator);