@ui5/webcomponents 0.0.0-aeb93167c → 0.0.0-b053ad005

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (742) hide show
  1. package/CHANGELOG.md +343 -0
  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 +189 -49
  8. package/dist/AvatarGroup.js +603 -0
  9. package/dist/Badge.js +45 -19
  10. package/dist/Breadcrumbs.js +563 -0
  11. package/dist/BreadcrumbsItem.js +109 -0
  12. package/dist/BusyIndicator.js +121 -34
  13. package/dist/Button.js +110 -66
  14. package/dist/Calendar.js +324 -648
  15. package/dist/CalendarDate.js +45 -0
  16. package/dist/CalendarHeader.js +110 -59
  17. package/dist/CalendarPart.js +111 -0
  18. package/dist/Card.js +38 -198
  19. package/dist/CardHeader.js +288 -0
  20. package/dist/Carousel.js +253 -94
  21. package/dist/CheckBox.js +138 -70
  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 +348 -144
  27. package/dist/ComboBoxFilters.js +8 -1
  28. package/dist/ComboBoxGroupItem.js +70 -0
  29. package/dist/ComboBoxItem.js +11 -24
  30. package/dist/CustomListItem.js +36 -2
  31. package/dist/DateComponentBase.js +170 -0
  32. package/dist/DatePicker.js +264 -519
  33. package/dist/DateRangePicker.js +162 -426
  34. package/dist/DateTimePicker.js +94 -413
  35. package/dist/DayPicker.js +443 -648
  36. package/dist/Dialog.js +220 -58
  37. package/dist/DurationPicker.js +109 -511
  38. package/dist/FileUploader.js +70 -31
  39. package/dist/GroupHeaderListItem.js +22 -13
  40. package/dist/Icon.js +103 -41
  41. package/dist/Input.js +346 -155
  42. package/dist/Interfaces.js +192 -0
  43. package/dist/Label.js +27 -12
  44. package/dist/Link.js +105 -43
  45. package/dist/List.js +377 -104
  46. package/dist/ListItem.js +60 -13
  47. package/dist/ListItemBase.js +29 -2
  48. package/dist/MessageStrip.js +47 -46
  49. package/dist/MonthPicker.js +171 -225
  50. package/dist/MultiComboBox.js +356 -135
  51. package/dist/MultiComboBoxItem.js +7 -2
  52. package/dist/MultiInput.js +55 -24
  53. package/dist/Option.js +48 -5
  54. package/dist/Panel.js +63 -73
  55. package/dist/Popover.js +195 -80
  56. package/dist/Popup.js +151 -61
  57. package/dist/ProgressIndicator.js +28 -20
  58. package/dist/RadioButton.js +126 -43
  59. package/dist/RadioButtonGroup.js +53 -29
  60. package/dist/RangeSlider.js +769 -0
  61. package/dist/RatingIndicator.js +27 -37
  62. package/dist/ResponsivePopover.js +56 -42
  63. package/dist/SegmentedButton.js +102 -68
  64. package/dist/SegmentedButtonItem.js +109 -0
  65. package/dist/Select.js +275 -116
  66. package/dist/Slider.js +320 -0
  67. package/dist/SliderBase.js +842 -0
  68. package/dist/StandardListItem.js +35 -9
  69. package/dist/StepInput.js +681 -0
  70. package/dist/SuggestionGroupItem.js +64 -0
  71. package/dist/SuggestionItem.js +13 -26
  72. package/dist/SuggestionListItem.js +17 -6
  73. package/dist/Switch.js +52 -32
  74. package/dist/Tab.js +47 -26
  75. package/dist/TabContainer.js +94 -34
  76. package/dist/TabSeparator.js +1 -0
  77. package/dist/Table.js +474 -22
  78. package/dist/TableCell.js +11 -9
  79. package/dist/TableColumn.js +13 -3
  80. package/dist/TableGroupRow.js +160 -0
  81. package/dist/TableRow.js +210 -11
  82. package/dist/TextArea.js +86 -46
  83. package/dist/TimePicker.js +27 -743
  84. package/dist/TimePickerBase.js +463 -0
  85. package/dist/TimeSelection.js +493 -0
  86. package/dist/Title.js +16 -9
  87. package/dist/Toast.js +19 -8
  88. package/dist/ToggleButton.js +21 -8
  89. package/dist/Token.js +32 -16
  90. package/dist/Tokenizer.js +75 -42
  91. package/dist/Tree.js +97 -41
  92. package/dist/TreeItem.js +44 -9
  93. package/dist/TreeListItem.js +86 -2
  94. package/dist/WheelSlider.js +58 -58
  95. package/dist/YearPicker.js +188 -284
  96. package/dist/api.json +6877 -1
  97. package/dist/features/ColorPaletteMoreColors.js +42 -0
  98. package/dist/features/InputElementsFormSupport.js +0 -1
  99. package/dist/features/InputSuggestions.js +131 -30
  100. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  104. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
  105. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  106. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  107. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  108. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  109. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
  110. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  111. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  112. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  113. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  114. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
  115. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  116. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  117. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  118. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
  119. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  120. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  121. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  122. package/dist/generated/assets/i18n/messagebundle_in.json +1 -0
  123. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  124. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  125. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  126. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  127. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  128. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  129. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  130. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  131. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  132. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  133. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  134. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  135. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  136. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  137. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  138. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  139. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  140. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  141. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  142. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  143. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  144. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  145. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  146. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  147. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  148. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  149. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  150. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  151. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  152. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  153. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  154. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  155. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
  156. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
  157. package/dist/generated/i18n/i18n-defaults.js +2 -2
  158. package/dist/generated/json-imports/Themes-static.js +35 -0
  159. package/dist/generated/json-imports/Themes.js +23 -19
  160. package/dist/generated/json-imports/i18n-static.js +162 -0
  161. package/dist/generated/json-imports/i18n.js +113 -89
  162. package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
  163. package/dist/generated/templates/AvatarTemplate.lit.js +9 -16
  164. package/dist/generated/templates/BadgeTemplate.lit.js +5 -13
  165. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
  166. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
  167. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -13
  168. package/dist/generated/templates/ButtonTemplate.lit.js +6 -13
  169. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -11
  170. package/dist/generated/templates/CalendarTemplate.lit.js +4 -11
  171. package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
  172. package/dist/generated/templates/CardTemplate.lit.js +5 -17
  173. package/dist/generated/templates/CarouselTemplate.lit.js +13 -19
  174. package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -14
  175. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +7 -0
  176. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +7 -0
  177. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
  178. package/dist/generated/templates/ColorPaletteTemplate.lit.js +12 -0
  179. package/dist/generated/templates/ColorPickerTemplate.lit.js +7 -0
  180. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -25
  181. package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -14
  182. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -20
  183. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -13
  184. package/dist/generated/templates/DatePickerTemplate.lit.js +6 -13
  185. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -19
  186. package/dist/generated/templates/DayPickerTemplate.lit.js +13 -19
  187. package/dist/generated/templates/DialogTemplate.lit.js +9 -15
  188. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +7 -14
  189. package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -14
  190. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -11
  191. package/dist/generated/templates/IconTemplate.lit.js +6 -13
  192. package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -31
  193. package/dist/generated/templates/InputTemplate.lit.js +9 -15
  194. package/dist/generated/templates/LabelTemplate.lit.js +4 -11
  195. package/dist/generated/templates/LinkTemplate.lit.js +5 -12
  196. package/dist/generated/templates/ListItemTemplate.lit.js +13 -20
  197. package/dist/generated/templates/ListTemplate.lit.js +12 -16
  198. package/dist/generated/templates/MessageStripTemplate.lit.js +8 -15
  199. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -13
  200. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -27
  201. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -16
  202. package/dist/generated/templates/MultiInputTemplate.lit.js +13 -19
  203. package/dist/generated/templates/PanelTemplate.lit.js +9 -14
  204. package/dist/generated/templates/PopoverTemplate.lit.js +9 -16
  205. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +4 -11
  206. package/dist/generated/templates/PopupTemplate.lit.js +4 -11
  207. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +14 -17
  208. package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -14
  209. package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -0
  210. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +11 -16
  211. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -21
  212. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
  213. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -11
  214. package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -27
  215. package/dist/generated/templates/SelectTemplate.lit.js +6 -12
  216. package/dist/generated/templates/SliderBaseTemplate.lit.js +11 -0
  217. package/dist/generated/templates/SliderTemplate.lit.js +12 -0
  218. package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -28
  219. package/dist/generated/templates/StepInputTemplate.lit.js +8 -0
  220. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +24 -31
  221. package/dist/generated/templates/SwitchTemplate.lit.js +8 -13
  222. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +6 -13
  223. package/dist/generated/templates/TabContainerTemplate.lit.js +16 -23
  224. package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -13
  225. package/dist/generated/templates/TabInStripTemplate.lit.js +8 -17
  226. package/dist/generated/templates/TabSeparatorTemplate.lit.js +4 -11
  227. package/dist/generated/templates/TabTemplate.lit.js +4 -11
  228. package/dist/generated/templates/TableCellTemplate.lit.js +4 -11
  229. package/dist/generated/templates/TableColumnTemplate.lit.js +4 -11
  230. package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
  231. package/dist/generated/templates/TableRowTemplate.lit.js +12 -18
  232. package/dist/generated/templates/TableTemplate.lit.js +13 -15
  233. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -15
  234. package/dist/generated/templates/TextAreaTemplate.lit.js +8 -15
  235. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -15
  236. package/dist/generated/templates/TimePickerTemplate.lit.js +6 -13
  237. package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
  238. package/dist/generated/templates/TitleTemplate.lit.js +10 -17
  239. package/dist/generated/templates/ToastTemplate.lit.js +5 -11
  240. package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -13
  241. package/dist/generated/templates/TokenTemplate.lit.js +7 -14
  242. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +9 -16
  243. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -13
  244. package/dist/generated/templates/TreeListItemTemplate.lit.js +18 -24
  245. package/dist/generated/templates/TreeTemplate.lit.js +5 -12
  246. package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -14
  247. package/dist/generated/templates/YearPickerTemplate.lit.js +6 -13
  248. package/dist/generated/themes/Avatar.css.js +5 -5
  249. package/dist/generated/themes/AvatarGroup.css.js +8 -0
  250. package/dist/generated/themes/Badge.css.js +5 -5
  251. package/dist/generated/themes/Breadcrumbs.css.js +8 -0
  252. package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
  253. package/dist/generated/themes/BrowserScrollbar.css.js +8 -0
  254. package/dist/generated/themes/BusyIndicator.css.js +5 -5
  255. package/dist/generated/themes/Button.css.js +5 -5
  256. package/dist/generated/themes/Button.ie11.css.js +8 -0
  257. package/dist/generated/themes/Calendar.css.js +5 -5
  258. package/dist/generated/themes/CalendarHeader.css.js +5 -5
  259. package/dist/generated/themes/Card.css.js +5 -5
  260. package/dist/generated/themes/CardHeader.css.js +8 -0
  261. package/dist/generated/themes/Carousel.css.js +5 -5
  262. package/dist/generated/themes/CheckBox.css.js +5 -5
  263. package/dist/generated/themes/ColorPalette.css.js +8 -0
  264. package/dist/generated/themes/ColorPaletteItem.css.js +8 -0
  265. package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
  266. package/dist/generated/themes/ColorPaletteStaticArea.css.js +8 -0
  267. package/dist/generated/themes/ColorPicker.css.js +8 -0
  268. package/dist/generated/themes/ComboBox.css.js +5 -5
  269. package/dist/generated/themes/ComboBoxPopover.css.js +5 -5
  270. package/dist/generated/themes/CustomListItem.css.js +5 -5
  271. package/dist/generated/themes/DatePicker.css.js +5 -5
  272. package/dist/generated/themes/DatePickerPopover.css.js +5 -5
  273. package/dist/generated/themes/DateRangePicker.css.js +5 -5
  274. package/dist/generated/themes/DateTimePicker.css.js +5 -5
  275. package/dist/generated/themes/DateTimePickerPopover.css.js +5 -5
  276. package/dist/generated/themes/DayPicker.css.js +5 -5
  277. package/dist/generated/themes/Dialog.css.js +5 -5
  278. package/dist/generated/themes/FileUploader.css.js +5 -5
  279. package/dist/generated/themes/GroupHeaderListItem.css.js +5 -5
  280. package/dist/generated/themes/GrowingButton.css.js +8 -0
  281. package/dist/generated/themes/Icon.css.js +5 -5
  282. package/dist/generated/themes/Input.css.js +5 -5
  283. package/dist/generated/themes/InputIcon.css.js +5 -5
  284. package/dist/generated/themes/InvisibleTextStyles.css.js +5 -5
  285. package/dist/generated/themes/Label.css.js +5 -5
  286. package/dist/generated/themes/Link.css.js +5 -5
  287. package/dist/generated/themes/List.css.js +5 -5
  288. package/dist/generated/themes/ListItem.css.js +5 -5
  289. package/dist/generated/themes/ListItemBase.css.js +5 -5
  290. package/dist/generated/themes/MessageStrip.css.js +5 -5
  291. package/dist/generated/themes/MonthPicker.css.js +5 -5
  292. package/dist/generated/themes/MultiComboBox.css.js +5 -5
  293. package/dist/generated/themes/MultiInput.css.js +5 -5
  294. package/dist/generated/themes/Panel.css.js +5 -5
  295. package/dist/generated/themes/Popover.css.js +5 -5
  296. package/dist/generated/themes/Popup.css.js +5 -5
  297. package/dist/generated/themes/PopupGlobal.css.js +8 -0
  298. package/dist/generated/themes/PopupStaticAreaStyles.css.js +5 -5
  299. package/dist/generated/themes/PopupsCommon.css.js +5 -5
  300. package/dist/generated/themes/ProgressIndicator.css.js +5 -5
  301. package/dist/generated/themes/RadioButton.css.js +5 -5
  302. package/dist/generated/themes/RatingIndicator.css.js +5 -5
  303. package/dist/generated/themes/ResponsivePopover.css.js +5 -5
  304. package/dist/generated/themes/ResponsivePopoverCommon.css.js +5 -5
  305. package/dist/generated/themes/SegmentedButton.css.js +5 -5
  306. package/dist/generated/themes/Select.css.js +5 -5
  307. package/dist/generated/themes/SelectPopover.css.js +5 -5
  308. package/dist/generated/themes/SliderBase.css.js +8 -0
  309. package/dist/generated/themes/StepInput.css.js +8 -0
  310. package/dist/generated/themes/Suggestions.css.js +8 -0
  311. package/dist/generated/themes/Switch.css.js +5 -5
  312. package/dist/generated/themes/Tab.css.js +5 -5
  313. package/dist/generated/themes/TabContainer.css.js +5 -5
  314. package/dist/generated/themes/TabInOverflow.css.js +5 -5
  315. package/dist/generated/themes/TabInStrip.css.js +5 -5
  316. package/dist/generated/themes/Table.css.js +5 -5
  317. package/dist/generated/themes/TableCell.css.js +5 -5
  318. package/dist/generated/themes/TableColumn.css.js +5 -5
  319. package/dist/generated/themes/TableGroupRow.css.js +8 -0
  320. package/dist/generated/themes/TableRow.css.js +5 -5
  321. package/dist/generated/themes/TapHighlightColor.css.js +8 -0
  322. package/dist/generated/themes/TextArea.css.js +5 -5
  323. package/dist/generated/themes/TimePicker.css.js +5 -5
  324. package/dist/generated/themes/TimePickerPopover.css.js +5 -5
  325. package/dist/generated/themes/TimeSelection.css.js +8 -0
  326. package/dist/generated/themes/Title.css.js +5 -5
  327. package/dist/generated/themes/Toast.css.js +5 -5
  328. package/dist/generated/themes/ToggleButton.css.js +5 -5
  329. package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
  330. package/dist/generated/themes/Token.css.js +5 -5
  331. package/dist/generated/themes/Tokenizer.css.js +5 -5
  332. package/dist/generated/themes/Tree.css.js +5 -5
  333. package/dist/generated/themes/TreeListItem.css.js +5 -5
  334. package/dist/generated/themes/ValueStateMessage.css.js +5 -5
  335. package/dist/generated/themes/WheelSlider.css.js +5 -5
  336. package/dist/generated/themes/YearPicker.css.js +5 -5
  337. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  338. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  339. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  340. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  341. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  342. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  343. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  344. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
  345. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
  346. package/dist/i18n/messagebundle.properties +335 -0
  347. package/dist/i18n/messagebundle_ar.properties +224 -0
  348. package/dist/i18n/messagebundle_bg.properties +224 -0
  349. package/dist/i18n/messagebundle_ca.properties +224 -0
  350. package/dist/i18n/messagebundle_cs.properties +224 -0
  351. package/dist/i18n/messagebundle_cy.properties +224 -0
  352. package/dist/i18n/messagebundle_da.properties +224 -0
  353. package/dist/i18n/messagebundle_de.properties +224 -0
  354. package/dist/i18n/messagebundle_el.properties +224 -0
  355. package/dist/i18n/messagebundle_en.properties +224 -0
  356. package/dist/i18n/messagebundle_en_GB.properties +224 -0
  357. package/dist/i18n/messagebundle_en_US_sappsd.properties +224 -0
  358. package/dist/i18n/messagebundle_en_US_saprigi.properties +224 -0
  359. package/dist/i18n/messagebundle_en_US_saptrc.properties +224 -0
  360. package/dist/i18n/messagebundle_es.properties +224 -0
  361. package/dist/i18n/messagebundle_es_MX.properties +224 -0
  362. package/dist/i18n/messagebundle_et.properties +224 -0
  363. package/dist/i18n/messagebundle_fi.properties +224 -0
  364. package/dist/i18n/messagebundle_fr.properties +224 -0
  365. package/dist/i18n/messagebundle_fr_CA.properties +224 -0
  366. package/dist/i18n/messagebundle_hi.properties +224 -0
  367. package/dist/i18n/messagebundle_hr.properties +224 -0
  368. package/dist/i18n/messagebundle_hu.properties +224 -0
  369. package/dist/i18n/messagebundle_id.properties +224 -0
  370. package/dist/i18n/messagebundle_in.properties +172 -0
  371. package/dist/i18n/messagebundle_it.properties +224 -0
  372. package/dist/i18n/messagebundle_iw.properties +224 -0
  373. package/dist/i18n/messagebundle_ja.properties +224 -0
  374. package/dist/i18n/messagebundle_kk.properties +224 -0
  375. package/dist/i18n/messagebundle_ko.properties +224 -0
  376. package/dist/i18n/messagebundle_lt.properties +224 -0
  377. package/dist/i18n/messagebundle_lv.properties +224 -0
  378. package/dist/i18n/messagebundle_ms.properties +224 -0
  379. package/dist/i18n/messagebundle_nl.properties +224 -0
  380. package/dist/i18n/messagebundle_no.properties +224 -0
  381. package/dist/i18n/messagebundle_pl.properties +224 -0
  382. package/dist/i18n/messagebundle_pt.properties +224 -0
  383. package/dist/i18n/messagebundle_pt_PT.properties +224 -0
  384. package/dist/i18n/messagebundle_ro.properties +224 -0
  385. package/dist/i18n/messagebundle_ru.properties +224 -0
  386. package/dist/i18n/messagebundle_sh.properties +224 -0
  387. package/dist/i18n/messagebundle_sk.properties +224 -0
  388. package/dist/i18n/messagebundle_sl.properties +224 -0
  389. package/dist/i18n/messagebundle_sv.properties +224 -0
  390. package/dist/i18n/messagebundle_th.properties +224 -0
  391. package/dist/i18n/messagebundle_tr.properties +224 -0
  392. package/dist/i18n/messagebundle_uk.properties +224 -0
  393. package/dist/i18n/messagebundle_vi.properties +224 -0
  394. package/dist/i18n/messagebundle_zh_CN.properties +224 -0
  395. package/dist/i18n/messagebundle_zh_TW.properties +224 -0
  396. package/dist/popup-utils/OpenedPopupsRegistry.js +1 -1
  397. package/dist/popup-utils/PopoverRegistry.js +2 -4
  398. package/dist/timepicker-utils/TimeSlider.js +15 -13
  399. package/{src/types/AvatarBackgroundColor.js → dist/types/AvatarColorScheme.js} +9 -9
  400. package/dist/types/AvatarGroupType.js +43 -0
  401. package/dist/types/AvatarShape.js +1 -1
  402. package/dist/types/AvatarSize.js +1 -1
  403. package/dist/types/BreadcrumbsDesign.js +42 -0
  404. package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
  405. package/dist/types/BusyIndicatorSize.js +1 -1
  406. package/dist/types/ButtonDesign.js +8 -1
  407. package/dist/types/CalendarSelectionMode.js +47 -0
  408. package/dist/types/CarouselArrowsPlacement.js +3 -3
  409. package/dist/types/GrowingMode.js +48 -0
  410. package/dist/types/InputType.js +7 -7
  411. package/dist/types/LinkDesign.js +1 -1
  412. package/dist/types/ListGrowingMode.js +15 -0
  413. package/dist/types/ListItemType.js +1 -1
  414. package/dist/types/ListMode.js +1 -1
  415. package/dist/types/ListSeparators.js +1 -1
  416. package/dist/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  417. package/dist/types/PanelAccessibleRole.js +1 -1
  418. package/dist/types/PopoverHorizontalAlign.js +1 -1
  419. package/dist/types/PopoverPlacementType.js +2 -2
  420. package/dist/types/PopoverVerticalAlign.js +1 -2
  421. package/dist/types/Priority.js +1 -1
  422. package/dist/types/SemanticColor.js +1 -1
  423. package/dist/types/SwitchDesign.js +40 -0
  424. package/dist/types/TabContainerTabsPlacement.js +5 -5
  425. package/dist/types/TabLayout.js +1 -1
  426. package/dist/types/TableGrowingMode.js +15 -0
  427. package/dist/types/TableMode.js +47 -0
  428. package/dist/types/TableRowType.js +40 -0
  429. package/dist/types/TitleLevel.js +1 -1
  430. package/dist/types/ToastPlacement.js +1 -2
  431. package/dist/types/WrappingType.js +41 -0
  432. package/dist/webcomponentsjs/CHANGELOG.md +61 -0
  433. package/dist/webcomponentsjs/README.md +64 -47
  434. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +38 -38
  435. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
  436. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
  437. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
  438. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
  439. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
  440. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +292 -229
  441. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
  442. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +190 -170
  443. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
  444. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +151 -132
  445. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
  446. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +2 -2
  447. package/dist/webcomponentsjs/webcomponents-bundle.js +302 -230
  448. package/dist/webcomponentsjs/webcomponents-bundle.js.map +1 -1
  449. package/dist/webcomponentsjs/webcomponents-loader.js +49 -28
  450. package/package-scripts.js +1 -0
  451. package/package.json +18 -7
  452. package/src/Assets-static.js +6 -0
  453. package/src/Assets.js +2 -1
  454. package/src/Avatar.hbs +14 -3
  455. package/src/Avatar.js +189 -49
  456. package/src/AvatarGroup.hbs +30 -0
  457. package/src/AvatarGroup.js +603 -0
  458. package/src/Badge.hbs +7 -4
  459. package/src/Badge.js +45 -19
  460. package/src/Breadcrumbs.hbs +42 -0
  461. package/src/Breadcrumbs.js +563 -0
  462. package/src/BreadcrumbsItem.js +109 -0
  463. package/src/BreadcrumbsPopover.hbs +28 -0
  464. package/src/BusyIndicator.hbs +28 -14
  465. package/src/BusyIndicator.js +121 -34
  466. package/src/Button.hbs +5 -3
  467. package/src/Button.js +110 -66
  468. package/src/Calendar.hbs +53 -48
  469. package/src/Calendar.js +324 -648
  470. package/src/CalendarDate.js +45 -0
  471. package/src/CalendarHeader.hbs +29 -36
  472. package/src/CalendarHeader.js +110 -59
  473. package/src/CalendarPart.js +111 -0
  474. package/src/Card.hbs +7 -39
  475. package/src/Card.js +38 -198
  476. package/src/CardHeader.hbs +35 -0
  477. package/src/CardHeader.js +288 -0
  478. package/src/Carousel.hbs +23 -16
  479. package/src/Carousel.js +253 -94
  480. package/src/CheckBox.hbs +10 -7
  481. package/src/CheckBox.js +138 -70
  482. package/src/ColorPalette.hbs +52 -0
  483. package/src/ColorPalette.js +493 -0
  484. package/src/ColorPaletteDialog.hbs +18 -0
  485. package/src/ColorPaletteItem.hbs +11 -0
  486. package/src/ColorPaletteItem.js +137 -0
  487. package/src/ColorPalettePopover.hbs +29 -0
  488. package/src/ColorPalettePopover.js +219 -0
  489. package/src/ColorPicker.hbs +98 -0
  490. package/src/ColorPicker.js +524 -0
  491. package/src/ComboBox.hbs +7 -2
  492. package/src/ComboBox.js +348 -144
  493. package/src/ComboBoxFilters.js +8 -1
  494. package/src/ComboBoxGroupItem.js +70 -0
  495. package/src/ComboBoxItem.js +11 -24
  496. package/src/ComboBoxPopover.hbs +26 -16
  497. package/src/CustomListItem.js +36 -2
  498. package/src/DateComponentBase.js +170 -0
  499. package/src/DatePicker.hbs +5 -4
  500. package/src/DatePicker.js +264 -519
  501. package/src/DatePickerPopover.hbs +22 -17
  502. package/src/DateRangePicker.js +162 -426
  503. package/src/DateTimePicker.js +94 -413
  504. package/src/DateTimePickerPopover.hbs +28 -52
  505. package/src/DayPicker.hbs +18 -12
  506. package/src/DayPicker.js +443 -648
  507. package/src/Dialog.hbs +14 -10
  508. package/src/Dialog.js +220 -58
  509. package/src/DurationPicker.js +109 -511
  510. package/src/FileUploader.hbs +3 -0
  511. package/src/FileUploader.js +70 -31
  512. package/src/FileUploaderPopover.hbs +2 -1
  513. package/src/GroupHeaderListItem.hbs +4 -4
  514. package/src/GroupHeaderListItem.js +22 -13
  515. package/src/Icon.hbs +4 -3
  516. package/src/Icon.js +103 -41
  517. package/src/Input.hbs +17 -6
  518. package/src/Input.js +346 -155
  519. package/src/InputPopover.hbs +11 -7
  520. package/src/Interfaces.js +192 -0
  521. package/src/Label.hbs +1 -1
  522. package/src/Label.js +27 -12
  523. package/src/Link.hbs +3 -2
  524. package/src/Link.js +105 -43
  525. package/src/List.hbs +76 -37
  526. package/src/List.js +377 -104
  527. package/src/ListItem.hbs +20 -7
  528. package/src/ListItem.js +60 -13
  529. package/src/ListItemBase.js +29 -2
  530. package/src/MessageStrip.hbs +10 -11
  531. package/src/MessageStrip.js +47 -46
  532. package/src/MonthPicker.hbs +6 -6
  533. package/src/MonthPicker.js +171 -225
  534. package/src/MultiComboBox.hbs +10 -6
  535. package/src/MultiComboBox.js +356 -135
  536. package/src/MultiComboBoxItem.js +7 -2
  537. package/src/MultiComboBoxPopover.hbs +42 -18
  538. package/src/MultiInput.hbs +2 -1
  539. package/src/MultiInput.js +55 -24
  540. package/src/Option.js +48 -5
  541. package/src/Panel.hbs +23 -16
  542. package/src/Panel.js +63 -73
  543. package/src/Popover.js +195 -80
  544. package/src/Popup.hbs +5 -0
  545. package/src/Popup.js +151 -61
  546. package/src/ProgressIndicator.hbs +7 -1
  547. package/src/ProgressIndicator.js +28 -20
  548. package/src/RadioButton.hbs +7 -4
  549. package/src/RadioButton.js +126 -43
  550. package/src/RadioButtonGroup.js +53 -29
  551. package/src/RangeSlider.hbs +70 -0
  552. package/src/RangeSlider.js +769 -0
  553. package/src/RatingIndicator.hbs +5 -3
  554. package/src/RatingIndicator.js +27 -37
  555. package/src/ResponsivePopover.hbs +13 -8
  556. package/src/ResponsivePopover.js +56 -42
  557. package/src/SegmentedButton.hbs +12 -5
  558. package/src/SegmentedButton.js +102 -68
  559. package/src/SegmentedButtonItem.hbs +42 -0
  560. package/src/SegmentedButtonItem.js +109 -0
  561. package/src/Select.hbs +26 -17
  562. package/src/Select.js +275 -116
  563. package/src/SelectPopover.hbs +27 -24
  564. package/src/Slider.hbs +42 -0
  565. package/src/Slider.js +320 -0
  566. package/src/SliderBase.hbs +38 -0
  567. package/src/SliderBase.js +842 -0
  568. package/src/StandardListItem.hbs +7 -5
  569. package/src/StandardListItem.js +35 -9
  570. package/src/StepInput.hbs +77 -0
  571. package/src/StepInput.js +681 -0
  572. package/src/SuggestionGroupItem.js +64 -0
  573. package/src/SuggestionItem.js +13 -26
  574. package/src/SuggestionListItem.hbs +4 -4
  575. package/src/SuggestionListItem.js +17 -6
  576. package/src/Switch.hbs +19 -3
  577. package/src/Switch.js +52 -32
  578. package/src/Tab.js +47 -26
  579. package/src/TabContainer.hbs +43 -26
  580. package/src/TabContainer.js +94 -34
  581. package/src/TabContainerPopover.hbs +2 -1
  582. package/src/TabInStrip.hbs +1 -6
  583. package/src/TabSeparator.hbs +1 -1
  584. package/src/TabSeparator.js +1 -0
  585. package/src/Table.hbs +95 -25
  586. package/src/Table.js +474 -22
  587. package/src/TableCell.hbs +1 -0
  588. package/src/TableCell.js +11 -9
  589. package/src/TableColumn.hbs +2 -0
  590. package/src/TableColumn.js +13 -3
  591. package/src/TableGroupRow.hbs +12 -0
  592. package/src/TableGroupRow.js +160 -0
  593. package/src/TableRow.hbs +29 -2
  594. package/src/TableRow.js +210 -11
  595. package/src/TextArea.hbs +1 -3
  596. package/src/TextArea.js +86 -46
  597. package/src/TextAreaPopover.hbs +2 -1
  598. package/src/TimePicker.hbs +6 -3
  599. package/src/TimePicker.js +27 -743
  600. package/src/TimePickerBase.js +463 -0
  601. package/src/TimePickerPopover.hbs +28 -52
  602. package/src/TimeSelection.hbs +60 -0
  603. package/src/TimeSelection.js +493 -0
  604. package/src/Title.js +16 -9
  605. package/src/Toast.hbs +13 -11
  606. package/src/Toast.js +19 -8
  607. package/src/ToggleButton.js +21 -8
  608. package/src/Token.hbs +2 -0
  609. package/src/Token.js +32 -16
  610. package/src/Tokenizer.hbs +1 -0
  611. package/src/Tokenizer.js +75 -42
  612. package/src/TokenizerPopover.hbs +1 -1
  613. package/src/Tree.hbs +10 -2
  614. package/src/Tree.js +97 -41
  615. package/src/TreeItem.js +44 -9
  616. package/src/TreeListItem.hbs +15 -4
  617. package/src/TreeListItem.js +86 -2
  618. package/src/WheelSlider.hbs +17 -10
  619. package/src/WheelSlider.js +58 -58
  620. package/src/YearPicker.hbs +9 -7
  621. package/src/YearPicker.js +188 -284
  622. package/src/features/ColorPaletteMoreColors.js +42 -0
  623. package/src/features/InputElementsFormSupport.js +0 -1
  624. package/src/features/InputSuggestions.js +131 -30
  625. package/src/i18n/messagebundle.properties +144 -189
  626. package/src/i18n/messagebundle_ar.properties +99 -115
  627. package/src/i18n/messagebundle_bg.properties +99 -115
  628. package/src/i18n/messagebundle_ca.properties +99 -115
  629. package/src/i18n/messagebundle_cs.properties +99 -115
  630. package/src/i18n/messagebundle_cy.properties +224 -0
  631. package/src/i18n/messagebundle_da.properties +99 -115
  632. package/src/i18n/messagebundle_de.properties +99 -115
  633. package/src/i18n/messagebundle_el.properties +99 -115
  634. package/src/i18n/messagebundle_en.properties +99 -115
  635. package/src/i18n/messagebundle_en_GB.properties +224 -0
  636. package/src/i18n/messagebundle_en_US_sappsd.properties +99 -115
  637. package/src/i18n/messagebundle_en_US_saprigi.properties +224 -0
  638. package/src/i18n/messagebundle_en_US_saptrc.properties +99 -115
  639. package/src/i18n/messagebundle_es.properties +99 -115
  640. package/src/i18n/messagebundle_es_MX.properties +224 -0
  641. package/src/i18n/messagebundle_et.properties +99 -115
  642. package/src/i18n/messagebundle_fi.properties +99 -115
  643. package/src/i18n/messagebundle_fr.properties +99 -115
  644. package/src/i18n/messagebundle_fr_CA.properties +224 -0
  645. package/src/i18n/messagebundle_hi.properties +99 -115
  646. package/src/i18n/messagebundle_hr.properties +99 -115
  647. package/src/i18n/messagebundle_hu.properties +99 -115
  648. package/src/i18n/messagebundle_id.properties +224 -0
  649. package/src/i18n/messagebundle_in.properties +172 -0
  650. package/src/i18n/messagebundle_it.properties +99 -115
  651. package/src/i18n/messagebundle_iw.properties +99 -115
  652. package/src/i18n/messagebundle_ja.properties +100 -116
  653. package/src/i18n/messagebundle_kk.properties +99 -115
  654. package/src/i18n/messagebundle_ko.properties +99 -115
  655. package/src/i18n/messagebundle_lt.properties +99 -115
  656. package/src/i18n/messagebundle_lv.properties +99 -115
  657. package/src/i18n/messagebundle_ms.properties +99 -115
  658. package/src/i18n/messagebundle_nl.properties +99 -115
  659. package/src/i18n/messagebundle_no.properties +99 -115
  660. package/src/i18n/messagebundle_pl.properties +99 -115
  661. package/src/i18n/messagebundle_pt.properties +99 -115
  662. package/src/i18n/messagebundle_pt_PT.properties +224 -0
  663. package/src/i18n/messagebundle_ro.properties +98 -114
  664. package/src/i18n/messagebundle_ru.properties +99 -115
  665. package/src/i18n/messagebundle_sh.properties +99 -115
  666. package/src/i18n/messagebundle_sk.properties +99 -115
  667. package/src/i18n/messagebundle_sl.properties +99 -115
  668. package/src/i18n/messagebundle_sv.properties +99 -115
  669. package/src/i18n/messagebundle_th.properties +99 -115
  670. package/src/i18n/messagebundle_tr.properties +99 -115
  671. package/src/i18n/messagebundle_uk.properties +101 -117
  672. package/src/i18n/messagebundle_vi.properties +99 -115
  673. package/src/i18n/messagebundle_zh_CN.properties +99 -115
  674. package/src/i18n/messagebundle_zh_TW.properties +99 -115
  675. package/src/popup-utils/OpenedPopupsRegistry.js +1 -1
  676. package/src/popup-utils/PopoverRegistry.js +2 -4
  677. package/src/timepicker-utils/TimeSlider.js +15 -13
  678. package/{dist/types/AvatarBackgroundColor.js → src/types/AvatarColorScheme.js} +9 -9
  679. package/src/types/AvatarGroupType.js +43 -0
  680. package/src/types/AvatarShape.js +1 -1
  681. package/src/types/AvatarSize.js +1 -1
  682. package/src/types/BreadcrumbsDesign.js +42 -0
  683. package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
  684. package/src/types/BusyIndicatorSize.js +1 -1
  685. package/src/types/ButtonDesign.js +8 -1
  686. package/src/types/CalendarSelectionMode.js +47 -0
  687. package/src/types/CarouselArrowsPlacement.js +3 -3
  688. package/src/types/GrowingMode.js +48 -0
  689. package/src/types/InputType.js +7 -7
  690. package/src/types/LinkDesign.js +1 -1
  691. package/src/types/ListGrowingMode.js +15 -0
  692. package/src/types/ListItemType.js +1 -1
  693. package/src/types/ListMode.js +1 -1
  694. package/src/types/ListSeparators.js +1 -1
  695. package/src/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  696. package/src/types/PanelAccessibleRole.js +1 -1
  697. package/src/types/PopoverHorizontalAlign.js +1 -1
  698. package/src/types/PopoverPlacementType.js +2 -2
  699. package/src/types/PopoverVerticalAlign.js +1 -2
  700. package/src/types/Priority.js +1 -1
  701. package/src/types/SemanticColor.js +1 -1
  702. package/src/types/SwitchDesign.js +40 -0
  703. package/src/types/TabContainerTabsPlacement.js +5 -5
  704. package/src/types/TabLayout.js +1 -1
  705. package/src/types/TableGrowingMode.js +15 -0
  706. package/src/types/TableMode.js +47 -0
  707. package/src/types/TableRowType.js +40 -0
  708. package/src/types/TitleLevel.js +1 -1
  709. package/src/types/ToastPlacement.js +1 -2
  710. package/src/types/WrappingType.js +41 -0
  711. package/dist/Timeline.js +0 -99
  712. package/dist/TimelineItem.js +0 -156
  713. package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -14
  714. package/dist/generated/templates/DateRangePickerTemplate.lit.js +0 -16
  715. package/dist/generated/templates/DurationPickerPopoverTemplate.lit.js +0 -17
  716. package/dist/generated/templates/DurationPickerTemplate.lit.js +0 -16
  717. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -19
  718. package/dist/generated/templates/TimelineTemplate.lit.js +0 -15
  719. package/dist/generated/themes/ComboBoxItem.css.js +0 -8
  720. package/dist/generated/themes/DurationPicker.css.js +0 -8
  721. package/dist/generated/themes/DurationPickerPopover.css.js +0 -8
  722. package/dist/generated/themes/Timeline.css.js +0 -8
  723. package/dist/generated/themes/TimelineItem.css.js +0 -8
  724. package/dist/popup-utils/PopupUtils.js +0 -84
  725. package/dist/types/AvatarFitType.js +0 -40
  726. package/dist/webcomponentsjs/package.json +0 -46
  727. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  728. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  729. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  730. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  731. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  732. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  733. package/src/ComboBoxItem.hbs +0 -0
  734. package/src/DateRangePicker.hbs +0 -1
  735. package/src/DurationPicker.hbs +0 -29
  736. package/src/DurationPickerPopover.hbs +0 -48
  737. package/src/Timeline.hbs +0 -9
  738. package/src/Timeline.js +0 -99
  739. package/src/TimelineItem.hbs +0 -39
  740. package/src/TimelineItem.js +0 -156
  741. package/src/popup-utils/PopupUtils.js +0 -84
  742. package/src/types/AvatarFitType.js +0 -40
