@ui5/webcomponents 1.0.0-rc.8 → 1.0.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 (1229) hide show
  1. package/CHANGELOG.md +655 -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 +194 -53
  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 +125 -37
  13. package/dist/Button.js +116 -49
  14. package/dist/Calendar.js +336 -556
  15. package/dist/CalendarDate.js +45 -0
  16. package/dist/CalendarHeader.js +129 -53
  17. package/dist/CalendarPart.js +111 -0
  18. package/dist/Card.js +43 -172
  19. package/dist/CardHeader.js +288 -0
  20. package/dist/Carousel.js +266 -98
  21. package/dist/CheckBox.js +147 -55
  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 +558 -108
  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 +37 -3
  31. package/dist/DateComponentBase.js +170 -0
  32. package/dist/DatePicker.js +362 -418
  33. package/dist/DateRangePicker.js +191 -265
  34. package/dist/DateTimePicker.js +106 -385
  35. package/dist/DayPicker.js +485 -477
  36. package/dist/Dialog.js +467 -17
  37. package/dist/DurationPicker.js +133 -400
  38. package/dist/FileUploader.js +208 -29
  39. package/dist/GroupHeaderListItem.js +23 -14
  40. package/dist/Icon.js +128 -43
  41. package/dist/Input.js +436 -185
  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 +381 -106
  46. package/dist/ListItem.js +87 -19
  47. package/dist/ListItemBase.js +29 -2
  48. package/dist/MessageStrip.js +55 -70
  49. package/dist/MonthPicker.js +180 -187
  50. package/dist/MultiComboBox.js +570 -153
  51. package/dist/MultiComboBoxItem.js +7 -2
  52. package/dist/MultiInput.js +301 -0
  53. package/dist/Option.js +48 -5
  54. package/dist/Panel.js +78 -53
  55. package/dist/Popover.js +207 -80
  56. package/dist/Popup.js +165 -64
  57. package/dist/ProgressIndicator.js +32 -20
  58. package/dist/RadioButton.js +130 -46
  59. package/dist/RadioButtonGroup.js +53 -29
  60. package/dist/RangeSlider.js +769 -0
  61. package/dist/RatingIndicator.js +31 -37
  62. package/dist/ResponsivePopover.js +65 -51
  63. package/dist/SegmentedButton.js +105 -70
  64. package/dist/SegmentedButtonItem.js +109 -0
  65. package/dist/Select.js +424 -111
  66. package/dist/Slider.js +320 -0
  67. package/dist/SliderBase.js +842 -0
  68. package/dist/StandardListItem.js +42 -11
  69. package/dist/StepInput.js +684 -0
  70. package/dist/SuggestionGroupItem.js +64 -0
  71. package/dist/SuggestionItem.js +17 -30
  72. package/dist/SuggestionListItem.js +17 -6
  73. package/dist/Switch.js +59 -37
  74. package/dist/Tab.js +55 -33
  75. package/dist/TabContainer.js +135 -50
  76. package/dist/TabSeparator.js +1 -0
  77. package/dist/Table.js +475 -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 +235 -10
  82. package/dist/TextArea.js +136 -43
  83. package/dist/TimePicker.js +50 -684
  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 +24 -8
  88. package/dist/ToggleButton.js +21 -8
  89. package/dist/Token.js +84 -43
  90. package/dist/Tokenizer.js +241 -60
  91. package/dist/Tree.js +103 -47
  92. package/dist/TreeItem.js +44 -9
  93. package/dist/TreeListItem.js +94 -7
  94. package/dist/WheelSlider.js +76 -56
  95. package/dist/YearPicker.js +198 -260
  96. package/dist/api.json +6871 -1
  97. package/dist/css/themes/Avatar.css +1 -0
  98. package/dist/css/themes/AvatarGroup.css +1 -0
  99. package/dist/css/themes/Badge.css +1 -0
  100. package/dist/css/themes/Breadcrumbs.css +1 -0
  101. package/dist/css/themes/BreadcrumbsPopover.css +1 -0
  102. package/dist/css/themes/BrowserScrollbar.css +1 -0
  103. package/dist/css/themes/BusyIndicator.css +1 -0
  104. package/dist/css/themes/Button.css +1 -0
  105. package/dist/css/themes/Button.ie11.css +1 -0
  106. package/dist/css/themes/Calendar.css +1 -0
  107. package/dist/css/themes/CalendarHeader.css +1 -0
  108. package/dist/css/themes/Card.css +1 -0
  109. package/dist/css/themes/CardHeader.css +1 -0
  110. package/dist/css/themes/Carousel.css +1 -0
  111. package/dist/css/themes/CheckBox.css +1 -0
  112. package/dist/css/themes/ColorPalette.css +1 -0
  113. package/dist/css/themes/ColorPaletteItem.css +1 -0
  114. package/dist/css/themes/ColorPalettePopover.css +1 -0
  115. package/dist/css/themes/ColorPaletteStaticArea.css +1 -0
  116. package/dist/css/themes/ColorPicker.css +1 -0
  117. package/dist/css/themes/ComboBox.css +1 -0
  118. package/dist/css/themes/ComboBoxPopover.css +1 -0
  119. package/dist/css/themes/CustomListItem.css +1 -0
  120. package/dist/css/themes/DatePicker.css +1 -0
  121. package/dist/css/themes/DatePickerPopover.css +1 -0
  122. package/dist/css/themes/DateRangePicker.css +1 -0
  123. package/dist/css/themes/DateTimePicker.css +1 -0
  124. package/dist/css/themes/DateTimePickerPopover.css +1 -0
  125. package/dist/css/themes/DayPicker.css +1 -0
  126. package/dist/css/themes/Dialog.css +1 -0
  127. package/dist/css/themes/FileUploader.css +1 -0
  128. package/dist/css/themes/GroupHeaderListItem.css +1 -0
  129. package/dist/css/themes/GrowingButton.css +1 -0
  130. package/dist/css/themes/Icon.css +1 -0
  131. package/dist/css/themes/Input.css +1 -0
  132. package/dist/css/themes/InputIcon.css +1 -0
  133. package/dist/css/themes/InvisibleTextStyles.css +1 -0
  134. package/dist/css/themes/Label.css +1 -0
  135. package/dist/css/themes/Link.css +1 -0
  136. package/dist/css/themes/List.css +1 -0
  137. package/dist/css/themes/ListItem.css +1 -0
  138. package/dist/css/themes/ListItemBase.css +1 -0
  139. package/dist/css/themes/MessageStrip.css +1 -0
  140. package/dist/css/themes/MonthPicker.css +1 -0
  141. package/dist/css/themes/MultiComboBox.css +1 -0
  142. package/dist/css/themes/MultiInput.css +1 -0
  143. package/dist/css/themes/Panel.css +1 -0
  144. package/dist/css/themes/Popover.css +1 -0
  145. package/dist/css/themes/Popup.css +1 -0
  146. package/dist/css/themes/PopupGlobal.css +1 -0
  147. package/dist/css/themes/PopupStaticAreaStyles.css +1 -0
  148. package/dist/css/themes/PopupsCommon.css +1 -0
  149. package/dist/css/themes/ProgressIndicator.css +1 -0
  150. package/dist/css/themes/RadioButton.css +1 -0
  151. package/dist/css/themes/RatingIndicator.css +1 -0
  152. package/dist/css/themes/ResponsivePopover.css +1 -0
  153. package/dist/css/themes/ResponsivePopoverCommon.css +1 -0
  154. package/dist/css/themes/SegmentedButton.css +1 -0
  155. package/dist/css/themes/Select.css +1 -0
  156. package/dist/css/themes/SelectPopover.css +1 -0
  157. package/dist/css/themes/SliderBase.css +1 -0
  158. package/dist/css/themes/StepInput.css +1 -0
  159. package/dist/css/themes/Suggestions.css +1 -0
  160. package/dist/css/themes/Switch.css +1 -0
  161. package/dist/css/themes/Tab.css +1 -0
  162. package/dist/css/themes/TabContainer.css +1 -0
  163. package/dist/css/themes/TabInOverflow.css +1 -0
  164. package/dist/css/themes/TabInStrip.css +1 -0
  165. package/dist/css/themes/Table.css +1 -0
  166. package/dist/css/themes/TableCell.css +1 -0
  167. package/dist/css/themes/TableColumn.css +1 -0
  168. package/dist/css/themes/TableGroupRow.css +1 -0
  169. package/dist/css/themes/TableRow.css +1 -0
  170. package/dist/css/themes/TapHighlightColor.css +1 -0
  171. package/dist/css/themes/TextArea.css +1 -0
  172. package/dist/css/themes/TimePicker.css +1 -0
  173. package/dist/css/themes/TimePickerPopover.css +1 -0
  174. package/dist/css/themes/TimeSelection.css +1 -0
  175. package/dist/css/themes/Title.css +1 -0
  176. package/dist/css/themes/Toast.css +1 -0
  177. package/dist/css/themes/ToggleButton.css +1 -0
  178. package/dist/css/themes/ToggleButton.ie11.css +1 -0
  179. package/dist/css/themes/Token.css +1 -0
  180. package/dist/css/themes/Tokenizer.css +1 -0
  181. package/dist/css/themes/Tree.css +1 -0
  182. package/dist/css/themes/TreeListItem.css +1 -0
  183. package/dist/css/themes/ValueStateMessage.css +1 -0
  184. package/dist/css/themes/WheelSlider.css +1 -0
  185. package/dist/css/themes/YearPicker.css +1 -0
  186. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -0
  187. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -0
  188. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -0
  189. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -0
  190. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
  191. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
  192. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
  193. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -0
  194. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -0
  195. package/dist/features/ColorPaletteMoreColors.js +42 -0
  196. package/dist/features/InputElementsFormSupport.js +0 -1
  197. package/dist/features/InputSuggestions.js +162 -51
  198. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  199. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  200. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
  203. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
  208. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  209. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  210. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  211. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
  213. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  214. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  216. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
  217. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  220. package/dist/generated/assets/i18n/messagebundle_in.json +1 -0
  221. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  224. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  233. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  234. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  235. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  236. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  237. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  238. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  239. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  240. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  241. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  242. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  243. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  244. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  245. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  246. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  247. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  248. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  249. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  250. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  251. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  252. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  253. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
  254. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
  255. package/dist/generated/i18n/i18n-defaults.js +2 -2
  256. package/dist/generated/json-imports/Themes-static.js +35 -0
  257. package/dist/generated/json-imports/Themes.js +23 -19
  258. package/dist/generated/json-imports/i18n-static.js +162 -0
  259. package/dist/generated/json-imports/i18n.js +113 -87
  260. package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
  261. package/dist/generated/templates/AvatarTemplate.lit.js +9 -9
  262. package/dist/generated/templates/BadgeTemplate.lit.js +5 -6
  263. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
  264. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
  265. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -6
  266. package/dist/generated/templates/ButtonTemplate.lit.js +6 -6
  267. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -4
  268. package/dist/generated/templates/CalendarTemplate.lit.js +4 -4
  269. package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
  270. package/dist/generated/templates/CardTemplate.lit.js +5 -10
  271. package/dist/generated/templates/CarouselTemplate.lit.js +13 -12
  272. package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -7
  273. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +7 -0
  274. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +7 -0
  275. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
  276. package/dist/generated/templates/ColorPaletteTemplate.lit.js +12 -0
  277. package/dist/generated/templates/ColorPickerTemplate.lit.js +7 -0
  278. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -5
  279. package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -6
  280. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -13
  281. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -6
  282. package/dist/generated/templates/DatePickerTemplate.lit.js +6 -6
  283. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -12
  284. package/dist/generated/templates/DayPickerTemplate.lit.js +13 -11
  285. package/dist/generated/templates/DialogTemplate.lit.js +9 -7
  286. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +10 -0
  287. package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -7
  288. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -4
  289. package/dist/generated/templates/IconTemplate.lit.js +6 -6
  290. package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -24
  291. package/dist/generated/templates/InputTemplate.lit.js +9 -8
  292. package/dist/generated/templates/LabelTemplate.lit.js +4 -4
  293. package/dist/generated/templates/LinkTemplate.lit.js +5 -5
  294. package/dist/generated/templates/ListItemTemplate.lit.js +13 -13
  295. package/dist/generated/templates/ListTemplate.lit.js +12 -9
  296. package/dist/generated/templates/MessageStripTemplate.lit.js +8 -8
  297. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
  298. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -5
  299. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -8
  300. package/dist/generated/templates/MultiInputTemplate.lit.js +16 -0
  301. package/dist/generated/templates/PanelTemplate.lit.js +9 -7
  302. package/dist/generated/templates/PopoverTemplate.lit.js +9 -9
  303. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +4 -4
  304. package/dist/generated/templates/PopupTemplate.lit.js +4 -4
  305. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +14 -10
  306. package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -7
  307. package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -0
  308. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +11 -9
  309. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -14
  310. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
  311. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -4
  312. package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -6
  313. package/dist/generated/templates/SelectTemplate.lit.js +6 -5
  314. package/dist/generated/templates/SliderBaseTemplate.lit.js +11 -0
  315. package/dist/generated/templates/SliderTemplate.lit.js +12 -0
  316. package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -20
  317. package/dist/generated/templates/StepInputTemplate.lit.js +10 -0
  318. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +24 -22
  319. package/dist/generated/templates/SwitchTemplate.lit.js +8 -6
  320. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +6 -6
  321. package/dist/generated/templates/TabContainerTemplate.lit.js +16 -14
  322. package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -6
  323. package/dist/generated/templates/TabInStripTemplate.lit.js +8 -10
  324. package/dist/generated/templates/TabSeparatorTemplate.lit.js +4 -4
  325. package/dist/generated/templates/TabTemplate.lit.js +4 -4
  326. package/dist/generated/templates/TableCellTemplate.lit.js +4 -4
  327. package/dist/generated/templates/TableColumnTemplate.lit.js +4 -4
  328. package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
  329. package/dist/generated/templates/TableRowTemplate.lit.js +12 -11
  330. package/dist/generated/templates/TableTemplate.lit.js +13 -8
  331. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -8
  332. package/dist/generated/templates/TextAreaTemplate.lit.js +8 -7
  333. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -8
  334. package/dist/generated/templates/TimePickerTemplate.lit.js +6 -6
  335. package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
  336. package/dist/generated/templates/TitleTemplate.lit.js +10 -10
  337. package/dist/generated/templates/ToastTemplate.lit.js +5 -4
  338. package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -6
  339. package/dist/generated/templates/TokenTemplate.lit.js +7 -5
  340. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +12 -0
  341. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -6
  342. package/dist/generated/templates/TreeListItemTemplate.lit.js +18 -17
  343. package/dist/generated/templates/TreeTemplate.lit.js +5 -5
  344. package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -7
  345. package/dist/generated/templates/YearPickerTemplate.lit.js +6 -6
  346. package/dist/generated/themes/Avatar.css.js +5 -5
  347. package/dist/generated/themes/AvatarGroup.css.js +8 -0
  348. package/dist/generated/themes/Badge.css.js +5 -5
  349. package/dist/generated/themes/Breadcrumbs.css.js +8 -0
  350. package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
  351. package/dist/generated/themes/BrowserScrollbar.css.js +8 -0
  352. package/dist/generated/themes/BusyIndicator.css.js +5 -5
  353. package/dist/generated/themes/Button.css.js +5 -5
  354. package/dist/generated/themes/Button.ie11.css.js +8 -0
  355. package/dist/generated/themes/Calendar.css.js +5 -5
  356. package/dist/generated/themes/CalendarHeader.css.js +5 -5
  357. package/dist/generated/themes/Card.css.js +5 -5
  358. package/dist/generated/themes/CardHeader.css.js +8 -0
  359. package/dist/generated/themes/Carousel.css.js +5 -5
  360. package/dist/generated/themes/CheckBox.css.js +5 -5
  361. package/dist/generated/themes/ColorPalette.css.js +8 -0
  362. package/dist/generated/themes/ColorPaletteItem.css.js +8 -0
  363. package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
  364. package/dist/generated/themes/ColorPaletteStaticArea.css.js +8 -0
  365. package/dist/generated/themes/ColorPicker.css.js +8 -0
  366. package/dist/generated/themes/ComboBox.css.js +5 -5
  367. package/dist/generated/themes/ComboBoxPopover.css.js +5 -5
  368. package/dist/generated/themes/CustomListItem.css.js +5 -5
  369. package/dist/generated/themes/DatePicker.css.js +5 -5
  370. package/dist/generated/themes/DatePickerPopover.css.js +5 -5
  371. package/dist/generated/themes/DateRangePicker.css.js +5 -5
  372. package/dist/generated/themes/DateTimePicker.css.js +5 -5
  373. package/dist/generated/themes/DateTimePickerPopover.css.js +5 -5
  374. package/dist/generated/themes/DayPicker.css.js +5 -5
  375. package/dist/generated/themes/Dialog.css.js +5 -5
  376. package/dist/generated/themes/FileUploader.css.js +5 -5
  377. package/dist/generated/themes/GroupHeaderListItem.css.js +5 -5
  378. package/dist/generated/themes/GrowingButton.css.js +8 -0
  379. package/dist/generated/themes/Icon.css.js +5 -5
  380. package/dist/generated/themes/Input.css.js +5 -5
  381. package/dist/generated/themes/InputIcon.css.js +5 -5
  382. package/dist/generated/themes/InvisibleTextStyles.css.js +5 -5
  383. package/dist/generated/themes/Label.css.js +5 -5
  384. package/dist/generated/themes/Link.css.js +5 -5
  385. package/dist/generated/themes/List.css.js +5 -5
  386. package/dist/generated/themes/ListItem.css.js +5 -5
  387. package/dist/generated/themes/ListItemBase.css.js +5 -5
  388. package/dist/generated/themes/MessageStrip.css.js +5 -5
  389. package/dist/generated/themes/MonthPicker.css.js +5 -5
  390. package/dist/generated/themes/MultiComboBox.css.js +5 -5
  391. package/dist/generated/themes/MultiInput.css.js +8 -0
  392. package/dist/generated/themes/Panel.css.js +5 -5
  393. package/dist/generated/themes/Popover.css.js +5 -5
  394. package/dist/generated/themes/Popup.css.js +5 -5
  395. package/dist/generated/themes/PopupGlobal.css.js +8 -0
  396. package/dist/generated/themes/PopupStaticAreaStyles.css.js +5 -5
  397. package/dist/generated/themes/PopupsCommon.css.js +5 -5
  398. package/dist/generated/themes/ProgressIndicator.css.js +5 -5
  399. package/dist/generated/themes/RadioButton.css.js +5 -5
  400. package/dist/generated/themes/RatingIndicator.css.js +5 -5
  401. package/dist/generated/themes/ResponsivePopover.css.js +5 -5
  402. package/dist/generated/themes/ResponsivePopoverCommon.css.js +5 -5
  403. package/dist/generated/themes/SegmentedButton.css.js +5 -5
  404. package/dist/generated/themes/Select.css.js +5 -5
  405. package/dist/generated/themes/SelectPopover.css.js +8 -0
  406. package/dist/generated/themes/SliderBase.css.js +8 -0
  407. package/dist/generated/themes/StepInput.css.js +8 -0
  408. package/dist/generated/themes/Suggestions.css.js +8 -0
  409. package/dist/generated/themes/Switch.css.js +5 -5
  410. package/dist/generated/themes/Tab.css.js +5 -5
  411. package/dist/generated/themes/TabContainer.css.js +5 -5
  412. package/dist/generated/themes/TabInOverflow.css.js +5 -5
  413. package/dist/generated/themes/TabInStrip.css.js +5 -5
  414. package/dist/generated/themes/Table.css.js +5 -5
  415. package/dist/generated/themes/TableCell.css.js +5 -5
  416. package/dist/generated/themes/TableColumn.css.js +5 -5
  417. package/dist/generated/themes/TableGroupRow.css.js +8 -0
  418. package/dist/generated/themes/TableRow.css.js +5 -5
  419. package/dist/generated/themes/TapHighlightColor.css.js +8 -0
  420. package/dist/generated/themes/TextArea.css.js +5 -5
  421. package/dist/generated/themes/TimePicker.css.js +5 -5
  422. package/dist/generated/themes/TimePickerPopover.css.js +5 -5
  423. package/dist/generated/themes/TimeSelection.css.js +8 -0
  424. package/dist/generated/themes/Title.css.js +5 -5
  425. package/dist/generated/themes/Toast.css.js +5 -5
  426. package/dist/generated/themes/ToggleButton.css.js +5 -5
  427. package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
  428. package/dist/generated/themes/Token.css.js +5 -5
  429. package/dist/generated/themes/Tokenizer.css.js +5 -5
  430. package/dist/generated/themes/Tree.css.js +5 -5
  431. package/dist/generated/themes/TreeListItem.css.js +5 -5
  432. package/dist/generated/themes/ValueStateMessage.css.js +5 -5
  433. package/dist/generated/themes/WheelSlider.css.js +5 -5
  434. package/dist/generated/themes/YearPicker.css.js +5 -5
  435. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  436. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  437. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  438. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  439. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  440. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  441. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  442. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
  443. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
  444. package/dist/i18n/messagebundle.properties +335 -0
  445. package/dist/i18n/messagebundle_ar.properties +224 -0
  446. package/dist/i18n/messagebundle_bg.properties +224 -0
  447. package/dist/i18n/messagebundle_ca.properties +224 -0
  448. package/dist/i18n/messagebundle_cs.properties +224 -0
  449. package/dist/i18n/messagebundle_cy.properties +224 -0
  450. package/dist/i18n/messagebundle_da.properties +224 -0
  451. package/dist/i18n/messagebundle_de.properties +224 -0
  452. package/dist/i18n/messagebundle_el.properties +224 -0
  453. package/dist/i18n/messagebundle_en.properties +224 -0
  454. package/dist/i18n/messagebundle_en_GB.properties +224 -0
  455. package/dist/i18n/messagebundle_en_US_sappsd.properties +224 -0
  456. package/dist/i18n/messagebundle_en_US_saprigi.properties +224 -0
  457. package/dist/i18n/messagebundle_en_US_saptrc.properties +224 -0
  458. package/dist/i18n/messagebundle_es.properties +224 -0
  459. package/dist/i18n/messagebundle_es_MX.properties +224 -0
  460. package/dist/i18n/messagebundle_et.properties +224 -0
  461. package/dist/i18n/messagebundle_fi.properties +224 -0
  462. package/dist/i18n/messagebundle_fr.properties +224 -0
  463. package/dist/i18n/messagebundle_fr_CA.properties +224 -0
  464. package/dist/i18n/messagebundle_hi.properties +224 -0
  465. package/dist/i18n/messagebundle_hr.properties +224 -0
  466. package/dist/i18n/messagebundle_hu.properties +224 -0
  467. package/dist/i18n/messagebundle_id.properties +224 -0
  468. package/dist/i18n/messagebundle_in.properties +172 -0
  469. package/dist/i18n/messagebundle_it.properties +224 -0
  470. package/dist/i18n/messagebundle_iw.properties +224 -0
  471. package/dist/i18n/messagebundle_ja.properties +224 -0
  472. package/dist/i18n/messagebundle_kk.properties +224 -0
  473. package/dist/i18n/messagebundle_ko.properties +224 -0
  474. package/dist/i18n/messagebundle_lt.properties +224 -0
  475. package/dist/i18n/messagebundle_lv.properties +224 -0
  476. package/dist/i18n/messagebundle_ms.properties +224 -0
  477. package/dist/i18n/messagebundle_nl.properties +224 -0
  478. package/dist/i18n/messagebundle_no.properties +224 -0
  479. package/dist/i18n/messagebundle_pl.properties +224 -0
  480. package/dist/i18n/messagebundle_pt.properties +224 -0
  481. package/dist/i18n/messagebundle_pt_PT.properties +224 -0
  482. package/dist/i18n/messagebundle_ro.properties +224 -0
  483. package/dist/i18n/messagebundle_ru.properties +224 -0
  484. package/dist/i18n/messagebundle_sh.properties +224 -0
  485. package/dist/i18n/messagebundle_sk.properties +224 -0
  486. package/dist/i18n/messagebundle_sl.properties +224 -0
  487. package/dist/i18n/messagebundle_sv.properties +224 -0
  488. package/dist/i18n/messagebundle_th.properties +224 -0
  489. package/dist/i18n/messagebundle_tr.properties +224 -0
  490. package/dist/i18n/messagebundle_uk.properties +224 -0
  491. package/dist/i18n/messagebundle_vi.properties +224 -0
  492. package/dist/i18n/messagebundle_zh_CN.properties +224 -0
  493. package/dist/i18n/messagebundle_zh_TW.properties +224 -0
  494. package/dist/popup-utils/OpenedPopupsRegistry.js +2 -2
  495. package/dist/popup-utils/PopoverRegistry.js +2 -4
  496. package/dist/timepicker-utils/TimeSlider.js +15 -13
  497. package/{src/types/AvatarBackgroundColor.js → dist/types/AvatarColorScheme.js} +9 -9
  498. package/dist/types/AvatarGroupType.js +43 -0
  499. package/dist/types/AvatarShape.js +1 -1
  500. package/dist/types/AvatarSize.js +1 -1
  501. package/dist/types/BreadcrumbsDesign.js +42 -0
  502. package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
  503. package/dist/types/BusyIndicatorSize.js +1 -1
  504. package/dist/types/ButtonDesign.js +8 -1
  505. package/dist/types/CalendarSelectionMode.js +47 -0
  506. package/dist/types/CarouselArrowsPlacement.js +3 -3
  507. package/dist/types/GrowingMode.js +48 -0
  508. package/dist/types/InputType.js +7 -7
  509. package/dist/types/LinkDesign.js +1 -1
  510. package/dist/types/ListGrowingMode.js +15 -0
  511. package/dist/types/ListItemType.js +1 -1
  512. package/dist/types/ListMode.js +1 -1
  513. package/dist/types/ListSeparators.js +1 -1
  514. package/{src/types/MessageStripType.js → dist/types/MessageStripDesign.js} +7 -7
  515. package/dist/types/PanelAccessibleRole.js +1 -1
  516. package/dist/types/PopoverHorizontalAlign.js +1 -1
  517. package/dist/types/PopoverPlacementType.js +2 -2
  518. package/dist/types/PopoverVerticalAlign.js +1 -2
  519. package/dist/types/Priority.js +1 -1
  520. package/dist/types/SemanticColor.js +1 -1
  521. package/dist/types/SwitchDesign.js +40 -0
  522. package/dist/types/TabContainerTabsPlacement.js +5 -5
  523. package/dist/types/TabLayout.js +1 -1
  524. package/dist/types/TableGrowingMode.js +15 -0
  525. package/dist/types/TableMode.js +47 -0
  526. package/dist/types/TableRowType.js +40 -0
  527. package/dist/types/TitleLevel.js +1 -1
  528. package/dist/types/ToastPlacement.js +1 -2
  529. package/dist/types/WrappingType.js +41 -0
  530. package/dist/webcomponentsjs/CHANGELOG.md +61 -0
  531. package/dist/webcomponentsjs/README.md +64 -47
  532. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +38 -38
  533. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
  534. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
  535. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
  536. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
  537. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
  538. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +292 -229
  539. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
  540. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +190 -170
  541. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
  542. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +151 -132
  543. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
  544. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +2 -2
  545. package/dist/webcomponentsjs/webcomponents-bundle.js +302 -230
  546. package/dist/webcomponentsjs/webcomponents-bundle.js.map +1 -1
  547. package/dist/webcomponentsjs/webcomponents-loader.js +49 -28
  548. package/package-scripts.js +1 -0
  549. package/package.json +22 -8
  550. package/src/Assets-static.js +6 -0
  551. package/src/Assets.js +2 -1
  552. package/src/Avatar.hbs +14 -3
  553. package/src/Avatar.js +194 -53
  554. package/src/AvatarGroup.hbs +30 -0
  555. package/src/AvatarGroup.js +603 -0
  556. package/src/Badge.hbs +7 -4
  557. package/src/Badge.js +45 -19
  558. package/src/Breadcrumbs.hbs +42 -0
  559. package/src/Breadcrumbs.js +573 -0
  560. package/src/BreadcrumbsItem.js +103 -0
  561. package/src/BreadcrumbsPopover.hbs +28 -0
  562. package/src/BusyIndicator.hbs +28 -14
  563. package/src/BusyIndicator.js +125 -37
  564. package/src/Button.hbs +5 -2
  565. package/src/Button.js +116 -49
  566. package/src/Calendar.hbs +55 -43
  567. package/src/Calendar.js +336 -556
  568. package/src/CalendarDate.js +45 -0
  569. package/src/CalendarHeader.hbs +30 -31
  570. package/src/CalendarHeader.js +129 -53
  571. package/src/CalendarPart.js +111 -0
  572. package/src/Card.hbs +7 -38
  573. package/src/Card.js +43 -172
  574. package/src/CardHeader.hbs +35 -0
  575. package/src/CardHeader.js +288 -0
  576. package/src/Carousel.hbs +47 -48
  577. package/src/Carousel.js +266 -98
  578. package/src/CheckBox.hbs +18 -7
  579. package/src/CheckBox.js +147 -55
  580. package/src/ColorPalette.hbs +52 -0
  581. package/src/ColorPalette.js +493 -0
  582. package/src/ColorPaletteDialog.hbs +18 -0
  583. package/src/ColorPaletteItem.hbs +11 -0
  584. package/src/ColorPaletteItem.js +137 -0
  585. package/src/ColorPalettePopover.hbs +29 -0
  586. package/src/ColorPalettePopover.js +219 -0
  587. package/src/ColorPicker.hbs +98 -0
  588. package/src/ColorPicker.js +524 -0
  589. package/src/ComboBox.hbs +11 -2
  590. package/src/ComboBox.js +558 -108
  591. package/src/ComboBoxFilters.js +8 -1
  592. package/src/ComboBoxGroupItem.js +70 -0
  593. package/src/ComboBoxItem.js +11 -24
  594. package/src/ComboBoxPopover.hbs +67 -14
  595. package/src/CustomListItem.js +37 -3
  596. package/src/DateComponentBase.js +170 -0
  597. package/src/DatePicker.hbs +5 -3
  598. package/src/DatePicker.js +362 -418
  599. package/src/DatePickerPopover.hbs +23 -15
  600. package/src/DateRangePicker.js +191 -265
  601. package/src/DateTimePicker.js +106 -385
  602. package/src/DateTimePickerPopover.hbs +28 -52
  603. package/src/DayPicker.hbs +39 -32
  604. package/src/DayPicker.js +485 -477
  605. package/src/Dialog.hbs +22 -7
  606. package/src/Dialog.js +467 -17
  607. package/src/DurationPicker.js +133 -400
  608. package/src/FileUploader.hbs +6 -0
  609. package/src/FileUploader.js +208 -29
  610. package/src/FileUploaderPopover.hbs +25 -0
  611. package/src/GroupHeaderListItem.hbs +4 -4
  612. package/src/GroupHeaderListItem.js +23 -14
  613. package/src/Icon.hbs +5 -4
  614. package/src/Icon.js +128 -43
  615. package/src/Input.hbs +24 -7
  616. package/src/Input.js +436 -185
  617. package/src/InputPopover.hbs +12 -8
  618. package/src/Interfaces.js +192 -0
  619. package/src/Label.hbs +1 -1
  620. package/src/Label.js +27 -12
  621. package/src/Link.hbs +4 -2
  622. package/src/Link.js +122 -29
  623. package/src/List.hbs +76 -37
  624. package/src/List.js +381 -106
  625. package/src/ListItem.hbs +20 -7
  626. package/src/ListItem.js +87 -19
  627. package/src/ListItemBase.js +29 -2
  628. package/src/MessageStrip.hbs +17 -17
  629. package/src/MessageStrip.js +55 -70
  630. package/src/MonthPicker.hbs +6 -5
  631. package/src/MonthPicker.js +180 -187
  632. package/src/MultiComboBox.hbs +27 -18
  633. package/src/MultiComboBox.js +570 -153
  634. package/src/MultiComboBoxItem.js +7 -2
  635. package/src/MultiComboBoxPopover.hbs +109 -41
  636. package/src/MultiInput.hbs +41 -0
  637. package/src/MultiInput.js +301 -0
  638. package/src/Option.js +48 -5
  639. package/src/Panel.hbs +23 -12
  640. package/src/Panel.js +78 -53
  641. package/src/Popover.js +207 -80
  642. package/src/Popup.hbs +5 -0
  643. package/src/Popup.js +165 -64
  644. package/src/PopupBlockLayer.hbs +7 -1
  645. package/src/ProgressIndicator.hbs +8 -2
  646. package/src/ProgressIndicator.js +32 -20
  647. package/src/RadioButton.hbs +7 -4
  648. package/src/RadioButton.js +130 -46
  649. package/src/RadioButtonGroup.js +53 -29
  650. package/src/RangeSlider.hbs +70 -0
  651. package/src/RangeSlider.js +769 -0
  652. package/src/RatingIndicator.hbs +7 -5
  653. package/src/RatingIndicator.js +31 -37
  654. package/src/ResponsivePopover.hbs +13 -8
  655. package/src/ResponsivePopover.js +65 -51
  656. package/src/SegmentedButton.hbs +12 -5
  657. package/src/SegmentedButton.js +105 -70
  658. package/src/SegmentedButtonItem.hbs +42 -0
  659. package/src/SegmentedButtonItem.js +109 -0
  660. package/src/Select.hbs +26 -13
  661. package/src/Select.js +424 -111
  662. package/src/SelectPopover.hbs +72 -17
  663. package/src/Slider.hbs +42 -0
  664. package/src/Slider.js +320 -0
  665. package/src/SliderBase.hbs +38 -0
  666. package/src/SliderBase.js +842 -0
  667. package/src/StandardListItem.hbs +17 -9
  668. package/src/StandardListItem.js +42 -11
  669. package/src/StepInput.hbs +80 -0
  670. package/src/StepInput.js +684 -0
  671. package/src/SuggestionGroupItem.js +64 -0
  672. package/src/SuggestionItem.js +17 -30
  673. package/src/SuggestionListItem.hbs +18 -10
  674. package/src/SuggestionListItem.js +17 -6
  675. package/src/Switch.hbs +19 -3
  676. package/src/Switch.js +59 -37
  677. package/src/Tab.js +55 -33
  678. package/src/TabContainer.hbs +55 -31
  679. package/src/TabContainer.js +135 -50
  680. package/src/TabContainerPopover.hbs +2 -1
  681. package/src/TabInOverflow.hbs +3 -0
  682. package/src/TabInStrip.hbs +2 -7
  683. package/src/TabSeparator.hbs +1 -1
  684. package/src/TabSeparator.js +1 -0
  685. package/src/Table.hbs +95 -25
  686. package/src/Table.js +475 -22
  687. package/src/TableCell.hbs +1 -0
  688. package/src/TableCell.js +11 -9
  689. package/src/TableColumn.hbs +2 -0
  690. package/src/TableColumn.js +13 -3
  691. package/src/TableGroupRow.hbs +12 -0
  692. package/src/TableGroupRow.js +160 -0
  693. package/src/TableRow.hbs +30 -2
  694. package/src/TableRow.js +235 -10
  695. package/src/TextArea.hbs +8 -4
  696. package/src/TextArea.js +136 -43
  697. package/src/TextAreaPopover.hbs +2 -1
  698. package/src/TimePicker.hbs +6 -3
  699. package/src/TimePicker.js +50 -684
  700. package/src/TimePickerBase.js +463 -0
  701. package/src/TimePickerPopover.hbs +28 -52
  702. package/src/TimeSelection.hbs +60 -0
  703. package/src/TimeSelection.js +493 -0
  704. package/src/Title.js +16 -9
  705. package/src/Toast.hbs +13 -11
  706. package/src/Toast.js +24 -8
  707. package/src/ToggleButton.js +21 -8
  708. package/src/Token.hbs +17 -8
  709. package/src/Token.js +84 -43
  710. package/src/Tokenizer.hbs +5 -1
  711. package/src/Tokenizer.js +241 -60
  712. package/src/TokenizerPopover.hbs +50 -0
  713. package/src/Tree.hbs +10 -2
  714. package/src/Tree.js +103 -47
  715. package/src/TreeItem.js +44 -9
  716. package/src/TreeListItem.hbs +15 -4
  717. package/src/TreeListItem.js +94 -7
  718. package/src/WheelSlider.hbs +17 -10
  719. package/src/WheelSlider.js +76 -56
  720. package/src/YearPicker.hbs +9 -6
  721. package/src/YearPicker.js +198 -260
  722. package/src/features/ColorPaletteMoreColors.js +42 -0
  723. package/src/features/InputElementsFormSupport.js +0 -1
  724. package/src/features/InputSuggestions.js +162 -51
  725. package/src/i18n/messagebundle.properties +162 -186
  726. package/src/i18n/messagebundle_ar.properties +99 -115
  727. package/src/i18n/messagebundle_bg.properties +99 -115
  728. package/src/i18n/messagebundle_ca.properties +99 -115
  729. package/src/i18n/messagebundle_cs.properties +99 -115
  730. package/src/i18n/messagebundle_cy.properties +224 -0
  731. package/src/i18n/messagebundle_da.properties +99 -115
  732. package/src/i18n/messagebundle_de.properties +99 -115
  733. package/src/i18n/messagebundle_el.properties +99 -115
  734. package/src/i18n/messagebundle_en.properties +99 -115
  735. package/src/i18n/messagebundle_en_GB.properties +224 -0
  736. package/src/i18n/messagebundle_en_US_sappsd.properties +99 -115
  737. package/src/i18n/messagebundle_en_US_saprigi.properties +224 -0
  738. package/src/i18n/messagebundle_en_US_saptrc.properties +99 -115
  739. package/src/i18n/messagebundle_es.properties +99 -115
  740. package/src/i18n/messagebundle_es_MX.properties +224 -0
  741. package/src/i18n/messagebundle_et.properties +99 -115
  742. package/src/i18n/messagebundle_fi.properties +99 -115
  743. package/src/i18n/messagebundle_fr.properties +99 -115
  744. package/src/i18n/messagebundle_fr_CA.properties +224 -0
  745. package/src/i18n/messagebundle_hi.properties +99 -115
  746. package/src/i18n/messagebundle_hr.properties +99 -115
  747. package/src/i18n/messagebundle_hu.properties +99 -115
  748. package/src/i18n/messagebundle_id.properties +224 -0
  749. package/src/i18n/messagebundle_in.properties +172 -0
  750. package/src/i18n/messagebundle_it.properties +99 -115
  751. package/src/i18n/messagebundle_iw.properties +99 -115
  752. package/src/i18n/messagebundle_ja.properties +100 -116
  753. package/src/i18n/messagebundle_kk.properties +99 -115
  754. package/src/i18n/messagebundle_ko.properties +99 -115
  755. package/src/i18n/messagebundle_lt.properties +99 -115
  756. package/src/i18n/messagebundle_lv.properties +99 -115
  757. package/src/i18n/messagebundle_ms.properties +99 -115
  758. package/src/i18n/messagebundle_nl.properties +99 -115
  759. package/src/i18n/messagebundle_no.properties +99 -115
  760. package/src/i18n/messagebundle_pl.properties +99 -115
  761. package/src/i18n/messagebundle_pt.properties +99 -115
  762. package/src/i18n/messagebundle_pt_PT.properties +224 -0
  763. package/src/i18n/messagebundle_ro.properties +98 -114
  764. package/src/i18n/messagebundle_ru.properties +99 -115
  765. package/src/i18n/messagebundle_sh.properties +99 -115
  766. package/src/i18n/messagebundle_sk.properties +99 -115
  767. package/src/i18n/messagebundle_sl.properties +99 -115
  768. package/src/i18n/messagebundle_sv.properties +99 -115
  769. package/src/i18n/messagebundle_th.properties +99 -115
  770. package/src/i18n/messagebundle_tr.properties +99 -115
  771. package/src/i18n/messagebundle_uk.properties +101 -117
  772. package/src/i18n/messagebundle_vi.properties +99 -115
  773. package/src/i18n/messagebundle_zh_CN.properties +99 -115
  774. package/src/i18n/messagebundle_zh_TW.properties +99 -115
  775. package/src/popup-utils/OpenedPopupsRegistry.js +2 -2
  776. package/src/popup-utils/PopoverRegistry.js +2 -4
  777. package/src/themes/Avatar.css +227 -0
  778. package/src/themes/AvatarGroup.css +82 -0
  779. package/src/themes/Badge.css +245 -0
  780. package/src/themes/Breadcrumbs.css +99 -0
  781. package/src/themes/BreadcrumbsPopover.css +6 -0
  782. package/src/themes/BrowserScrollbar.css +23 -0
  783. package/src/themes/BusyIndicator.css +143 -0
  784. package/src/themes/Button.css +306 -0
  785. package/src/themes/Button.ie11.css +48 -0
  786. package/src/themes/Calendar.css +18 -0
  787. package/src/themes/CalendarHeader.css +137 -0
  788. package/src/themes/Card.css +42 -0
  789. package/src/themes/CardHeader.css +129 -0
  790. package/src/themes/Carousel.css +140 -0
  791. package/src/themes/CheckBox.css +281 -0
  792. package/src/themes/ColorPalette.css +70 -0
  793. package/src/themes/ColorPaletteItem.css +70 -0
  794. package/src/themes/ColorPalettePopover.css +16 -0
  795. package/src/themes/ColorPaletteStaticArea.css +17 -0
  796. package/src/themes/ColorPicker.css +190 -0
  797. package/src/themes/ComboBox.css +9 -0
  798. package/src/themes/ComboBoxPopover.css +17 -0
  799. package/src/themes/CustomListItem.css +30 -0
  800. package/src/themes/DatePicker.css +46 -0
  801. package/src/themes/DatePickerPopover.css +5 -0
  802. package/src/themes/DateRangePicker.css +16 -0
  803. package/src/themes/DateTimePicker.css +11 -0
  804. package/src/themes/DateTimePickerPopover.css +78 -0
  805. package/src/themes/DayPicker.css +269 -0
  806. package/src/themes/Dialog.css +69 -0
  807. package/src/themes/FileUploader.css +40 -0
  808. package/src/themes/GroupHeaderListItem.css +24 -0
  809. package/src/themes/GrowingButton.css +67 -0
  810. package/src/themes/Icon.css +38 -0
  811. package/src/themes/Input.css +392 -0
  812. package/src/themes/InputIcon.css +53 -0
  813. package/src/themes/InvisibleTextStyles.css +9 -0
  814. package/src/themes/Label.css +85 -0
  815. package/src/themes/Link.css +77 -0
  816. package/src/themes/List.css +115 -0
  817. package/src/themes/ListItem.css +231 -0
  818. package/src/themes/ListItemBase.css +79 -0
  819. package/src/themes/MessageStrip.css +123 -0
  820. package/src/themes/MonthPicker.css +86 -0
  821. package/src/themes/MultiComboBox.css +37 -0
  822. package/src/themes/MultiInput.css +14 -0
  823. package/src/themes/Panel.css +96 -0
  824. package/src/themes/Popover.css +98 -0
  825. package/src/themes/Popup.css +5 -0
  826. package/src/themes/PopupGlobal.css +6 -0
  827. package/src/themes/PopupStaticAreaStyles.css +17 -0
  828. package/src/themes/PopupsCommon.css +88 -0
  829. package/src/themes/ProgressIndicator.css +158 -0
  830. package/src/themes/RadioButton.css +248 -0
  831. package/src/themes/RatingIndicator.css +53 -0
  832. package/src/themes/ResponsivePopover.css +34 -0
  833. package/src/themes/ResponsivePopoverCommon.css +207 -0
  834. package/src/themes/SegmentedButton.css +88 -0
  835. package/src/themes/Select.css +53 -0
  836. package/src/themes/SelectPopover.css +10 -0
  837. package/src/themes/SliderBase.css +252 -0
  838. package/src/themes/StepInput.css +269 -0
  839. package/src/themes/Suggestions.css +14 -0
  840. package/src/themes/Switch.css +370 -0
  841. package/src/themes/Tab.css +9 -0
  842. package/src/themes/TabContainer.css +164 -0
  843. package/src/themes/TabInOverflow.css +57 -0
  844. package/src/themes/TabInStrip.css +350 -0
  845. package/src/themes/Table.css +91 -0
  846. package/src/themes/TableCell.css +28 -0
  847. package/src/themes/TableColumn.css +30 -0
  848. package/src/themes/TableGroupRow.css +34 -0
  849. package/src/themes/TableRow.css +84 -0
  850. package/src/themes/TapHighlightColor.css +3 -0
  851. package/src/themes/TextArea.css +301 -0
  852. package/src/themes/TimePicker.css +50 -0
  853. package/src/themes/TimePickerPopover.css +11 -0
  854. package/src/themes/TimeSelection.css +23 -0
  855. package/src/themes/Title.css +65 -0
  856. package/src/themes/Toast.css +93 -0
  857. package/src/themes/ToggleButton.css +88 -0
  858. package/src/themes/ToggleButton.ie11.css +48 -0
  859. package/src/themes/Token.css +116 -0
  860. package/src/themes/Tokenizer.css +84 -0
  861. package/src/themes/Tree.css +11 -0
  862. package/src/themes/TreeListItem.css +107 -0
  863. package/src/themes/ValueStateMessage.css +76 -0
  864. package/src/themes/WheelSlider.css +203 -0
  865. package/src/themes/YearPicker.css +86 -0
  866. package/src/themes/base/Avatar-parameters.css +38 -0
  867. package/src/themes/base/AvatarGroup-parameter.css +6 -0
  868. package/src/themes/base/Badge-parameters.css +61 -0
  869. package/src/themes/base/BusyIndicator-parameters.css +5 -0
  870. package/src/themes/base/Button-parameters.css +30 -0
  871. package/src/themes/base/CalendarHeader-parameters.css +20 -0
  872. package/src/themes/base/Card-parameters.css +17 -0
  873. package/src/themes/base/Carousel-parameters.css +9 -0
  874. package/src/themes/base/CheckBox-parameters.css +53 -0
  875. package/src/themes/base/ColorPalette-parameters.css +14 -0
  876. package/src/themes/base/ColorPicker-parameters.css +8 -0
  877. package/src/themes/base/DatePicker-parameters.css +6 -0
  878. package/src/themes/base/DayPicker-parameters.css +41 -0
  879. package/src/themes/base/Dialog-parameters.css +9 -0
  880. package/src/themes/base/GroupHeaderListItem-parameters.css +3 -0
  881. package/src/themes/base/GrowingButton-parameters.css +6 -0
  882. package/src/themes/base/Input-parameters.css +58 -0
  883. package/src/themes/base/InputIcon-parameters.css +11 -0
  884. package/src/themes/base/Link-parameters.css +8 -0
  885. package/src/themes/base/List-parameters.css +3 -0
  886. package/src/themes/base/ListItemBase-parameters.css +9 -0
  887. package/src/themes/base/MessageStrip-parameters.css +21 -0
  888. package/src/themes/base/MonthPicker-parameters.css +16 -0
  889. package/src/themes/base/MultiComboBox-parameters.css +3 -0
  890. package/src/themes/base/Panel-parameters.css +11 -0
  891. package/src/themes/base/PopupsCommon-parameters.css +8 -0
  892. package/src/themes/base/ProgressIndicator-parameters.css +21 -0
  893. package/src/themes/base/RadioButton-parameters.css +32 -0
  894. package/src/themes/base/RatingIndicator-parameters.css +3 -0
  895. package/src/themes/base/SegmentedButtton-parameters.css +8 -0
  896. package/src/themes/base/Select-parameters.css +11 -0
  897. package/src/themes/base/SelectPopover-parameters.css +4 -0
  898. package/src/themes/base/SliderBase-parameters.css +57 -0
  899. package/src/themes/base/StepInput-parameters.css +23 -0
  900. package/src/themes/base/Suggestions-parameters.css +3 -0
  901. package/src/themes/base/Switch-parameters.css +107 -0
  902. package/src/themes/base/TabContainer-parameters.css +84 -0
  903. package/src/themes/base/Table-parameters.css +6 -0
  904. package/src/themes/base/TableColumn-parameters.css +3 -0
  905. package/src/themes/base/TableRow-parameters.css +3 -0
  906. package/src/themes/base/TextArea-parameters.css +21 -0
  907. package/src/themes/base/TimePicker-parameters.css +4 -0
  908. package/src/themes/base/TimelineItem-parameters.css +10 -0
  909. package/src/themes/base/Title-parameters.css +8 -0
  910. package/src/themes/base/Toast-parameters.css +6 -0
  911. package/src/themes/base/ToggleButton-parameters.css +8 -0
  912. package/src/themes/base/Token-parameters.css +18 -0
  913. package/src/themes/base/Tokenizer-parameters.css +4 -0
  914. package/src/themes/base/ValueStateMessage-parameters.css +7 -0
  915. package/src/themes/base/WheelSlider-parameters.css +15 -0
  916. package/src/themes/base/YearPicker-parameters.css +16 -0
  917. package/src/themes/base/sizes-parameters.css +302 -0
  918. package/src/themes/sap_belize/Carousel-parameters.css +9 -0
  919. package/src/themes/sap_belize/Dialog-parameters.css +5 -0
  920. package/src/themes/sap_belize/Input-parameters.css +6 -0
  921. package/src/themes/sap_belize/InputIcon-parameters.css +5 -0
  922. package/src/themes/sap_belize/ProgressIndicator-parameters.css +8 -0
  923. package/src/themes/sap_belize/SliderBase-parameters.css +22 -0
  924. package/src/themes/sap_belize/TabContainer-parameters.css +6 -0
  925. package/src/themes/sap_belize/Table-parameters.css +4 -0
  926. package/src/themes/sap_belize/TimePicker-parameters.css +5 -0
  927. package/src/themes/sap_belize/WheelSlider-parameters.css +17 -0
  928. package/src/themes/sap_belize/parameters-bundle.css +47 -0
  929. package/src/themes/sap_belize_hcb/Avatar-parameters.css +18 -0
  930. package/src/themes/sap_belize_hcb/Badge-parameters.css +43 -0
  931. package/src/themes/sap_belize_hcb/Button-parameters.css +12 -0
  932. package/src/themes/sap_belize_hcb/CalendarHeader-parameters.css +11 -0
  933. package/src/themes/sap_belize_hcb/Card-parameters.css +6 -0
  934. package/src/themes/sap_belize_hcb/Carousel-parameters.css +9 -0
  935. package/src/themes/sap_belize_hcb/CheckBox-parameters.css +12 -0
  936. package/src/themes/sap_belize_hcb/DatePicker-parameters.css +6 -0
  937. package/src/themes/sap_belize_hcb/DayPicker-parameters.css +13 -0
  938. package/src/themes/sap_belize_hcb/Dialog-parameters.css +7 -0
  939. package/src/themes/sap_belize_hcb/GrowingButton-parameters.css +8 -0
  940. package/src/themes/sap_belize_hcb/Input-parameters.css +13 -0
  941. package/src/themes/sap_belize_hcb/InputIcon-parameters.css +5 -0
  942. package/src/themes/sap_belize_hcb/Link-parameters.css +7 -0
  943. package/src/themes/sap_belize_hcb/MessageStrip-parameters.css +10 -0
  944. package/src/themes/sap_belize_hcb/MonthPicker-parameters.css +10 -0
  945. package/src/themes/sap_belize_hcb/Panel-parameters.css +5 -0
  946. package/src/themes/sap_belize_hcb/ProgressIndicator-parameters.css +11 -0
  947. package/src/themes/sap_belize_hcb/RadioButton-parameters.css +10 -0
  948. package/src/themes/sap_belize_hcb/Select-parameters.css +12 -0
  949. package/src/themes/sap_belize_hcb/SliderBase-parameters.css +17 -0
  950. package/src/themes/sap_belize_hcb/Switch-parameters.css +46 -0
  951. package/src/themes/sap_belize_hcb/TabContainer-parameters.css +44 -0
  952. package/src/themes/sap_belize_hcb/Table-parameters.css +6 -0
  953. package/src/themes/sap_belize_hcb/TableRow-parameters.css +5 -0
  954. package/src/themes/sap_belize_hcb/TextArea-parameters.css +6 -0
  955. package/src/themes/sap_belize_hcb/ToggleButton-parameters.css +7 -0
  956. package/src/themes/sap_belize_hcb/Token-parameters.css +5 -0
  957. package/src/themes/sap_belize_hcb/ValueStateMessage-parameters.css +5 -0
  958. package/src/themes/sap_belize_hcb/WheelSlider-parameters.css +17 -0
  959. package/src/themes/sap_belize_hcb/YearPicker-parameters.css +10 -0
  960. package/src/themes/sap_belize_hcb/parameters-bundle.css +46 -0
  961. package/src/themes/sap_belize_hcw/Avatar-parameters.css +18 -0
  962. package/src/themes/sap_belize_hcw/Badge-parameters.css +43 -0
  963. package/src/themes/sap_belize_hcw/Button-parameters.css +12 -0
  964. package/src/themes/sap_belize_hcw/CalendarHeader-parameters.css +11 -0
  965. package/src/themes/sap_belize_hcw/Card-parameters.css +6 -0
  966. package/src/themes/sap_belize_hcw/Carousel-parameters.css +9 -0
  967. package/src/themes/sap_belize_hcw/CheckBox-parameters.css +12 -0
  968. package/src/themes/sap_belize_hcw/DatePicker-parameters.css +5 -0
  969. package/src/themes/sap_belize_hcw/DayPicker-parameters.css +14 -0
  970. package/src/themes/sap_belize_hcw/Dialog-parameters.css +7 -0
  971. package/src/themes/sap_belize_hcw/GrowingButton-parameters.css +8 -0
  972. package/src/themes/sap_belize_hcw/Input-parameters.css +13 -0
  973. package/src/themes/sap_belize_hcw/InputIcon-parameters.css +5 -0
  974. package/src/themes/sap_belize_hcw/Link-parameters.css +7 -0
  975. package/src/themes/sap_belize_hcw/MessageStrip-parameters.css +10 -0
  976. package/src/themes/sap_belize_hcw/MonthPicker-parameters.css +10 -0
  977. package/src/themes/sap_belize_hcw/Panel-parameters.css +5 -0
  978. package/src/themes/sap_belize_hcw/ProgressIndicator-parameters.css +11 -0
  979. package/src/themes/sap_belize_hcw/RadioButton-parameters.css +10 -0
  980. package/src/themes/sap_belize_hcw/Select-parameters.css +12 -0
  981. package/src/themes/sap_belize_hcw/SliderBase-parameters.css +17 -0
  982. package/src/themes/sap_belize_hcw/Switch-parameters.css +45 -0
  983. package/src/themes/sap_belize_hcw/TabContainer-parameters.css +44 -0
  984. package/src/themes/sap_belize_hcw/Table-parameters.css +6 -0
  985. package/src/themes/sap_belize_hcw/TableRow-parameters.css +5 -0
  986. package/src/themes/sap_belize_hcw/TextArea-parameters.css +6 -0
  987. package/src/themes/sap_belize_hcw/ToggleButton-parameters.css +6 -0
  988. package/src/themes/sap_belize_hcw/Token-parameters.css +5 -0
  989. package/src/themes/sap_belize_hcw/ValueStateMessage-parameters.css +5 -0
  990. package/src/themes/sap_belize_hcw/WheelSlider-parameters.css +17 -0
  991. package/src/themes/sap_belize_hcw/YearPicker-parameters.css +10 -0
  992. package/src/themes/sap_belize_hcw/parameters-bundle.css +46 -0
  993. package/src/themes/sap_fiori_3/Avatar-parameters.css +9 -0
  994. package/src/themes/sap_fiori_3/Button-parameters.css +14 -0
  995. package/src/themes/sap_fiori_3/CalendarHeader-parameters.css +8 -0
  996. package/src/themes/sap_fiori_3/CheckBox-parameters.css +13 -0
  997. package/src/themes/sap_fiori_3/DayPicker-parameters.css +6 -0
  998. package/src/themes/sap_fiori_3/Input-parameters.css +7 -0
  999. package/src/themes/sap_fiori_3/Link-parameters.css +7 -0
  1000. package/src/themes/sap_fiori_3/List-parameters.css +5 -0
  1001. package/src/themes/sap_fiori_3/MonthPicker-parameters.css +5 -0
  1002. package/src/themes/sap_fiori_3/MultiComboBox-parameters.css +5 -0
  1003. package/src/themes/sap_fiori_3/Panel-parameters.css +6 -0
  1004. package/src/themes/sap_fiori_3/SliderBase-parameters.css +5 -0
  1005. package/src/themes/sap_fiori_3/TabContainer-parameters.css +12 -0
  1006. package/src/themes/sap_fiori_3/TimePicker-parameters.css +5 -0
  1007. package/src/themes/sap_fiori_3/Token-parameters.css +9 -0
  1008. package/src/themes/sap_fiori_3/WheelSlider-parameters.css +16 -0
  1009. package/src/themes/sap_fiori_3/YearPicker-parameters.css +5 -0
  1010. package/src/themes/sap_fiori_3/parameters-bundle.css +47 -0
  1011. package/src/themes/sap_fiori_3_dark/Avatar-parameters.css +9 -0
  1012. package/src/themes/sap_fiori_3_dark/Button-parameters.css +14 -0
  1013. package/src/themes/sap_fiori_3_dark/CalendarHeader-parameters.css +8 -0
  1014. package/src/themes/sap_fiori_3_dark/CheckBox-parameters.css +13 -0
  1015. package/src/themes/sap_fiori_3_dark/DayPicker-parameters.css +6 -0
  1016. package/src/themes/sap_fiori_3_dark/Input-parameters.css +7 -0
  1017. package/src/themes/sap_fiori_3_dark/Link-parameters.css +7 -0
  1018. package/src/themes/sap_fiori_3_dark/List-parameters.css +5 -0
  1019. package/src/themes/sap_fiori_3_dark/MonthPicker-parameters.css +5 -0
  1020. package/src/themes/sap_fiori_3_dark/MultiComboBox-parameters.css +5 -0
  1021. package/src/themes/sap_fiori_3_dark/Panel-parameters.css +6 -0
  1022. package/src/themes/sap_fiori_3_dark/SliderBase-parameters.css +5 -0
  1023. package/src/themes/sap_fiori_3_dark/TabContainer-parameters.css +12 -0
  1024. package/src/themes/sap_fiori_3_dark/Token-parameters.css +8 -0
  1025. package/src/themes/sap_fiori_3_dark/WheelSlider-parameters.css +15 -0
  1026. package/src/themes/sap_fiori_3_dark/YearPicker-parameters.css +5 -0
  1027. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +46 -0
  1028. package/src/themes/sap_fiori_3_hcb/Avatar-parameters.css +24 -0
  1029. package/src/themes/sap_fiori_3_hcb/Badge-parameters.css +43 -0
  1030. package/src/themes/sap_fiori_3_hcb/Button-parameters.css +10 -0
  1031. package/src/themes/sap_fiori_3_hcb/CalendarHeader-parameters.css +11 -0
  1032. package/src/themes/sap_fiori_3_hcb/Card-parameters.css +6 -0
  1033. package/src/themes/sap_fiori_3_hcb/Carousel-parameters.css +9 -0
  1034. package/src/themes/sap_fiori_3_hcb/CheckBox-parameters.css +13 -0
  1035. package/src/themes/sap_fiori_3_hcb/DatePicker-parameters.css +5 -0
  1036. package/src/themes/sap_fiori_3_hcb/DayPicker-parameters.css +19 -0
  1037. package/src/themes/sap_fiori_3_hcb/Dialog-parameters.css +7 -0
  1038. package/src/themes/sap_fiori_3_hcb/GrowingButton-parameters.css +8 -0
  1039. package/src/themes/sap_fiori_3_hcb/Input-parameters.css +14 -0
  1040. package/src/themes/sap_fiori_3_hcb/InputIcon-parameters.css +5 -0
  1041. package/src/themes/sap_fiori_3_hcb/Link-parameters.css +7 -0
  1042. package/src/themes/sap_fiori_3_hcb/MessageStrip-parameters.css +10 -0
  1043. package/src/themes/sap_fiori_3_hcb/MonthPicker-parameters.css +11 -0
  1044. package/src/themes/sap_fiori_3_hcb/Panel-parameters.css +5 -0
  1045. package/src/themes/sap_fiori_3_hcb/ProgressIndicator-parameters.css +11 -0
  1046. package/src/themes/sap_fiori_3_hcb/RadioButton-parameters.css +10 -0
  1047. package/src/themes/sap_fiori_3_hcb/Select-parameters.css +12 -0
  1048. package/src/themes/sap_fiori_3_hcb/SliderBase-parameters.css +14 -0
  1049. package/src/themes/sap_fiori_3_hcb/Switch-parameters.css +45 -0
  1050. package/src/themes/sap_fiori_3_hcb/TabContainer-parameters.css +44 -0
  1051. package/src/themes/sap_fiori_3_hcb/Table-parameters.css +5 -0
  1052. package/src/themes/sap_fiori_3_hcb/TableRow-parameters.css +5 -0
  1053. package/src/themes/sap_fiori_3_hcb/TextArea-parameters.css +8 -0
  1054. package/src/themes/sap_fiori_3_hcb/TimePicker-parameters.css +5 -0
  1055. package/src/themes/sap_fiori_3_hcb/ToggleButton-parameters.css +6 -0
  1056. package/src/themes/sap_fiori_3_hcb/Token-parameters.css +6 -0
  1057. package/src/themes/sap_fiori_3_hcb/ValueStateMessage-parameters.css +5 -0
  1058. package/src/themes/sap_fiori_3_hcb/WheelSlider-parameters.css +17 -0
  1059. package/src/themes/sap_fiori_3_hcb/YearPicker-parameters.css +11 -0
  1060. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +47 -0
  1061. package/src/themes/sap_fiori_3_hcw/Avatar-parameters.css +24 -0
  1062. package/src/themes/sap_fiori_3_hcw/Badge-parameters.css +43 -0
  1063. package/src/themes/sap_fiori_3_hcw/Button-parameters.css +10 -0
  1064. package/src/themes/sap_fiori_3_hcw/CalendarHeader-parameters.css +11 -0
  1065. package/src/themes/sap_fiori_3_hcw/Card-parameters.css +6 -0
  1066. package/src/themes/sap_fiori_3_hcw/Carousel-parameters.css +9 -0
  1067. package/src/themes/sap_fiori_3_hcw/CheckBox-parameters.css +13 -0
  1068. package/src/themes/sap_fiori_3_hcw/DatePicker-parameters.css +5 -0
  1069. package/src/themes/sap_fiori_3_hcw/DayPicker-parameters.css +19 -0
  1070. package/src/themes/sap_fiori_3_hcw/Dialog-parameters.css +7 -0
  1071. package/src/themes/sap_fiori_3_hcw/GrowingButton-parameters.css +8 -0
  1072. package/src/themes/sap_fiori_3_hcw/Input-parameters.css +14 -0
  1073. package/src/themes/sap_fiori_3_hcw/InputIcon-parameters.css +5 -0
  1074. package/src/themes/sap_fiori_3_hcw/Link-parameters.css +7 -0
  1075. package/src/themes/sap_fiori_3_hcw/MessageStrip-parameters.css +10 -0
  1076. package/src/themes/sap_fiori_3_hcw/MonthPicker-parameters.css +11 -0
  1077. package/src/themes/sap_fiori_3_hcw/Panel-parameters.css +5 -0
  1078. package/src/themes/sap_fiori_3_hcw/ProgressIndicator-parameters.css +11 -0
  1079. package/src/themes/sap_fiori_3_hcw/RadioButton-parameters.css +10 -0
  1080. package/src/themes/sap_fiori_3_hcw/Select-parameters.css +12 -0
  1081. package/src/themes/sap_fiori_3_hcw/SliderBase-parameters.css +13 -0
  1082. package/src/themes/sap_fiori_3_hcw/Switch-parameters.css +45 -0
  1083. package/src/themes/sap_fiori_3_hcw/TabContainer-parameters.css +44 -0
  1084. package/src/themes/sap_fiori_3_hcw/Table-parameters.css +5 -0
  1085. package/src/themes/sap_fiori_3_hcw/TableRow-parameters.css +5 -0
  1086. package/src/themes/sap_fiori_3_hcw/TextArea-parameters.css +8 -0
  1087. package/src/themes/sap_fiori_3_hcw/TimePicker-parameters.css +5 -0
  1088. package/src/themes/sap_fiori_3_hcw/ToggleButton-parameters.css +6 -0
  1089. package/src/themes/sap_fiori_3_hcw/Token-parameters.css +6 -0
  1090. package/src/themes/sap_fiori_3_hcw/ValueStateMessage-parameters.css +5 -0
  1091. package/src/themes/sap_fiori_3_hcw/WheelSlider-parameters.css +17 -0
  1092. package/src/themes/sap_fiori_3_hcw/YearPicker-parameters.css +11 -0
  1093. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +47 -0
  1094. package/src/themes/sap_horizon/Avatar-parameters.css +33 -0
  1095. package/src/themes/sap_horizon/BusyIndicator-parameters.css +7 -0
  1096. package/src/themes/sap_horizon/Button-parameters.css +20 -0
  1097. package/src/themes/sap_horizon/CalendarHeader-parameters.css +19 -0
  1098. package/src/themes/sap_horizon/Card-parameters.css +11 -0
  1099. package/src/themes/sap_horizon/CheckBox-parameters.css +34 -0
  1100. package/src/themes/sap_horizon/ColorPalette-parameters.css +16 -0
  1101. package/src/themes/sap_horizon/ColorPicker-parameters.css +10 -0
  1102. package/src/themes/sap_horizon/DatePicker-parameters.css +6 -0
  1103. package/src/themes/sap_horizon/DayPicker-parameters.css +31 -0
  1104. package/src/themes/sap_horizon/Dialog-parameters.css +11 -0
  1105. package/src/themes/sap_horizon/GrowingButton-parameters.css +5 -0
  1106. package/src/themes/sap_horizon/Input-parameters.css +35 -0
  1107. package/src/themes/sap_horizon/InputIcon-parameters.css +17 -0
  1108. package/src/themes/sap_horizon/Link-parameters.css +10 -0
  1109. package/src/themes/sap_horizon/List-parameters.css +5 -0
  1110. package/src/themes/sap_horizon/ListItemBase-parameters.css +7 -0
  1111. package/src/themes/sap_horizon/MessageStrip-parameters.css +9 -0
  1112. package/src/themes/sap_horizon/MonthPicker-parameters.css +17 -0
  1113. package/src/themes/sap_horizon/MultiComboBox-parameters.css +5 -0
  1114. package/src/themes/sap_horizon/Panel-parameters.css +12 -0
  1115. package/src/themes/sap_horizon/PopupsCommon-parameters.css +10 -0
  1116. package/src/themes/sap_horizon/ProgressIndicator-parameters.css +23 -0
  1117. package/src/themes/sap_horizon/RadioButton-parameters.css +9 -0
  1118. package/src/themes/sap_horizon/RatingIndicator-parameters.css +3 -0
  1119. package/src/themes/sap_horizon/SegmentedButtton-parameters.css +10 -0
  1120. package/src/themes/sap_horizon/Select-parameters.css +5 -0
  1121. package/src/themes/sap_horizon/SelectPopover-parameters.css +4 -0
  1122. package/src/themes/sap_horizon/SliderBase-parameters.css +44 -0
  1123. package/src/themes/sap_horizon/StepInput-parameters.css +25 -0
  1124. package/src/themes/sap_horizon/Suggestions-parameters.css +5 -0
  1125. package/src/themes/sap_horizon/Switch-parameters.css +31 -0
  1126. package/src/themes/sap_horizon/TabContainer-parameters.css +25 -0
  1127. package/src/themes/sap_horizon/Table-parameters.css +7 -0
  1128. package/src/themes/sap_horizon/TableColumn-parameters.css +5 -0
  1129. package/src/themes/sap_horizon/TableRow-parameters.css +5 -0
  1130. package/src/themes/sap_horizon/TextArea-parameters.css +22 -0
  1131. package/src/themes/sap_horizon/TimePicker-parameters.css +6 -0
  1132. package/src/themes/sap_horizon/ToggleButton-parameters.css +11 -0
  1133. package/src/themes/sap_horizon/Token-parameters.css +28 -0
  1134. package/src/themes/sap_horizon/Tokenizer-parameters.css +6 -0
  1135. package/src/themes/sap_horizon/ValueStateMessage-parameters.css +8 -0
  1136. package/src/themes/sap_horizon/WheelSlider-parameters.css +19 -0
  1137. package/src/themes/sap_horizon/YearPicker-parameters.css +16 -0
  1138. package/src/themes/sap_horizon/parameters-bundle.css +56 -0
  1139. package/src/themes/sap_horizon/sizes-parameters.css +8 -0
  1140. package/src/themes/sap_horizon_exp/Badge-parameters.css +91 -0
  1141. package/src/themes/sap_horizon_exp/Button-parameters.css +12 -0
  1142. package/src/themes/sap_horizon_exp/CalendarHeader-parameters.css +8 -0
  1143. package/src/themes/sap_horizon_exp/CheckBox-parameters.css +35 -0
  1144. package/src/themes/sap_horizon_exp/DatePicker-parameters.css +5 -0
  1145. package/src/themes/sap_horizon_exp/DayPicker-parameters.css +6 -0
  1146. package/src/themes/sap_horizon_exp/Input-parameters.css +46 -0
  1147. package/src/themes/sap_horizon_exp/InputIcon-parameters.css +9 -0
  1148. package/src/themes/sap_horizon_exp/Link-parameters.css +7 -0
  1149. package/src/themes/sap_horizon_exp/List-parameters.css +5 -0
  1150. package/src/themes/sap_horizon_exp/MonthPicker-parameters.css +5 -0
  1151. package/src/themes/sap_horizon_exp/MultiComboBox-parameters.css +7 -0
  1152. package/src/themes/sap_horizon_exp/Panel-parameters.css +6 -0
  1153. package/src/themes/sap_horizon_exp/Popover-parameters.css +5 -0
  1154. package/src/themes/sap_horizon_exp/RadioButton-parameters.css +30 -0
  1155. package/src/themes/sap_horizon_exp/Select-parameters.css +5 -0
  1156. package/src/themes/sap_horizon_exp/SliderBase-parameters.css +30 -0
  1157. package/src/themes/sap_horizon_exp/Switch-parameters.css +46 -0
  1158. package/src/themes/sap_horizon_exp/TabContainer-parameters.css +40 -0
  1159. package/src/themes/sap_horizon_exp/TimePicker-parameters.css +5 -0
  1160. package/src/themes/sap_horizon_exp/Token-parameters.css +9 -0
  1161. package/src/themes/sap_horizon_exp/WheelSlider-parameters.css +16 -0
  1162. package/src/themes/sap_horizon_exp/YearPicker-parameters.css +5 -0
  1163. package/src/themes/sap_horizon_exp/parameters-bundle.css +45 -0
  1164. package/src/timepicker-utils/TimeSlider.js +15 -13
  1165. package/{dist/types/AvatarBackgroundColor.js → src/types/AvatarColorScheme.js} +9 -9
  1166. package/src/types/AvatarGroupType.js +43 -0
  1167. package/src/types/AvatarShape.js +1 -1
  1168. package/src/types/AvatarSize.js +1 -1
  1169. package/src/types/BreadcrumbsDesign.js +42 -0
  1170. package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
  1171. package/src/types/BusyIndicatorSize.js +1 -1
  1172. package/src/types/ButtonDesign.js +8 -1
  1173. package/src/types/CalendarSelectionMode.js +47 -0
  1174. package/src/types/CarouselArrowsPlacement.js +3 -3
  1175. package/src/types/GrowingMode.js +48 -0
  1176. package/src/types/InputType.js +7 -7
  1177. package/src/types/LinkDesign.js +1 -1
  1178. package/src/types/ListGrowingMode.js +15 -0
  1179. package/src/types/ListItemType.js +1 -1
  1180. package/src/types/ListMode.js +1 -1
  1181. package/src/types/ListSeparators.js +1 -1
  1182. package/{dist/types/MessageStripType.js → src/types/MessageStripDesign.js} +7 -7
  1183. package/src/types/PanelAccessibleRole.js +1 -1
  1184. package/src/types/PopoverHorizontalAlign.js +1 -1
  1185. package/src/types/PopoverPlacementType.js +2 -2
  1186. package/src/types/PopoverVerticalAlign.js +1 -2
  1187. package/src/types/Priority.js +1 -1
  1188. package/src/types/SemanticColor.js +1 -1
  1189. package/src/types/SwitchDesign.js +40 -0
  1190. package/src/types/TabContainerTabsPlacement.js +5 -5
  1191. package/src/types/TabLayout.js +1 -1
  1192. package/src/types/TableGrowingMode.js +15 -0
  1193. package/src/types/TableMode.js +47 -0
  1194. package/src/types/TableRowType.js +40 -0
  1195. package/src/types/TitleLevel.js +1 -1
  1196. package/src/types/ToastPlacement.js +1 -2
  1197. package/src/types/WrappingType.js +41 -0
  1198. package/dist/Timeline.js +0 -98
  1199. package/dist/TimelineItem.js +0 -156
  1200. package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -7
  1201. package/dist/generated/templates/DateRangePickerTemplate.lit.js +0 -9
  1202. package/dist/generated/templates/DurationPickerPopoverTemplate.lit.js +0 -10
  1203. package/dist/generated/templates/DurationPickerTemplate.lit.js +0 -8
  1204. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
  1205. package/dist/generated/templates/TimelineTemplate.lit.js +0 -8
  1206. package/dist/generated/themes/ComboBoxItem.css.js +0 -8
  1207. package/dist/generated/themes/DurationPicker.css.js +0 -8
  1208. package/dist/generated/themes/DurationPickerPopover.css.js +0 -8
  1209. package/dist/generated/themes/Timeline.css.js +0 -8
  1210. package/dist/generated/themes/TimelineItem.css.js +0 -8
  1211. package/dist/popup-utils/PopupUtils.js +0 -84
  1212. package/dist/types/AvatarFitType.js +0 -40
  1213. package/dist/webcomponentsjs/package.json +0 -46
  1214. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  1215. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  1216. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  1217. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  1218. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  1219. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  1220. package/src/ComboBoxItem.hbs +0 -0
  1221. package/src/DateRangePicker.hbs +0 -1
  1222. package/src/DurationPicker.hbs +0 -25
  1223. package/src/DurationPickerPopover.hbs +0 -48
  1224. package/src/Timeline.hbs +0 -9
  1225. package/src/Timeline.js +0 -98
  1226. package/src/TimelineItem.hbs +0 -39
  1227. package/src/TimelineItem.js +0 -156
  1228. package/src/popup-utils/PopupUtils.js +0 -84
  1229. package/src/types/AvatarFitType.js +0 -40
