@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/dist/DayPicker.js CHANGED
@@ -1,33 +1,43 @@
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
1
  import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
5
2
  import { getFirstDayOfWeek } from "@ui5/webcomponents-base/dist/config/FormatSettings.js";
6
- import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
7
- import LocaleData from "@ui5/webcomponents-localization/dist/LocaleData.js";
8
- import { getCalendarType } from "@ui5/webcomponents-base/dist/config/CalendarType.js";
9
- import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
10
- import { isSpace, isEnter } from "@ui5/webcomponents-base/dist/Keys.js";
3
+ import getCachedLocaleDataInstance from "@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js";
4
+ import {
5
+ isSpace,
6
+ isSpaceShift,
7
+ isEnter,
8
+ isEnterShift,
9
+ isUp,
10
+ isDown,
11
+ isLeft,
12
+ isRight,
13
+ isHome,
14
+ isEnd,
15
+ isHomeCtrl,
16
+ isEndCtrl,
17
+ isPageUp,
18
+ isPageDown,
19
+ isPageUpShift,
20
+ isPageUpAlt,
21
+ isPageUpShiftCtrl,
22
+ isPageDownShift,
23
+ isPageDownAlt,
24
+ isPageDownShiftCtrl,
25
+ } from "@ui5/webcomponents-base/dist/Keys.js";
11
26
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
12
27
  import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
13
28
  import calculateWeekNumber from "@ui5/webcomponents-localization/dist/dates/calculateWeekNumber.js";
14
29
  import CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
15
- import ItemNavigationBehavior from "@ui5/webcomponents-base/dist/types/ItemNavigationBehavior.js";
30
+ import CalendarSelectionMode from "./types/CalendarSelectionMode.js";
31
+ import CalendarPart from "./CalendarPart.js";
16
32
  import DayPickerTemplate from "./generated/templates/DayPickerTemplate.lit.js";
17
33
 
18
- // Styles
19
- import dayPickerCSS from "./generated/themes/DayPicker.css.js";
20
-
21
- const monthDiff = (startDate, endDate) => {
22
- let months;
23
- const _startDate = CalendarDate.fromTimestamp(startDate).toLocalJSDate(),
24
- _endDate = CalendarDate.fromTimestamp(endDate).toLocalJSDate();
34
+ import {
35
+ DAY_PICKER_WEEK_NUMBER_TEXT,
36
+ DAY_PICKER_NON_WORKING_DAY,
37
+ DAY_PICKER_TODAY,
38
+ } from "./generated/i18n/i18n-defaults.js";
25
39
 
26
- months = (_endDate.getFullYear() - _startDate.getFullYear()) * 12;
27
- months -= _startDate.getMonth();
28
- months += _endDate.getMonth();
29
- return months;
30
- };
40
+ import dayPickerCSS from "./generated/themes/DayPicker.css.js";
31
41
 