@@ -0,0 +1,842 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
+ import Float from "@ui5/webcomponents-base/dist/types/Float.js";
4
+ import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
5
+ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
6
+ import "@ui5/webcomponents-icons/dist/source-code.js";
7
+ import {
8
+ isEscape, isHome, isEnd, isUp, isDown, isRight, isLeft, isUpCtrl, isDownCtrl, isRightCtrl, isLeftCtrl, isPlus, isMinus, isPageUp, isPageDown,
9
+ } from "@ui5/webcomponents-base/dist/Keys.js";
10
+ import { getTheme } from "@ui5/webcomponents-base/dist/config/Theme.js";
11
+
12
+ // Styles
13
+ import styles from "./generated/themes/SliderBase.css.js";
14
+
15
+ /**
16
+ * @public
17
+ */
18
+ const metadata = {
19
+ properties: /** @lends sap.ui.webcomponents.main.SliderBase.prototype */ {
20
+ /**
21
+ * Defines the minimum value of the slider.
22
+ *
23
+ * @type {Float}
24
+ * @defaultvalue 0
25
+ * @public
26
+ */
27
+ min: {
28
+ type: Float,
29
+ defaultValue: 0,
30
+ },
31
+ /**
32
+ * Defines the maximum value of the slider.
33
+ *
34
+ * @type {Float}
35
+ * @defaultvalue 100
36
+ * @public
37
+ */
38
+ max: {
39
+ type: Float,
40
+ defaultValue: 100,
41
+ },
42
+ /**
43
+ * Defines the size of the slider's selection intervals (e.g. min = 0, max = 10, step = 5 would result in possible selection of the values 0, 5, 10).
44
+ * <br><br>
45
+ * <b>Note:</b> If set to 0 the slider handle movement is disabled. When negative number or value other than a number, the component fallbacks to its default value.
46
+ *
47
+ * @type {Integer}
48
+ * @defaultvalue 1
49
+ * @public
50
+ */
51
+ step: {
52
+ type: Float,
53
+ defaultValue: 1,
54
+ },
55
+ /**
56
+ * Displays a label with a value on every N-th step.
57
+ * <br><br>
58
+ * <b>Note:</b> The step and tickmarks properties must be enabled.
59
+ * Example - if the step value is set to 2 and the label interval is also specified to 2 - then every second
60
+ * tickmark will be labelled, which means every 4th value number.
61
+ *
62
+ * @type {Integer}
63
+ * @defaultvalue 0
64
+ * @public
65
+ */
66
+ labelInterval: {
67
+ type: Integer,
68
+ defaultValue: 0,
69
+ },
70
+ /**
71
+ * Enables tickmarks visualization for each step.
72
+ * <br><br>
73
+ * <b>Note:</b> The step must be a positive number.
74
+ *
75
+ * @type {boolean}
76
+ * @defaultvalue false
77
+ * @public
78
+ */
79
+ showTickmarks: {
80
+ type: Boolean,
81
+ },
82
+ /**
83
+ * Enables handle tooltip displaying the current value.
84
+ *
85
+ * @type {boolean}
86
+ * @defaultvalue false
87
+ * @public
88
+ */
89
+ showTooltip: {
90
+ type: Boolean,
91
+ },
92
+ /**
93
+ * Defines whether the slider is in disabled state.
94
+ *
95
+ * @type {boolean}
96
+ * @defaultvalue false
97
+ * @public
98
+ */
99
+ disabled: {
100
+ type: Boolean,
101
+ },
102
+
103
+ /**
104
+ * @private
105
+ */
106
+ _tooltipVisibility: {
107
+ type: String,
108
+ defaultValue: "hidden",
109
+ },
110
+ _labelsOverlapping: {
111
+ type: Boolean,
112
+ },
113
+ _hiddenTickmarks: {
114
+ type: Boolean,
115
+ },
116
+ },
117
+ events: /** @lends sap.ui.webcomponents.main.SliderBase.prototype */ {
118
+ /**
119
+ * Fired when the value changes and the user has finished interacting with the slider.
120
+ *
121
+ * @event
122
+ * @public
123
+ */
124
+ change: {},
125
+ /**
126
+ * Fired when the value changes due to user interaction that is not yet finished - during mouse/touch dragging.
127
+ *
128
+ * @event
129
+ * @public
130
+ */
131
+ input: {},
132
+ },
133
+ };
134
+
135
+ /**
136
+ * @class
137
+ *
138
+ * <h3 class="comment-api-title">Overview</h3>
139
+ *
140
+ *
141
+ * @constructor
142
+ * @author SAP SE
143
+ * @alias sap.ui.webcomponents.main.SliderBase
144
+ * @extends sap.ui.webcomponents.base.UI5Element
145
+ * @tagname ui5-slider
146
+ * @public
147
+ */
148
+ class SliderBase extends UI5Element {
149
+ constructor() {
150
+ super();
151
+ this._resizeHandler = this._handleResize.bind(this);
152
+ this._moveHandler = this._handleMove.bind(this);
153
+ this._upHandler = this._handleUp.bind(this);
154
+
155
+ this._stateStorage = {
156
+ step: null,
157
+ min: null,
158
+ max: null,
159
+ labelInterval: null,
160
+ };
161
+ }
162
+
163
+ static get metadata() {
164
+ return metadata;
165
+ }
166
+
167
+ static get render() {
168
+ return litRender;
169
+ }
170
+
171
+ static get styles() {
172
+ return styles;
173
+ }
174
+
175
+ static get TICKMARK_COLOR_MAP() {
176
+ return {
177
+ sap_fiori_3: "#89919a",
178
+ sap_fiori_3_dark: "#89919a",
179
+ sap_fiori_3_hcw: "#000000",
180
+ sap_fiori_3_hcb: "#ffffff",
181
+ sap_belize: "#bfbfbf",
182
+ sap_belize_hcw: "#000000",
183
+ sap_belize_hcb: "#ffffff",
184
+ sap_horizon: "#89919a",
185
+ };
186
+ }
187
+
188
+ static get UP_EVENTS() {
189
+ return ["mouseup", "touchend"];
190
+ }
191
+
192
+ static get MOVE_EVENT_MAP() {
193
+ return {
194
+ mousedown: "mousemove",
195
+ touchstart: "touchmove",
196
+ };
197
+ }
198
+
199
+ static get ACTION_KEYS() {
200
+ return [
201
+ isLeft,
202
+ isRight,
203
+ isUp,
204
+ isDown,
205
+ isLeftCtrl,
206
+ isRightCtrl,
207
+ isUpCtrl,
208
+ isDownCtrl,
209
+ isPlus,
210
+ isMinus,
211
+ isHome,
212
+ isEnd,
213
+ isPageUp,
214
+ isPageDown,
215
+ isEscape,
216
+ ];
217
+ }
218
+
219
+ static get MIN_SPACE_BETWEEN_TICKMARKS() {
220
+ return 8;
221
+ }
222
+
223
+ static get TOOLTIP_VISIBILITY() {
224
+ return {
225
+ VISIBLE: "visible",
226
+ HIDDEN: "hidden",
227
+ };
228
+ }
229
+
230
+ get classes() {
231
+ return {
232
+ labelContainer: {
233
+ "ui5-slider-hidden-labels": this._labelsOverlapping,
234
+ },
235
+ };
236
+ }
237
+
238
+ onEnterDOM() {
239
+ ResizeHandler.register(this, this._resizeHandler);
240
+ }
241
+
242
+ onExitDOM() {
243
+ ResizeHandler.deregister(this, this._handleResize);
244
+ }
245
+
246
+ onAfterRendering() {
247
+ // Only call if the resize is triggered by a state changes other than
248
+ // the ones that occured on the previous resize and those caused by user interaction.
249
+ if (this.notResized) {
250
+ this._resizeHandler();
251
+ }
252
+ }
253
+
254
+ _ontouchstart(event) {
255
+ this._onmousedown(event);
256
+ }
257
+
258
+ /** Shows the tooltip(s) if the <code>showTooltip</code> property is set to true
259
+ *
260
+ * @private
261
+ */
262
+ _onmouseover(event) {
263
+ if (this.showTooltip) {
264
+ this._tooltipVisibility = SliderBase.TOOLTIP_VISIBILITY.VISIBLE;
265
+ }
266
+ }
267
+
268
+ /**
269
+ * Hides the tooltip(s) if the <code>showTooltip</code> property is set to true
270
+ *
271
+ * @private
272
+ */
273
+ _onmouseout(event) {
274
+ if (this.showTooltip && !this.shadowRoot.activeElement) {
275
+ this._tooltipVisibility = SliderBase.TOOLTIP_VISIBILITY.HIDDEN;
276
+ }
277
+ }
278
+
279
+ /**
280
+ * Sets initial value when the component is focused in, can be restored with ESC key
281
+ *
282
+ * @private
283
+ */
284
+ _setInitialValue(valueType, value) {
285
+ this[`_${valueType}Initial`] = value;
286
+ }
287
+
288
+ _getInitialValue(valueType) {
289
+ return this[`_${valueType}Initial`];
290
+ }
291
+
292
+ _onkeydown(event) {
293
+ if (this.disabled || this._effectiveStep === 0) {
294
+ return;
295
+ }
296
+
297
+ if (SliderBase._isActionKey(event)) {
298
+ event.preventDefault();
299
+
300
+ this._isUserInteraction = true;
301
+ this._handleActionKeyPress(event);
302
+ }
303
+ }
304
+
305
+ _onkeyup(event) {
306
+ if (this.disabled) {
307
+ return;
308
+ }
309
+
310
+ this._isUserInteraction = false;
311
+ }
312
+
313
+ /**
314
+ * Flags if an inner element is currently being focused
315
+ *
316
+ * @private
317
+ */
318
+ _preserveFocus(isFocusing) {
319
+ this._isInnerElementFocusing = isFocusing;
320
+ }
321
+
322
+ /**
323
+ * Return if an inside element within the component is currently being focused
324
+ *
325
+ * @private
326
+ */
327
+ _isFocusing() {
328
+ return this._isInnerElementFocusing;
329
+ }
330
+
331
+ /**
332
+ * Prevent focus out when inner element within the component is currently being in process of focusing in.
333
+ * In theory this can be achieved either if the shadow root is focusable and 'delegatesFocus' attribute of
334
+ * the .attachShadow() customElement method is set to true, or if we forward it manually.
335
+
336
+ * As we use lit-element as base of our core UI5 element class that 'delegatesFocus' property is not set to 'true' and
337
+ * we have to manage the focus here. If at some point in the future this changes, the focus delegating logic could be
338
+ * removed as it will become redundant.
339
+ *
340
+ * When we manually set the focus on mouseDown to the first focusable element inside the shadowDom,
341
+ * that inner focus (shadowRoot.activeElement) is set a moment before the global document.activeElement
342
+ * is set to the customElement (ui5-slider) causing a 'race condition'.
343
+ *
344
+ * In order for a element within the shadowRoot to be focused, the global document.activeElement MUST be the parent
345
+ * customElement of the shadow root, in our case the ui5-slider component. Because of that after our focusin of the handle,
346
+ * a focusout event fired by the browser immidiatly after, resetting the focus. Focus out must be manually prevented
347
+ * in both initial focusing and switching the focus between inner elements of the component cases.
348
+
349
+ * Note: If we set the focus to the handle with a timeout or a bit later in time, on a mouseup or click event it will
350
+ * work fine and we will avoid the described race condition as our host customElement will be already finished focusing.
351
+ * However, that does not work for us as we need the focus to be set to the handle exactly on mousedown,
352
+ * because of the nature of the component and its available drag interactions.
353
+ *
354
+ * @private
355
+ */
356
+ _preventFocusOut() {
357
+ this.focusInnerElement();
358
+ }
359
+
360
+ /**
361
+ * Manages the focus between the component's inner elements
362
+ * @protected
363
+ */
364
+ focusInnerElement() {
365
+ this.focus();
366
+ }
367
+
368
+ /**
369
+ * Handle the responsiveness of the Slider's UI elements when resizing
370
+ *
371
+ * @private
372
+ */
373
+ _handleResize() {
374
+ if (!this.showTickmarks) {
375
+ return;
376
+ }
377
+
378
+ // Mark resizing to avoid unneccessary calls to that function after rendering
379
+ this.notResized = false;
380
+
381
+ // Convert the string represented calculation expression to a normal one
382
+ // Check the distance in pixels exist between every tickmark
383
+ const spaceBetweenTickmarks = this._spaceBetweenTickmarks();
384
+
385
+ // If the pixels between the tickmarks are less than 8 only the first and the last one should be visible
386
+ // In such case the labels must correspond to the tickmarks, only the first and the last one should exist.
387
+ if (spaceBetweenTickmarks < SliderBase.MIN_SPACE_BETWEEN_TICKMARKS) {
388
+ this._hiddenTickmarks = true;
389
+ this._labelsOverlapping = true;
390
+ } else {
391
+ this._hiddenTickmarks = false;
392
+ }
393
+
394
+ if (this.labelInterval <= 0 || this._hiddenTickmarks) {
395
+ return;
396
+ }
397
+
398
+ // Check if there are any overlapping labels.
399
+ // If so - only the first and the last one should be visible
400
+ const labelItems = this.shadowRoot.querySelectorAll(".ui5-slider-labels li");
401
+ this._labelsOverlapping = [...labelItems].some(label => label.scrollWidth > label.clientWidth);
402
+ }
403
+
404
+ /**
405
+ * Called when the user starts interacting with the slider.
406
+ * After a down event on the slider root, listen for move events on window, so the slider value
407
+ * is updated even if the user drags the pointer outside the slider root.
408
+ *
409
+ * @protected
410
+ */
411
+ handleDownBase(event) {
412
+ const min = this._effectiveMin;
413
+ const max = this._effectiveMax;
414
+ const domRect = this.getBoundingClientRect();
415
+ const directionStart = this.directionStart;
416
+ const step = this._effectiveStep;
417
+ const newValue = SliderBase.getValueFromInteraction(event, step, min, max, domRect, directionStart);
418
+
419
+ // Mark start of a user interaction
420
+ this._isUserInteraction = true;
421
+ // Only allow one type of move event to be listened to (the first one registered after the down event)
422
+ this._moveEventType = !this._moveEventType ? SliderBase.MOVE_EVENT_MAP[event.type] : this._moveEventType;
423
+
424
+ SliderBase.UP_EVENTS.forEach(upEventType => window.addEventListener(upEventType, this._upHandler));
425
+ window.addEventListener(this._moveEventType, this._moveHandler);
426
+
427
+ this._handleFocusOnMouseDown(event);
428
+ return newValue;
429
+ }
430
+
431
+ /**
432
+ * Forward the focus to an inner inner part within the component on press
433
+ *
434
+ * @private
435
+ */
436
+ _handleFocusOnMouseDown(event) {
437
+ const focusedElement = this.shadowRoot.activeElement;
438
+
439
+ if (!focusedElement || focusedElement !== event.target) {
440
+ this._preserveFocus(true);
441
+ this.focusInnerElement();
442
+ }
443
+ }
444
+
445
+ /**
446
+ * Called when the user finish interacting with the slider
447
+ * Fires an <code>change</code> event indicating a final value change, after user interaction is finished.
448
+ *
449
+ * @protected
450
+ */
451
+ handleUpBase(valueType) {
452
+ SliderBase.UP_EVENTS.forEach(upEventType => window.removeEventListener(upEventType, this._upHandler));
453
+ window.removeEventListener(this._moveEventType, this._moveHandler);
454
+
455
+ this._moveEventType = null;
456
+ this._isUserInteraction = false;
457
+ this._preserveFocus(false);
458
+ }
459
+
460
+ /**
461
+ * Updates value property of the component that has been changed due to a user action.
462
+ * Fires an <code>input</code> event indicating a value change via interaction that is not yet finished.
463
+ *
464
+ * @protected
465
+ */
466
+ updateValue(valueType, value) {
467
+ this[valueType] = value;
468
+ this.storePropertyState(valueType);
469
+ if (this._isUserInteraction) {
470
+ this.fireEvent("input");
471
+ }
472
+ }
473
+
474
+ /**
475
+ * Goes through the key shortcuts available for the component and returns 'true' if the event is triggered by one.
476
+ *
477
+ * @private
478
+ */
479
+ static _isActionKey(event) {
480
+ return this.ACTION_KEYS.some(actionKey => actionKey(event));
481
+ }
482
+
483
+ /**
484
+ * Locks the given value between min and max boundaries based on slider properties
485
+ *
486
+ * @protected
487
+ */
488
+ static clipValue(value, min, max) {
489
+ value = Math.min(Math.max(value, min), max);
490
+ return value;
491
+ }
492
+
493
+ /**
494
+ * Sets the slider value from an event
495
+ *
496
+ * @protected
497
+ */
498
+ static getValueFromInteraction(event, stepSize, min, max, boundingClientRect, directionStart) {
499
+ const pageX = this.getPageXValueFromEvent(event);
500
+ const value = this.computedValueFromPageX(pageX, min, max, boundingClientRect, directionStart);
501
+ const steppedValue = this.getSteppedValue(value, stepSize, min);
502
+
503
+ return this.clipValue(steppedValue, min, max);
504
+ }
505
+
506
+ /**
507
+ * "Stepify" the raw value - calculate the new value depending on the specified step property
508
+ *
509
+ * @protected
510
+ */
511
+ static getSteppedValue(value, stepSize, min) {
512
+ const stepModuloValue = Math.abs((value - min) % stepSize);
513
+
514
+ if (stepSize === 0 || stepModuloValue === 0) {
515
+ return value;
516
+ }
517
+
518
+ // Clip (snap) the new value to the nearest step
519
+ value = (stepModuloValue * 2 >= stepSize) ? (value + stepSize) - stepModuloValue : value - stepModuloValue;
520
+
521
+ // If the step value is not a round number get its precision
522
+ const stepPrecision = SliderBase._getDecimalPrecisionOfNumber(stepSize);
523
+ return value.toFixed(stepPrecision);
524
+ }
525
+
526
+ /**
527
+ * Gets pageX value from event on user interaction with the Slider
528
+ *
529
+ * @protected
530
+ */
531
+ static getPageXValueFromEvent(event) {
532
+ if (event.targetTouches && event.targetTouches.length > 0) {
533
+ return event.targetTouches[0].pageX;
534
+ }
535
+
536
+ return event.pageX;
537
+ }
538
+
539
+ /**
540
+ * Computes the new value (in %) from the pageX position of the cursor.
541
+ * Returns the value rounded to a precision of at most 2 digits after decimal point.
542
+ *
543
+ * @protected
544
+ */
545
+ static computedValueFromPageX(pageX, min, max, boundingClientRect, directionStart) {
546
+ // Determine pageX position relative to the Slider DOM
547
+ const xRelativePosition = directionStart === "left" ? pageX - boundingClientRect[directionStart] : boundingClientRect[directionStart] - pageX;
548
+ // Calculate the percentage complete (the "progress")
549
+ const percentageComplete = xRelativePosition / boundingClientRect.width;
550
+ // Fit (map) the complete percentage between the min/max value range
551
+ return min + percentageComplete * (max - min);
552
+ }
553
+
554
+ /**
555
+ * Calculates the precision (decimal places) of a number, returns 0 if integer
556
+ * Handles scientific notation cases.
557
+ * @private
558
+ */
559
+ static _getDecimalPrecisionOfNumber(value) {
560
+ if (Number.isInteger(value)) {
561
+ return 0;
562
+ }
563
+ const match = (String(value)).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
564
+ return Math.max(0, (match[1] ? match[1].length : 0) - (match[2] ? Number(match[2]) : 0));
565
+ }
566
+
567
+ /**
568
+ * Normalize current properties, update the previously stored state.
569
+ *
570
+ * @protected
571
+ */
572
+ syncUIAndState(...values) {
573
+ // Validate step and update the stored state for the step property.
574
+ if (this.isPropertyUpdated("step")) {
575
+ this._validateStep(this.step);
576
+ this.storePropertyState("step");
577
+ }
578
+
579
+ // Recalculate the tickmarks and labels and update the stored state.
580
+ if (this.isPropertyUpdated("min", "max", ...values)) {
581
+ this.storePropertyState("min", "max");
582
+
583
+ // Here the value props are changed programatically (not by user interaction)
584
+ // and it won't be "stepified" (rounded to the nearest step). 'Clip' them within
585
+ // min and max bounderies and update the previous state reference.
586
+ values.forEach(valueType => {
587
+ const normalizedValue = SliderBase.clipValue(this[valueType], this._effectiveMin, this._effectiveMax);
588
+ this.updateValue(valueType, normalizedValue);
589
+ this.storePropertyState(valueType);
590
+ });
591
+ }
592
+
593
+ // Labels must be updated if any of the min/max/step/labelInterval props are changed
594
+ if (this.labelInterval && this.showTickmarks) {
595
+ this._createLabels();
596
+ }
597
+
598
+ // Update the stored state for the labelInterval, if changed
599
+ if (this.isPropertyUpdated("labelInterval")) {
600
+ this.storePropertyState("labelInterval");
601
+ }
602
+ }
603
+
604
+ /**
605
+ * In order to always keep the visual UI representation and the internal
606
+ * state in sync, the component has a 'state storage' that is updated when the
607
+ * current state is changed due to a user action.
608
+ *
609
+ * Check if the previously saved state is outdated. That would mean
610
+ * a property has been changed programatically because the previous state
611
+ * is always updated in the interaction handlers.
612
+ *
613
+ * Will return true if any of the properties is not equal to its previously
614
+ * stored value.
615
+ *
616
+ * @protected
617
+ */
618
+ isCurrentStateOutdated() {
619
+ return Object.entries(this._stateStorage).some(([propName, propValue]) => this[propName] !== propValue);
620
+ }
621
+
622
+ /**
623
+ * Returns the last stored value of a property
624
+ *
625
+ * @protected
626
+ */
627
+ getStoredPropertyState(property) {
628
+ return this._stateStorage[property];
629
+ }
630
+
631
+ /**
632
+ * Check if one or more properties have been updated compared to their last
633
+ * saved values in the state storage.
634
+ *
635
+ * @protected
636
+ */
637
+ isPropertyUpdated(...properties) {
638
+ return properties.some(prop => this.getStoredPropertyState(prop) !== this[prop]);
639
+ }
640
+
641
+ /**
642
+ * Updates the previously saved in the _stateStorage values of one or more properties.
643
+ *
644
+ * @protected
645
+ */
646
+ storePropertyState(...props) {
647
+ props.forEach(property => {
648
+ this._stateStorage[property] = this[property];
649
+ });
650
+ }
651
+
652
+ /**
653
+ * Returns the start side of a direction - left for LTR, right for RTL
654
+ */
655
+ get directionStart() {
656
+ return this.effectiveDir === "rtl" ? "right" : "left";
657
+ }
658
+
659
+ /**
660
+ * Calculates and draws the tickmarks with a CSS gradient style
661
+ *
662
+ * @private
663
+ */
664
+ get _tickmarks() {
665
+ if (!this.showTickmarks || !this._effectiveStep) {
666
+ return;
667
+ }
668
+
669
+ if (this._hiddenTickmarks) {
670
+ return `linear-gradient(to right, currentColor 1px, transparent 0) 0 center / calc(100% - 1px) 100% repeat-x`;
671
+ }
672
+
673
+ // Convert number values to strings to let the CSS do calculations better
674
+ // rounding/subpixel behavior" and the most precise tickmarks distribution
675
+ const maxStr = String(this._effectiveMax);
676
+ const minStr = String(this._effectiveMin);
677
+ const stepStr = String(this._effectiveStep);
678
+
679
+ // There is a CSS bug with the 'currentcolor' value of a CSS gradient that does not
680
+ // respect the variable for more than one theme. It has to be set here for now.
681
+ const currentTheme = getTheme();
682
+ const tickmarkWidth = "1px";
683
+ const currentColor = SliderBase.TICKMARK_COLOR_MAP[currentTheme];
684
+
685
+ this._tickmarksAmount = `${maxStr - minStr} / ${stepStr}`;
686
+ this._hiddenTickmarks = false;
687
+
688
+ // Transparent CSS gradient background
689
+ const tickmarksGradientBase = `linear-gradient(to right, ${currentColor} ${tickmarkWidth}, transparent 0) `;
690
+
691
+ // Draw the tickmarks as a patern over the gradient background
692
+ const tickmarksGradientdPattern = `0 center / calc((100% - ${tickmarkWidth}) / (${this._tickmarksAmount})) 100% repeat-x`;
693
+
694
+ // Combine to get the complete CSS background gradient property value
695
+ return `${tickmarksGradientBase + tickmarksGradientdPattern}`;
696
+ }
697
+
698
+ /**
699
+ * Calculates the labels amout, width and text and creates them
700
+ *
701
+ * @private
702
+ */
703
+ _createLabels() {
704
+ if (!this.labelInterval || !this.showTickmarks) {
705
+ return;
706
+ }
707
+
708
+ const labelInterval = this.labelInterval;
709
+ const step = this._effectiveStep;
710
+ const newNumberOfLabels = (this._effectiveMax - this._effectiveMin) / (step * labelInterval);
711
+
712
+ // If the required labels are already rendered
713
+ if (newNumberOfLabels === this._oldNumberOfLabels) {
714
+ return;
715
+ }
716
+
717
+ this._oldNumberOfLabels = newNumberOfLabels;
718
+ this._labelWidth = 100 / newNumberOfLabels;
719
+ this._labelValues = [];
720
+
721
+ // If the step value is not a round number get its precision
722
+ const stepPrecision = SliderBase._getDecimalPrecisionOfNumber(step);
723
+
724
+ // numberOfLabels below can be float so that the "distance betweenlabels labels"
725
+ // calculation to be precize (exactly the same as the distance between the tickmarks).
726
+ // That's ok as the loop stop condition is set to an integer, so it will practically
727
+ // "floor" the number of labels anyway.
728
+ for (let i = 0; i <= newNumberOfLabels; i++) {
729
+ // Format the label numbers with the same decimal precision as the value of the step property
730
+ const labelItemNumber = ((i * step * labelInterval) + this._effectiveMin).toFixed(stepPrecision);
731
+ this._labelValues.push(labelItemNumber);
732
+ }
733
+ }
734
+
735
+ _handleActionKeyPressBase(event, affectedValue) {
736
+ const isUpAction = SliderBase._isIncreaseValueAction(event);
737
+ const isBigStep = SliderBase._isBigStepAction(event);
738
+
739
+ const currentValue = this[affectedValue];
740
+ const min = this._effectiveMin;
741
+ const max = this._effectiveMax;
742
+
743
+ // We need to take into consideration the effective direction of the slider - rtl or ltr.
744
+ // While in ltr, the left arrow key decreases the value, in rtl it should actually increase it.
745
+ let step = this.effectiveDir === "rtl" ? -this._effectiveStep : this._effectiveStep;
746
+
747
+ // If the action key corresponds to a long step and the slider has more than 10 normal steps,
748
+ // make a jump of 1/10th of the Slider's length, otherwise just use the normal step property.
749
+ step = isBigStep && ((max - min) / step > 10) ? (max - min) / 10 : step;
750
+
751
+ if (isEnd(event)) {
752
+ return max - currentValue;
753
+ }
754
+
755
+ if (isHome(event)) {
756
+ return (currentValue - min) * -1;
757
+ }
758
+
759
+ return isUpAction ? step : step * -1;
760
+ }
761
+
762
+ static _isDecreaseValueAction(event) {
763
+ return isDown(event) || isDownCtrl(event) || isLeft(event) || isLeftCtrl(event) || isMinus(event) || isPageDown(event);
764
+ }
765
+
766
+ static _isIncreaseValueAction(event) {
767
+ return isUp(event) || isUpCtrl(event) || isRight(event) || isRightCtrl(event) || isPlus(event) || isPageUp(event);
768
+ }
769
+
770
+ static _isBigStepAction(event) {
771
+ return isDownCtrl(event) || isUpCtrl(event) || isLeftCtrl(event) || isRightCtrl(event) || isPageUp(event) || isPageDown(event);
772
+ }
773
+
774
+ /**
775
+ * Calculates space between tickmarks
776
+ *
777
+ * @private
778
+ */
779
+ _spaceBetweenTickmarks() {
780
+ const tickmarksAmountStrCalc = this._tickmarksAmount.split("/");
781
+ const tickmarksAmount = tickmarksAmountStrCalc[0] / tickmarksAmountStrCalc[1];
782
+
783
+ return this.getBoundingClientRect().width / tickmarksAmount;
784
+ }
785
+
786
+ /**
787
+ * Notify in case of a invalid step value type
788
+ *
789
+ * @private
790
+ */
791
+ _validateStep(step) {
792
+ if (step === 0) {
793
+ console.warn("The 'step' property must be a positive float number"); // eslint-disable-line
794
+ }
795
+
796
+ if (step < 0) {
797
+ console.warn("The 'step' property must be a positive float number. The provided negative number has been converted to its positve equivalent"); // eslint-disable-line
798
+ }
799
+
800
+ if (typeof step !== "number" || Number.isNaN(step)) {
801
+ console.warn("The 'step' property must be a positive float number. It has been set to its default value of 1"); // eslint-disable-line
802
+ }
803
+ }
804
+
805
+ get _labels() {
806
+ return this._labelValues || [];
807
+ }
808
+
809
+ /**
810
+ * Normalizes a new <code>step</code> property value.
811
+ * If tickmarks are enabled recreates them according to it.
812
+ *
813
+ * @private
814
+ */
815
+ get _effectiveStep() {
816
+ let step = this.step;
817
+
818
+ if (step < 0) {
819
+ step = Math.abs(step);
820
+ }
821
+
822
+ if (typeof step !== "number" || Number.isNaN(step)) {
823
+ step = 1;
824
+ }
825
+
826
+ return step;
827
+ }
828
+
829
+ get _effectiveMin() {
830
+ return Math.min(this.min, this.max);
831
+ }
832
+
833
+ get _effectiveMax() {
834
+ return Math.max(this.min, this.max);
835
+ }
836
+
837
+ get tabIndex() {
838
+ return this.disabled ? "-1" : "0";
839
+ }
840
+ }
841
+
842
+ export default SliderBase;