package/src/Calendar.js CHANGED
@@ -1,17 +1,19 @@
1
- import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
- import { fetchCldr } from "@ui5/webcomponents-base/dist/asset-registries/LocaleData.js";
4
- import { getCalendarType } from "@ui5/webcomponents-base/dist/config/CalendarType.js";
1
+ import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
2
+ import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
3
+ import {
4
+ isF4,
5
+ isF4Shift,
6
+ } from "@ui5/webcomponents-base/dist/Keys.js";
7
+ import getCachedLocaleDataInstance from "@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js";
5
8
  import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
6
9
  import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
7
- import LocaleData from "@ui5/webcomponents-localization/dist/LocaleData.js";
8
- import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
9
- import CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
10
- import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
10
+ import * as CalendarDateComponent from "./CalendarDate.js";
11
+ import CalendarPart from "./CalendarPart.js";
11
12
  import CalendarHeader from "./CalendarHeader.js";
12
13
  import DayPicker from "./DayPicker.js";
13
14
  import MonthPicker from "./MonthPicker.js";
14
15
  import YearPicker from "./YearPicker.js";
16
+ import CalendarSelectionMode from "./types/CalendarSelectionMode.js";
15
17
 
16
18
  // Default calendar for bundling
17
19
  import "@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js";
@@ -29,138 +31,213 @@ const metadata = {
29
31
  tag: "ui5-calendar",
30
32
  properties: /** @lends sap.ui.webcomponents.main.Calendar.prototype */ {
31
33
  /**
32
- * Defines the UNIX timestamp - seconds since 00:00:00 UTC on Jan 1, 1970.
33
- * @type {Integer}
34
- * @public
35
- */
36
- timestamp: {
37
- type: Integer,
38
- },
39
-
40
- /**
41
- * Defines the calendar type used for display.
42
- * If not defined, the calendar type of the global configuration is used.
43
- * Available options are: "Gregorian", "Islamic", "Japanese", "Buddhist" and "Persian".
44
- * @type {CalendarType}
45
- * @public
46
- */
47
- primaryCalendarType: {
48
- type: CalendarType,
49
- },
50
-
51
- /**
52
- * Defines the selected dates as UTC timestamps.
53
- * @type {Array}
54
- * @public
55
- */
56
- selectedDates: {
57
- type: Integer,
58
- multiple: true,
59
- },
60
-
61
- /**
62
- * Determines the мinimum date available for selection.
63
- *
64
- * @type {string}
65
- * @defaultvalue ""
66
- * @since 1.0.0-rc.6
34
+ * Defines the type of selection used in the calendar component.
35
+ * Accepted property values are:<br>
36
+ * <ul>
37
+ * <li><code>CalendarSelectionMode.Single</code> - enables a single date selection.(default value)</li>
38
+ * <li><code>CalendarSelectionMode.Range</code> - enables selection of a date range.</li>
39
+ * <li><code>CalendarSelectionMode.Multiple</code> - enables selection of multiple dates.</li>
40
+ * </ul>
41
+ * @type {CalendarSelectionMode}
42
+ * @defaultvalue "Single"
67
43
  * @public
68
44
  */
69
- minDate: {
70
- type: String,
71
- },
72
-
73
- /**
74
- * Determines the maximum date available for selection.
75
- *
76
- * @type {string}
77
- * @defaultvalue ""
78
- * @since 1.0.0-rc.6
79
- * @public
80
- */
81
- maxDate: {
82
- type: String,
45
+ selectionMode: {
46
+ type: CalendarSelectionMode,
47
+ defaultValue: CalendarSelectionMode.Single,
83
48
  },
84
49
 
85
50
  /**
86
51
  * Defines the visibility of the week numbers column.
87
52
  * <br><br>
88
53
  *
89
- * <b>Note:<b> For calendars other than Gregorian,
54
+ * <b>Note:</b> For calendars other than Gregorian,
90
55
  * the week numbers are not displayed regardless of what is set.
91
56
  *
92
57
  * @type {boolean}
93
58
  * @defaultvalue false
94
59
  * @public
95
- * @since 1.0.0-rc.8
96
60
  */
97
61
  hideWeekNumbers: {
98
62
  type: Boolean,
99
63
  },
100
64
 
101
- _header: {
102
- type: Object,
103
- },
104
-
105
- _oMonth: {
106
- type: Object,
65
+ /**
66
+ * Which picker is currently visible to the user: day/month/year
67
+ */
68
+ _currentPicker: {
69
+ type: String,
70
+ defaultValue: "day",
107
71
  },
108
72
 
109
- _monthPicker: {
110
- type: Object,
73
+ _previousButtonDisabled: {
74
+ type: Boolean,
111
75
  },
112
76
 
113
- _yearPicker: {
114
- type: Object,
77
+ _nextButtonDisabled: {
78
+ type: Boolean,
115
79
  },
116
80
 
117
- _calendarWidth: {
81
+ _headerMonthButtonText: {
118
82
  type: String,
119
- noAttribute: true,
120
83
  },
121
84
 
122
- _calendarHeight: {
85
+ _headerYearButtonText: {
123
86
  type: String,
124
- noAttribute: true,
125
87
  },
126
-
127
- formatPattern: {
128
- type: String,
88
+ },
89
+ managedSlots: true,
90
+ slots: /** @lends sap.ui.webcomponents.main.Calendar.prototype */ {
91
+ /**
92
+ * Defines the selected date or dates (depending on the <code>selectionMode</code> property) for this calendar as instances of <code>ui5-date</code>
93
+ *
94
+ * @type {sap.ui.webcomponents.main.ICalendarDate[]}
95
+ * @slot dates
96
+ * @public
97
+ */
98
+ "default": {
99
+ propertyName: "dates",
100
+ type: HTMLElement,
101
+ invalidateOnChildChange: true,
129
102
  },
130
103
  },
131
104
  events: /** @lends sap.ui.webcomponents.main.Calendar.prototype */ {
132
105
  /**
133
- * Fired when the selected dates changed.
106
+ * Fired when the selected dates change.
107
+ * <b>Note:</b> If you call <code>preventDefault()</code> for this event, the component will not
108
+ * create instances of <code>ui5-date</code> for the newly selected dates. In that case you should do this manually.
109
+ *
134
110
  * @event sap.ui.webcomponents.main.Calendar#selected-dates-change
135
- * @param {Array} dates The selected dates' timestamps
111
+ * @allowPreventDefault
112
+ * @param {Array} values The selected dates
113
+ * @param {Array} dates The selected dates as UTC timestamps
136
114
  * @public
137
115
  */
138
- "selected-dates-change": { type: Array },
116
+ "selected-dates-change": {
117
+ detail: {
118
+ dates: { type: Array },
119
+ values: { type: Array },
120
+ },
121
+ },
122
+
123
+ "show-month-press": {},
124
+ "show-year-press": {},
139
125
  },
140
126
  };
141
127
 
142
128
  /**
143
129
  * @class
144
130
  *
145
- * The <code>ui5-calendar</code> can be used standale to display the years, months, weeks and days,
146
- * but the main purpose of the <code>ui5-calendar</code> is to be used within a <code>ui5-date-picker</code>.
131
+ * <h3 class="comment-api-title">Overview</h3>
132
+ *
133
+ * The <code>ui5-calendar</code> component allows users to select one or more dates.
134
+ * <br><br>
135
+ * Currently selected dates are represented with instances of <code>ui5-date</code> as
136
+ * children of the <code>ui5-calendar</code>. The value property of each <code>ui5-date</code> must be a
137
+ * date string, correctly formatted according to the <code>ui5-calendar</code>'s <code>formatPattern</code> property.
138
+ * Whenever the user changes the date selection, <code>ui5-calendar</code> will automatically create/remove instances
139
+ * of <code>ui5-date</code> in itself, unless you prevent this behavior by calling <code>preventDefault()</code> for the
140
+ * <code>selected-dates-change</code> event. This is useful if you want to control the selected dates externally.
141
+ * <br><br>
142
+ *
143
+ * <h3>Usage</h3>
144
+ *
145
+ * The user can navigate to a particular date by:
146
+ * <br>
147
+ * <ul>
148
+ * <li>Pressing over a month inside the months view</li>
149
+ * <li>Pressing over an year inside the years view</li>
150
+ * </ul>
151
+ * <br>
152
+ * The user can confirm a date selection by pressing over a date inside the days view.
153
+ * <br><br>
154
+ *
155
+ * <h3>Keyboard Handling</h3>
156
+ * The <code>ui5-calendar</code> provides advanced keyboard handling.
157
+ * When a picker is showed and focused the user can use the following keyboard
158
+ * shortcuts in order to perform a navigation:
159
+ * <br>
160
+ * - Day picker: <br>
161
+ * <ul>
162
+ * <li>[F4] - Shows month picker</li>
163
+ * <li>[SHIFT] + [F4] - Shows year picker</li>
164
+ * <li>[PAGEUP] - Navigate to the previous month</li>
165
+ * <li>[PAGEDOWN] - Navigate to the next month</li>
166
+ * <li>[SHIFT] + [PAGEUP] - Navigate to the previous year</li>
167
+ * <li>[SHIFT] + [PAGEDOWN] - Navigate to the next year</li>
168
+ * <li>[CTRL] + [SHIFT] + [PAGEUP] - Navigate ten years backwards</li>
169
+ * <li>[CTRL] + [SHIFT] + [PAGEDOWN] - Navigate ten years forwards</li>
170
+ * <li>[HOME] - Navigate to the first day of the week</li>
171
+ * <li>[END] - Navigate to the last day of the week</li>
172
+ * <li>[CTRL] + [HOME] - Navigate to the first day of the month</li>
173
+ * <li>[CTRL] + [END] - Navigate to the last day of the month</li>
174
+ * </ul>
175
+ * <br>
176
+ * - Month picker: <br>
177
+ * <ul>
178
+ * <li>[PAGEUP] - Navigate to the previous year</li>
179
+ * <li>[PAGEDOWN] - Navigate to the next year</li>
180
+ * <li>[HOME] - Navigate to the first month of the current row</li>
181
+ * <li>[END] - Navigate to the last month of the current row</li>
182
+ * <li>[CTRL] + [HOME] - Navigate to the first month of the current year</li>
183
+ * <li>[CTRL] + [END] - Navigate to the last month of the year</li>
184
+ * </ul>
185
+ * <br>
186
+ * - Year picker: <br>
187
+ * <ul>
188
+ * <li>[PAGEUP] - Navigate to the previous year range</li>
189
+ * <li>[PAGEDOWN] - Navigate the next year range</li>
190
+ * <li>[HOME] - Navigate to the first year of the current row</li>
191
+ * <li>[END] - Navigate to the last year of the current row</li>
192
+ * <li>[CTRL] + [HOME] - Navigate to the first year of the current year range</li>
193
+ * <li>[CTRL] + [END] - Navigate to the last year of the current year range</li>
194
+ * </ul>
195
+ * <br>
196
+ *
197
+ * <h3>Calendar types</h3>
198
+ * The component supports several calendar types - Gregorian, Buddhist, Islamic, Japanese and Persian.
199
+ * By default the Gregorian Calendar is used. In order to use the Buddhist, Islamic, Japanese or Persian calendar,
200
+ * you need to set the <code>primaryCalendarType</code> property and import one or more of the following modules:
201
+ * <br><br>
202
+ *
203
+ * <code>import "@ui5/webcomponents-localization/dist/features/calendar/Buddhist.js";</code>
204
+ * <br>
205
+ * <code>import "@ui5/webcomponents-localization/dist/features/calendar/Islamic.js";</code>
206
+ * <br>
207
+ * <code>import "@ui5/webcomponents-localization/dist/features/calendar/Japanese.js";</code>
208
+ * <br>
209
+ * <code>import "@ui5/webcomponents-localization/dist/features/calendar/Persian.js";</code>
210
+ * <br><br>
211
+ *
212
+ * Or, you can use the global configuration and set the <code>calendarType</code> key:
213
+ * <br>
214
+ * <code>
215
+ * &lt;script data-id="sap-ui-config" type="application/json"&gt;
216
+ * {
217
+ * "calendarType": "Japanese"
218
+ * }
219
+ * &lt;/script&gt;
220
+ * </code>
221
+ *
222
+ *
223
+ * <h3>ES6 Module Import</h3>
224
+ *
225
+ * <code>import "@ui5/webcomponents/dist/Calendar";</code>
147
226
  *
148
227
  * @constructor
149
228
  * @author SAP SE
150
229
  * @alias sap.ui.webcomponents.main.Calendar
151
- * @extends sap.ui.webcomponents.base.UI5Element
230
+ * @extends CalendarPart
152
231
  * @tagname ui5-calendar
232
+ * @appenddocs CalendarDate
153
233
  * @public
234
+ * @since 1.0.0-rc.11
154
235
  */
155
- class Calendar extends UI5Element {
236
+ class Calendar extends CalendarPart {
156
237
  static get metadata() {
157
238
  return metadata;
158
239
  }
159
240
 
160
- static get render() {
161
- return litRender;
162
- }
163
-
164
241
  static get template() {
165
242
  return CalendarTemplate;
166
243
  }
@@ -169,538 +246,241 @@ class Calendar extends UI5Element {
169
246
  return calendarCSS;
170
247
  }
171
248
 
172
- constructor() {
173
- super();
174
- this._oLocale = getLocale();
175
- this._oLocaleData = new LocaleData(this._oLocale);
176
- this._header = {};
177
- this._header.onPressPrevious = this._handlePrevious.bind(this);
178
- this._header.onPressNext = this._handleNext.bind(this);
179
- this._header.onBtn1Press = this._handleMonthButtonPress.bind(this);
180
- this._header.onBtn2Press = this._handleYearButtonPress.bind(this);
181
-
182
- this._oMonth = {};
183
- this._oMonth.onSelectedDatesChange = this._handleSelectedDatesChange.bind(this);
184
- this._oMonth.onNavigate = this._handleMonthNavigate.bind(this);
185
-
186
- this._monthPicker = {};
187
- this._monthPicker._hidden = true;
188
- this._monthPicker.onSelectedMonthChange = this._handleSelectedMonthChange.bind(this);
189
-
190
- this._yearPicker = {};
191
- this._yearPicker._hidden = true;
192
- this._yearPicker.onSelectedYearChange = this._handleSelectedYearChange.bind(this);
193
-
194
- this._isShiftingYears = false;
249
+ /**
250
+ * @private
251
+ */
252
+ get _selectedDatesTimestamps() {
253
+ return this.dates.map(date => {
254
+ const value = date.value;
255
+ return value && !!this.getFormat().parse(value) ? this._getTimeStampFromString(value) / 1000 : undefined;
256
+ }).filter(date => !!date);
195
257
  }
196
258
 
197
- onBeforeRendering() {
198
- const oYearFormat = DateFormat.getDateInstance({ format: "y", calendarType: this._primaryCalendarType });
199
- const minDateParsed = this.minDate && this.getFormat().parse(this.minDate);
200
- const maxDateParsed = this.maxDate && this.getFormat().parse(this.maxDate);
201
- const firstDayOfCalendarTimeStamp = -62135596800000;
202
- let currentMonth = 0;
203
- let currentYear = 1;
204
-
205
- if ((this.minDate || this.maxDate) && this._timestamp && !this.isInValidRange(this._timestamp * 1000)) {
206
- if (this._minDate) {
207
- this.timestamp = this._minDate / 1000;
208
- } else {
209
- this.timestamp = (new Date(firstDayOfCalendarTimeStamp)).getTime() / 1000;
210
- }
211
- }
212
-
213
- this._oMonth.formatPattern = this._formatPattern;
214
- this._oMonth.timestamp = this._timestamp;
215
- this._oMonth.selectedDates = [...this._selectedDates];
216
- this._oMonth.primaryCalendarType = this._primaryCalendarType;
217
- this._oMonth.minDate = this.minDate;
218
- this._oMonth.maxDate = this.maxDate;
219
- this._header.monthText = this._oLocaleData.getMonths("wide", this._primaryCalendarType)[this._month];
220
- this._header.yearText = oYearFormat.format(this._localDate);
221
- currentMonth = this.timestamp && CalendarDate.fromTimestamp(this.timestamp * 1000).getMonth();
222
- currentYear = this.timestamp && CalendarDate.fromTimestamp(this.timestamp * 1000).getYear();
223
-
224
- // month picker
225
- this._monthPicker.primaryCalendarType = this._primaryCalendarType;
226
- this._monthPicker.timestamp = this._timestamp;
227
-
228
- this._yearPicker.primaryCalendarType = this._primaryCalendarType;
229
-
230
- if (!this._isShiftingYears) {
231
- // year picker
232
- this._yearPicker.timestamp = this._timestamp;
233
- }
259
+ /**
260
+ * @private
261
+ */
262
+ _setSelectedDates(selectedDates) {
263
+ const selectedValues = selectedDates.map(timestamp => this.getFormat().format(new Date(timestamp * 1000), true)); // Format as UTC
264
+ const valuesInDOM = [...this.dates].map(dateElement => dateElement.value);
234
265
 
235
- this._isShiftingYears = false;
236
-
237
- if (!this._oMonth._hidden) {
238
- if (this.minDate
239
- && minDateParsed.getMonth() === currentMonth
240
- && minDateParsed.getFullYear() === currentYear) {
241
- this._header._isPrevButtonDisabled = true;
242
- } else {
243
- this._header._isPrevButtonDisabled = false;
244
- }
245
-
246
- if (this.maxDate
247
- && maxDateParsed.getMonth() === currentMonth
248
- && maxDateParsed.getFullYear() === currentYear) {
249
- this._header._isNextButtonDisabled = true;
250
- } else {
251
- this._header._isNextButtonDisabled = false;
252
- }
253
- }
266
+ // Remove all elements for dates that are no longer selected
267
+ this.dates.filter(dateElement => !selectedValues.includes(dateElement.value)).forEach(dateElement => {
268
+ this.removeChild(dateElement);
269
+ });
254
270
 
255
- if (!this._yearPicker._hidden) {
256
- currentYear = this._yearPicker.timestamp && CalendarDate.fromTimestamp(this._yearPicker.timestamp * 1000).getYear();
257
- if (this.minDate
258
- && (currentYear - minDateParsed.getFullYear()) < 1) {
259
- this._header._isPrevButtonDisabled = true;
260
- } else {
261
- this._header._isPrevButtonDisabled = false;
262
- }
263
-
264
- if (this.maxDate
265
- && (maxDateParsed.getFullYear() - currentYear) < 1) {
266
- this._header._isNextButtonDisabled = true;
267
- } else {
268
- this._header._isNextButtonDisabled = false;
269
- }
270
- }
271
+ // Create tags for the selected dates that don't already exist in DOM
272
+ selectedValues.filter(value => !valuesInDOM.includes(value)).forEach(value => {
273
+ const dateElement = document.createElement("ui5-date");
274
+ dateElement.value = value;
275
+ this.appendChild(dateElement);
276
+ });
271
277
  }
272
278
 
273
- get _timestamp() {
274
- return this.timestamp !== undefined ? this.timestamp : Math.floor(new Date().getTime() / 1000);
275
- }
279
+ async onAfterRendering() {
280
+ await renderFinished(); // Await for the current picker to render and then ask if it has previous/next pages
281
+ this._previousButtonDisabled = !this._currentPickerDOM._hasPreviousPage();
282
+ this._nextButtonDisabled = !this._currentPickerDOM._hasNextPage();
276
283
 
277
- get _localDate() {
278
- return new Date(this._timestamp * 1000);
279
- }
284
+ const yearFormat = DateFormat.getDateInstance({ format: "y", calendarType: this.primaryCalendarType });
285
+ const localeData = getCachedLocaleDataInstance(getLocale());
286
+ this._headerMonthButtonText = localeData.getMonths("wide", this.primaryCalendarType)[this._calendarDate.getMonth()];
280
287
 
281
- get _calendarDate() {
282
- return CalendarDate.fromTimestamp(this._localDate.getTime(), this._primaryCalendarType);
283
- }
288
+ if (this._currentPicker === "year") {
289
+ const rangeStart = new CalendarDate(this._calendarDate, this._primaryCalendarType);
290
+ const rangeEnd = new CalendarDate(this._calendarDate, this._primaryCalendarType);
291
+ rangeStart.setYear(this._currentPickerDOM._firstYear);
292
+ rangeEnd.setYear(this._currentPickerDOM._lastYear);
284
293
 
285
- get _month() {
286
- return this._calendarDate.getMonth();
294
+ this._headerYearButtonText = `${yearFormat.format(rangeStart.toLocalJSDate(), true)} - ${yearFormat.format(rangeEnd.toLocalJSDate(), true)}`;
295
+ } else {
296
+ this._headerYearButtonText = String(yearFormat.format(this._localDate, true));
297
+ }
287
298
  }
288
299
 
289
- get _primaryCalendarType() {
290
- return this.primaryCalendarType || getCalendarType() || LocaleData.getInstance(getLocale()).getPreferredCalendarType();
300
+ /**
301
+ * The user clicked the "month" button in the header
302
+ */
303
+ onHeaderShowMonthPress(event) {
304
+ this._currentPickerDOM._autoFocus = false;
305
+ this._currentPicker = "month";
306
+ this.fireEvent("show-month-press", event);
291
307
  }
292
308
 
293
- get _formatPattern() {
294
- return this.formatPattern || "medium"; // get from config
309
+ /**
310
+ * The user clicked the "year" button in the header
311
+ */
312
+ onHeaderShowYearPress(event) {
313
+ this._currentPickerDOM._autoFocus = false;
314
+ this._currentPicker = "year";
315
+ this.fireEvent("show-year-press", event);
295
316
  }
296
317
 
297
- get _isPattern() {
298
- return this._formatPattern !== "medium" && this._formatPattern !== "short" && this._formatPattern !== "long";
318
+ get _currentPickerDOM() {
319
+ return this.shadowRoot.querySelector(`[ui5-${this._currentPicker}picker]`);
299
320
  }
300
321
 
301
- get _selectedDates() {
302
- return this.selectedDates || [];
322
+ /**
323
+ * The year clicked the "Previous" button in the header
324
+ */
325
+ onHeaderPreviousPress() {
326
+ this._currentPickerDOM._showPreviousPage();
303
327
  }
304
328
 
305
- get _maxDate() {
306
- if (this.maxDate) {
307
- const jsDate = new Date(this.getFormat().parse(this.maxDate).getFullYear(), this.getFormat().parse(this.maxDate).getMonth(), this.getFormat().parse(this.maxDate).getDate());
308
- const oCalDate = CalendarDate.fromTimestamp(jsDate.getTime(), this._primaryCalendarType);
309
- return oCalDate.valueOf();
310
- }
311
-
312
- return this.maxDate;
329
+ /**
330
+ * The year clicked the "Next" button in the header
331
+ */
332
+ onHeaderNextPress() {
333
+ this._currentPickerDOM._showNextPage();
313
334
  }
314
335
 
315
- get _minDate() {
316
- if (this.minDate) {
317
- const jsDate = new Date(this.getFormat().parse(this.minDate).getFullYear(), this.getFormat().parse(this.minDate).getMonth(), this.getFormat().parse(this.minDate).getDate());
318
- const oCalDate = CalendarDate.fromTimestamp(jsDate.getTime(), this._primaryCalendarType);
319
- return oCalDate.valueOf();
336
+ get secondaryCalendarTypeButtonText() {
337
+ if (!this.secondaryCalendarType) {
338
+ return;
320
339
  }
321
- return this.minDate;
322
- }
323
-
324
- _handleSelectedDatesChange(event) {
325
- this.selectedDates = [...event.detail.dates];
326
-
327
- this.fireEvent("selected-dates-change", { dates: event.detail.dates });
328
- }
329
-
330
- _handleMonthNavigate(event) {
331
- this.timestamp = event.detail.timestamp;
332
- }
333
-
334
- _handleSelectedMonthChange(event) {
335
- const oNewDate = this._calendarDate;
336
- const newMonthIndex = CalendarDate.fromTimestamp(
337
- event.detail.timestamp * 1000,
338
- this._primaryCalendarType
339
- ).getMonth();
340
340
 
341
- oNewDate.setMonth(newMonthIndex);
342
- this.timestamp = oNewDate.valueOf() / 1000;
343
-
344
- this._hideMonthPicker();
345
-
346
- this._focusFirstDayOfMonth(oNewDate);
341
+ const localDate = new Date(this._timestamp * 1000);
342
+ const secondYearFormat = DateFormat.getDateInstance({ format: "y", calendarType: this.secondaryCalendarType });
343
+ const secondMonthInfo = this._getDisplayedSecondaryMonthText();
344
+ const secondYearText = secondYearFormat.format(localDate, true);
345
+ return {
346
+ yearButtonText: secondYearText,
347
+ monthButtonText: secondMonthInfo.text,
348
+ monthButtonInfo: secondMonthInfo.info,
349
+ };
347
350
  }
348
351
 
349
- _focusFirstDayOfMonth(targetDate) {
350
- let fistDayOfMonthIndex = -1;
351
-
352
- // focus first day of the month
353
- const dayPicker = this.shadowRoot.querySelector("ui5-daypicker");
352
+ _getDisplayedSecondaryMonthText() {
353
+ const month = this._getDisplayedSecondaryMonths();
354
+ const localeData = getCachedLocaleDataInstance(getLocale());
355
+ const pattern = localeData.getIntervalPattern();
356
+ const secondaryMonthsNames = getCachedLocaleDataInstance(getLocale()).getMonthsStandAlone("abbreviated", this.secondaryCalendarType);
357
+ const secondaryMonthsNamesWide = getCachedLocaleDataInstance(getLocale()).getMonthsStandAlone("wide", this.secondaryCalendarType);
354
358
 
355
- dayPicker._getVisibleDays(targetDate).forEach((date, index) => {
356
- if (date.getDate() === 1 && (fistDayOfMonthIndex === -1)) {
357
- fistDayOfMonthIndex = index;
358
- }
359
- });
359
+ if (month.startMonth === month.endMonth) {
360
+ return {
361
+ text: localeData.getMonths("abbreviated", this.secondaryCalendarType)[month.startMonth],
362
+ textInfo: localeData.getMonths("wide", this.secondaryCalendarType)[month.startMonth],
363
+ };
364
+ }
360
365
 
361
- dayPicker._itemNav.currentIndex = fistDayOfMonthIndex;
362
- dayPicker._itemNav.focusCurrent();
366
+ return {
367
+ text: pattern.replace(/\{0\}/, secondaryMonthsNames[month.startMonth]).replace(/\{1\}/, secondaryMonthsNames[month.endMonth]),
368
+ textInfo: pattern.replace(/\{0\}/, secondaryMonthsNamesWide[month.startMonth]).replace(/\{1\}/, secondaryMonthsNamesWide[month.endMonth]),
369
+ };
363
370
  }
364
371
 
365
- _handleSelectedYearChange(event) {
366
- const oNewDate = CalendarDate.fromTimestamp(
367
- event.detail.timestamp * 1000,
368
- this._primaryCalendarType
369
- );
370
- oNewDate.setMonth(0);
371
- oNewDate.setDate(1);
372
+ _getDisplayedSecondaryMonths() {
373
+ const localDate = new Date(this._timestamp * 1000);
374
+ let firstDate = CalendarDate.fromLocalJSDate(localDate, this._primaryCalendarType);
375
+ firstDate.setDate(1);
376
+ firstDate = new CalendarDate(firstDate, this.secondaryCalendarType);
377
+ const startMonth = firstDate.getMonth();
372
378
 
373
- this.timestamp = oNewDate.valueOf() / 1000;
379
+ let lastDate = CalendarDate.fromLocalJSDate(localDate, this._primaryCalendarType);
380
+ lastDate.setDate(this._getDaysInMonth(lastDate));
381
+ lastDate = new CalendarDate(lastDate, this.secondaryCalendarType);
382
+ const endMonth = lastDate.getMonth();
374
383
 
375
- this._hideYearPicker();
376
-
377
- this._focusFirstDayOfMonth(oNewDate);
384
+ return { startMonth, endMonth };
378
385
  }
379
386
 
380
- _handleMonthButtonPress() {
381
- this._hideYearPicker();
382
-
383
- this[`_${this._monthPicker._hidden ? "show" : "hide"}MonthPicker`]();
387
+ _getDaysInMonth(date) {
388
+ const tempCalendarDate = new CalendarDate(date);
389
+ tempCalendarDate.setDate(1);
390
+ tempCalendarDate.setMonth(tempCalendarDate.getMonth() + 1);
391
+ tempCalendarDate.setDate(0);
392
+ return tempCalendarDate.getDate();
384
393
  }
385
394
 
386
- _handleYearButtonPress() {
387
- this._hideMonthPicker();
388
-
389
- this[`_${this._yearPicker._hidden ? "show" : "hide"}YearPicker`]();
395
+ /**
396
+ * The month button is hidden when the month picker or year picker is shown
397
+ * @returns {boolean}
398
+ * @private
399
+ */
400
+ get _isHeaderMonthButtonHidden() {
401
+ return this._currentPicker === "month" || this._currentPicker === "year";
390
402
  }
391
403
 
392
- _handlePrevious() {
393
- if (this._monthPicker._hidden && this._yearPicker._hidden) {
394
- this._showPrevMonth();
395
- } else if (this._monthPicker._hidden && !this._yearPicker._hidden) {
396
- this._showPrevPageYears();
397
- } else if (!this._monthPicker._hidden && this._yearPicker._hidden) {
398
- this._showPrevYear();
399
- }
404
+ get _isDayPickerHidden() {
405
+ return this._currentPicker !== "day";
400
406
  }
401
407
 
402
- _handleNext() {
403
- if (this._monthPicker._hidden && this._yearPicker._hidden) {
404
- this._showNextMonth();
405
- } else if (this._monthPicker._hidden && !this._yearPicker._hidden) {
406
- this._showNextPageYears();
407
- } else if (!this._monthPicker._hidden && this._yearPicker._hidden) {
408
- this._showNextYear();
409
- }
408
+ get _isMonthPickerHidden() {
409
+ return this._currentPicker !== "month";
410
410
  }
411
411
 
412
- _showNextMonth() {
413
- const nextMonth = this._calendarDate;
414
- nextMonth.setDate(1);
415
- nextMonth.setMonth(nextMonth.getMonth() + 1);
416
-
417
- if (nextMonth.getYear() > YearPicker._MAX_YEAR) {
418
- return;
419
- }
420
-
421
- if (!this.isInValidRange(nextMonth.toLocalJSDate().valueOf())) {
422
- return;
423
- }
424
-
425
- this._focusFirstDayOfMonth(nextMonth);
426
- this.timestamp = nextMonth.valueOf() / 1000;
412
+ get _isYearPickerHidden() {
413
+ return this._currentPicker !== "year";
427
414
  }
428
415
 
429
- _showPrevMonth() {
430
- let iNewMonth = this._month - 1,
431
- iNewYear = this._calendarDate.getYear();
432
-
433
- // focus first day of the month
434
- const dayPicker = this.shadowRoot.querySelector("ui5-daypicker");
435
- const currentMonthDate = dayPicker._calendarDate.setMonth(dayPicker._calendarDate.getMonth());
436
- const lastMonthDate = dayPicker._calendarDate.setMonth(dayPicker._calendarDate.getMonth() - 1);
437
-
438
- // set the date to last day of last month
439
- currentMonthDate.setDate(-1);
440
-
441
- // find the index of the last day
442
- let lastDayOfMonthIndex = -1;
443
-
444
- if (!this.isInValidRange(currentMonthDate.toLocalJSDate().valueOf())) {
445
- return;
446
- }
447
-
448
- dayPicker._getVisibleDays(lastMonthDate).forEach((date, index) => {
449
- const isSameDate = currentMonthDate.getDate() === date.getDate();
450
- const isSameMonth = currentMonthDate.getMonth() === date.getMonth();
451
-
452
- if (isSameDate && isSameMonth) {
453
- lastDayOfMonthIndex = (index + 1);
454
- }
416
+ onSelectedDatesChange(event) {
417
+ const timestamp = event.detail.timestamp;
418
+ const selectedDates = event.detail.dates;
419
+ const datesValues = selectedDates.map(ts => {
420
+ const calendarDate = CalendarDate.fromTimestamp(ts * 1000, this._primaryCalendarType);
421
+ return this.getFormat().format(calendarDate.toUTCJSDate(), true);
455
422
  });
456
423
 
457
- const weekDaysCount = 7;
458
-
459
- if (lastDayOfMonthIndex !== -1) {
460
- // find the DOM for the last day index
461
- const lastDay = dayPicker.shadowRoot.querySelector(".ui5-dp-items-container").children[parseInt(lastDayOfMonthIndex / weekDaysCount)].children[(lastDayOfMonthIndex % weekDaysCount)];
462
-
463
- // update current item in ItemNavigation
464
- dayPicker._itemNav.current = lastDayOfMonthIndex;
465
-
466
- // focus the item
467
- lastDay.focus();
468
- }
469
-
470
- if (iNewMonth > 11) {
471
- iNewMonth = 0;
472
- iNewYear = this._calendarDate.getYear() + 1;
473
- }
474
-
475
- if (iNewMonth < 0) {
476
- iNewMonth = 11;
477
- iNewYear = this._calendarDate.getYear() - 1;
424
+ this.timestamp = timestamp;
425
+ const defaultPrevented = !this.fireEvent("selected-dates-change", { timestamp, dates: [...selectedDates], values: datesValues }, true);
426
+ if (!defaultPrevented) {
427
+ this._setSelectedDates(selectedDates);
478
428
  }
479
-
480
- const oNewDate = this._calendarDate;
481
- oNewDate.setYear(iNewYear);
482
- oNewDate.setMonth(iNewMonth);
483
-
484
-
485
- if (oNewDate.getYear() < YearPicker._MIN_YEAR) {
486
- return;
487
- }
488
- this.timestamp = oNewDate.valueOf() / 1000;
489
429
  }
490
430
 
491
- _showNextYear() {
492
- if (this._calendarDate.getYear() === YearPicker._MAX_YEAR) {
493
- return;
494
- }
495
-
496
- const oNewDate = this._calendarDate;
497
- oNewDate.setYear(this._calendarDate.getYear() + 1);
498
-
499
- this.timestamp = oNewDate.valueOf() / 1000;
431
+ onSelectedMonthChange(event) {
432
+ this.timestamp = event.detail.timestamp;
433
+ this._currentPicker = "day";
434
+ this._currentPickerDOM._autoFocus = true;
500
435
  }
501
436
 
502
- _showPrevYear() {
503
- if (this._calendarDate.getYear() === YearPicker._MIN_YEAR) {
504
- return;
505
- }
506
-
507
- const oNewDate = this._calendarDate;
508
- oNewDate.setYear(this._calendarDate.getYear() - 1);
509
-
510
- this.timestamp = oNewDate.valueOf() / 1000;
437
+ onSelectedYearChange(event) {
438
+ this.timestamp = event.detail.timestamp;
439
+ this._currentPicker = "day";
440
+ this._currentPickerDOM._autoFocus = true;
511
441
  }
512
442
 
513
- _showNextPageYears() {
514
- if (!this._isYearInRange(this._yearPicker.timestamp,
515
- YearPicker._ITEMS_COUNT - YearPicker._MIDDLE_ITEM_INDEX,
516
- YearPicker._MIN_YEAR,
517
- YearPicker._MAX_YEAR)) {
518
- return;
519
- }
520
-
521
- if (this.minDate && !this._isYearInRange(this._yearPicker.timestamp,
522
- YearPicker._ITEMS_COUNT - YearPicker._MIDDLE_ITEM_INDEX,
523
- this.getFormat().parse(this.minDate).getFullYear(),
524
- YearPicker._MAX_YEAR)) {
525
- return;
526
- }
527
-
528
- if (this.maxDate && !this._isYearInRange(this._yearPicker.timestamp,
529
- YearPicker._ITEMS_COUNT - YearPicker._MIDDLE_ITEM_INDEX,
530
- YearPicker._MIN_YEAR,
531
- this.getFormat().parse(this.maxDate).getFullYear())) {
532
- return;
533
- }
534
-
535
- this._yearPicker = Object.assign({}, this._yearPicker, {
536
- timestamp: this._yearPicker.timestamp + (31536000 * YearPicker._ITEMS_COUNT),
537
- });
538
-
539
- this._isShiftingYears = true;
443
+ onNavigate(event) {
444
+ this.timestamp = event.detail.timestamp;
540
445
  }
541
446
 
542
- _showPrevPageYears() {
543
- if (!this._isYearInRange(this._yearPicker.timestamp,
544
- -YearPicker._MIDDLE_ITEM_INDEX - 1,
545
- YearPicker._MIN_YEAR,
546
- YearPicker._MAX_YEAR)) {
547
- return;
447
+ _onkeydown(event) {
448
+ if (isF4(event) && this._currentPicker !== "month") {
449
+ this._currentPicker = "month";
548
450
  }
549
451
 
550
- if (this.minDate && !this._isYearInRange(this._yearPicker.timestamp,
551
- -YearPicker._MIDDLE_ITEM_INDEX - 1,
552
- this.getFormat().parse(this.minDate).getFullYear(),
553
- YearPicker._MAX_YEAR)) {
554
- return;
555
- }
556
-
557
- if (this.maxDate && !this._isYearInRange(this._yearPicker.timestamp,
558
- -YearPicker._MIDDLE_ITEM_INDEX - 1,
559
- YearPicker._MIN_YEAR,
560
- this.getFormat().parse(this.maxDate).getFullYear())) {
561
- return;
562
- }
563
-
564
- this._yearPicker = Object.assign({}, this._yearPicker, {
565
- timestamp: this._yearPicker.timestamp - (31536000 * YearPicker._ITEMS_COUNT),
566
- });
567
-
568
- this._isShiftingYears = true;
569
- }
570
-
571
- _showMonthPicker() {
572
- this._monthPicker = Object.assign({}, this._monthPicker);
573
- this._oMonth = Object.assign({}, this._oMonth);
574
-
575
- this._monthPicker.timestamp = this._timestamp;
576
- this._monthPicker._hidden = false;
577
- this._oMonth._hidden = true;
578
-
579
- const calendarRect = this.shadowRoot.querySelector(".ui5-cal-root").getBoundingClientRect();
580
-
581
- this._calendarWidth = calendarRect.width.toString();
582
- this._calendarHeight = calendarRect.height.toString();
583
- }
584
-
585
- _showYearPicker() {
586
- this._yearPicker = Object.assign({}, this._yearPicker);
587
- this._oMonth = Object.assign({}, this._oMonth);
588
-
589
- this._yearPicker.timestamp = this._timestamp;
590
- this._yearPicker._selectedYear = this._calendarDate.getYear();
591
- this._yearPicker._hidden = false;
592
- this._oMonth._hidden = true;
593
-
594
- const calendarRect = this.shadowRoot.querySelector(".ui5-cal-root").getBoundingClientRect();
595
-
596
- this._calendarWidth = calendarRect.width.toString();
597
- this._calendarHeight = calendarRect.height.toString();
598
- }
599
-
600
- _hideMonthPicker() {
601
- this._monthPicker = Object.assign({}, this._monthPicker);
602
- this._oMonth = Object.assign({}, this._oMonth);
603
-
604
- this._monthPicker._hidden = true;
605
- this._oMonth._hidden = false;
606
- }
607
-
608
- _hideYearPicker() {
609
- this._yearPicker = Object.assign({}, this._yearPicker);
610
- this._oMonth = Object.assign({}, this._oMonth);
611
-
612
- this._yearPicker._hidden = true;
613
- this._oMonth._hidden = false;
614
- }
615
-
616
- _isYearInRange(timestamp, yearsoffset, min, max) {
617
- if (timestamp) {
618
- const oCalDate = CalendarDate.fromTimestamp(timestamp * 1000, this._primaryCalendarType);
619
- oCalDate.setMonth(0);
620
- oCalDate.setDate(1);
621
- oCalDate.setYear(oCalDate.getYear() + yearsoffset);
622
- return oCalDate.getYear() >= min && oCalDate.getYear() <= max;
452
+ if (isF4Shift(event) && this._currentPicker !== "year") {
453
+ this._currentPicker = "year";
623
454
  }
624
455
  }
625
456
 
626
- get classes() {
627
- return {
628
- main: {
629
- "ui5-cal-root": true,
630
- },
631
- dayPicker: {
632
- ".ui5-daypicker--hidden": !this._yearPicker._hidden || !this._monthPicker._hidden,
633
- },
634
- yearPicker: {
635
- "ui5-yearpicker--hidden": this._yearPicker._hidden,
636
- },
637
- monthPicker: {
638
- "ui5-monthpicker--hidden": this._monthPicker._hidden,
639
- },
640
- };
641
- }
642
-
643
457
  /**
644
- * Checks if a date is in range between minimum and maximum date
645
- * @param {object} value
646
- * @public
458
+ * Returns an array of UTC timestamps, representing the selected dates.
459
+ * @protected
460
+ * @deprecated
647
461
  */
648
- isInValidRange(value = "") {
649
- const pickedDate = CalendarDate.fromTimestamp(value).toLocalJSDate(),
650
- minDate = this._minDate && new Date(this._minDate),
651
- maxDate = this._maxDate && new Date(this._maxDate);
652
-
653
- if (minDate && maxDate) {
654
- if (minDate <= pickedDate && maxDate >= pickedDate) {
655
- return true;
656
- }
657
- } else if (minDate && !maxDate) {
658
- if (minDate <= pickedDate) {
659
- return true;
660
- }
661
- } else if (maxDate && !minDate) {
662
- if (maxDate >= pickedDate) {
663
- return true;
664
- }
665
- } else if (!maxDate && !minDate) {
666
- return true;
667
- }
668
-
669
- return false;
670
- }
671
-
672
- getFormat() {
673
- if (this._isPattern) {
674
- this._oDateFormat = DateFormat.getInstance({
675
- pattern: this._formatPattern,
676
- calendarType: this._primaryCalendarType,
677
- });
678
- } else {
679
- this._oDateFormat = DateFormat.getInstance({
680
- style: this._formatPattern,
681
- calendarType: this._primaryCalendarType,
682
- });
683
- }
684
- return this._oDateFormat;
685
- }
686
-
687
- get styles() {
688
- return {
689
- main: {
690
- "height": `${this._calendarHeight ? `${this._calendarHeight}px` : "auto"}`,
691
- "width": `${this._calendarWidth ? `${this._calendarWidth}px` : "auto"}`,
692
- },
693
- };
462
+ get selectedDates() {
463
+ return this._selectedDatesTimestamps;
694
464
  }
695
465
 
696
- static async onDefine() {
697
- await Promise.all([
698
- fetchCldr(getLocale().getLanguage(), getLocale().getRegion(), getLocale().getScript()),
699
- CalendarHeader.define(),
700
- DayPicker.define(),
701
- MonthPicker.define(),
702
- YearPicker.define(),
703
- ]);
466
+ /**
467
+ * Creates instances of <code>ui5-date</code> inside this <code>ui5-calendar</code> with values, equal to the provided UTC timestamps
468
+ * @protected
469
+ * @deprecated
470
+ * @param selectedDates Array of UTC timestamps
471
+ */
472
+ set selectedDates(selectedDates) {
473
+ this._setSelectedDates(selectedDates);
474
+ }
475
+
476
+ static get dependencies() {
477
+ return [
478
+ CalendarDateComponent.default,
479
+ CalendarHeader,
480
+ DayPicker,
481
+ MonthPicker,
482
+ YearPicker,
483
+ ];
704
484
  }
705
485
  }
706
486