@ui5/webcomponents 1.0.0-rc.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (742) hide show
  1. package/CHANGELOG.md +550 -1
  2. package/README.md +144 -52
  3. package/csp.js +7 -0
  4. package/customI18n.js +50 -0
  5. package/dist/Assets-static.js +6 -0
  6. package/dist/Assets.js +2 -1
  7. package/dist/Avatar.js +190 -50
  8. package/dist/AvatarGroup.js +603 -0
  9. package/dist/Badge.js +45 -19
  10. package/dist/Breadcrumbs.js +573 -0
  11. package/dist/BreadcrumbsItem.js +103 -0
  12. package/dist/BusyIndicator.js +121 -34
  13. package/dist/Button.js +110 -66
  14. package/dist/Calendar.js +324 -622
  15. package/dist/CalendarDate.js +45 -0
  16. package/dist/CalendarHeader.js +113 -59
  17. package/dist/CalendarPart.js +111 -0
  18. package/dist/Card.js +38 -198
  19. package/dist/CardHeader.js +288 -0
  20. package/dist/Carousel.js +255 -96
  21. package/dist/CheckBox.js +140 -51
  22. package/dist/ColorPalette.js +493 -0
  23. package/dist/ColorPaletteItem.js +137 -0
  24. package/dist/ColorPalettePopover.js +219 -0
  25. package/dist/ColorPicker.js +524 -0
  26. package/dist/ComboBox.js +356 -147
  27. package/dist/ComboBoxFilters.js +8 -1
  28. package/dist/ComboBoxGroupItem.js +70 -0
  29. package/dist/ComboBoxItem.js +11 -24
  30. package/dist/CustomListItem.js +36 -2
  31. package/dist/DateComponentBase.js +170 -0
  32. package/dist/DatePicker.js +265 -494
  33. package/dist/DateRangePicker.js +189 -305
  34. package/dist/DateTimePicker.js +96 -414
  35. package/dist/DayPicker.js +450 -647
  36. package/dist/Dialog.js +369 -43
  37. package/dist/DurationPicker.js +110 -512
  38. package/dist/FileUploader.js +74 -35
  39. package/dist/GroupHeaderListItem.js +22 -13
  40. package/dist/Icon.js +128 -43
  41. package/dist/Input.js +349 -158
  42. package/dist/Interfaces.js +192 -0
  43. package/dist/Label.js +27 -12
  44. package/dist/Link.js +122 -29
  45. package/dist/List.js +377 -104
  46. package/dist/ListItem.js +62 -15
  47. package/dist/ListItemBase.js +29 -2
  48. package/dist/MessageStrip.js +48 -47
  49. package/dist/MonthPicker.js +173 -227
  50. package/dist/MultiComboBox.js +384 -148
  51. package/dist/MultiComboBoxItem.js +7 -2
  52. package/dist/MultiInput.js +55 -24
  53. package/dist/Option.js +48 -5
  54. package/dist/Panel.js +64 -74
  55. package/dist/Popover.js +195 -80
  56. package/dist/Popup.js +158 -64
  57. package/dist/ProgressIndicator.js +28 -20
  58. package/dist/RadioButton.js +126 -43
  59. package/dist/RadioButtonGroup.js +53 -29
  60. package/dist/RangeSlider.js +769 -0
  61. package/dist/RatingIndicator.js +27 -37
  62. package/dist/ResponsivePopover.js +57 -43
  63. package/dist/SegmentedButton.js +102 -68
  64. package/dist/SegmentedButtonItem.js +109 -0
  65. package/dist/Select.js +278 -119
  66. package/dist/Slider.js +320 -0
  67. package/dist/SliderBase.js +842 -0
  68. package/dist/StandardListItem.js +35 -9
  69. package/dist/StepInput.js +684 -0
  70. package/dist/SuggestionGroupItem.js +64 -0
  71. package/dist/SuggestionItem.js +13 -26
  72. package/dist/SuggestionListItem.js +17 -6
  73. package/dist/Switch.js +55 -34
  74. package/dist/Tab.js +47 -26
  75. package/dist/TabContainer.js +98 -38
  76. package/dist/TabSeparator.js +1 -0
  77. package/dist/Table.js +474 -22
  78. package/dist/TableCell.js +11 -9
  79. package/dist/TableColumn.js +13 -3
  80. package/dist/TableGroupRow.js +160 -0
  81. package/dist/TableRow.js +210 -11
  82. package/dist/TextArea.js +86 -46
  83. package/dist/TimePicker.js +28 -743
  84. package/dist/TimePickerBase.js +463 -0
  85. package/dist/TimeSelection.js +493 -0
  86. package/dist/Title.js +16 -9
  87. package/dist/Toast.js +19 -8
  88. package/dist/ToggleButton.js +21 -8
  89. package/dist/Token.js +34 -18
  90. package/dist/Tokenizer.js +75 -42
  91. package/dist/Tree.js +97 -41
  92. package/dist/TreeItem.js +44 -9
  93. package/dist/TreeListItem.js +88 -4
  94. package/dist/WheelSlider.js +60 -60
  95. package/dist/YearPicker.js +188 -284
  96. package/dist/api.json +6871 -1
  97. package/dist/features/ColorPaletteMoreColors.js +42 -0
  98. package/dist/features/InputElementsFormSupport.js +0 -1
  99. package/dist/features/InputSuggestions.js +137 -45
  100. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  104. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
  105. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  106. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  107. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  108. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  109. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
  110. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  111. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  112. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  113. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  114. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
  115. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  116. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  117. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  118. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
  119. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  120. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  121. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  122. package/dist/generated/assets/i18n/messagebundle_in.json +1 -0
  123. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  124. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  125. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  126. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  127. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  128. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  129. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  130. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  131. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  132. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  133. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  134. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  135. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  136. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  137. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  138. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  139. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  140. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  141. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  142. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  143. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  144. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  145. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  146. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  147. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  148. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  149. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  150. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  151. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  152. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  153. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  154. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  155. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
  156. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
  157. package/dist/generated/i18n/i18n-defaults.js +2 -2
  158. package/dist/generated/json-imports/Themes-static.js +35 -0
  159. package/dist/generated/json-imports/Themes.js +23 -19
  160. package/dist/generated/json-imports/i18n-static.js +162 -0
  161. package/dist/generated/json-imports/i18n.js +113 -89
  162. package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
  163. package/dist/generated/templates/AvatarTemplate.lit.js +9 -16
  164. package/dist/generated/templates/BadgeTemplate.lit.js +5 -13
  165. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
  166. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
  167. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -13
  168. package/dist/generated/templates/ButtonTemplate.lit.js +6 -13
  169. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -11
  170. package/dist/generated/templates/CalendarTemplate.lit.js +4 -11
  171. package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
  172. package/dist/generated/templates/CardTemplate.lit.js +5 -17
  173. package/dist/generated/templates/CarouselTemplate.lit.js +13 -19
  174. package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -14
  175. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +7 -0
  176. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +7 -0
  177. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
  178. package/dist/generated/templates/ColorPaletteTemplate.lit.js +12 -0
  179. package/dist/generated/templates/ColorPickerTemplate.lit.js +7 -0
  180. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -25
  181. package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -14
  182. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -20
  183. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -13
  184. package/dist/generated/templates/DatePickerTemplate.lit.js +6 -13
  185. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -19
  186. package/dist/generated/templates/DayPickerTemplate.lit.js +13 -19
  187. package/dist/generated/templates/DialogTemplate.lit.js +9 -14
  188. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +7 -14
  189. package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -14
  190. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -11
  191. package/dist/generated/templates/IconTemplate.lit.js +6 -13
  192. package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -31
  193. package/dist/generated/templates/InputTemplate.lit.js +9 -15
  194. package/dist/generated/templates/LabelTemplate.lit.js +4 -11
  195. package/dist/generated/templates/LinkTemplate.lit.js +5 -12
  196. package/dist/generated/templates/ListItemTemplate.lit.js +13 -20
  197. package/dist/generated/templates/ListTemplate.lit.js +12 -16
  198. package/dist/generated/templates/MessageStripTemplate.lit.js +8 -15
  199. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -13
  200. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -27
  201. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -16
  202. package/dist/generated/templates/MultiInputTemplate.lit.js +13 -19
  203. package/dist/generated/templates/PanelTemplate.lit.js +9 -14
  204. package/dist/generated/templates/PopoverTemplate.lit.js +9 -16
  205. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +4 -11
  206. package/dist/generated/templates/PopupTemplate.lit.js +4 -11
  207. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +14 -17
  208. package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -14
  209. package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -0
  210. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +11 -16
  211. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -21
  212. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
  213. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -11
  214. package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -27
  215. package/dist/generated/templates/SelectTemplate.lit.js +6 -12
  216. package/dist/generated/templates/SliderBaseTemplate.lit.js +11 -0
  217. package/dist/generated/templates/SliderTemplate.lit.js +12 -0
  218. package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -27
  219. package/dist/generated/templates/StepInputTemplate.lit.js +10 -0
  220. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +24 -29
  221. package/dist/generated/templates/SwitchTemplate.lit.js +8 -13
  222. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +6 -13
  223. package/dist/generated/templates/TabContainerTemplate.lit.js +16 -23
  224. package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -13
  225. package/dist/generated/templates/TabInStripTemplate.lit.js +8 -17
  226. package/dist/generated/templates/TabSeparatorTemplate.lit.js +4 -11
  227. package/dist/generated/templates/TabTemplate.lit.js +4 -11
  228. package/dist/generated/templates/TableCellTemplate.lit.js +4 -11
  229. package/dist/generated/templates/TableColumnTemplate.lit.js +4 -11
  230. package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
  231. package/dist/generated/templates/TableRowTemplate.lit.js +12 -18
  232. package/dist/generated/templates/TableTemplate.lit.js +13 -15
  233. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -15
  234. package/dist/generated/templates/TextAreaTemplate.lit.js +8 -15
  235. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -15
  236. package/dist/generated/templates/TimePickerTemplate.lit.js +6 -13
  237. package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
  238. package/dist/generated/templates/TitleTemplate.lit.js +10 -17
  239. package/dist/generated/templates/ToastTemplate.lit.js +5 -11
  240. package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -13
  241. package/dist/generated/templates/TokenTemplate.lit.js +7 -14
  242. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +9 -16
  243. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -13
  244. package/dist/generated/templates/TreeListItemTemplate.lit.js +18 -24
  245. package/dist/generated/templates/TreeTemplate.lit.js +5 -12
  246. package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -14
  247. package/dist/generated/templates/YearPickerTemplate.lit.js +6 -13
  248. package/dist/generated/themes/Avatar.css.js +5 -5
  249. package/dist/generated/themes/AvatarGroup.css.js +8 -0
  250. package/dist/generated/themes/Badge.css.js +5 -5
  251. package/dist/generated/themes/Breadcrumbs.css.js +8 -0
  252. package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
  253. package/dist/generated/themes/BrowserScrollbar.css.js +8 -0
  254. package/dist/generated/themes/BusyIndicator.css.js +5 -5
  255. package/dist/generated/themes/Button.css.js +5 -5
  256. package/dist/generated/themes/Button.ie11.css.js +8 -0
  257. package/dist/generated/themes/Calendar.css.js +5 -5
  258. package/dist/generated/themes/CalendarHeader.css.js +5 -5
  259. package/dist/generated/themes/Card.css.js +5 -5
  260. package/dist/generated/themes/CardHeader.css.js +8 -0
  261. package/dist/generated/themes/Carousel.css.js +5 -5
  262. package/dist/generated/themes/CheckBox.css.js +5 -5
  263. package/dist/generated/themes/ColorPalette.css.js +8 -0
  264. package/dist/generated/themes/ColorPaletteItem.css.js +8 -0
  265. package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
  266. package/dist/generated/themes/ColorPaletteStaticArea.css.js +8 -0
  267. package/dist/generated/themes/ColorPicker.css.js +8 -0
  268. package/dist/generated/themes/ComboBox.css.js +5 -5
  269. package/dist/generated/themes/ComboBoxPopover.css.js +5 -5
  270. package/dist/generated/themes/CustomListItem.css.js +5 -5
  271. package/dist/generated/themes/DatePicker.css.js +5 -5
  272. package/dist/generated/themes/DatePickerPopover.css.js +5 -5
  273. package/dist/generated/themes/DateRangePicker.css.js +5 -5
  274. package/dist/generated/themes/DateTimePicker.css.js +5 -5
  275. package/dist/generated/themes/DateTimePickerPopover.css.js +5 -5
  276. package/dist/generated/themes/DayPicker.css.js +5 -5
  277. package/dist/generated/themes/Dialog.css.js +5 -5
  278. package/dist/generated/themes/FileUploader.css.js +5 -5
  279. package/dist/generated/themes/GroupHeaderListItem.css.js +5 -5
  280. package/dist/generated/themes/GrowingButton.css.js +8 -0
  281. package/dist/generated/themes/Icon.css.js +5 -5
  282. package/dist/generated/themes/Input.css.js +5 -5
  283. package/dist/generated/themes/InputIcon.css.js +5 -5
  284. package/dist/generated/themes/InvisibleTextStyles.css.js +5 -5
  285. package/dist/generated/themes/Label.css.js +5 -5
  286. package/dist/generated/themes/Link.css.js +5 -5
  287. package/dist/generated/themes/List.css.js +5 -5
  288. package/dist/generated/themes/ListItem.css.js +5 -5
  289. package/dist/generated/themes/ListItemBase.css.js +5 -5
  290. package/dist/generated/themes/MessageStrip.css.js +5 -5
  291. package/dist/generated/themes/MonthPicker.css.js +5 -5
  292. package/dist/generated/themes/MultiComboBox.css.js +5 -5
  293. package/dist/generated/themes/MultiInput.css.js +5 -5
  294. package/dist/generated/themes/Panel.css.js +5 -5
  295. package/dist/generated/themes/Popover.css.js +5 -5
  296. package/dist/generated/themes/Popup.css.js +5 -5
  297. package/dist/generated/themes/PopupGlobal.css.js +8 -0
  298. package/dist/generated/themes/PopupStaticAreaStyles.css.js +5 -5
  299. package/dist/generated/themes/PopupsCommon.css.js +5 -5
  300. package/dist/generated/themes/ProgressIndicator.css.js +5 -5
  301. package/dist/generated/themes/RadioButton.css.js +5 -5
  302. package/dist/generated/themes/RatingIndicator.css.js +5 -5
  303. package/dist/generated/themes/ResponsivePopover.css.js +5 -5
  304. package/dist/generated/themes/ResponsivePopoverCommon.css.js +5 -5
  305. package/dist/generated/themes/SegmentedButton.css.js +5 -5
  306. package/dist/generated/themes/Select.css.js +5 -5
  307. package/dist/generated/themes/SelectPopover.css.js +5 -5
  308. package/dist/generated/themes/SliderBase.css.js +8 -0
  309. package/dist/generated/themes/StepInput.css.js +8 -0
  310. package/dist/generated/themes/Suggestions.css.js +8 -0
  311. package/dist/generated/themes/Switch.css.js +5 -5
  312. package/dist/generated/themes/Tab.css.js +5 -5
  313. package/dist/generated/themes/TabContainer.css.js +5 -5
  314. package/dist/generated/themes/TabInOverflow.css.js +5 -5
  315. package/dist/generated/themes/TabInStrip.css.js +5 -5
  316. package/dist/generated/themes/Table.css.js +5 -5
  317. package/dist/generated/themes/TableCell.css.js +5 -5
  318. package/dist/generated/themes/TableColumn.css.js +5 -5
  319. package/dist/generated/themes/TableGroupRow.css.js +8 -0
  320. package/dist/generated/themes/TableRow.css.js +5 -5
  321. package/dist/generated/themes/TapHighlightColor.css.js +8 -0
  322. package/dist/generated/themes/TextArea.css.js +5 -5
  323. package/dist/generated/themes/TimePicker.css.js +5 -5
  324. package/dist/generated/themes/TimePickerPopover.css.js +5 -5
  325. package/dist/generated/themes/TimeSelection.css.js +8 -0
  326. package/dist/generated/themes/Title.css.js +5 -5
  327. package/dist/generated/themes/Toast.css.js +5 -5
  328. package/dist/generated/themes/ToggleButton.css.js +5 -5
  329. package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
  330. package/dist/generated/themes/Token.css.js +5 -5
  331. package/dist/generated/themes/Tokenizer.css.js +5 -5
  332. package/dist/generated/themes/Tree.css.js +5 -5
  333. package/dist/generated/themes/TreeListItem.css.js +5 -5
  334. package/dist/generated/themes/ValueStateMessage.css.js +5 -5
  335. package/dist/generated/themes/WheelSlider.css.js +5 -5
  336. package/dist/generated/themes/YearPicker.css.js +5 -5
  337. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  338. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  339. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  340. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  341. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  342. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  343. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  344. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
  345. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
  346. package/dist/i18n/messagebundle.properties +335 -0
  347. package/dist/i18n/messagebundle_ar.properties +224 -0
  348. package/dist/i18n/messagebundle_bg.properties +224 -0
  349. package/dist/i18n/messagebundle_ca.properties +224 -0
  350. package/dist/i18n/messagebundle_cs.properties +224 -0
  351. package/dist/i18n/messagebundle_cy.properties +224 -0
  352. package/dist/i18n/messagebundle_da.properties +224 -0
  353. package/dist/i18n/messagebundle_de.properties +224 -0
  354. package/dist/i18n/messagebundle_el.properties +224 -0
  355. package/dist/i18n/messagebundle_en.properties +224 -0
  356. package/dist/i18n/messagebundle_en_GB.properties +224 -0
  357. package/dist/i18n/messagebundle_en_US_sappsd.properties +224 -0
  358. package/dist/i18n/messagebundle_en_US_saprigi.properties +224 -0
  359. package/dist/i18n/messagebundle_en_US_saptrc.properties +224 -0
  360. package/dist/i18n/messagebundle_es.properties +224 -0
  361. package/dist/i18n/messagebundle_es_MX.properties +224 -0
  362. package/dist/i18n/messagebundle_et.properties +224 -0
  363. package/dist/i18n/messagebundle_fi.properties +224 -0
  364. package/dist/i18n/messagebundle_fr.properties +224 -0
  365. package/dist/i18n/messagebundle_fr_CA.properties +224 -0
  366. package/dist/i18n/messagebundle_hi.properties +224 -0
  367. package/dist/i18n/messagebundle_hr.properties +224 -0
  368. package/dist/i18n/messagebundle_hu.properties +224 -0
  369. package/dist/i18n/messagebundle_id.properties +224 -0
  370. package/dist/i18n/messagebundle_in.properties +172 -0
  371. package/dist/i18n/messagebundle_it.properties +224 -0
  372. package/dist/i18n/messagebundle_iw.properties +224 -0
  373. package/dist/i18n/messagebundle_ja.properties +224 -0
  374. package/dist/i18n/messagebundle_kk.properties +224 -0
  375. package/dist/i18n/messagebundle_ko.properties +224 -0
  376. package/dist/i18n/messagebundle_lt.properties +224 -0
  377. package/dist/i18n/messagebundle_lv.properties +224 -0
  378. package/dist/i18n/messagebundle_ms.properties +224 -0
  379. package/dist/i18n/messagebundle_nl.properties +224 -0
  380. package/dist/i18n/messagebundle_no.properties +224 -0
  381. package/dist/i18n/messagebundle_pl.properties +224 -0
  382. package/dist/i18n/messagebundle_pt.properties +224 -0
  383. package/dist/i18n/messagebundle_pt_PT.properties +224 -0
  384. package/dist/i18n/messagebundle_ro.properties +224 -0
  385. package/dist/i18n/messagebundle_ru.properties +224 -0
  386. package/dist/i18n/messagebundle_sh.properties +224 -0
  387. package/dist/i18n/messagebundle_sk.properties +224 -0
  388. package/dist/i18n/messagebundle_sl.properties +224 -0
  389. package/dist/i18n/messagebundle_sv.properties +224 -0
  390. package/dist/i18n/messagebundle_th.properties +224 -0
  391. package/dist/i18n/messagebundle_tr.properties +224 -0
  392. package/dist/i18n/messagebundle_uk.properties +224 -0
  393. package/dist/i18n/messagebundle_vi.properties +224 -0
  394. package/dist/i18n/messagebundle_zh_CN.properties +224 -0
  395. package/dist/i18n/messagebundle_zh_TW.properties +224 -0
  396. package/dist/popup-utils/OpenedPopupsRegistry.js +1 -1
  397. package/dist/popup-utils/PopoverRegistry.js +2 -4
  398. package/dist/timepicker-utils/TimeSlider.js +15 -13
  399. package/{src/types/AvatarBackgroundColor.js → dist/types/AvatarColorScheme.js} +9 -9
  400. package/dist/types/AvatarGroupType.js +43 -0
  401. package/dist/types/AvatarShape.js +1 -1
  402. package/dist/types/AvatarSize.js +1 -1
  403. package/dist/types/BreadcrumbsDesign.js +42 -0
  404. package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
  405. package/dist/types/BusyIndicatorSize.js +1 -1
  406. package/dist/types/ButtonDesign.js +8 -1
  407. package/dist/types/CalendarSelectionMode.js +47 -0
  408. package/dist/types/CarouselArrowsPlacement.js +3 -3
  409. package/dist/types/GrowingMode.js +48 -0
  410. package/dist/types/InputType.js +7 -7
  411. package/dist/types/LinkDesign.js +1 -1
  412. package/dist/types/ListGrowingMode.js +15 -0
  413. package/dist/types/ListItemType.js +1 -1
  414. package/dist/types/ListMode.js +1 -1
  415. package/dist/types/ListSeparators.js +1 -1
  416. package/dist/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  417. package/dist/types/PanelAccessibleRole.js +1 -1
  418. package/dist/types/PopoverHorizontalAlign.js +1 -1
  419. package/dist/types/PopoverPlacementType.js +2 -2
  420. package/dist/types/PopoverVerticalAlign.js +1 -2
  421. package/dist/types/Priority.js +1 -1
  422. package/dist/types/SemanticColor.js +1 -1
  423. package/dist/types/SwitchDesign.js +40 -0
  424. package/dist/types/TabContainerTabsPlacement.js +5 -5
  425. package/dist/types/TabLayout.js +1 -1
  426. package/dist/types/TableGrowingMode.js +15 -0
  427. package/dist/types/TableMode.js +47 -0
  428. package/dist/types/TableRowType.js +40 -0
  429. package/dist/types/TitleLevel.js +1 -1
  430. package/dist/types/ToastPlacement.js +1 -2
  431. package/dist/types/WrappingType.js +41 -0
  432. package/dist/webcomponentsjs/CHANGELOG.md +61 -0
  433. package/dist/webcomponentsjs/README.md +64 -47
  434. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +38 -38
  435. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
  436. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
  437. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
  438. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
  439. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
  440. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +292 -229
  441. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
  442. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +190 -170
  443. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
  444. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +151 -132
  445. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
  446. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +2 -2
  447. package/dist/webcomponentsjs/webcomponents-bundle.js +302 -230
  448. package/dist/webcomponentsjs/webcomponents-bundle.js.map +1 -1
  449. package/dist/webcomponentsjs/webcomponents-loader.js +49 -28
  450. package/package-scripts.js +1 -0
  451. package/package.json +18 -7
  452. package/src/Assets-static.js +6 -0
  453. package/src/Assets.js +2 -1
  454. package/src/Avatar.hbs +14 -3
  455. package/src/Avatar.js +190 -50
  456. package/src/AvatarGroup.hbs +30 -0
  457. package/src/AvatarGroup.js +603 -0
  458. package/src/Badge.hbs +7 -4
  459. package/src/Badge.js +45 -19
  460. package/src/Breadcrumbs.hbs +42 -0
  461. package/src/Breadcrumbs.js +573 -0
  462. package/src/BreadcrumbsItem.js +103 -0
  463. package/src/BreadcrumbsPopover.hbs +28 -0
  464. package/src/BusyIndicator.hbs +28 -14
  465. package/src/BusyIndicator.js +121 -34
  466. package/src/Button.hbs +5 -3
  467. package/src/Button.js +110 -66
  468. package/src/Calendar.hbs +53 -47
  469. package/src/Calendar.js +324 -622
  470. package/src/CalendarDate.js +45 -0
  471. package/src/CalendarHeader.hbs +29 -35
  472. package/src/CalendarHeader.js +113 -59
  473. package/src/CalendarPart.js +111 -0
  474. package/src/Card.hbs +7 -39
  475. package/src/Card.js +38 -198
  476. package/src/CardHeader.hbs +35 -0
  477. package/src/CardHeader.js +288 -0
  478. package/src/Carousel.hbs +23 -16
  479. package/src/Carousel.js +255 -96
  480. package/src/CheckBox.hbs +18 -7
  481. package/src/CheckBox.js +140 -51
  482. package/src/ColorPalette.hbs +52 -0
  483. package/src/ColorPalette.js +493 -0
  484. package/src/ColorPaletteDialog.hbs +18 -0
  485. package/src/ColorPaletteItem.hbs +11 -0
  486. package/src/ColorPaletteItem.js +137 -0
  487. package/src/ColorPalettePopover.hbs +29 -0
  488. package/src/ColorPalettePopover.js +219 -0
  489. package/src/ColorPicker.hbs +98 -0
  490. package/src/ColorPicker.js +524 -0
  491. package/src/ComboBox.hbs +7 -2
  492. package/src/ComboBox.js +356 -147
  493. package/src/ComboBoxFilters.js +8 -1
  494. package/src/ComboBoxGroupItem.js +70 -0
  495. package/src/ComboBoxItem.js +11 -24
  496. package/src/ComboBoxPopover.hbs +26 -16
  497. package/src/CustomListItem.js +36 -2
  498. package/src/DateComponentBase.js +170 -0
  499. package/src/DatePicker.hbs +5 -3
  500. package/src/DatePicker.js +265 -494
  501. package/src/DatePickerPopover.hbs +22 -17
  502. package/src/DateRangePicker.js +189 -305
  503. package/src/DateTimePicker.js +96 -414
  504. package/src/DateTimePickerPopover.hbs +28 -52
  505. package/src/DayPicker.hbs +18 -12
  506. package/src/DayPicker.js +450 -647
  507. package/src/Dialog.hbs +22 -10
  508. package/src/Dialog.js +369 -43
  509. package/src/DurationPicker.js +110 -512
  510. package/src/FileUploader.hbs +3 -0
  511. package/src/FileUploader.js +74 -35
  512. package/src/FileUploaderPopover.hbs +2 -1
  513. package/src/GroupHeaderListItem.hbs +4 -4
  514. package/src/GroupHeaderListItem.js +22 -13
  515. package/src/Icon.hbs +5 -4
  516. package/src/Icon.js +128 -43
  517. package/src/Input.hbs +17 -6
  518. package/src/Input.js +349 -158
  519. package/src/InputPopover.hbs +11 -7
  520. package/src/Interfaces.js +192 -0
  521. package/src/Label.hbs +1 -1
  522. package/src/Label.js +27 -12
  523. package/src/Link.hbs +4 -2
  524. package/src/Link.js +122 -29
  525. package/src/List.hbs +76 -37
  526. package/src/List.js +377 -104
  527. package/src/ListItem.hbs +20 -7
  528. package/src/ListItem.js +62 -15
  529. package/src/ListItemBase.js +29 -2
  530. package/src/MessageStrip.hbs +16 -13
  531. package/src/MessageStrip.js +48 -47
  532. package/src/MonthPicker.hbs +6 -6
  533. package/src/MonthPicker.js +173 -227
  534. package/src/MultiComboBox.hbs +13 -8
  535. package/src/MultiComboBox.js +384 -148
  536. package/src/MultiComboBoxItem.js +7 -2
  537. package/src/MultiComboBoxPopover.hbs +42 -18
  538. package/src/MultiInput.hbs +2 -1
  539. package/src/MultiInput.js +55 -24
  540. package/src/Option.js +48 -5
  541. package/src/Panel.hbs +23 -16
  542. package/src/Panel.js +64 -74
  543. package/src/Popover.js +195 -80
  544. package/src/Popup.hbs +5 -0
  545. package/src/Popup.js +158 -64
  546. package/src/ProgressIndicator.hbs +7 -1
  547. package/src/ProgressIndicator.js +28 -20
  548. package/src/RadioButton.hbs +7 -4
  549. package/src/RadioButton.js +126 -43
  550. package/src/RadioButtonGroup.js +53 -29
  551. package/src/RangeSlider.hbs +70 -0
  552. package/src/RangeSlider.js +769 -0
  553. package/src/RatingIndicator.hbs +5 -3
  554. package/src/RatingIndicator.js +27 -37
  555. package/src/ResponsivePopover.hbs +13 -8
  556. package/src/ResponsivePopover.js +57 -43
  557. package/src/SegmentedButton.hbs +12 -5
  558. package/src/SegmentedButton.js +102 -68
  559. package/src/SegmentedButtonItem.hbs +42 -0
  560. package/src/SegmentedButtonItem.js +109 -0
  561. package/src/Select.hbs +26 -17
  562. package/src/Select.js +278 -119
  563. package/src/SelectPopover.hbs +27 -24
  564. package/src/Slider.hbs +42 -0
  565. package/src/Slider.js +320 -0
  566. package/src/SliderBase.hbs +38 -0
  567. package/src/SliderBase.js +842 -0
  568. package/src/StandardListItem.hbs +17 -9
  569. package/src/StandardListItem.js +35 -9
  570. package/src/StepInput.hbs +80 -0
  571. package/src/StepInput.js +684 -0
  572. package/src/SuggestionGroupItem.js +64 -0
  573. package/src/SuggestionItem.js +13 -26
  574. package/src/SuggestionListItem.hbs +18 -10
  575. package/src/SuggestionListItem.js +17 -6
  576. package/src/Switch.hbs +19 -3
  577. package/src/Switch.js +55 -34
  578. package/src/Tab.js +47 -26
  579. package/src/TabContainer.hbs +43 -26
  580. package/src/TabContainer.js +98 -38
  581. package/src/TabContainerPopover.hbs +2 -1
  582. package/src/TabInStrip.hbs +1 -6
  583. package/src/TabSeparator.hbs +1 -1
  584. package/src/TabSeparator.js +1 -0
  585. package/src/Table.hbs +95 -25
  586. package/src/Table.js +474 -22
  587. package/src/TableCell.hbs +1 -0
  588. package/src/TableCell.js +11 -9
  589. package/src/TableColumn.hbs +2 -0
  590. package/src/TableColumn.js +13 -3
  591. package/src/TableGroupRow.hbs +12 -0
  592. package/src/TableGroupRow.js +160 -0
  593. package/src/TableRow.hbs +29 -2
  594. package/src/TableRow.js +210 -11
  595. package/src/TextArea.hbs +1 -3
  596. package/src/TextArea.js +86 -46
  597. package/src/TextAreaPopover.hbs +2 -1
  598. package/src/TimePicker.hbs +6 -3
  599. package/src/TimePicker.js +28 -743
  600. package/src/TimePickerBase.js +463 -0
  601. package/src/TimePickerPopover.hbs +28 -52
  602. package/src/TimeSelection.hbs +60 -0
  603. package/src/TimeSelection.js +493 -0
  604. package/src/Title.js +16 -9
  605. package/src/Toast.hbs +13 -11
  606. package/src/Toast.js +19 -8
  607. package/src/ToggleButton.js +21 -8
  608. package/src/Token.hbs +2 -0
  609. package/src/Token.js +34 -18
  610. package/src/Tokenizer.hbs +1 -0
  611. package/src/Tokenizer.js +75 -42
  612. package/src/TokenizerPopover.hbs +1 -1
  613. package/src/Tree.hbs +10 -2
  614. package/src/Tree.js +97 -41
  615. package/src/TreeItem.js +44 -9
  616. package/src/TreeListItem.hbs +15 -4
  617. package/src/TreeListItem.js +88 -4
  618. package/src/WheelSlider.hbs +17 -10
  619. package/src/WheelSlider.js +60 -60
  620. package/src/YearPicker.hbs +9 -7
  621. package/src/YearPicker.js +188 -284
  622. package/src/features/ColorPaletteMoreColors.js +42 -0
  623. package/src/features/InputElementsFormSupport.js +0 -1
  624. package/src/features/InputSuggestions.js +137 -45
  625. package/src/i18n/messagebundle.properties +144 -189
  626. package/src/i18n/messagebundle_ar.properties +99 -115
  627. package/src/i18n/messagebundle_bg.properties +99 -115
  628. package/src/i18n/messagebundle_ca.properties +99 -115
  629. package/src/i18n/messagebundle_cs.properties +99 -115
  630. package/src/i18n/messagebundle_cy.properties +224 -0
  631. package/src/i18n/messagebundle_da.properties +99 -115
  632. package/src/i18n/messagebundle_de.properties +99 -115
  633. package/src/i18n/messagebundle_el.properties +99 -115
  634. package/src/i18n/messagebundle_en.properties +99 -115
  635. package/src/i18n/messagebundle_en_GB.properties +224 -0
  636. package/src/i18n/messagebundle_en_US_sappsd.properties +99 -115
  637. package/src/i18n/messagebundle_en_US_saprigi.properties +224 -0
  638. package/src/i18n/messagebundle_en_US_saptrc.properties +99 -115
  639. package/src/i18n/messagebundle_es.properties +99 -115
  640. package/src/i18n/messagebundle_es_MX.properties +224 -0
  641. package/src/i18n/messagebundle_et.properties +99 -115
  642. package/src/i18n/messagebundle_fi.properties +99 -115
  643. package/src/i18n/messagebundle_fr.properties +99 -115
  644. package/src/i18n/messagebundle_fr_CA.properties +224 -0
  645. package/src/i18n/messagebundle_hi.properties +99 -115
  646. package/src/i18n/messagebundle_hr.properties +99 -115
  647. package/src/i18n/messagebundle_hu.properties +99 -115
  648. package/src/i18n/messagebundle_id.properties +224 -0
  649. package/src/i18n/messagebundle_in.properties +172 -0
  650. package/src/i18n/messagebundle_it.properties +99 -115
  651. package/src/i18n/messagebundle_iw.properties +99 -115
  652. package/src/i18n/messagebundle_ja.properties +100 -116
  653. package/src/i18n/messagebundle_kk.properties +99 -115
  654. package/src/i18n/messagebundle_ko.properties +99 -115
  655. package/src/i18n/messagebundle_lt.properties +99 -115
  656. package/src/i18n/messagebundle_lv.properties +99 -115
  657. package/src/i18n/messagebundle_ms.properties +99 -115
  658. package/src/i18n/messagebundle_nl.properties +99 -115
  659. package/src/i18n/messagebundle_no.properties +99 -115
  660. package/src/i18n/messagebundle_pl.properties +99 -115
  661. package/src/i18n/messagebundle_pt.properties +99 -115
  662. package/src/i18n/messagebundle_pt_PT.properties +224 -0
  663. package/src/i18n/messagebundle_ro.properties +98 -114
  664. package/src/i18n/messagebundle_ru.properties +99 -115
  665. package/src/i18n/messagebundle_sh.properties +99 -115
  666. package/src/i18n/messagebundle_sk.properties +99 -115
  667. package/src/i18n/messagebundle_sl.properties +99 -115
  668. package/src/i18n/messagebundle_sv.properties +99 -115
  669. package/src/i18n/messagebundle_th.properties +99 -115
  670. package/src/i18n/messagebundle_tr.properties +99 -115
  671. package/src/i18n/messagebundle_uk.properties +101 -117
  672. package/src/i18n/messagebundle_vi.properties +99 -115
  673. package/src/i18n/messagebundle_zh_CN.properties +99 -115
  674. package/src/i18n/messagebundle_zh_TW.properties +99 -115
  675. package/src/popup-utils/OpenedPopupsRegistry.js +1 -1
  676. package/src/popup-utils/PopoverRegistry.js +2 -4
  677. package/src/timepicker-utils/TimeSlider.js +15 -13
  678. package/{dist/types/AvatarBackgroundColor.js → src/types/AvatarColorScheme.js} +9 -9
  679. package/src/types/AvatarGroupType.js +43 -0
  680. package/src/types/AvatarShape.js +1 -1
  681. package/src/types/AvatarSize.js +1 -1
  682. package/src/types/BreadcrumbsDesign.js +42 -0
  683. package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
  684. package/src/types/BusyIndicatorSize.js +1 -1
  685. package/src/types/ButtonDesign.js +8 -1
  686. package/src/types/CalendarSelectionMode.js +47 -0
  687. package/src/types/CarouselArrowsPlacement.js +3 -3
  688. package/src/types/GrowingMode.js +48 -0
  689. package/src/types/InputType.js +7 -7
  690. package/src/types/LinkDesign.js +1 -1
  691. package/src/types/ListGrowingMode.js +15 -0
  692. package/src/types/ListItemType.js +1 -1
  693. package/src/types/ListMode.js +1 -1
  694. package/src/types/ListSeparators.js +1 -1
  695. package/src/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  696. package/src/types/PanelAccessibleRole.js +1 -1
  697. package/src/types/PopoverHorizontalAlign.js +1 -1
  698. package/src/types/PopoverPlacementType.js +2 -2
  699. package/src/types/PopoverVerticalAlign.js +1 -2
  700. package/src/types/Priority.js +1 -1
  701. package/src/types/SemanticColor.js +1 -1
  702. package/src/types/SwitchDesign.js +40 -0
  703. package/src/types/TabContainerTabsPlacement.js +5 -5
  704. package/src/types/TabLayout.js +1 -1
  705. package/src/types/TableGrowingMode.js +15 -0
  706. package/src/types/TableMode.js +47 -0
  707. package/src/types/TableRowType.js +40 -0
  708. package/src/types/TitleLevel.js +1 -1
  709. package/src/types/ToastPlacement.js +1 -2
  710. package/src/types/WrappingType.js +41 -0
  711. package/dist/Timeline.js +0 -99
  712. package/dist/TimelineItem.js +0 -156
  713. package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -14
  714. package/dist/generated/templates/DateRangePickerTemplate.lit.js +0 -16
  715. package/dist/generated/templates/DurationPickerPopoverTemplate.lit.js +0 -17
  716. package/dist/generated/templates/DurationPickerTemplate.lit.js +0 -16
  717. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -19
  718. package/dist/generated/templates/TimelineTemplate.lit.js +0 -15
  719. package/dist/generated/themes/ComboBoxItem.css.js +0 -8
  720. package/dist/generated/themes/DurationPicker.css.js +0 -8
  721. package/dist/generated/themes/DurationPickerPopover.css.js +0 -8
  722. package/dist/generated/themes/Timeline.css.js +0 -8
  723. package/dist/generated/themes/TimelineItem.css.js +0 -8
  724. package/dist/popup-utils/PopupUtils.js +0 -84
  725. package/dist/types/AvatarFitType.js +0 -40
  726. package/dist/webcomponentsjs/package.json +0 -46
  727. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  728. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  729. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  730. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  731. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  732. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  733. package/src/ComboBoxItem.hbs +0 -0
  734. package/src/DateRangePicker.hbs +0 -1
  735. package/src/DurationPicker.hbs +0 -29
  736. package/src/DurationPickerPopover.hbs +0 -48
  737. package/src/Timeline.hbs +0 -9
  738. package/src/Timeline.js +0 -99
  739. package/src/TimelineItem.hbs +0 -39
  740. package/src/TimelineItem.js +0 -156
  741. package/src/popup-utils/PopupUtils.js +0 -84
  742. package/src/types/AvatarFitType.js +0 -40