32
42
  /**
33
43
  * @public
@@ -36,67 +46,31 @@ const metadata = {
36
46
  tag: "ui5-daypicker",
37
47
  properties: /** @lends sap.ui.webcomponents.main.DayPicker.prototype */ {
38
48
  /**
39
- * A UNIX timestamp - seconds since 00:00:00 UTC on Jan 1, 1970.
40
- * @type {number}
41
- * @public
42
- */
43
- timestamp: {
44
- type: Integer,
45
- },
46
-
47
- /**
48
- * Sets a calendar type used for display.
49
- * If not set, the calendar type of the global configuration is used.
50
- * @type {CalendarType}
51
- * @public
52
- */
53
- primaryCalendarType: {
54
- type: CalendarType,
55
- },
56
-
57
- /**
58
- * Sets the selected dates as UTC timestamps.
49
+ * An array of UTC timestamps representing the selected date or dates depending on the capabilities of the picker component.
59
50
  * @type {Array}
60
51
  * @public
61
52
  */
62
53
  selectedDates: {
63
54
  type: Integer,
64
55
  multiple: true,
56
+ compareValues: true,
65
57
  },
66
58
 
67
59
  /**
68
- * Determines the minimum date available for selection.
69
- *
70
- * @type {string}
71
- * @defaultvalue ""
72
- * @since 1.0.0-rc.6
73
- * @public
74
- */
75
- minDate: {
76
- type: String,
77
- },
78
-
79
- /**
80
- * Determines the maximum date available for selection.
81
- *
82
- * @type {string}
83
- * @defaultvalue ""
84
- * @since 1.0.0-rc.6
85
- * @public
86
- */
87
- maxDate: {
88
- type: String,
89
- },
90
-
91
- /**
92
- * Determines the format, displayed in the input field.
93
- *
94
- * @type {string}
95
- * @defaultvalue ""
60
+ * Defines the type of selection used in the day picker component.
61
+ * Accepted property values are:<br>
62
+ * <ul>
63
+ * <li><code>CalendarSelectionMode.Single</code> - enables a single date selection.(default value)</li>
64
+ * <li><code>CalendarSelectionMode.Range</code> - enables selection of a date range.</li>
65
+ * <li><code>CalendarSelectionMode.Multiple</code> - enables selection of multiple dates.</li>
66
+ * </ul>
67
+ * @type {CalendarSelectionMode}
68
+ * @defaultvalue "Single"
96
69
  * @public
97
70
  */
98
- formatPattern: {
99
- type: String,
71
+ selectionMode: {
72
+ type: CalendarSelectionMode,
73
+ defaultValue: CalendarSelectionMode.Single,
100
74
  },
101
75
 
102
76
  /**
@@ -115,16 +89,6 @@ const metadata = {
115
89
  type: Boolean,
116
90
  },
117
91
 
118
- /**
119
- * Defines the effective weeks numbers visibility,
120
- * based on the <code>primaryCalendarType</code> and <code>hideWeekNumbers</code> property.
121
- * @type {boolean}
122
- * @private
123
- */
124
- _hideWeekNumbers: {
125
- type: Boolean,
126
- },
127
-
128
92
  /**
129
93
  * @type {Object}
130
94
  * @private
@@ -134,16 +98,13 @@ const metadata = {
134
98
  multiple: true,
135
99
  },
136
100
 
137
- /**
138
- * @type {Object}
139
- * @private
140
- */
141
- _weekNumbers: {
101
+ _dayNames: {
142
102
  type: Object,
143
103
  multiple: true,
144
104
  },
145
105
 
146
106
  /**
107
+ * When set, the component will skip all work in onBeforeRendering and will not automatically set the focus on itself
147
108
  * @type {boolean}
148
109
  * @private
149
110
  */
@@ -151,16 +112,24 @@ const metadata = {
151
112
  type: Boolean,
152
113
  noAttribute: true,
153
114
  },
115
+
116
+ /**
117
+ * When selectionMode="Range" and the first day in the range is selected, this is the currently hovered (when using mouse) or focused (when using keyboard) day by the user
118
+ * @private
119
+ */
120
+ _secondTimestamp: {
121
+ type: String,
122
+ },
154
123
  },
155
124
  events: /** @lends sap.ui.webcomponents.main.DayPicker.prototype */ {
156
125
  /**
157
- * Fired when the user selects a new Date on the Web Component.
126
+ * Fired when the selected date(s) change
158
127
  * @public
159
128
  * @event
160
129
  */
161
130
  change: {},
162
131
  /**
163
- * Fired when month, year has changed due to item navigation.
132
+ * Fired when the timestamp changes (user navigates with the keyboard) or clicks with the mouse
164
133
  * @public
165
134
  * @event
166
135
  */
@@ -168,8 +137,9 @@ const metadata = {
168
137
  },
169
138
  };
170
139
 
171
- const DEFAULT_MAX_YEAR = 9999;
172
- const DEFAULT_MIN_YEAR = 1;
140
+ const isBetween = (x, num1, num2) => x > Math.min(num1, num2) && x < Math.max(num1, num2);
141
+
142
+ const DAYS_IN_WEEK = 7;
173
143
 
174
144
  /**
175
145
  * @class
@@ -179,19 +149,15 @@ const DEFAULT_MIN_YEAR = 1;
179
149
  * @constructor
180
150
  * @author SAP SE
181
151
  * @alias sap.ui.webcomponents.main.DayPicker
182
- * @extends sap.ui.webcomponents.base.UI5Element
152
+ * @extends CalendarPart
183
153
  * @tagname ui5-daypicker
184
154
  * @public
185
155
  */
186
- class DayPicker extends UI5Element {
156
+ class DayPicker extends CalendarPart {
187
157
  static get metadata() {
188
158
  return metadata;
189
159
  }
190
160
 
191
- static get render() {
192
- return litRender;
193
- }
194
-
195
161
  static get template() {
196
162
  return DayPickerTemplate;
197
163
  }
@@ -200,425 +166,530 @@ class DayPicker extends UI5Element {
200
166
  return dayPickerCSS;
201
167
  }
202
168
 
203
- constructor() {
204
- super();
205
- this._oLocale = getLocale();
206
- this._oLocaleData = new LocaleData(this._oLocale);
207
-
208
- this._itemNav = new ItemNavigation(this, {
209
- rowSize: 7,
210
- pageSize: 42,
211
- behavior: ItemNavigationBehavior.Paging,
212
- });
169
+ onBeforeRendering() {
170
+ const localeData = getCachedLocaleDataInstance(getLocale());
171
+ this._buildWeeks(localeData);
172
+ this._buildDayNames(localeData);
173
+ }
213
174
 
214
- this._itemNav.getItemsCallback = function getItemsCallback() {
215
- return this.focusableDays;
216
- }.bind(this);
175
+ /**
176
+ * Builds the _weeks object that represents the month
177
+ * @param localeData
178
+ * @private
179
+ */
180
+ _buildWeeks(localeData) {
181
+ if (this._hidden) {
182
+ return; // Optimization to not do any work unless the current picker
183
+ }
217
184
 
218
- this._itemNav.attachEvent(
219
- ItemNavigation.BORDER_REACH,
220
- this._handleItemNavigationBorderReach.bind(this)
221
- );
185
+ this._weeks = [];
222
186
 
223
- this._itemNav.attachEvent(
224
- "PageBottom",
225
- this._handleMonthBottomOverflow.bind(this)
226
- );
187
+ const firstDayOfWeek = this._getFirstDayOfWeek();
188
+ const monthsNames = localeData.getMonths("wide", this._primaryCalendarType);
189
+ const secondaryMonthsNames = this.hasSecondaryCalendarType && localeData.getMonths("wide", this.secondaryCalendarType);
190
+ const nonWorkingDayLabel = DayPicker.i18nBundle.getText(DAY_PICKER_NON_WORKING_DAY);
191
+ const todayLabel = DayPicker.i18nBundle.getText(DAY_PICKER_TODAY);
192
+ const tempDate = this._getFirstDay(); // date that will be changed by 1 day 42 times
193
+ const todayDate = CalendarDate.fromLocalJSDate(new Date(), this._primaryCalendarType); // current day date - calculate once
194
+ const calendarDate = this._calendarDate; // store the _calendarDate value as this getter is expensive and degrades IE11 perf
195
+ const minDate = this._minDate; // store the _minDate (expensive getter)
196
+ const maxDate = this._maxDate; // store the _maxDate (expensive getter)
227
197
 
228
- this._itemNav.attachEvent(
229
- "PageTop",
230
- this._handleMonthTopOverflow.bind(this)
231
- );
232
- }
198
+ const tempSecondDate = this.hasSecondaryCalendarType && this._getSecondaryDay(tempDate);
233
199
 
234
- onBeforeRendering() {
235
- let oCalDate,
236
- day,
237
- timestamp,
238
- lastWeekNumber = -1,
239
- isDaySelected = false,
240
- todayIndex = 0;
241
- const _aVisibleDays = this._getVisibleDays(this._calendarDate);
242
- this._weeks = [];
243
200
  let week = [];
244
- this._weekNumbers = [];
245
- let weekday;
246
- if (this.minDate) {
247
- this._minDateObject = new Date(this._minDate);
248
- }
201
+ for (let i = 0; i < DAYS_IN_WEEK * 6; i++) { // always show 6 weeks total, 42 days to avoid jumping
202
+ const timestamp = tempDate.valueOf() / 1000; // no need to round because CalendarDate does it
249
203
 
250
- if (this.maxDate) {
251
- this._maxDateObject = new Date(this._maxDate);
252
- }
253
- /* eslint-disable no-loop-func */
254
- for (let i = 0; i < _aVisibleDays.length; i++) {
255
- oCalDate = _aVisibleDays[i];
256
- timestamp = oCalDate.valueOf() / 1000; // no need to round because CalendarDate does it
257
-
258
- // day of the week
259
- weekday = oCalDate.getDay() - this._getFirstDayOfWeek();
260
- if (weekday < 0) {
261
- weekday += 7;
204
+ let dayOfTheWeek = tempDate.getDay() - firstDayOfWeek;
205
+ if (dayOfTheWeek < 0) {
206
+ dayOfTheWeek += DAYS_IN_WEEK;
262
207
  }
263
- day = {
208
+
209
+ const isFocused = tempDate.getMonth() === calendarDate.getMonth() && tempDate.getDate() === calendarDate.getDate();
210
+ const isSelected = this._isDaySelected(timestamp);
211
+ const isSelectedBetween = this._isDayInsideSelectionRange(timestamp);
212
+ const isOtherMonth = tempDate.getMonth() !== calendarDate.getMonth();
213
+ const isWeekend = this._isWeekend(tempDate);
214
+ const isDisabled = tempDate.valueOf() < minDate.valueOf() || tempDate.valueOf() > maxDate.valueOf();
215
+ const isToday = tempDate.isSame(todayDate);
216
+ const isFirstDayOfWeek = tempDate.getDay() === firstDayOfWeek;
217
+
218
+ const nonWorkingAriaLabel = isWeekend ? `${nonWorkingDayLabel} ` : "";
219
+ const todayAriaLabel = isToday ? `${todayLabel} ` : "";
220
+ const ariaLabel = this.hasSecondaryCalendarType
221
+ ? `${todayAriaLabel}${nonWorkingAriaLabel}${monthsNames[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getYear()}; ${secondaryMonthsNames[tempSecondDate.getMonth()]} ${tempSecondDate.getDate()}, ${tempSecondDate.getYear()}`
222
+ : `${todayAriaLabel}${nonWorkingAriaLabel}${monthsNames[tempDate.getMonth()]} ${tempDate.getDate()}, ${tempDate.getYear()}`;
223
+
224
+ const day = {
264
225
  timestamp: timestamp.toString(),
265
- selected: this._selectedDates.some(d => {
266
- return d === timestamp;
267
- }),
268
- selectedBetween: this._selectedDates.slice(1, this._selectedDates.length - 1).some(d => {
269
- return d === timestamp;
270
- }),
271
- iDay: oCalDate.getDate(),
272
- _index: i.toString(),
273
- classes: `ui5-dp-item ui5-dp-wday${weekday}`,
226
+ focusRef: isFocused,
227
+ _tabIndex: isFocused ? "0" : "-1",
228
+ selected: isSelected,
229
+ day: tempDate.getDate(),
230
+ secondDay: this.hasSecondaryCalendarType && tempSecondDate.getDate(),
231
+ _isSecondaryCalendarType: this.hasSecondaryCalendarType,
232
+ classes: `ui5-dp-item ui5-dp-wday${dayOfTheWeek}`,
233
+ ariaLabel,
234
+ ariaSelected: isSelected ? "true" : "false",
235
+ ariaDisabled: isOtherMonth ? "true" : undefined,
236
+ disabled: isDisabled,
274
237
  };
275
238
 
276
- const weekNumber = calculateWeekNumber(getFirstDayOfWeek(), oCalDate.toUTCJSDate(), oCalDate.getYear(), this._oLocale, this._oLocaleData);
277
-
278
- if (lastWeekNumber !== weekNumber) {
279
- this._weekNumbers.push(weekNumber);
280
-
281
- lastWeekNumber = weekNumber;
282
- }
283
-
284
- const isToday = oCalDate.isSame(CalendarDate.fromLocalJSDate(new Date(), this._primaryCalendarType));
285
-
286
- week.push(day);
287
-
288
- if (oCalDate.getDay() === this._getFirstDayOfWeek()) {
239
+ if (isFirstDayOfWeek) {
289
240
  day.classes += " ui5-dp-firstday";
290
241
  }
291
242
 
292
- if (day.selected) {
243
+ if (isSelected) {
293
244
  day.classes += " ui5-dp-item--selected";
294
- isDaySelected = true;
295
245
  }
296
246
 
297
- if (day.selectedBetween) {
247
+ if (isSelectedBetween) {
298
248
  day.classes += " ui5-dp-item--selected-between";
299
249
  }
300
250
 
301
251
  if (isToday) {
302
252
  day.classes += " ui5-dp-item--now";
303
- todayIndex = i;
304
253
  }
305
254
 
306
- if (oCalDate.getMonth() !== this._month) {
255
+ if (isOtherMonth) {
307
256
  day.classes += " ui5-dp-item--othermonth";
308
257
  }
309
258
 
310
- day.id = `${this._id}-${timestamp}`;
311
-
312
- if (this._isWeekend(oCalDate)) {
259
+ if (isWeekend) {
313
260
  day.classes += " ui5-dp-item--weeekend";
314
261
  }
315
- if ((this.minDate || this.maxDate) && this._isOutOfSelectableRange(oCalDate)) {
262
+
263
+ if (isDisabled) {
316
264
  day.classes += " ui5-dp-item--disabled";
317
- day.disabled = true;
318
265
  }
319
266
 
320
- if (day.classes.indexOf("ui5-dp-wday6") !== -1
321
- || _aVisibleDays.length - 1 === i) {
267
+ if (this.hasSecondaryCalendarType) {
268
+ day.classes += " ui5-dp-item--withsecondtype";
269
+ }
270
+
271
+ week.push(day);
272
+
273
+ if (dayOfTheWeek === DAYS_IN_WEEK - 1) { // 0-indexed so 6 is the last day of the week
274
+ week.unshift({
275
+ weekNum: calculateWeekNumber(getFirstDayOfWeek(), tempDate.toUTCJSDate(), tempDate.getYear(), getLocale(), localeData),
276
+ isHidden: this.shouldHideWeekNumbers,
277
+ });
278
+ }
279
+
280
+ if (week.length === DAYS_IN_WEEK + 1) { // 7 entries for each day + 1 for the week numbers
322
281
  this._weeks.push(week);
323
282
  week = [];
324
283
  }
284
+
285
+ tempDate.setDate(tempDate.getDate() + 1);
286
+ if (this.hasSecondaryCalendarType) {
287
+ tempSecondDate.setDate(tempSecondDate.getDate() + 1);
288
+ }
325
289
  }
326
- while (this._weeks.length < 6) {
327
- this._weeks.push([]);
328
- }
329
- /* eslint-enable no-loop-func */
290
+ }
330
291
 
331
- if (!isDaySelected && todayIndex && this._itemNav.current === 0) {
332
- this._itemNav.current = todayIndex;
292
+ /**
293
+ * Builds the dayNames object (header of the month)
294
+ * @param localeData
295
+ * @private
296
+ */
297
+ _buildDayNames(localeData) {
298
+ if (this._hidden) {
299
+ return; // Optimization to not do any work unless the current picker
333
300
  }
334
301
 
335
- const aDayNamesWide = this._oLocaleData.getDays("wide", this._primaryCalendarType);
336
- const aDayNamesAbbreviated = this._oLocaleData.getDays("abbreviated", this._primaryCalendarType);
337
- const aUltraShortNames = aDayNamesAbbreviated.map(n => n);
302
+ let dayOfTheWeek;
303
+
304
+ const aDayNamesWide = localeData.getDays("wide", this._primaryCalendarType);
305
+ const aDayNamesAbbreviated = localeData.getDays("abbreviated", this._primaryCalendarType);
338
306
  let dayName;
339
307
 
340
308
  this._dayNames = [];
341
- for (let i = 0; i < 7; i++) {
342
- weekday = i + this._getFirstDayOfWeek();
343
- if (weekday > 6) {
344
- weekday -= 7;
309
+ this._dayNames.push({
310
+ classes: "ui5-dp-dayname",
311
+ name: DayPicker.i18nBundle.getText(DAY_PICKER_WEEK_NUMBER_TEXT),
312
+ });
313
+ for (let i = 0; i < DAYS_IN_WEEK; i++) {
314
+ dayOfTheWeek = i + this._getFirstDayOfWeek();
315
+ if (dayOfTheWeek > DAYS_IN_WEEK - 1) { // 0-indexed so index of 6 is the maximum allowed
316
+ dayOfTheWeek -= DAYS_IN_WEEK;
345
317
  }
346
318
  dayName = {
347
- id: `${this._id}-WH${i.toString()}`,
348
- name: aDayNamesWide[weekday],
349
- ultraShortName: aUltraShortNames[weekday],
319
+ name: aDayNamesWide[dayOfTheWeek],
320
+ ultraShortName: aDayNamesAbbreviated[dayOfTheWeek],
350
321
  classes: "ui5-dp-dayname",
351
322
  };
352
323
 
353
324
  this._dayNames.push(dayName);
354
325
  }
355
326
 
356
- this._dayNames[0].classes += " ui5-dp-firstday";
357
- this._hideWeekNumbers = this.shouldHideWeekNumbers;
358
- }
327
+ this._dayNames[1].classes += " ui5-dp-firstday";
359
328
 
360
- onAfterRendering() {
361
- if (this.selectedDates.length === 1) {
362
- this.fireEvent("daypickerrendered", { focusedItemIndex: this._itemNav.currentIndex });
329
+ if (this.shouldHideWeekNumbers) {
330
+ this._dayNames.shift();
363
331
  }
364
332
  }
365
333
 
366
- _onmousedown(event) {
367
- const target = event.target;
368
- const dayPressed = this._isDayPressed(target);
369
-
370
- if (dayPressed) {
371
- const targetDate = parseInt(target.getAttribute("data-sap-timestamp"));
372
-
373
- // findIndex, give it to item navigation
374
- for (let i = 0; i < this._weeks.length; i++) {
375
- for (let j = 0; j < this._weeks[i].length; j++) {
376
- if (parseInt(this._weeks[i][j].timestamp) === targetDate) {
377
- let index = parseInt(target.getAttribute("data-sap-index"));
378
- if (this.minDate || this.maxDate) {
379
- const focusableItem = this.focusableDays.find(item => parseInt(item._index) === index);
380
- index = focusableItem ? this.focusableDays.indexOf(focusableItem) : index;
381
- }
382
-
383
- this._itemNav.current = index;
384
- this._itemNav.update();
385
- break;
386
- }
387
- }
388
- }
389
-
390
- this.targetDate = targetDate;
334
+ onAfterRendering() {
335
+ if (this._autoFocus && !this._hidden) {
336
+ this.focus();
391
337
  }
392
338
  }
393
339
 
394
- _onmouseup(event) {
395
- const dayPressed = this._isDayPressed(event.target);
396
- if (this.targetDate) {
397
- this._modifySelectionAndNotifySubscribers(this.targetDate, event.ctrlKey);
398
- this.targetDate = null;
399
- }
400
-
401
- if (!dayPressed) {
402
- this._itemNav.focusCurrent();
403
- }
340
+ _onfocusin() {
341
+ this._autoFocus = true;
404
342
  }
405
343
 
406
- _onitemmouseover(event) {
407
- if (this.selectedDates.length === 1) {
408
- this.fireEvent("item-mouseover", event);
409
- }
344
+ _onfocusout() {
345
+ this._autoFocus = false;
410
346
  }
411
347
 
412
- _onitemkeydown(event) {
413
- if (this.selectedDates.length === 1) {
414
- this.fireEvent("item-keydown", event);
348
+ /**
349
+ * Tells if the day is selected (dark blue)
350
+ * @param timestamp
351
+ * @returns {boolean}
352
+ * @private
353
+ */
354
+ _isDaySelected(timestamp) {
355
+ if (this.selectionMode === CalendarSelectionMode.Single) {
356
+ return timestamp === this.selectedDates[0];
415
357
  }
358
+
359
+ // Multiple, Range
360
+ return this.selectedDates.includes(timestamp);
416
361
  }
417
362
 
418
- _onkeydown(event) {
419
- if (isEnter(event)) {
420
- return this._handleEnter(event);
363
+ /**
364
+ * Tells if the day is inside a selection range (light blue)
365
+ * @param timestamp
366
+ * @returns {*}
367
+ * @private
368
+ */
369
+ _isDayInsideSelectionRange(timestamp) {
370
+ // No selection at all (or not in range selection mode)
371
+ if (this.selectionMode !== CalendarSelectionMode.Range || !this.selectedDates.length) {
372
+ return false;
421
373
  }
422
374
 
423
- if (isSpace(event)) {
424
- return this._handleSpace(event);
375
+ // Only one date selected - the user is hovering with the mouse or navigating with the keyboard to select the second one
376
+ if (this.selectedDates.length === 1 && this._secondTimestamp) {
377
+ return isBetween(timestamp, this.selectedDates[0], this._secondTimestamp);
425
378
  }
426
- }
427
379
 
428
- _handleEnter(event) {
429
- event.preventDefault();
430
- if (event.target.className.indexOf("ui5-dp-item") > -1) {
431
- const targetDate = parseInt(event.target.getAttribute("data-sap-timestamp"));
432
- this._modifySelectionAndNotifySubscribers(targetDate, event.ctrlKey);
433
- }
380
+ // Two dates selected - stable range
381
+ return isBetween(timestamp, this.selectedDates[0], this.selectedDates[1]);
434
382
  }
435
383
 
436
- _handleSpace(event) {
437
- event.preventDefault();
438
- if (event.target.className.indexOf("ui5-dp-item") > -1) {
439
- const targetDate = parseInt(event.target.getAttribute("data-sap-timestamp"));
440
- this._modifySelectionAndNotifySubscribers(targetDate, event.ctrlKey);
441
- }
442
- }
384
+ /**
385
+ * Selects/deselects a day
386
+ * @param event
387
+ * @param isShift true if the user did Click+Shift or Enter+Shift (but not Space+Shift)
388
+ * @private
389
+ */
390
+ _selectDate(event, isShift) {
391
+ const target = event.target;
443
392
 
444
- get shouldHideWeekNumbers() {
445
- if (this._primaryCalendarType !== CalendarType.Gregorian) {
446
- return true;
393
+ if (!this._isDayPressed(target)) {
394
+ return;
447
395
  }
448
396
 
449
- return this.hideWeekNumbers;
450
- }
451
-
452
- get _timestamp() {
453
- return this.timestamp !== undefined ? this.timestamp : Math.floor(new Date().getTime() / 1000);
454
- }
397
+ const timestamp = this._getTimestampFromDom(target);
455
398
 
456
- get _localDate() {
457
- return new Date(this._timestamp * 1000);
458
- }
399
+ this._safelySetTimestamp(timestamp);
400
+ this._updateSecondTimestamp();
459
401
 
460
- get _calendarDate() {
461
- return CalendarDate.fromTimestamp(this._localDate.getTime(), this._primaryCalendarType);
462
- }
402
+ if (this.selectionMode === CalendarSelectionMode.Single) {
403
+ this.selectedDates = [timestamp];
404
+ } else if (this.selectionMode === CalendarSelectionMode.Multiple) {
405
+ if (this.selectedDates.length > 0 && isShift) {
406
+ this._multipleSelection(timestamp);
407
+ } else {
408
+ this._toggleTimestampInSelection(timestamp);
409
+ }
410
+ } else {
411
+ this.selectedDates = (this.selectedDates.length === 1) ? [...this.selectedDates, timestamp] : [timestamp];
412
+ }
463
413
 
464
- get _formatPattern() {
465
- return this.formatPattern || "medium"; // get from config
414
+ this.fireEvent("change", {
415
+ timestamp: this.timestamp,
416
+ dates: this.selectedDates,
417
+ });
466
418
  }
467
419
 
468
- get _month() {
469
- return this._calendarDate.getMonth();
470
- }
420
+ /**
421
+ * Selects/deselects the whole row (week)
422
+ * @param event
423
+ * @private
424
+ */
425
+ _selectWeek(event) {
426
+ this._weeks.forEach(week => {
427
+ const dayInThisWeek = week.findIndex(item => {
428
+ const date = CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000);
429
+ return date.getMonth() === this._calendarDate.getMonth() && date.getDate() === this._calendarDate.getDate();
430
+ }) !== -1;
431
+ if (dayInThisWeek) { // The current day is in this week
432
+ const notAllDaysOfThisWeekSelected = week.some(item => item.timestamp && !this.selectedDates.includes(parseInt(item.timestamp)));
433
+ if (notAllDaysOfThisWeekSelected) { // even if one day is not selected, select the whole week
434
+ week.filter(item => item.timestamp).forEach(item => {
435
+ this._addTimestampToSelection(parseInt(item.timestamp));
436
+ });
437
+ } else { // only if all days of this week are selected, deselect them
438
+ week.filter(item => item.timestamp).forEach(item => {
439
+ this._removeTimestampFromSelection(parseInt(item.timestamp));
440
+ });
441
+ }
442
+ }
443
+ });
471
444
 
472
- get _year() {
473
- return this._calendarDate.getYear();
445
+ this.fireEvent("change", {
446
+ timestamp: this.timestamp,
447
+ dates: this.selectedDates,
448
+ });
474
449
  }
475
450
 
476
- get _currentCalendarDate() {
477
- return CalendarDate.fromTimestamp(new Date().getTime(), this._primaryCalendarType);
451
+ _toggleTimestampInSelection(timestamp) {
452
+ if (this.selectedDates.includes(timestamp)) {
453
+ this._removeTimestampFromSelection(timestamp);
454
+ } else {
455
+ this._addTimestampToSelection(timestamp);
456
+ }
478
457
  }
479
458
 
480
- get _selectedDates() {
481
- return this.selectedDates || [];
459
+ _addTimestampToSelection(timestamp) {
460
+ if (!this.selectedDates.includes(timestamp)) {
461
+ this.selectedDates = [...this.selectedDates, timestamp];
462
+ }
482
463
  }
483
464
 
484
- get _primaryCalendarType() {
485
- return this.primaryCalendarType || getCalendarType() || LocaleData.getInstance(getLocale()).getPreferredCalendarType();
465
+ _removeTimestampFromSelection(timestamp) {
466
+ this.selectedDates = this.selectedDates.filter(value => value !== timestamp);
486
467
  }
487
468
 
488
- get focusableDays() {
489
- const focusableDays = [];
469
+ /**
470
+ * When at least one day is selected and the user pressed shift
471
+ * @param timestamp
472
+ * @private
473
+ */
474
+ _multipleSelection(timestamp) {
475
+ const min = Math.min(...this.selectedDates);
476
+ const max = Math.max(...this.selectedDates);
477
+ let start;
478
+ let end;
479
+ let toggle = false;
490
480
 
491
- for (let i = 0; i < this._weeks.length; i++) {
492
- const week = this._weeks[i].filter(x => !x.disabled);
493
- focusableDays.push(week);
494
- }
495
-
496
- return [].concat(...focusableDays);
497
- }
481
+ if (timestamp < min) {
482
+ start = timestamp;
483
+ end = min;
484
+ } else if (timestamp >= min && timestamp <= max) { // inside the current range - toggle all between the selected and focused
485
+ const distanceToMin = Math.abs(timestamp - min);
486
+ const distanceToMax = Math.abs(timestamp - max);
498
487
 
499
- _modifySelectionAndNotifySubscribers(sNewDate, bAdd) {
500
- if (bAdd) {
501
- this.selectedDates = [...this._selectedDates, sNewDate];
488
+ if (distanceToMin < distanceToMax) {
489
+ start = timestamp;
490
+ end = max;
491
+ } else {
492
+ start = min;
493
+ end = timestamp;
494
+ }
495
+ toggle = true;
502
496
  } else {
503
- this.selectedDates = [sNewDate];
497
+ start = max;
498
+ end = timestamp;
504
499
  }
505
500
 
506
- this.fireEvent("change", { dates: [...this._selectedDates] });
507
- }
501
+ const startDate = CalendarDate.fromTimestamp(start * 1000);
502
+ const endDate = CalendarDate.fromTimestamp(end * 1000);
508
503
 
509
- _handleMonthBottomOverflow(event) {
510
- this._itemNav.hasNextPage = this._hasNextMonth();
504
+ while (startDate.valueOf() <= endDate.valueOf()) {
505
+ this[toggle ? "_toggleTimestampInSelection" : "_addTimestampToSelection"](startDate.valueOf() / 1000);
506
+ startDate.setDate(startDate.getDate() + 1);
507
+ }
511
508
  }
512
509
 
513
- _handleMonthTopOverflow(event) {
514
- this._itemNav.hasPrevPage = this._hasPrevMonth();
510
+ /**
511
+ * Set the hovered day as the _secondTimestamp
512
+ * @param event
513
+ * @private
514
+ */
515
+ _onmouseover(event) {
516
+ const hoveredItem = event.target.closest(".ui5-dp-item");
517
+ if (hoveredItem && this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {
518
+ this._secondTimestamp = this._getTimestampFromDom(hoveredItem);
519
+ }
515
520
  }
516
521
 
517
- _hasNextMonth() {
518
- let newMonth = this._month + 1;
519
- let newYear = this._year;
520
-
521
- if (newMonth > 11) {
522
- newMonth = 0;
523
- newYear++;
522
+ _onkeydown(event) {
523
+ let preventDefault = true;
524
+
525
+ if (isEnter(event) || isEnterShift(event)) {
526
+ this._selectDate(event, isEnterShift(event));
527
+ } else if (isSpace(event) || isSpaceShift(event)) {
528
+ event.preventDefault();
529
+ } else if (isLeft(event)) {
530
+ this._modifyTimestampBy(-1, "day");
531
+ } else if (isRight(event)) {
532
+ this._modifyTimestampBy(1, "day");
533
+ } else if (isUp(event)) {
534
+ this._modifyTimestampBy(-7, "day");
535
+ } else if (isDown(event)) {
536
+ this._modifyTimestampBy(7, "day");
537
+ } else if (isPageUp(event)) {
538
+ this._modifyTimestampBy(-1, "month");
539
+ } else if (isPageDown(event)) {
540
+ this._modifyTimestampBy(1, "month");
541
+ } else if (isPageUpShift(event) || isPageUpAlt(event)) {
542
+ this._modifyTimestampBy(-1, "year");
543
+ } else if (isPageDownShift(event) || isPageDownAlt(event)) {
544
+ this._modifyTimestampBy(1, "year");
545
+ } else if (isPageUpShiftCtrl(event)) {
546
+ this._modifyTimestampBy(-10, "year");
547
+ } else if (isPageDownShiftCtrl(event)) {
548
+ this._modifyTimestampBy(10, "year");
549
+ } else if (isHome(event) || isEnd(event)) {
550
+ this._onHomeOrEnd(isHome(event));
551
+ } else if (isHomeCtrl(event)) {
552
+ const tempDate = new CalendarDate(this._calendarDate, this._primaryCalendarType);
553
+ tempDate.setDate(1); // Set the first day of the month
554
+ this._setTimestamp(tempDate.valueOf() / 1000);
555
+ } else if (isEndCtrl(event)) {
556
+ const tempDate = new CalendarDate(this._calendarDate, this._primaryCalendarType);
557
+ tempDate.setMonth(tempDate.getMonth() + 1);
558
+ tempDate.setDate(0); // Set the last day of the month (0th day of next month)
559
+ this._setTimestamp(tempDate.valueOf() / 1000);
560
+ } else {
561
+ preventDefault = false;
524
562
  }
525
563
 
526
- if (newYear > DEFAULT_MAX_YEAR && newMonth === 0) {
527
- return false;
564
+ if (preventDefault) {
565
+ event.preventDefault();
528
566
  }
567
+ }
529
568
 
530
- if (!this.maxDate) {
531
- return true;
569
+ _onkeyup(event) {
570
+ // Even if Space+Shift was pressed, ignore the shift unless in Multiple selection
571
+ if (isSpace(event) || (isSpaceShift(event) && this.selectionMode !== CalendarSelectionMode.Multiple)) {
572
+ this._selectDate(event, false);
573
+ } else if (isSpaceShift(event)) {
574
+ this._selectWeek(event);
532
575
  }
576
+ }
533
577
 
534
- const oNewDate = this._calendarDate;
535
- oNewDate.setDate(oNewDate.getDate());
536
- oNewDate.setYear(newYear);
537
- oNewDate.setMonth(newMonth);
538
-
539
- const monthsBetween = monthDiff(oNewDate.valueOf(), this._maxDate);
540
- if (monthsBetween < 0) {
541
- return false;
542
- }
578
+ /**
579
+ * Click is the same as Enter: Click+Shift has the same effect as Enter+Shift
580
+ * @param event
581
+ * @private
582
+ */
583
+ _onclick(event) {
584
+ this._selectDate(event, event.shiftKey);
585
+ }
543
586
 
544
- const lastFocusableDay = this.focusableDays[this.focusableDays.length - 1].iDay;
545
- if (monthsBetween === 0 && CalendarDate.fromTimestamp(this._maxDate).toLocalJSDate().getDate() === lastFocusableDay) {
546
- return false;
547
- }
587
+ /**
588
+ * One Home or End, move the focus to the first or last item in the row
589
+ * @param homePressed
590
+ * @private
591
+ */
592
+ _onHomeOrEnd(homePressed) {
593
+ this._weeks.forEach(week => {
594
+ const dayInThisWeek = week.findIndex(item => {
595
+ const date = CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000);
596
+ return date.getMonth() === this._calendarDate.getMonth() && date.getDate() === this._calendarDate.getDate();
597
+ }) !== -1;
598
+ if (dayInThisWeek) { // The current day is in this week
599
+ const index = homePressed ? 1 : 7; // select the first (if Home) or last (if End) day of the week
600
+ this._setTimestamp(parseInt(week[index].timestamp));
601
+ }
602
+ });
603
+ }
548
604
 
549
- return true;
605
+ /**
606
+ * Called from Calendar.js
607
+ * @protected
608
+ */
609
+ _hasPreviousPage() {
610
+ return !(this._calendarDate.getMonth() === this._minDate.getMonth() && this._calendarDate.getYear() === this._minDate.getYear());
550
611
  }
551
612
 
552
- _hasPrevMonth() {
553
- let newMonth = this._month - 1;
554
- let newYear = this._year;
613
+ /**
614
+ * Called from Calendar.js
615
+ * @protected
616
+ */
617
+ _hasNextPage() {
618
+ return !(this._calendarDate.getMonth() === this._maxDate.getMonth() && this._calendarDate.getYear() === this._maxDate.getYear());
619
+ }
555
620
 
556
- if (newMonth < 0) {
557
- newMonth = 11;
558
- newYear--;
559
- }
621
+ /**
622
+ * Called from Calendar.js
623
+ * Same as PageUp
624
+ * @protected
625
+ */
626
+ _showPreviousPage() {
627
+ this._modifyTimestampBy(-1, "month");
628
+ }
560
629
 
561
- if (newYear < DEFAULT_MIN_YEAR && newMonth === 11) {
562
- return false;
563
- }
630
+ /**
631
+ * Called from Calendar.js
632
+ * Same as PageDown
633
+ * @protected
634
+ */
635
+ _showNextPage() {
636
+ this._modifyTimestampBy(1, "month");
637
+ }
564
638
 
565
- if (!this.minDate) {
566
- return true;
567
- }
639
+ /**
640
+ * Modifies the timestamp by a certain amount of days/months/years
641
+ * @param amount
642
+ * @param unit
643
+ * @private
644
+ */
645
+ _modifyTimestampBy(amount, unit) {
646
+ // Modify the current timestamp
647
+ this._safelyModifyTimestampBy(amount, unit);
648
+ this._updateSecondTimestamp();
568
649
 
569
- const oNewDate = this._calendarDate;
570
- oNewDate.setDate(oNewDate.getDate());
571
- oNewDate.setYear(newYear);
572
- oNewDate.setMonth(newMonth);
650
+ // Notify the calendar to update its timestamp
651
+ this.fireEvent("navigate", { timestamp: this.timestamp });
652
+ }
573
653
 
574
- const monthsBetween = monthDiff(this._minDate, oNewDate.valueOf());
575
- if (this.minDate && monthsBetween < 0) {
576
- return false;
577
- }
654
+ /**
655
+ * Sets the timestamp to an absolute value
656
+ * @param value
657
+ * @private
658
+ */
659
+ _setTimestamp(value) {
660
+ this._safelySetTimestamp(value);
661
+ this._updateSecondTimestamp();
662
+ this.fireEvent("navigate", { timestamp: this.timestamp });
663
+ }
578
664
 
579
- return true;
580
- }
581
-
582
- _handleItemNavigationBorderReach(event) {
583
- const currentMonth = this._month,
584
- currentYear = this._year;
585
- let newMonth,
586
- newYear,
587
- newDate,
588
- currentDate;
589
-
590
- if (event.end) {
591
- currentDate = new Date(this._weeks[this._weeks.length - 1][event.offset].timestamp * 1000);
592
- newMonth = currentMonth < 11 ? currentMonth + 1 : 0;
593
- newYear = currentMonth < 11 ? currentYear : currentYear + 1;
594
- newDate = currentDate.getMonth() === newMonth ? currentDate.getDate() : currentDate.getDate() + 7;
595
- } else if (event.start) {
596
- currentDate = new Date(this._weeks[0][event.offset].timestamp * 1000);
597
- newMonth = currentMonth > 0 ? currentMonth - 1 : 11;
598
- newYear = currentMonth > 0 ? currentYear : currentYear - 1;
599
- newDate = currentDate.getMonth() === newMonth ? currentDate.getDate() : currentDate.getDate() - 7;
665
+ /**
666
+ * During range selection, when the user is navigating with the keyboard, the currently focused day is considered the "second day"
667
+ * @private
668
+ */
669
+ _updateSecondTimestamp() {
670
+ if (this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {
671
+ this._secondTimestamp = this.timestamp;
600
672
  }
673
+ }
601
674
 
602
- const oNewDate = this._calendarDate;
603
- oNewDate.setDate(newDate);
604
- oNewDate.setYear(newYear);
605
- oNewDate.setMonth(newMonth);
606
-
607
- if (oNewDate.getYear() < DEFAULT_MIN_YEAR || oNewDate.getYear() > DEFAULT_MAX_YEAR) {
608
- return;
675
+ get shouldHideWeekNumbers() {
676
+ if (this._primaryCalendarType !== CalendarType.Gregorian) {
677
+ return true;
609
678
  }
610
679
 
611
- if (this._isOutOfSelectableRange(oNewDate._oUDate.oDate)) {
612
- return;
613
- }
680
+ return this.hideWeekNumbers;
681
+ }
614
682
 
615
- this.fireEvent("navigate", { timestamp: (oNewDate.valueOf() / 1000) });
683
+ get hasSecondaryCalendarType() {
684
+ return !!this.secondaryCalendarType;
616
685
  }
617
686
 
618
687
  _isWeekend(oDate) {
688
+ const localeData = getCachedLocaleDataInstance(getLocale());
689
+
619
690
  const iWeekDay = oDate.getDay(),
620
- iWeekendStart = this._oLocaleData.getWeekendStart(),
621
- iWeekendEnd = this._oLocaleData.getWeekendEnd();
691
+ iWeekendStart = localeData.getWeekendStart(),
692
+ iWeekendEnd = localeData.getWeekendEnd();
622
693
 
623
694
  return (iWeekDay >= iWeekendStart && iWeekDay <= iWeekendEnd)
624
695
  || (iWeekendEnd < iWeekendStart && (iWeekDay >= iWeekendStart || iWeekDay <= iWeekendEnd));
@@ -626,107 +697,44 @@ class DayPicker extends UI5Element {
626
697
 
627
698
  _isDayPressed(target) {
628
699
  const targetParent = target.parentNode;
629
- return (target.className.indexOf("ui5-dp-item") > -1) || (targetParent && target.parentNode.classList.contains("ui5-dp-item"));
700
+ return (target.className.indexOf("ui5-dp-item") > -1) || (targetParent && targetParent.classList && targetParent.classList.contains("ui5-dp-item"));
630
701
  }
631
702
 
632
- _isOutOfSelectableRange(date) {
633
- const currentDate = date._oUDate ? date.toLocalJSDate() : CalendarDate.fromTimestamp(date).toLocalJSDate();
634
-
635
- return currentDate > this._maxDateObject || currentDate < this._minDateObject;
703
+ _getSecondaryDay(tempDate) {
704
+ return new CalendarDate(tempDate, this.secondaryCalendarType);
636
705
  }
637
706
 
638
- get _maxDate() {
639
- if (this.maxDate) {
640
- const jsDate = new Date(this.getFormat().parse(this.maxDate).getFullYear(), this.getFormat().parse(this.maxDate).getMonth(), this.getFormat().parse(this.maxDate).getDate());
641
- const oCalDate = CalendarDate.fromTimestamp(jsDate.getTime(), this._primaryCalendarType);
642
- return oCalDate.valueOf();
643
- }
644
- return this.maxDate;
645
- }
707
+ _getFirstDay() {
708
+ let daysFromPreviousMonth;
646
709
 
647
- get _minDate() {
648
- if (this.minDate) {
649
- const jsDate = new Date(this.getFormat().parse(this.minDate).getFullYear(), this.getFormat().parse(this.minDate).getMonth(), this.getFormat().parse(this.minDate).getDate());
650
- const oCalDate = CalendarDate.fromTimestamp(jsDate.getTime(), this._primaryCalendarType);
651
- return oCalDate.valueOf();
652
- }
653
- return this.minDate;
654
- }
655
-
656
- getFormat() {
657
- if (this._isPattern) {
658
- this._oDateFormat = DateFormat.getInstance({
659
- pattern: this._formatPattern,
660
- calendarType: this._primaryCalendarType,
661
- });
662
- } else {
663
- this._oDateFormat = DateFormat.getInstance({
664
- style: this._formatPattern,
665
- calendarType: this._primaryCalendarType,
666
- });
667
- }
668
- return this._oDateFormat;
669
- }
670
-
671
- get _isPattern() {
672
- return this._formatPattern !== "medium" && this._formatPattern !== "short" && this._formatPattern !== "long";
673
- }
674
-
675
- _getVisibleDays(oStartDate, bIncludeBCDates) {
676
- let oCalDate,
677
- iDaysOldMonth,
678
- iYear;
679
-
680
- const _aVisibleDays = [];
681
-
682
- // If date passed generate days for new start date else return the current one
683
- if (!oStartDate) {
684
- return _aVisibleDays;
685
- }
686
-
687
- const iFirstDayOfWeek = this._getFirstDayOfWeek();
710
+ const firstDayOfWeek = this._getFirstDayOfWeek();
688
711
 
689
712
  // determine weekday of first day in month
690
- const oFirstDay = new CalendarDate(oStartDate, this._primaryCalendarType);
691
- oFirstDay.setDate(1);
692
- iDaysOldMonth = oFirstDay.getDay() - iFirstDayOfWeek;
693
- if (iDaysOldMonth < 0) {
694
- iDaysOldMonth = 7 + iDaysOldMonth;
713
+ const firstDay = new CalendarDate(this._calendarDate, this._primaryCalendarType);
714
+ firstDay.setDate(1);
715
+ daysFromPreviousMonth = firstDay.getDay() - firstDayOfWeek;
716
+ if (daysFromPreviousMonth < 0) {
717
+ daysFromPreviousMonth = 7 + daysFromPreviousMonth;
695
718
  }
696
719
 
697
- if (iDaysOldMonth > 0) {
698
- // determine first day for display
699
- oFirstDay.setDate(1 - iDaysOldMonth);
700
- }
701
-
702
- const oDay = new CalendarDate(oFirstDay);
703
- for (let i = 0; i < 42; i++) {
704
- iYear = oDay.getYear();
705
- oCalDate = new CalendarDate(oDay, this._primaryCalendarType);
706
- if (bIncludeBCDates && iYear < DEFAULT_MIN_YEAR) {
707
- // For dates before 0001-01-01 we should render only empty squares to keep
708
- // the month square matrix correct.
709
- oCalDate._bBeforeFirstYear = true;
710
- _aVisibleDays.push(oCalDate);
711
- } else if (iYear >= DEFAULT_MIN_YEAR && iYear <= DEFAULT_MAX_YEAR) {
712
- // Days before 0001-01-01 or after 9999-12-31 should not be rendered.
713
- _aVisibleDays.push(oCalDate);
714
- }
715
- oDay.setDate(oDay.getDate() + 1);
720
+ if (daysFromPreviousMonth > 0) {
721
+ firstDay.setDate(1 - daysFromPreviousMonth);
716
722
  }
717
723
 
718
- return _aVisibleDays;
724
+ return firstDay;
719
725
  }
720
726
 
721
727
  _getFirstDayOfWeek() {
728
+ const localeData = getCachedLocaleDataInstance(getLocale());
722
729
  const confFirstDayOfWeek = getFirstDayOfWeek();
723
- return Number.isInteger(confFirstDayOfWeek) ? confFirstDayOfWeek : this._oLocaleData.getFirstDayOfWeek();
730
+ return Number.isInteger(confFirstDayOfWeek) ? confFirstDayOfWeek : localeData.getFirstDayOfWeek();
724
731
  }
725
732
 
726
733
  get styles() {
727
734
  return {
728
735
  wrapper: {
729
736
  display: this._hidden ? "none" : "flex",
737
+ "justify-content": "center",
730
738
  },
731
739
  main: {
732
740
  width: "100%",
@@ -734,10 +742,10 @@ class DayPicker extends UI5Element {
734
742
  };
735
743
  }
736
744
 
737
- static async onDefine() {
738
- await Promise.all([
739
- fetchCldr(getLocale().getLanguage(), getLocale().getRegion(), getLocale().getScript()),
740
- ]);
745
+ get ariaRoledescription() {
746
+ return this.hasSecondaryCalendarType
747
+ ? `${this._primaryCalendarType} calendar with secondary ${this.secondaryCalendarType} calendar`
748
+ : `${this._primaryCalendarType} calendar`;
741
749
  }
742
750
  }
743
751