@@ -1,8 +1,8 @@
1
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
2
- import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
3
- import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
1
+ import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
4
2
  import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
5
- import DateRangePickerTemplate from "./generated/templates/DateRangePickerTemplate.lit.js";
3
+ import modifyDateBy from "@ui5/webcomponents-localization/dist/dates/modifyDateBy.js";
4
+ import getTodayUTCTimestamp from "@ui5/webcomponents-localization/dist/dates/getTodayUTCTimestamp.js";
5
+ import { DATERANGE_DESCRIPTION } from "./generated/i18n/i18n-defaults.js";
6
6
 
7
7
  // Styles
8
8
  import DateRangePickerCss from "./generated/themes/DateRangePicker.css.js";
@@ -16,38 +16,24 @@ const metadata = {
16
16
  properties: /** @lends sap.ui.webcomponents.main.DateRangePicker.prototype */ {
17
17
  /**
18
18
  * Determines the symbol which separates the dates.
19
+ * If not supplied, the default time interval delimiter for the current locale will be used.
19
20
  *
20
21
  * @type {string}
21
- * @defaultvalue "-"
22
22
  * @public
23
23
  */
24
24
  delimiter: {
25
25
  type: String,
26
26
  defaultValue: "-",
27
27
  },
28
+
28
29
  /**
29
- * Defines the UNIX timestamp of the first date - seconds since 00:00:00 UTC on Jan 1, 1970.
30
- * @type {number}
31
- * @private
32
- */
33
- _firstDateTimestamp: {
34
- type: Integer,
35
- },
36
- /**
37
- * Defines the UNIX timestamp of the second date- seconds since 00:00:00 UTC on Jan 1, 1970.
38
- * @type {number}
30
+ * The first date in the range during selection (this is a temporary value, not the first date in the value range)
39
31
  * @private
40
- */
41
- _lastDateTimestamp: {
42
- type: Integer,
32
+ */
33
+ _tempValue: {
34
+ type: String,
43
35
  },
44
36
  },
45
- slots: /** @lends sap.ui.webcomponents.main.DateRangePicker.prototype */ {
46
- //
47
- },
48
- events: /** @lends sap.ui.webcomponents.main.DateRangePicker.prototype */ {
49
- //
50
- },
51
37
  };
52
38
 
53
39
  /**
@@ -62,7 +48,24 @@ const metadata = {
62
48
  * For the <code>ui5-daterange-picker</code>
63
49
  * <h3>ES6 Module Import</h3>
64
50
  *
65
- * <code>import @ui5/webcomponents/dist/DateRangePicker.js";</code>
51
+ * <code>import "@ui5/webcomponents/dist/DateRangePicker.js";</code>
52
+ *
53
+ * <h3>Keyboard Handling</h3>
54
+ * The <code>ui5-daterange-picker</code> provides advanced keyboard handling.
55
+ * <br>
56
+ *
57
+ * When the <code>ui5-daterange-picker</code> input field is focused the user can
58
+ * increment or decrement respectively the range start or end date, depending on where the cursor is.
59
+ * The following shortcuts are available:
60
+ * <br>
61
+ * <ul>
62
+ * <li>[PAGEDOWN] - Decrements the corresponding day of the month by one</li>
63
+ * <li>[SHIFT] + [PAGEDOWN] - Decrements the corresponding month by one</li>
64
+ * <li>[SHIFT] + [CTRL] + [PAGEDOWN] - Decrements the corresponding year by one</li>
65
+ * <li>[PAGEUP] - Increments the corresponding day of the month by one</li>
66
+ * <li>[SHIFT] + [PAGEUP] - Increments the corresponding month by one</li>
67
+ * <li>[SHIFT] + [CTRL] + [PAGEUP] - Increments the corresponding year by one</li>
68
+ * </ul>
66
69
  *
67
70
  * @constructor
68
71
  * @author SAP SE
@@ -77,365 +80,246 @@ class DateRangePicker extends DatePicker {
77
80
  return metadata;
78
81
  }
79
82
 
80
- static get render() {
81
- return litRender;
82
- }
83
-
84
83
  static get styles() {
85
84
  return [DatePicker.styles, DateRangePickerCss];
86
85
  }
87
86
 
88
- static get template() {
89
- return DateRangePickerTemplate;
90
- }
91
-
92
- constructor() {
93
- super();
94
- this.isFirstDatePick = true;
95
- this._initialRendering = true;
96
- this._oneTimeStampSelected = false; // Used to determine whether the first & last date is the same
97
- this._dayPickerMouseoverHandler = this._itemMouseoverHandler.bind(this);
98
- this._respPopoverConfig.beforeOpen = this.handleBeforeOpen;
99
- this._respPopoverConfig.beforeClose = this.handleBeforeClose;
100
- }
101
-
102
- async onAfterRendering() {
103
- const daypicker = this.getDayPicker();
104
- this._cleanHoveredAttributeFromVisibleItems(daypicker);
105
- this._initialRendering = false;
87
+ get _startDateTimestamp() {
88
+ return this._extractFirstTimestamp(this.value);
106
89
  }
107
90
 
108
- async handleBeforeOpen() {
109
- const daypicker = await this.getDayPicker();
110
- daypicker.addEventListener("item-mouseover", this._dayPickerMouseoverHandler);
111
- daypicker.addEventListener("daypickerrendered", this._keyboardNavigationHandler);
91
+ get _endDateTimestamp() {
92
+ return this._extractLastTimestamp(this.value);
112
93
  }
113
94
 
114
- async handleBeforeClose() {
115
- const daypicker = await this.getDayPicker();
116
- daypicker.removeEventListener("item-mouseover", this._dayPickerMouseoverHandler);
117
- daypicker.removeEventListener("daypickerrendered", this._keyboardNavigationHandler);
95
+ get _tempTimestamp() {
96
+ return this._tempValue && this.getFormat().parse(this._tempValue, true).getTime() / 1000;
118
97
  }
119
98
 
120
- _itemMouseoverHandler(event) {
121
- if (this._oneTimeStampSelected) {
122
- return;
123
- }
124
-
125
- const dayItems = event.target.shadowRoot.querySelectorAll(".ui5-dp-item");
126
- const firstDateTimestamp = event.target._selectedDates[0];
127
- const lastDateTimestamp = event.detail.target.parentElement.dataset.sapTimestamp;
128
-
129
- for (let i = 0; i < dayItems.length; i++) {
130
- if ((dayItems[i].dataset.sapTimestamp < firstDateTimestamp && dayItems[i].dataset.sapTimestamp > lastDateTimestamp)
131
- || (dayItems[i].dataset.sapTimestamp > firstDateTimestamp && dayItems[i].dataset.sapTimestamp < lastDateTimestamp)) {
132
- dayItems[i].setAttribute("hovered", "");
133
- } else {
134
- dayItems[i].removeAttribute("hovered");
135
- }
136
- }
137
- }
138
-
139
- _keyboardNavigationHandler(event) {
140
- if (!event.detail.focusedItemIndex) {
141
- return;
142
- }
143
-
144
- const dayItems = event.target.shadowRoot.querySelectorAll(".ui5-dp-item");
145
- const firstDateTimestamp = this._selectedDates[0];
146
- const lastDateTimestamp = dayItems[event.detail.focusedItemIndex].dataset.sapTimestamp;
147
-
148
- for (let i = 0; i < dayItems.length; i++) {
149
- if ((dayItems[i].dataset.sapTimestamp < firstDateTimestamp && dayItems[i].dataset.sapTimestamp > lastDateTimestamp)
150
- || (dayItems[i].dataset.sapTimestamp > firstDateTimestamp && dayItems[i].dataset.sapTimestamp < lastDateTimestamp)) {
151
- dayItems[i].setAttribute("hovered", "");
152
- } else {
153
- dayItems[i].removeAttribute("hovered");
154
- }
155
- }
99
+ /**
100
+ * Required by DatePicker.js
101
+ * @override
102
+ */
103
+ get _calendarSelectionMode() {
104
+ return "Range";
156
105
  }
157
106
 
158
- _splitValueByDelimiter(value) {
159
- let returnValue = [];
160
-
161
- if (!value) {
162
- return ["", ""];
163
- }
164
-
165
- if (this.delimiter) {
166
- returnValue = String(value).split(this.delimiter);
167
- }
168
-
169
- return returnValue;
107
+ /**
108
+ * Required by DatePicker.js - set the calendar focus on the first selected date (or today if not set)
109
+ * @override
110
+ */
111
+ get _calendarTimestamp() {
112
+ return this._tempTimestamp || this._startDateTimestamp || getTodayUTCTimestamp(this._primaryCalendarType);
170
113
  }
171
114
 
172
- _setValue(value) {
173
- const emptyValue = value === "",
174
- isValid = emptyValue || this._checkValueValidity(value);
175
- let dates = [undefined, undefined];
176
-
177
- if (value === this._prevValue) {
178
- return this;
179
- }
180
-
181
- if (!value) {
182
- this.value = "";
183
- return;
184
- }
185
-
186
- dates = this._splitValueByDelimiter(value);
187
- if (!isValid) {
188
- this.valueState = ValueState.Error;
189
- console.warn("Value can not be converted to a valid dates", this); // eslint-disable-line
190
- return;
115
+ /**
116
+ * Required by DatePicker.js
117
+ * @override
118
+ */
119
+ get _calendarSelectedDates() {
120
+ if (this._tempValue) {
121
+ return [this._tempValue];
191
122
  }
192
- this.valueState = ValueState.None;
193
-
194
- const firstDate = this.getFormat().parse(dates[0]);
195
- const secondDate = this.getFormat().parse(dates[1]);
196
-
197
- this._firstDateTimestamp = Date.UTC(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate(), firstDate.getHours()) / 1000;
198
- this._lastDateTimestamp = Date.UTC(secondDate.getFullYear(), secondDate.getMonth(), secondDate.getDate(), secondDate.getHours()) / 1000;
199
-
200
- if (this._firstDateTimestamp > this._lastDateTimestamp) {
201
- const temp = this._firstDateTimestamp;
202
- this._firstDateTimestamp = this._lastDateTimestamp;
203
- this._lastDateTimestamp = temp;
123
+ if (this.value && this._checkValueValidity(this.value)) {
124
+ return this._splitValueByDelimiter(this.value);
204
125
  }
205
-
206
- this._calendar.selectedDates = this.dateIntervalArrayBuilder(this._firstDateTimestamp * 1000, this._lastDateTimestamp * 1000);
207
- this.value = this._formatValue(this._firstDateTimestamp, this._lastDateTimestamp);
208
- this.realValue = this.value;
209
- this._prevValue = this.realValue;
210
- }
211
-
212
- _changeCalendarSelection(focusTimestamp) {
213
- if (this._calendarDate.getYear() < 1) {
214
- // 0 is a valid year, but we cannot display it
215
- return;
216
- }
217
-
218
- const oCalDate = this._calendarDate,
219
- timestamp = focusTimestamp || oCalDate.valueOf() / 1000,
220
- dates = this._splitValueByDelimiter(this.realValue);
221
-
222
- if (this._initialRendering) {
223
- this._oneTimeStampSelected = dates[0].trim() === dates[1].trim();
224
- this._setValue(this.realValue);
225
- }
226
-
227
- this._calendar = Object.assign({}, this._calendar);
228
- this._calendar.timestamp = timestamp;
229
- if (this.realValue && this._checkValueValidity(this.realValue)) {
230
- this._calendar.selectedDates = this.dateIntervalArrayBuilder(this._getTimeStampFromString(dates[0]), this._getTimeStampFromString(dates[1]));
231
- }
232
- }
233
-
234
- get _calendarDate() {
235
- const dates = this._splitValueByDelimiter(this.realValue),
236
- value = this._checkValueValidity(this.realValue) ? dates[0] : this.getFormat().format(new Date()),
237
- millisecondsUTCFirstDate = value ? this.getFormat().parse(value, true).getTime() : this.getFormat().parse(this.validValue, true).getTime(),
238
- oCalDateFirst = CalendarDate.fromTimestamp(
239
- millisecondsUTCFirstDate - (millisecondsUTCFirstDate % (24 * 60 * 60 * 1000)),
240
- this._primaryCalendarType
241
- );
242
-
243
- return oCalDateFirst;
244
- }
245
-
246
- get _shoudHideValueInInput() {
247
- return this._firstDateTimestamp === this._lastDateTimestamp && this._firstDateTimestamp;
126
+ return [];
248
127
  }
249
128
 
250
129
  /**
251
- * Currently selected first date represented as JavaScript Date instance.
130
+ * Returns the start date of the currently selected range as JavaScript Date instance.
252
131
  *
253
132
  * @readonly
254
133
  * @type { Date }
255
134
  * @public
256
135
  */
257
- get firstDateValue() {
258
- const dateValue = new Date(this._firstDateTimestamp * 1000);
259
- return new Date(dateValue.getUTCFullYear(), dateValue.getUTCMonth(), dateValue.getUTCDate(), dateValue.getUTCHours());
136
+ get startDateValue() {
137
+ return CalendarDate.fromTimestamp(this._startDateTimestamp * 1000).toLocalJSDate();
260
138
  }
261
139
 
262
140
  /**
263
- * Currently selected last date represented as JavaScript Date instance.
141
+ * Returns the end date of the currently selected range as JavaScript Date instance.
264
142
  *
265
143
  * @readonly
266
144
  * @type { Date }
267
145
  * @public
268
146
  */
269
- get lastDateValue() {
270
- const dateValue = new Date(this._lastDateTimestamp * 1000);
271
- return new Date(dateValue.getUTCFullYear(), dateValue.getUTCMonth(), dateValue.getUTCDate(), dateValue.getUTCHours());
147
+ get endDateValue() {
148
+ return CalendarDate.fromTimestamp(this._endDateTimestamp * 1000).toLocalJSDate();
272
149
  }
273
150
 
151
+ /**
152
+ * @override
153
+ */
274
154
  get _placeholder() {
275
- return this.placeholder !== undefined ? this.placeholder : this._displayFormat.concat(" ", this.delimiter, " ", this._displayFormat);
155
+ return this.placeholder !== undefined ? this.placeholder : `${this._displayFormat} ${this._effectiveDelimiter} ${this._displayFormat}`;
276
156
  }
277
157
 
278
- async getDayPicker() {
279
- this.responsivePopover = await this._respPopover();
280
- const calendar = this.responsivePopover.querySelector(`#${this._id}-calendar`);
281
- return calendar.shadowRoot.querySelector(`#${calendar._id}-daypicker`);
282
- }
283
-
284
- async _handleInputChange() {
285
- const nextValue = await this._getInput().getInputValue();
286
- const emptyValue = nextValue === "";
287
- const isValid = emptyValue || this._checkValueValidity(nextValue);
288
- const dates = this._splitValueByDelimiter(nextValue);
289
-
290
- if (dates.length === 2) {
291
- this._oneTimeStampSelected = dates[0].trim() === dates[1].trim();
292
- }
293
-
294
- if (isValid) {
295
- this._setValue(nextValue);
296
- this.valueState = ValueState.None;
297
- } else {
298
- this.valueState = ValueState.Error;
299
- }
300
-
301
- this.fireEvent("change", { value: nextValue, valid: isValid });
302
- // Angular two way data binding
303
- this.fireEvent("value-changed", { value: nextValue, valid: isValid });
158
+ get dateAriaDescription() {
159
+ return DateRangePicker.i18nBundle.getText(DATERANGE_DESCRIPTION);
304
160
  }
305
161
 
306
- _checkValueValidity(value) {
307
- return this.isValid(value) && this.isInValidRange(value);
162
+ /**
163
+ * @override
164
+ */
165
+ async _onInputSubmit(event) {
166
+ const input = this._getInput();
167
+ const caretPos = input.getCaretPosition();
168
+ await renderFinished();
169
+ input.setCaretPosition(caretPos); // Return the caret on the previous position after rendering
308
170
  }
309
171
 
310
- checkRealValueValidity() {
311
- return this.isValid(this.realValue) && this.isInValidRange(this.realValue);
172
+ /**
173
+ * @override
174
+ */
175
+ onResponsivePopoverAfterClose() {
176
+ this._tempValue = ""; // reset _tempValue on popover close
177
+ super.onResponsivePopoverAfterClose();
312
178
  }
313
179
 
180
+ /**
181
+ * @override
182
+ */
314
183
  isValid(value) {
315
- const dateStrings = this._splitValueByDelimiter(value, this.delimiter),
316
- isFirstDateValid = super.isValid(dateStrings[0]),
317
- isLastDateValid = super.isValid(dateStrings[1]);
318
-
319
- if (!dateStrings[1]) {
320
- return isFirstDateValid;
321
- }
322
-
323
- return isFirstDateValid && isLastDateValid;
184
+ const parts = this._splitValueByDelimiter(value);
185
+ return parts.length <= 2 && parts.every(dateString => super.isValid(dateString)); // must be at most 2 dates and each must be valid
324
186
  }
325
187
 
188
+ /**
189
+ * @override
190
+ */
326
191
  isInValidRange(value) {
327
- const dateStrings = this._splitValueByDelimiter(value, this.delimiter),
328
- isFirstDateInValidRange = super.isInValidRange(this._getTimeStampFromString(dateStrings[0])),
329
- isLastDateInValidRange = super.isInValidRange(this._getTimeStampFromString(dateStrings[1]));
192
+ return this._splitValueByDelimiter(value).every(dateString => super.isInValidRange(dateString));
193
+ }
330
194
 
331
- if (!dateStrings[1]) {
332
- return isFirstDateInValidRange;
195
+ /**
196
+ * Extract both dates as timestamps, flip if necessary, and build (which will use the desired format so we enforce the format too)
197
+ * @override
198
+ */
199
+ normalizeValue(value) {
200
+ const firstDateTimestamp = this._extractFirstTimestamp(value);
201
+ const lastDateTimestamp = this._extractLastTimestamp(value);
202
+ if (firstDateTimestamp && lastDateTimestamp && firstDateTimestamp > lastDateTimestamp) { // if both are timestamps (not undefined), flip if necessary
203
+ return this._buildValue(lastDateTimestamp, firstDateTimestamp);
333
204
  }
334
-
335
- return isFirstDateInValidRange && isLastDateInValidRange;
205
+ return this._buildValue(firstDateTimestamp, lastDateTimestamp);
336
206
  }
337
207
 
338
- dateIntervalArrayBuilder(firstTimestamp, lastTimestamp) {
339
- const datesTimestamps = [],
340
- tempCalendarDate = CalendarDate.fromTimestamp(firstTimestamp);
208
+ /**
209
+ * @override
210
+ */
211
+ onSelectedDatesChange(event) {
212
+ event.preventDefault(); // never let the calendar update its own dates, the parent component controls them
213
+ const values = event.detail.values;
341
214
 
342
- while (tempCalendarDate.valueOf() < lastTimestamp) {
343
- datesTimestamps.push(tempCalendarDate.valueOf() / 1000);
344
- tempCalendarDate.setDate(tempCalendarDate.getDate() + 1);
215
+ if (values.length === 0) {
216
+ return;
345
217
  }
346
218
 
347
- datesTimestamps.push(tempCalendarDate.valueOf() / 1000);
219
+ if (values.length === 1) { // Do nothing until the user selects 2 dates, we don't change any state at all for one date
220
+ this._tempValue = values[0];
221
+ return;
222
+ }
348
223
 
349
- return datesTimestamps;
224
+ const newValue = this._buildValue(...event.detail.dates); // the value will be normalized so we don't need to order them here
225
+ this._updateValueAndFireEvents(newValue, true, ["change", "value-changed"]);
226
+ this.closePicker();
350
227
  }
351
228
 
352
- _handleCalendarChange(event) {
353
- const newValue = event.detail.dates && event.detail.dates[0];
354
- this._oneTimeStampSelected = false;
355
- if (this.isFirstDatePick) {
356
- this.isFirstDatePick = false;
357
- this._firstDateTimestamp = newValue;
358
- this._lastDateTimestamp = newValue;
359
- this._calendar.timestamp = newValue;
360
- this._handleCalendarSelectedDatesChange();
361
- } else {
362
- this.closePicker();
363
- this.isFirstDatePick = true;
364
- if (newValue < this._firstDateTimestamp) {
365
- this._lastDateTimestamp = this._firstDateTimestamp;
366
- this._firstDateTimestamp = newValue;
367
- } else {
368
- this._oneTimeStampSelected = newValue === this._firstDateTimestamp;
369
- this._lastDateTimestamp = newValue;
370
- }
371
- const fireChange = this._handleCalendarSelectedDatesChange();
229
+ /**
230
+ * @override
231
+ */
232
+ async _modifyDateValue(amount, unit) {
233
+ if (!this._endDateTimestamp) { // If empty or only one date -> treat as datepicker entirely
234
+ return super._modifyDateValue(amount, unit);
235
+ }
236
+
237
+ const input = this._getInput();
238
+ let caretPos = input.getCaretPosition();
239
+ let newValue;
372
240
 
373
- if (fireChange) {
374
- this.fireEvent("change", { value: this.realValue, valid: true });
375
- // Angular two way data binding
376
- this.fireEvent("value-changed", { value: this.realValue, valid: true });
241
+ if (caretPos <= this.value.indexOf(this._effectiveDelimiter)) { // The user is focusing the first date -> change it and keep the seoond date
242
+ const startDateModified = modifyDateBy(CalendarDate.fromTimestamp(this._startDateTimestamp * 1000), amount, unit, this._minDate, this._maxDate);
243
+ const newStartDateTimestamp = startDateModified.valueOf() / 1000;
244
+ if (newStartDateTimestamp > this._endDateTimestamp) { // dates flipped -> move the caret to the same position but on the last date
245
+ caretPos += Math.ceil(this.value.length / 2);
246
+ }
247
+ newValue = this._buildValue(newStartDateTimestamp, this._endDateTimestamp); // the value will be normalized so we don't try to order them here
248
+ } else {
249
+ const endDateModified = modifyDateBy(CalendarDate.fromTimestamp(this._endDateTimestamp * 1000), amount, unit, this._minDate, this._maxDate);
250
+ const newEndDateTimestamp = endDateModified.valueOf() / 1000;
251
+ newValue = this._buildValue(this._startDateTimestamp, newEndDateTimestamp); // the value will be normalized so we don't try to order them here
252
+ if (newEndDateTimestamp < this._startDateTimestamp) { // dates flipped -> move the caret to the same position but on the first date
253
+ caretPos -= Math.ceil(this.value.length / 2);
377
254
  }
378
255
  }
256
+ this._updateValueAndFireEvents(newValue, true, ["change", "value-changed"]);
257
+
258
+ await renderFinished();
259
+ input.setCaretPosition(caretPos); // Return the caret to the previous (or the adjusted, if dates flipped) position after rendering
379
260
  }
380
261
 
381
- _handleCalendarSelectedDatesChange() {
382
- this._updateValueCalendarSelectedDatesChange();
383
- this._cleanHoveredAttributeFromVisibleItems();
262
+ get _effectiveDelimiter() {
263
+ return this.delimiter || this.constructor.getMetadata().getProperties().delimiter.defaultValue; // treat empty string as the default value
264
+ }
384
265
 
385
- this._calendar.timestamp = this._firstDateTimestamp;
386
- this._calendar.selectedDates = this.dateIntervalArrayBuilder(this._firstDateTimestamp * 1000, this._lastDateTimestamp * 1000);
387
- this._focusInputAfterClose = true;
266
+ _splitValueByDelimiter(value) {
267
+ const valuesArray = [];
268
+ const partsArray = value.split(this._effectiveDelimiter);
388
269
 
389
- if (this.isInValidRange(this.realValue)) {
390
- this.valueState = ValueState.None;
391
- } else {
392
- this.valueState = ValueState.Error;
393
- }
270
+ valuesArray[0] = partsArray.slice(0, partsArray.length / 2).join(this._effectiveDelimiter);
271
+ valuesArray[1] = partsArray.slice(partsArray.length / 2).join(this._effectiveDelimiter);
394
272
 
395
- return true;
273
+ return valuesArray;
396
274
  }
397
275
 
398
- async _cleanHoveredAttributeFromVisibleItems(dayPicker) {
399
- if (!dayPicker) {
400
- return;
276
+ /**
277
+ * Returns a UTC timestamp, representing the first date in the value string or undefined if the value is empty
278
+ * @private
279
+ */
280
+ _extractFirstTimestamp(value) {
281
+ if (!value || !this._checkValueValidity(value)) {
282
+ return undefined;
401
283
  }
402
284
 
403
- const daypicker = await this.getDayPicker();
404
- const dayItems = daypicker.shadowRoot.querySelectorAll(".ui5-dp-item");
285
+ const dateStrings = this._splitValueByDelimiter(value); // at least one item guaranteed due to the checks above (non-empty and valid)
286
+ return this.getFormat().parse(dateStrings[0], true).getTime() / 1000;
287
+ }
405
288
 
406
- for (let i = 0; i < dayItems.length; i++) {
407
- dayItems[i].removeAttribute("hovered");
289
+ /**
290
+ * Returns a UTC timestamp, representing the last date in the value string or undefined if the value is empty or there is just one date
291
+ * @private
292
+ */
293
+ _extractLastTimestamp(value) {
294
+ if (!value || !this._checkValueValidity(value)) {
295
+ return undefined;
408
296
  }
409
- }
410
297
 
411
- _updateValueCalendarSelectedDatesChange() {
412
- // Collect both dates and merge them into one
413
- if (this._firstDateTimestamp !== this._lastDateTimestamp || this._oneTimeStampSelected) {
414
- this.value = this._formatValue(this._firstDateTimestamp, this._lastDateTimestamp);
298
+ const dateStrings = this._splitValueByDelimiter(value);
299
+ if (dateStrings[1]) {
300
+ return this.getFormat().parse(dateStrings[1], true).getTime() / 1000;
415
301
  }
416
302
 
417
- this.realValue = this._formatValue(this._firstDateTimestamp, this._lastDateTimestamp);
418
- this._prevValue = this.realValue;
303
+ return undefined;
419
304
  }
420
305
 
421
- _formatValue(firstDateValue, lastDateValue) {
422
- let value = "";
423
- const delimiter = this.delimiter,
424
- format = this.getFormat(),
425
- firstDate = new Date(firstDateValue * 1000),
426
- lastDate = new Date(lastDateValue * 1000),
427
- firstDateString = format.format(new Date(firstDate.getUTCFullYear(), firstDate.getUTCMonth(), firstDate.getUTCDate(), firstDate.getUTCHours())),
428
- lastDateString = format.format(new Date(lastDate.getUTCFullYear(), lastDate.getUTCMonth(), lastDate.getUTCDate(), lastDate.getUTCHours()));
429
-
430
- if (firstDateValue) {
431
- if (delimiter && delimiter !== "" && lastDateString) {
432
- value = firstDateString.concat(" ", delimiter, " ", lastDateString);
433
- } else {
434
- value = firstDateString;
306
+ /**
307
+ * Builds a string value out of two UTC timestamps - this method is the counterpart to _extractFirstTimestamp/_extractLastTimestamp
308
+ * @private
309
+ */
310
+ _buildValue(firstDateTimestamp, lastDateTimestamp) {
311
+ if (firstDateTimestamp) {
312
+ const firstDateString = this._getStringFromTimestamp(firstDateTimestamp * 1000);
313
+
314
+ if (!lastDateTimestamp) {
315
+ return firstDateString;
435
316
  }
317
+
318
+ const lastDateString = this._getStringFromTimestamp(lastDateTimestamp * 1000);
319
+ return `${firstDateString} ${this._effectiveDelimiter} ${lastDateString}`;
436
320
  }
437
321
 
438
- return value;
322
+ return "";
439
323
  }
440
324
  }
441
325