@ui5/webcomponents 0.0.0-e818f286e → 0.0.0-ee3bbe46b

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 (1173) hide show
  1. package/.dev-server-port +1 -0
  2. package/CHANGELOG.md +155 -0
  3. package/dist/Avatar.js +50 -16
  4. package/dist/AvatarGroup.js +30 -12
  5. package/dist/Badge.js +8 -7
  6. package/dist/Breadcrumbs.js +10 -10
  7. package/dist/BreadcrumbsItem.js +6 -6
  8. package/dist/BusyIndicator.js +6 -7
  9. package/dist/Button.d.ts +257 -0
  10. package/dist/Button.js +236 -456
  11. package/dist/Button.js.map +1 -0
  12. package/dist/Calendar.d.ts +246 -0
  13. package/dist/Calendar.js +266 -350
  14. package/dist/Calendar.js.map +1 -0
  15. package/dist/CalendarDate.d.ts +28 -0
  16. package/dist/CalendarDate.js +20 -30
  17. package/dist/CalendarDate.js.map +1 -0
  18. package/dist/CalendarHeader.d.ts +87 -0
  19. package/dist/CalendarHeader.js +144 -198
  20. package/dist/CalendarHeader.js.map +1 -0
  21. package/dist/CalendarPart.d.ts +53 -0
  22. package/dist/CalendarPart.js +71 -92
  23. package/dist/CalendarPart.js.map +1 -0
  24. package/dist/Card.js +5 -5
  25. package/dist/CardHeader.js +10 -7
  26. package/dist/Carousel.js +19 -10
  27. package/dist/CheckBox.js +10 -8
  28. package/dist/ColorPalette.js +10 -10
  29. package/dist/ColorPaletteItem.js +7 -7
  30. package/dist/ColorPalettePopover.js +8 -8
  31. package/dist/ColorPicker.d.ts +144 -0
  32. package/dist/ColorPicker.js +373 -556
  33. package/dist/ColorPicker.js.map +1 -0
  34. package/dist/ComboBox.js +13 -12
  35. package/dist/ComboBoxGroupItem.js +6 -6
  36. package/dist/ComboBoxItem.js +4 -4
  37. package/dist/CustomListItem.d.ts +44 -0
  38. package/dist/CustomListItem.js +52 -79
  39. package/dist/CustomListItem.js.map +1 -0
  40. package/dist/DateComponentBase.d.ts +83 -0
  41. package/dist/DateComponentBase.js +101 -143
  42. package/dist/DateComponentBase.js.map +1 -0
  43. package/dist/DatePicker.d.ts +444 -0
  44. package/dist/DatePicker.js +540 -727
  45. package/dist/DatePicker.js.map +1 -0
  46. package/dist/DateRangePicker.js +15 -9
  47. package/dist/DateTimePicker.js +4 -4
  48. package/dist/DayPicker.d.ts +240 -0
  49. package/dist/DayPicker.js +605 -730
  50. package/dist/DayPicker.js.map +1 -0
  51. package/dist/Dialog.js +63 -5
  52. package/dist/DurationPicker.js +5 -5
  53. package/dist/FileUploader.d.ts +235 -0
  54. package/dist/FileUploader.js +306 -487
  55. package/dist/FileUploader.js.map +1 -0
  56. package/dist/GroupHeaderListItem.js +6 -6
  57. package/dist/Icon.d.ts +227 -0
  58. package/dist/Icon.js +179 -303
  59. package/dist/Icon.js.map +1 -0
  60. package/dist/Input.js +100 -79
  61. package/dist/Interfaces.d.ts +161 -0
  62. package/dist/Interfaces.js +45 -85
  63. package/dist/Interfaces.js.map +1 -0
  64. package/dist/Label.d.ts +98 -0
  65. package/dist/Label.js +63 -122
  66. package/dist/Label.js.map +1 -0
  67. package/dist/Link.d.ts +214 -0
  68. package/dist/Link.js +177 -351
  69. package/dist/Link.js.map +1 -0
  70. package/dist/List.d.ts +376 -0
  71. package/dist/List.js +704 -1014
  72. package/dist/List.js.map +1 -0
  73. package/dist/ListItem.d.ts +196 -0
  74. package/dist/ListItem.js +298 -385
  75. package/dist/ListItem.js.map +1 -0
  76. package/dist/ListItemBase.d.ts +62 -0
  77. package/dist/ListItemBase.js +113 -166
  78. package/dist/ListItemBase.js.map +1 -0
  79. package/dist/Menu.js +130 -20
  80. package/dist/MenuItem.js +43 -11
  81. package/dist/MessageStrip.js +8 -9
  82. package/dist/MonthPicker.d.ts +106 -0
  83. package/dist/MonthPicker.js +260 -285
  84. package/dist/MonthPicker.js.map +1 -0
  85. package/dist/MultiComboBox.js +15 -11
  86. package/dist/MultiComboBoxGroupItem.js +6 -6
  87. package/dist/MultiComboBoxItem.js +4 -4
  88. package/dist/MultiInput.js +27 -10
  89. package/dist/Option.js +7 -7
  90. package/dist/Panel.d.ts +238 -0
  91. package/dist/Panel.js +230 -393
  92. package/dist/Panel.js.map +1 -0
  93. package/dist/Popover.js +13 -12
  94. package/dist/Popup.js +40 -19
  95. package/dist/ProgressIndicator.d.ts +121 -0
  96. package/dist/ProgressIndicator.js +121 -207
  97. package/dist/ProgressIndicator.js.map +1 -0
  98. package/dist/RadioButton.js +33 -15
  99. package/dist/RadioButtonGroup.js +1 -1
  100. package/dist/RangeSlider.js +14 -10
  101. package/dist/RatingIndicator.js +7 -7
  102. package/dist/ResponsivePopover.js +12 -4
  103. package/dist/SegmentedButton.js +8 -9
  104. package/dist/SegmentedButtonItem.js +5 -5
  105. package/dist/Select.js +9 -11
  106. package/dist/Slider.js +7 -5
  107. package/dist/SliderBase.js +11 -11
  108. package/dist/SplitButton.d.ts +220 -0
  109. package/dist/SplitButton.js +211 -382
  110. package/dist/SplitButton.js.map +1 -0
  111. package/dist/StandardListItem.d.ts +156 -0
  112. package/dist/StandardListItem.js +79 -174
  113. package/dist/StandardListItem.js.map +1 -0
  114. package/dist/StepInput.js +11 -11
  115. package/dist/SuggestionGroupItem.js +6 -6
  116. package/dist/SuggestionItem.js +9 -9
  117. package/dist/SuggestionListItem.js +4 -3
  118. package/dist/Switch.d.ts +167 -0
  119. package/dist/Switch.js +136 -236
  120. package/dist/Switch.js.map +1 -0
  121. package/dist/Tab.js +61 -18
  122. package/dist/TabContainer.js +219 -164
  123. package/dist/TabSeparator.js +11 -4
  124. package/dist/Table.js +23 -19
  125. package/dist/TableCell.js +14 -6
  126. package/dist/TableColumn.d.ts +101 -0
  127. package/dist/TableColumn.js +53 -99
  128. package/dist/TableColumn.js.map +1 -0
  129. package/dist/TableGroupRow.js +7 -7
  130. package/dist/TableRow.js +52 -18
  131. package/dist/TextArea.js +55 -46
  132. package/dist/TimePicker.js +4 -5
  133. package/dist/TimePickerBase.js +16 -6
  134. package/dist/TimeSelection.js +6 -7
  135. package/dist/Title.d.ts +69 -0
  136. package/dist/Title.js +62 -105
  137. package/dist/Title.js.map +1 -0
  138. package/dist/Toast.js +6 -6
  139. package/dist/ToggleButton.js +3 -4
  140. package/dist/Token.js +24 -7
  141. package/dist/Tokenizer.js +42 -18
  142. package/dist/Tree.js +122 -58
  143. package/dist/TreeItem.js +34 -119
  144. package/dist/TreeItemBase.js +431 -0
  145. package/dist/TreeItemCustom.js +102 -0
  146. package/dist/TreeList.js +43 -0
  147. package/dist/WheelSlider.js +5 -5
  148. package/dist/YearPicker.d.ts +102 -0
  149. package/dist/YearPicker.js +298 -328
  150. package/dist/YearPicker.js.map +1 -0
  151. package/dist/api.json +1 -1
  152. package/dist/assets/HT-1000.59a0ea5a.jpg +0 -0
  153. package/dist/assets/HT-1010.7b05e4f5.jpg +0 -0
  154. package/dist/assets/HT-1022.6fa171f0.jpg +0 -0
  155. package/dist/assets/SAP-icons-business-suite.7cff1fd8.js +1 -0
  156. package/dist/assets/SAP-icons.7f154911.js +1 -0
  157. package/dist/assets/SAP-icons.e76c8241.js +1 -0
  158. package/dist/assets/ar.76457d6b.js +1 -0
  159. package/dist/assets/ar_EG.facab575.js +1 -0
  160. package/dist/assets/ar_SA.037c760a.js +1 -0
  161. package/dist/assets/bg.eb54e36a.js +1 -0
  162. package/dist/assets/ca.1047c043.js +1 -0
  163. package/dist/assets/cs.47109072.js +1 -0
  164. package/dist/assets/da.1562c279.js +1 -0
  165. package/dist/assets/de.3397b9d2.js +1 -0
  166. package/dist/assets/de_AT.fb777626.js +1 -0
  167. package/dist/assets/de_CH.c4011bf2.js +1 -0
  168. package/dist/assets/el.52a181c7.js +1 -0
  169. package/dist/assets/el_CY.065e8a48.js +1 -0
  170. package/dist/assets/en.8b571af2.js +1 -0
  171. package/dist/assets/en_AU.29f5e0e2.js +1 -0
  172. package/dist/assets/en_GB.b0afb274.js +1 -0
  173. package/dist/assets/en_HK.188c8a39.js +1 -0
  174. package/dist/assets/en_IE.b52bdf4f.js +1 -0
  175. package/dist/assets/en_IN.5925f501.js +1 -0
  176. package/dist/assets/en_NZ.adc1b6af.js +1 -0
  177. package/dist/assets/en_PG.2e475ab9.js +1 -0
  178. package/dist/assets/en_SG.400dc7e5.js +1 -0
  179. package/dist/assets/en_ZA.06de0b73.js +1 -0
  180. package/dist/assets/es.d137c08c.js +1 -0
  181. package/dist/assets/es_AR.a719c078.js +1 -0
  182. package/dist/assets/es_BO.ba051d49.js +1 -0
  183. package/dist/assets/es_CL.876855d2.js +1 -0
  184. package/dist/assets/es_CO.51c37c4d.js +1 -0
  185. package/dist/assets/es_MX.c11d012e.js +1 -0
  186. package/dist/assets/es_PE.1a5de4db.js +1 -0
  187. package/dist/assets/es_UY.29036823.js +1 -0
  188. package/dist/assets/es_VE.22e2164a.js +1 -0
  189. package/dist/assets/et.d802827f.js +1 -0
  190. package/dist/assets/fa.59b6aa5f.js +1 -0
  191. package/dist/assets/fi.2cc79303.js +1 -0
  192. package/dist/assets/fr.055c2d0d.js +1 -0
  193. package/dist/assets/fr_BE.79a4448b.js +1 -0
  194. package/dist/assets/fr_CA.0c4a98e4.js +1 -0
  195. package/dist/assets/fr_CH.ba0db8bd.js +1 -0
  196. package/dist/assets/fr_LU.21a6bcea.js +1 -0
  197. package/dist/assets/he.e187c6df.js +1 -0
  198. package/dist/assets/hi.cb35adb1.js +1 -0
  199. package/dist/assets/hr.24bc905c.js +1 -0
  200. package/dist/assets/hu.aadbd74c.js +1 -0
  201. package/dist/assets/id.b9bd26e5.js +1 -0
  202. package/dist/assets/it.36ffae4a.js +1 -0
  203. package/dist/assets/{it.bcf089f4.js → it_CH.7ef1e2bf.js} +1 -1
  204. package/dist/assets/ja.a08af783.js +1 -0
  205. package/dist/assets/kk.5d3dddbe.js +1 -0
  206. package/dist/assets/ko.264fdf35.js +1 -0
  207. package/dist/assets/lt.b967d42b.js +1 -0
  208. package/dist/assets/lv.9c0f8206.js +1 -0
  209. package/dist/assets/messagebundle_ar.243172a0.js +1 -0
  210. package/dist/assets/messagebundle_bg.b6be9a8f.js +1 -0
  211. package/dist/assets/messagebundle_ca.81554b85.js +1 -0
  212. package/dist/assets/messagebundle_cs.887ffd78.js +1 -0
  213. package/dist/assets/messagebundle_cy.4f36e832.js +1 -0
  214. package/dist/assets/messagebundle_da.7126eff9.js +1 -0
  215. package/dist/assets/messagebundle_de.491bc0ba.js +1 -0
  216. package/dist/assets/messagebundle_el.641b2b16.js +1 -0
  217. package/dist/assets/messagebundle_en.edda053c.js +1 -0
  218. package/dist/assets/messagebundle_en_GB.9eb5f8cf.js +1 -0
  219. package/dist/assets/messagebundle_en_US_sappsd.c97ca89f.js +1 -0
  220. package/dist/assets/messagebundle_en_US_saprigi.d0b577b7.js +1 -0
  221. package/dist/assets/messagebundle_en_US_saptrc.7da9b71b.js +1 -0
  222. package/dist/assets/messagebundle_es.43b904e0.js +1 -0
  223. package/dist/assets/messagebundle_es_MX.c3e53ac7.js +1 -0
  224. package/dist/assets/messagebundle_et.64fe6467.js +1 -0
  225. package/dist/assets/messagebundle_fi.1ba77cee.js +1 -0
  226. package/dist/assets/messagebundle_fr.45f120f8.js +1 -0
  227. package/dist/assets/messagebundle_fr_CA.dcda1e70.js +1 -0
  228. package/dist/assets/messagebundle_hi.31540f17.js +1 -0
  229. package/dist/assets/messagebundle_hr.988e29a7.js +1 -0
  230. package/dist/assets/messagebundle_hu.d761b93f.js +1 -0
  231. package/dist/assets/messagebundle_it.a50fb069.js +1 -0
  232. package/dist/assets/messagebundle_iw.53470cd7.js +1 -0
  233. package/dist/assets/messagebundle_ja.b71fa0ff.js +1 -0
  234. package/dist/assets/messagebundle_kk.7d294cd5.js +1 -0
  235. package/dist/assets/messagebundle_ko.eb72ee8f.js +1 -0
  236. package/dist/assets/messagebundle_lt.41fd3bc7.js +1 -0
  237. package/dist/assets/messagebundle_lv.3456c55c.js +1 -0
  238. package/dist/assets/messagebundle_ms.64f8147e.js +1 -0
  239. package/dist/assets/messagebundle_nl.d1605730.js +1 -0
  240. package/dist/assets/messagebundle_no.968da9b7.js +1 -0
  241. package/dist/assets/messagebundle_pl.248f53c6.js +1 -0
  242. package/dist/assets/messagebundle_pt.3efbbd12.js +1 -0
  243. package/dist/assets/messagebundle_pt_PT.02cdeaf2.js +1 -0
  244. package/dist/assets/messagebundle_ro.b4b7732d.js +1 -0
  245. package/dist/assets/messagebundle_ru.ce589132.js +1 -0
  246. package/dist/assets/messagebundle_sh.5787c000.js +1 -0
  247. package/dist/assets/messagebundle_sk.8cb7067a.js +1 -0
  248. package/dist/assets/messagebundle_sl.c23909a7.js +1 -0
  249. package/dist/assets/messagebundle_sv.6c59b918.js +1 -0
  250. package/dist/assets/messagebundle_th.bd390511.js +1 -0
  251. package/dist/assets/messagebundle_tr.d15617a8.js +1 -0
  252. package/dist/assets/messagebundle_uk.f2dddb56.js +1 -0
  253. package/dist/assets/messagebundle_vi.9adb9f15.js +1 -0
  254. package/dist/assets/messagebundle_zh_CN.7c80ff86.js +1 -0
  255. package/dist/assets/messagebundle_zh_TW.cd2b7fea.js +1 -0
  256. package/dist/assets/ms.5a523fbe.js +1 -0
  257. package/dist/assets/nb.6e98bbca.js +1 -0
  258. package/dist/assets/nl.84e9e6df.js +1 -0
  259. package/dist/assets/nl_BE.0f374ea5.js +1 -0
  260. package/dist/assets/parameters-bundle.css.06e5f6af.js +1 -0
  261. package/dist/assets/parameters-bundle.css.1024d408.js +1 -0
  262. package/dist/assets/parameters-bundle.css.128bc009.js +1 -0
  263. package/dist/assets/parameters-bundle.css.12ef5553.js +1 -0
  264. package/dist/assets/parameters-bundle.css.2ca52e42.js +1 -0
  265. package/dist/assets/parameters-bundle.css.2ce25938.js +1 -0
  266. package/dist/assets/parameters-bundle.css.2ff57cb9.js +1 -0
  267. package/dist/assets/parameters-bundle.css.44b2e174.js +1 -0
  268. package/dist/assets/parameters-bundle.css.50f83b44.js +1 -0
  269. package/dist/assets/parameters-bundle.css.76e1994f.js +1 -0
  270. package/dist/assets/parameters-bundle.css.76ee50df.js +1 -0
  271. package/dist/assets/parameters-bundle.css.7e4cc88c.js +1 -0
  272. package/dist/assets/parameters-bundle.css.828caf0e.js +1 -0
  273. package/dist/assets/parameters-bundle.css.89d7ea85.js +1 -0
  274. package/dist/assets/parameters-bundle.css.95b1212b.js +1 -0
  275. package/dist/assets/parameters-bundle.css.9d0c7b1a.js +1 -0
  276. package/dist/assets/parameters-bundle.css.9d7025d0.js +1 -0
  277. package/dist/assets/parameters-bundle.css.a1f2b381.js +1 -0
  278. package/dist/assets/parameters-bundle.css.a9042929.js +1 -0
  279. package/dist/assets/parameters-bundle.css.ad51785f.js +1 -0
  280. package/dist/assets/parameters-bundle.css.c3acfe91.js +1 -0
  281. package/dist/assets/parameters-bundle.css.d587faf5.js +1 -0
  282. package/dist/assets/parameters-bundle.css.fe4c8069.js +1 -0
  283. package/dist/assets/parameters-bundle.css.fe6ed418.js +1 -0
  284. package/dist/assets/pl.c8acba9e.js +1 -0
  285. package/dist/assets/pt.676d5650.js +1 -0
  286. package/dist/assets/pt_PT.0bbc2da6.js +1 -0
  287. package/dist/assets/ro.10993af2.js +1 -0
  288. package/dist/assets/ru.4aba168e.js +1 -0
  289. package/dist/assets/ru_UA.334d6613.js +1 -0
  290. package/dist/assets/sk.3183c85e.js +1 -0
  291. package/dist/assets/sl.edad6042.js +1 -0
  292. package/dist/assets/sr.3e293379.js +1 -0
  293. package/dist/assets/sr_Latn.0f4a03c3.js +1 -0
  294. package/dist/assets/sv.e76e14e4.js +1 -0
  295. package/dist/assets/th.f5491ec1.js +1 -0
  296. package/dist/assets/tr.3b838818.js +1 -0
  297. package/dist/assets/uk.ebbd81a0.js +1 -0
  298. package/dist/assets/vi.87616fa0.js +1 -0
  299. package/dist/assets/zh_CN.de478ef9.js +1 -0
  300. package/dist/assets/zh_HK.834c3161.js +1 -0
  301. package/dist/assets/zh_SG.13241ee3.js +1 -0
  302. package/dist/assets/zh_TW.8f4a16b5.js +1 -0
  303. package/dist/css/themes/Avatar.css +1 -1
  304. package/dist/css/themes/AvatarGroup.css +1 -1
  305. package/dist/css/themes/Breadcrumbs.css +1 -1
  306. package/dist/css/themes/BreadcrumbsPopover.css +1 -1
  307. package/dist/css/themes/BrowserScrollbar.css +1 -1
  308. package/dist/css/themes/BusyIndicator.css +1 -1
  309. package/dist/css/themes/Button.css +1 -1
  310. package/dist/css/themes/CardHeader.css +1 -1
  311. package/dist/css/themes/Carousel.css +1 -1
  312. package/dist/css/themes/ComboBox.css +1 -1
  313. package/dist/css/themes/DatePicker.css +1 -1
  314. package/dist/css/themes/DayPicker.css +1 -1
  315. package/dist/css/themes/Dialog.css +1 -1
  316. package/dist/css/themes/GroupHeaderListItem.css +1 -1
  317. package/dist/css/themes/Icon.css +1 -1
  318. package/dist/css/themes/Input.css +1 -1
  319. package/dist/css/themes/ListItem.css +1 -1
  320. package/dist/css/themes/Menu.css +1 -1
  321. package/dist/css/themes/MonthPicker.css +1 -1
  322. package/dist/css/themes/MultiComboBox.css +1 -1
  323. package/dist/css/themes/Panel.css +1 -1
  324. package/dist/css/themes/RadioButton.css +1 -1
  325. package/dist/css/themes/Select.css +1 -1
  326. package/dist/css/themes/StepInput.css +1 -1
  327. package/dist/css/themes/TabContainer.css +1 -1
  328. package/dist/css/themes/TabInOverflow.css +1 -1
  329. package/dist/css/themes/TabInStrip.css +1 -1
  330. package/dist/css/themes/Table.css +1 -1
  331. package/dist/css/themes/TableCell.css +1 -1
  332. package/dist/css/themes/TableColumn.css +1 -1
  333. package/dist/css/themes/TableRow.css +1 -1
  334. package/dist/css/themes/TextArea.css +1 -1
  335. package/dist/css/themes/TimePicker.css +1 -1
  336. package/dist/css/themes/TreeItem.css +1 -0
  337. package/dist/css/themes/ValueStateMessage.css +1 -1
  338. package/dist/css/themes/YearPicker.css +1 -1
  339. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  340. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  341. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  342. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  343. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  344. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  345. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  346. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  347. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  348. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  349. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  350. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  351. package/dist/features/ColorPaletteMoreColors.d.ts +10 -0
  352. package/dist/features/ColorPaletteMoreColors.js +25 -33
  353. package/dist/features/ColorPaletteMoreColors.js.map +1 -0
  354. package/dist/features/InputElementsFormSupport.d.ts +30 -0
  355. package/dist/features/InputElementsFormSupport.js +95 -100
  356. package/dist/features/InputElementsFormSupport.js.map +1 -0
  357. package/dist/features/InputSuggestions.js +22 -8
  358. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  359. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  360. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  361. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  362. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  363. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  364. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  365. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  366. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  367. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  368. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  369. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  370. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  371. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  372. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  373. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  374. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  375. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  376. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  377. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  378. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  379. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  380. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  381. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  382. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  383. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  384. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  385. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  386. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  387. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  388. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  389. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  390. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  391. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  392. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  393. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  394. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  395. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  396. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  397. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  398. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  399. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  400. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  401. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  402. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  403. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  404. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  405. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  406. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  407. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  408. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  409. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  410. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  411. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  412. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  413. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  414. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  415. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  416. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  417. package/dist/generated/i18n/i18n-defaults.js +2 -2
  418. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
  419. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +1 -1
  420. package/dist/generated/templates/CardHeaderTemplate.lit.js +1 -1
  421. package/dist/generated/templates/CarouselTemplate.lit.js +1 -1
  422. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -7
  423. package/dist/generated/templates/DialogTemplate.lit.js +7 -6
  424. package/dist/generated/templates/IconTemplate.lit.js +4 -2
  425. package/dist/generated/templates/InputTemplate.lit.js +2 -2
  426. package/dist/generated/templates/LabelTemplate.lit.js +1 -1
  427. package/dist/generated/templates/LinkTemplate.lit.js +1 -1
  428. package/dist/generated/templates/ListItemTemplate.lit.js +13 -7
  429. package/dist/generated/templates/ListTemplate.lit.js +3 -3
  430. package/dist/generated/templates/MenuTemplate.lit.js +2 -2
  431. package/dist/generated/templates/MonthPickerTemplate.lit.js +1 -1
  432. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +1 -1
  433. package/dist/generated/templates/MultiInputTemplate.lit.js +2 -2
  434. package/dist/generated/templates/PanelTemplate.lit.js +2 -2
  435. package/dist/generated/templates/PopoverTemplate.lit.js +1 -1
  436. package/dist/generated/templates/PopupTemplate.lit.js +1 -1
  437. package/dist/generated/templates/RadioButtonTemplate.lit.js +1 -1
  438. package/dist/generated/templates/RangeSliderTemplate.lit.js +1 -1
  439. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +1 -1
  440. package/dist/generated/templates/SliderTemplate.lit.js +1 -1
  441. package/dist/generated/templates/StandardListItemTemplate.lit.js +23 -15
  442. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +26 -18
  443. package/dist/generated/templates/SwitchTemplate.lit.js +1 -1
  444. package/dist/generated/templates/TabContainerTemplate.lit.js +1 -1
  445. package/dist/generated/templates/TabInOverflowTemplate.lit.js +3 -2
  446. package/dist/generated/templates/TabInStripTemplate.lit.js +9 -8
  447. package/dist/generated/templates/TableGroupRowTemplate.lit.js +1 -1
  448. package/dist/generated/templates/TableRowTemplate.lit.js +6 -3
  449. package/dist/generated/templates/TableTemplate.lit.js +2 -2
  450. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +1 -1
  451. package/dist/generated/templates/TextAreaTemplate.lit.js +2 -2
  452. package/dist/generated/templates/TokenTemplate.lit.js +1 -1
  453. package/dist/generated/templates/TreeItemBaseTemplate.lit.js +26 -0
  454. package/dist/generated/templates/{TreeListItemTemplate.lit.js → TreeItemCustomTemplate.lit.js} +14 -9
  455. package/dist/generated/templates/TreeItemTemplate.lit.js +28 -0
  456. package/dist/generated/templates/TreeTemplate.lit.js +1 -2
  457. package/dist/generated/templates/YearPickerTemplate.lit.js +1 -1
  458. package/dist/generated/themes/Avatar.css.js +1 -1
  459. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  460. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  461. package/dist/generated/themes/BreadcrumbsPopover.css.js +1 -1
  462. package/dist/generated/themes/BrowserScrollbar.css.js +1 -1
  463. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  464. package/dist/generated/themes/Button.css.js +1 -1
  465. package/dist/generated/themes/CardHeader.css.js +1 -1
  466. package/dist/generated/themes/Carousel.css.js +1 -1
  467. package/dist/generated/themes/ComboBox.css.js +1 -1
  468. package/dist/generated/themes/DatePicker.css.js +1 -1
  469. package/dist/generated/themes/DayPicker.css.js +1 -1
  470. package/dist/generated/themes/Dialog.css.js +1 -1
  471. package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
  472. package/dist/generated/themes/Icon.css.js +1 -1
  473. package/dist/generated/themes/Input.css.js +1 -1
  474. package/dist/generated/themes/ListItem.css.js +1 -1
  475. package/dist/generated/themes/Menu.css.js +1 -1
  476. package/dist/generated/themes/MonthPicker.css.js +1 -1
  477. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  478. package/dist/generated/themes/Panel.css.js +1 -1
  479. package/dist/generated/themes/RadioButton.css.js +1 -1
  480. package/dist/generated/themes/Select.css.js +1 -1
  481. package/dist/generated/themes/StepInput.css.js +1 -1
  482. package/dist/generated/themes/TabContainer.css.js +1 -1
  483. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  484. package/dist/generated/themes/TabInStrip.css.js +1 -1
  485. package/dist/generated/themes/Table.css.js +1 -1
  486. package/dist/generated/themes/TableCell.css.js +1 -1
  487. package/dist/generated/themes/TableColumn.css.js +1 -1
  488. package/dist/generated/themes/TableRow.css.js +1 -1
  489. package/dist/generated/themes/TextArea.css.js +1 -1
  490. package/dist/generated/themes/TimePicker.css.js +1 -1
  491. package/dist/generated/themes/TreeItem.css.js +8 -0
  492. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  493. package/dist/generated/themes/YearPicker.css.js +1 -1
  494. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  495. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  496. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  497. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  498. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  499. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  500. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  501. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  502. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  503. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  504. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  505. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  506. package/dist/i18n/messagebundle.properties +20 -5
  507. package/dist/i18n/messagebundle_ar.properties +13 -3
  508. package/dist/i18n/messagebundle_bg.properties +15 -5
  509. package/dist/i18n/messagebundle_ca.properties +13 -3
  510. package/dist/i18n/messagebundle_cs.properties +13 -3
  511. package/dist/i18n/messagebundle_cy.properties +13 -3
  512. package/dist/i18n/messagebundle_da.properties +13 -3
  513. package/dist/i18n/messagebundle_de.properties +14 -4
  514. package/dist/i18n/messagebundle_el.properties +13 -3
  515. package/dist/i18n/messagebundle_en.properties +13 -3
  516. package/dist/i18n/messagebundle_en_GB.properties +13 -3
  517. package/dist/i18n/messagebundle_en_US_sappsd.properties +14 -4
  518. package/dist/i18n/messagebundle_en_US_saprigi.properties +14 -4
  519. package/dist/i18n/messagebundle_en_US_saptrc.properties +14 -4
  520. package/dist/i18n/messagebundle_es.properties +13 -3
  521. package/dist/i18n/messagebundle_es_MX.properties +13 -3
  522. package/dist/i18n/messagebundle_et.properties +13 -3
  523. package/dist/i18n/messagebundle_fi.properties +13 -3
  524. package/dist/i18n/messagebundle_fr.properties +13 -3
  525. package/dist/i18n/messagebundle_fr_CA.properties +14 -4
  526. package/dist/i18n/messagebundle_hi.properties +13 -3
  527. package/dist/i18n/messagebundle_hr.properties +13 -3
  528. package/dist/i18n/messagebundle_hu.properties +13 -3
  529. package/dist/i18n/messagebundle_id.properties +13 -3
  530. package/dist/i18n/messagebundle_it.properties +13 -3
  531. package/dist/i18n/messagebundle_iw.properties +13 -3
  532. package/dist/i18n/messagebundle_ja.properties +13 -3
  533. package/dist/i18n/messagebundle_kk.properties +13 -3
  534. package/dist/i18n/messagebundle_ko.properties +13 -3
  535. package/dist/i18n/messagebundle_lt.properties +13 -3
  536. package/dist/i18n/messagebundle_lv.properties +13 -3
  537. package/dist/i18n/messagebundle_ms.properties +13 -3
  538. package/dist/i18n/messagebundle_nl.properties +15 -5
  539. package/dist/i18n/messagebundle_no.properties +13 -3
  540. package/dist/i18n/messagebundle_pl.properties +13 -3
  541. package/dist/i18n/messagebundle_pt.properties +13 -3
  542. package/dist/i18n/messagebundle_pt_PT.properties +13 -3
  543. package/dist/i18n/messagebundle_ro.properties +13 -3
  544. package/dist/i18n/messagebundle_ru.properties +13 -3
  545. package/dist/i18n/messagebundle_sh.properties +13 -3
  546. package/dist/i18n/messagebundle_sk.properties +13 -3
  547. package/dist/i18n/messagebundle_sl.properties +13 -3
  548. package/dist/i18n/messagebundle_sv.properties +13 -3
  549. package/dist/i18n/messagebundle_th.properties +13 -3
  550. package/dist/i18n/messagebundle_tr.properties +13 -3
  551. package/dist/i18n/messagebundle_uk.properties +13 -3
  552. package/dist/i18n/messagebundle_vi.properties +13 -3
  553. package/dist/i18n/messagebundle_zh_CN.properties +15 -5
  554. package/dist/i18n/messagebundle_zh_TW.properties +13 -3
  555. package/dist/popup-utils/OpenedPopupsRegistry.js +20 -0
  556. package/dist/popup-utils/PopoverRegistry.js +23 -15
  557. package/dist/types/AvatarColorScheme.d.ts +78 -0
  558. package/dist/types/AvatarColorScheme.js +75 -99
  559. package/dist/types/AvatarColorScheme.js.map +1 -0
  560. package/dist/types/AvatarGroupType.d.ts +26 -0
  561. package/dist/types/AvatarGroupType.js +22 -37
  562. package/dist/types/AvatarGroupType.js.map +1 -0
  563. package/dist/types/AvatarShape.d.ts +24 -0
  564. package/dist/types/AvatarShape.js +20 -35
  565. package/dist/types/AvatarShape.js.map +1 -0
  566. package/dist/types/AvatarSize.d.ts +47 -0
  567. package/dist/types/AvatarSize.js +43 -61
  568. package/dist/types/AvatarSize.js.map +1 -0
  569. package/dist/types/BreadcrumbsDesign.d.ts +26 -0
  570. package/dist/types/BreadcrumbsDesign.js +23 -37
  571. package/dist/types/BreadcrumbsDesign.js.map +1 -0
  572. package/dist/types/BreadcrumbsSeparatorStyle.d.ts +48 -0
  573. package/dist/types/BreadcrumbsSeparatorStyle.js +45 -64
  574. package/dist/types/BreadcrumbsSeparatorStyle.js.map +1 -0
  575. package/dist/types/BusyIndicatorSize.d.ts +30 -0
  576. package/dist/types/BusyIndicatorSize.js +27 -42
  577. package/dist/types/BusyIndicatorSize.js.map +1 -0
  578. package/dist/types/ButtonDesign.d.ts +48 -0
  579. package/dist/types/ButtonDesign.js +45 -63
  580. package/dist/types/ButtonDesign.js.map +1 -0
  581. package/dist/types/CalendarSelectionMode.d.ts +30 -0
  582. package/dist/types/CalendarSelectionMode.js +27 -42
  583. package/dist/types/CalendarSelectionMode.js.map +1 -0
  584. package/dist/types/CarouselArrowsPlacement.d.ts +24 -0
  585. package/dist/types/CarouselArrowsPlacement.js +21 -35
  586. package/dist/types/CarouselArrowsPlacement.js.map +1 -0
  587. package/dist/types/HasPopup.d.ts +42 -0
  588. package/dist/types/HasPopup.js +38 -56
  589. package/dist/types/HasPopup.js.map +1 -0
  590. package/dist/types/InputType.d.ts +48 -0
  591. package/dist/types/InputType.js +45 -63
  592. package/dist/types/InputType.js.map +1 -0
  593. package/dist/types/LinkDesign.d.ts +30 -0
  594. package/dist/types/LinkDesign.js +27 -42
  595. package/dist/types/LinkDesign.js.map +1 -0
  596. package/dist/types/ListGrowingMode.d.ts +31 -0
  597. package/dist/types/ListGrowingMode.js +28 -43
  598. package/dist/types/ListGrowingMode.js.map +1 -0
  599. package/dist/types/ListItemType.d.ts +36 -0
  600. package/dist/types/ListItemType.js +33 -42
  601. package/dist/types/ListItemType.js.map +1 -0
  602. package/dist/types/ListMode.d.ts +56 -0
  603. package/dist/types/ListMode.js +53 -72
  604. package/dist/types/ListMode.js.map +1 -0
  605. package/dist/types/ListSeparators.d.ts +31 -0
  606. package/dist/types/ListSeparators.js +28 -41
  607. package/dist/types/ListSeparators.js.map +1 -0
  608. package/dist/types/MessageStripDesign.d.ts +36 -0
  609. package/dist/types/MessageStripDesign.js +33 -49
  610. package/dist/types/MessageStripDesign.js.map +1 -0
  611. package/dist/types/PanelAccessibleRole.d.ts +33 -0
  612. package/dist/types/PanelAccessibleRole.js +30 -43
  613. package/dist/types/PanelAccessibleRole.js.map +1 -0
  614. package/dist/types/PopoverHorizontalAlign.d.ts +36 -0
  615. package/dist/types/PopoverHorizontalAlign.js +33 -49
  616. package/dist/types/PopoverHorizontalAlign.js.map +1 -0
  617. package/dist/types/PopoverPlacementType.d.ts +36 -0
  618. package/dist/types/PopoverPlacementType.js +33 -49
  619. package/dist/types/PopoverPlacementType.js.map +1 -0
  620. package/dist/types/PopoverVerticalAlign.d.ts +36 -0
  621. package/dist/types/PopoverVerticalAlign.js +33 -49
  622. package/dist/types/PopoverVerticalAlign.js.map +1 -0
  623. package/dist/types/Priority.d.ts +36 -0
  624. package/dist/types/Priority.js +32 -49
  625. package/dist/types/Priority.js.map +1 -0
  626. package/dist/types/SemanticColor.d.ts +42 -0
  627. package/dist/types/SemanticColor.js +39 -56
  628. package/dist/types/SemanticColor.js.map +1 -0
  629. package/dist/types/SwitchDesign.d.ts +24 -0
  630. package/dist/types/SwitchDesign.js +21 -35
  631. package/dist/types/SwitchDesign.js.map +1 -0
  632. package/dist/types/TabContainerBackgroundDesign.d.ts +30 -0
  633. package/dist/types/TabContainerBackgroundDesign.js +32 -0
  634. package/dist/types/TabContainerBackgroundDesign.js.map +1 -0
  635. package/dist/types/TabContainerTabsPlacement.d.ts +24 -0
  636. package/dist/types/TabContainerTabsPlacement.js +21 -35
  637. package/dist/types/TabContainerTabsPlacement.js.map +1 -0
  638. package/dist/types/TabLayout.d.ts +24 -0
  639. package/dist/types/TabLayout.js +21 -35
  640. package/dist/types/TabLayout.js.map +1 -0
  641. package/dist/types/TableColumnPopinDisplay.d.ts +24 -0
  642. package/dist/types/TableColumnPopinDisplay.js +26 -0
  643. package/dist/types/TableColumnPopinDisplay.js.map +1 -0
  644. package/dist/types/TableGrowingMode.d.ts +31 -0
  645. package/dist/types/TableGrowingMode.js +28 -43
  646. package/dist/types/TableGrowingMode.js.map +1 -0
  647. package/dist/types/TableMode.d.ts +30 -0
  648. package/dist/types/TableMode.js +27 -42
  649. package/dist/types/TableMode.js.map +1 -0
  650. package/dist/types/TableRowType.d.ts +24 -0
  651. package/dist/types/TableRowType.js +21 -35
  652. package/dist/types/TableRowType.js.map +1 -0
  653. package/dist/types/TabsOverflowMode.d.ts +24 -0
  654. package/dist/types/TabsOverflowMode.js +21 -35
  655. package/dist/types/TabsOverflowMode.js.map +1 -0
  656. package/dist/types/TitleLevel.d.ts +48 -0
  657. package/dist/types/TitleLevel.js +45 -63
  658. package/dist/types/TitleLevel.js.map +1 -0
  659. package/dist/types/ToastPlacement.d.ts +67 -0
  660. package/dist/types/ToastPlacement.js +64 -86
  661. package/dist/types/ToastPlacement.js.map +1 -0
  662. package/dist/types/WrappingType.d.ts +24 -0
  663. package/dist/types/WrappingType.js +20 -35
  664. package/dist/types/WrappingType.js.map +1 -0
  665. package/global.d.ts +12 -0
  666. package/package-scripts.js +1 -0
  667. package/package.json +8 -7
  668. package/src/Avatar.js +50 -16
  669. package/src/AvatarGroup.js +30 -12
  670. package/src/Badge.js +8 -7
  671. package/src/Breadcrumbs.hbs +1 -1
  672. package/src/Breadcrumbs.js +10 -10
  673. package/src/BreadcrumbsItem.js +6 -6
  674. package/src/BusyIndicator.js +6 -7
  675. package/src/Button.ts +503 -0
  676. package/src/{Calendar.js → Calendar.ts} +144 -141
  677. package/src/CalendarDate.ts +36 -0
  678. package/src/CalendarHeader.hbs +4 -0
  679. package/src/CalendarHeader.ts +218 -0
  680. package/src/{CalendarPart.js → CalendarPart.ts} +15 -26
  681. package/src/Card.js +5 -5
  682. package/src/CardHeader.hbs +1 -0
  683. package/src/CardHeader.js +10 -7
  684. package/src/Carousel.hbs +1 -1
  685. package/src/Carousel.js +19 -10
  686. package/src/CheckBox.js +10 -8
  687. package/src/ColorPalette.js +10 -10
  688. package/src/ColorPaletteItem.js +7 -7
  689. package/src/ColorPalettePopover.js +8 -8
  690. package/src/ColorPicker.ts +538 -0
  691. package/src/ComboBox.js +13 -12
  692. package/src/ComboBoxGroupItem.js +6 -6
  693. package/src/ComboBoxItem.js +4 -4
  694. package/src/CustomListItem.ts +89 -0
  695. package/src/DateComponentBase.ts +174 -0
  696. package/src/{DatePicker.js → DatePicker.ts} +350 -320
  697. package/src/DateRangePicker.js +15 -9
  698. package/src/DateTimePicker.js +4 -4
  699. package/src/{DayPicker.js → DayPicker.ts} +267 -216
  700. package/src/Dialog.hbs +5 -1
  701. package/src/Dialog.js +63 -5
  702. package/src/DurationPicker.js +5 -5
  703. package/src/FileUploader.ts +527 -0
  704. package/src/GroupHeaderListItem.js +6 -6
  705. package/src/Icon.hbs +9 -3
  706. package/src/{Icon.js → Icon.ts} +184 -182
  707. package/src/Input.hbs +4 -2
  708. package/src/Input.js +100 -79
  709. package/src/{Interfaces.js → Interfaces.ts} +40 -40
  710. package/src/Label.hbs +0 -1
  711. package/src/Label.ts +143 -0
  712. package/src/Link.hbs +1 -1
  713. package/src/Link.ts +396 -0
  714. package/src/List.hbs +12 -3
  715. package/src/List.ts +1131 -0
  716. package/src/ListItem.hbs +21 -2
  717. package/src/ListItem.ts +492 -0
  718. package/src/ListItemBase.ts +169 -0
  719. package/src/Menu.hbs +7 -2
  720. package/src/Menu.js +130 -20
  721. package/src/MenuItem.js +43 -11
  722. package/src/MessageStrip.js +8 -9
  723. package/src/MonthPicker.hbs +1 -0
  724. package/src/{MonthPicker.js → MonthPicker.ts} +142 -104
  725. package/src/MultiComboBox.hbs +1 -0
  726. package/src/MultiComboBox.js +15 -11
  727. package/src/MultiComboBoxGroupItem.js +6 -6
  728. package/src/MultiComboBoxItem.js +4 -4
  729. package/src/MultiInput.js +27 -10
  730. package/src/Option.js +7 -7
  731. package/src/Panel.hbs +51 -47
  732. package/src/{Panel.js → Panel.ts} +190 -218
  733. package/src/Popover.js +13 -12
  734. package/src/Popup.hbs +1 -1
  735. package/src/Popup.js +40 -19
  736. package/src/{ProgressIndicator.js → ProgressIndicator.ts} +91 -95
  737. package/src/RadioButton.hbs +3 -3
  738. package/src/RadioButton.js +33 -15
  739. package/src/RadioButtonGroup.js +1 -1
  740. package/src/RangeSlider.hbs +2 -2
  741. package/src/RangeSlider.js +14 -10
  742. package/src/RatingIndicator.js +7 -7
  743. package/src/ResponsivePopover.js +12 -4
  744. package/src/SegmentedButton.js +8 -9
  745. package/src/SegmentedButtonItem.js +5 -5
  746. package/src/Select.js +9 -11
  747. package/src/Slider.hbs +1 -1
  748. package/src/Slider.js +7 -5
  749. package/src/SliderBase.js +11 -11
  750. package/src/{SplitButton.js → SplitButton.ts} +217 -235
  751. package/src/StandardListItem.hbs +10 -4
  752. package/src/StandardListItem.ts +217 -0
  753. package/src/StepInput.js +11 -11
  754. package/src/SuggestionGroupItem.js +6 -6
  755. package/src/SuggestionItem.js +9 -9
  756. package/src/SuggestionListItem.js +4 -3
  757. package/src/Switch.hbs +3 -2
  758. package/src/Switch.ts +299 -0
  759. package/src/Tab.js +61 -18
  760. package/src/TabContainer.hbs +5 -1
  761. package/src/TabContainer.js +219 -164
  762. package/src/TabInOverflow.hbs +6 -4
  763. package/src/TabInStrip.hbs +10 -3
  764. package/src/TabSeparator.js +11 -4
  765. package/src/Table.hbs +2 -2
  766. package/src/Table.js +23 -19
  767. package/src/TableCell.js +14 -6
  768. package/src/TableColumn.ts +135 -0
  769. package/src/TableGroupRow.hbs +0 -1
  770. package/src/TableGroupRow.js +7 -7
  771. package/src/TableRow.hbs +33 -10
  772. package/src/TableRow.js +52 -18
  773. package/src/TextArea.hbs +30 -29
  774. package/src/TextArea.js +55 -46
  775. package/src/TextAreaPopover.hbs +1 -1
  776. package/src/TimePicker.js +4 -5
  777. package/src/TimePickerBase.js +16 -6
  778. package/src/TimeSelection.js +6 -7
  779. package/src/Title.ts +117 -0
  780. package/src/Toast.js +6 -6
  781. package/src/ToggleButton.js +3 -4
  782. package/src/Token.hbs +1 -0
  783. package/src/Token.js +24 -7
  784. package/src/Tokenizer.js +42 -18
  785. package/src/Tree.hbs +10 -32
  786. package/src/Tree.js +122 -58
  787. package/src/TreeItem.hbs +13 -0
  788. package/src/TreeItem.js +34 -119
  789. package/src/{TreeListItem.hbs → TreeItemBase.hbs} +17 -10
  790. package/src/TreeItemBase.js +431 -0
  791. package/src/TreeItemCustom.hbs +7 -0
  792. package/src/TreeItemCustom.js +102 -0
  793. package/src/TreeList.js +43 -0
  794. package/src/WheelSlider.js +5 -5
  795. package/src/YearPicker.hbs +1 -0
  796. package/src/{YearPicker.js → YearPicker.ts} +141 -101
  797. package/src/features/{ColorPaletteMoreColors.js → ColorPaletteMoreColors.ts} +10 -3
  798. package/src/features/{InputElementsFormSupport.js → InputElementsFormSupport.ts} +49 -17
  799. package/src/features/InputSuggestions.js +22 -8
  800. package/src/i18n/messagebundle.properties +20 -5
  801. package/src/i18n/messagebundle_ar.properties +13 -3
  802. package/src/i18n/messagebundle_bg.properties +15 -5
  803. package/src/i18n/messagebundle_ca.properties +13 -3
  804. package/src/i18n/messagebundle_cs.properties +13 -3
  805. package/src/i18n/messagebundle_cy.properties +13 -3
  806. package/src/i18n/messagebundle_da.properties +13 -3
  807. package/src/i18n/messagebundle_de.properties +14 -4
  808. package/src/i18n/messagebundle_el.properties +13 -3
  809. package/src/i18n/messagebundle_en.properties +13 -3
  810. package/src/i18n/messagebundle_en_GB.properties +13 -3
  811. package/src/i18n/messagebundle_en_US_sappsd.properties +14 -4
  812. package/src/i18n/messagebundle_en_US_saprigi.properties +14 -4
  813. package/src/i18n/messagebundle_en_US_saptrc.properties +14 -4
  814. package/src/i18n/messagebundle_es.properties +13 -3
  815. package/src/i18n/messagebundle_es_MX.properties +13 -3
  816. package/src/i18n/messagebundle_et.properties +13 -3
  817. package/src/i18n/messagebundle_fi.properties +13 -3
  818. package/src/i18n/messagebundle_fr.properties +13 -3
  819. package/src/i18n/messagebundle_fr_CA.properties +14 -4
  820. package/src/i18n/messagebundle_hi.properties +13 -3
  821. package/src/i18n/messagebundle_hr.properties +13 -3
  822. package/src/i18n/messagebundle_hu.properties +13 -3
  823. package/src/i18n/messagebundle_id.properties +13 -3
  824. package/src/i18n/messagebundle_it.properties +13 -3
  825. package/src/i18n/messagebundle_iw.properties +13 -3
  826. package/src/i18n/messagebundle_ja.properties +13 -3
  827. package/src/i18n/messagebundle_kk.properties +13 -3
  828. package/src/i18n/messagebundle_ko.properties +13 -3
  829. package/src/i18n/messagebundle_lt.properties +13 -3
  830. package/src/i18n/messagebundle_lv.properties +13 -3
  831. package/src/i18n/messagebundle_ms.properties +13 -3
  832. package/src/i18n/messagebundle_nl.properties +15 -5
  833. package/src/i18n/messagebundle_no.properties +13 -3
  834. package/src/i18n/messagebundle_pl.properties +13 -3
  835. package/src/i18n/messagebundle_pt.properties +13 -3
  836. package/src/i18n/messagebundle_pt_PT.properties +13 -3
  837. package/src/i18n/messagebundle_ro.properties +13 -3
  838. package/src/i18n/messagebundle_ru.properties +13 -3
  839. package/src/i18n/messagebundle_sh.properties +13 -3
  840. package/src/i18n/messagebundle_sk.properties +13 -3
  841. package/src/i18n/messagebundle_sl.properties +13 -3
  842. package/src/i18n/messagebundle_sv.properties +13 -3
  843. package/src/i18n/messagebundle_th.properties +13 -3
  844. package/src/i18n/messagebundle_tr.properties +13 -3
  845. package/src/i18n/messagebundle_uk.properties +13 -3
  846. package/src/i18n/messagebundle_vi.properties +13 -3
  847. package/src/i18n/messagebundle_zh_CN.properties +15 -5
  848. package/src/i18n/messagebundle_zh_TW.properties +13 -3
  849. package/src/popup-utils/OpenedPopupsRegistry.js +20 -0
  850. package/src/popup-utils/PopoverRegistry.js +23 -15
  851. package/src/themes/Avatar.css +5 -2
  852. package/src/themes/AvatarGroup.css +1 -0
  853. package/src/themes/Badge.css +2 -2
  854. package/src/themes/Breadcrumbs.css +3 -0
  855. package/src/themes/BreadcrumbsPopover.css +1 -0
  856. package/src/themes/BrowserScrollbar.css +6 -6
  857. package/src/themes/BusyIndicator.css +1 -1
  858. package/src/themes/Button.css +19 -13
  859. package/src/themes/CardHeader.css +19 -2
  860. package/src/themes/Carousel.css +4 -4
  861. package/src/themes/DatePicker.css +19 -1
  862. package/src/themes/DayPicker.css +4 -4
  863. package/src/themes/Dialog.css +41 -2
  864. package/src/themes/GroupHeaderListItem.css +1 -0
  865. package/src/themes/Icon.css +7 -0
  866. package/src/themes/Input.css +46 -18
  867. package/src/themes/ListItem.css +20 -2
  868. package/src/themes/Menu.css +26 -2
  869. package/src/themes/MonthPicker.css +1 -1
  870. package/src/themes/Panel.css +12 -4
  871. package/src/themes/RadioButton.css +6 -6
  872. package/src/themes/StepInput.css +9 -0
  873. package/src/themes/TabContainer.css +19 -3
  874. package/src/themes/TabInOverflow.css +1 -0
  875. package/src/themes/TabInStrip.css +12 -11
  876. package/src/themes/Table.css +10 -0
  877. package/src/themes/TableCell.css +4 -0
  878. package/src/themes/TableColumn.css +1 -1
  879. package/src/themes/TableRow.css +34 -4
  880. package/src/themes/TextArea.css +244 -148
  881. package/src/themes/TimePicker.css +12 -0
  882. package/src/themes/{TreeListItem.css → TreeItem.css} +49 -2
  883. package/src/themes/ValueStateMessage.css +1 -0
  884. package/src/themes/YearPicker.css +1 -1
  885. package/src/themes/base/Avatar-parameters.css +1 -0
  886. package/src/themes/base/DayPicker-parameters.css +3 -0
  887. package/src/themes/base/Dialog-parameters.css +8 -0
  888. package/src/themes/base/Input-parameters.css +11 -1
  889. package/src/themes/base/Menu-parameters.css +2 -0
  890. package/src/themes/base/Panel-parameters.css +1 -0
  891. package/src/themes/base/TabContainer-parameters.css +4 -0
  892. package/src/themes/base/Table-parameters.css +1 -0
  893. package/src/themes/base/TextArea-parameters.css +35 -17
  894. package/src/themes/base/ValueStateMessage-parameters.css +2 -1
  895. package/src/themes/base/sizes-parameters.css +10 -3
  896. package/src/themes/sap_belize/DayPicker-parameters.css +1 -1
  897. package/src/themes/sap_belize/TabContainer-parameters.css +4 -0
  898. package/src/themes/sap_belize/TextArea-parameters.css +15 -0
  899. package/src/themes/sap_belize/parameters-bundle.css +2 -2
  900. package/src/themes/sap_belize/sizes-parameters.css +2 -0
  901. package/src/themes/sap_belize_hcb/Button-parameters.css +1 -0
  902. package/src/themes/sap_belize_hcb/DayPicker-parameters.css +7 -0
  903. package/src/themes/sap_belize_hcb/TextArea-parameters.css +22 -4
  904. package/src/themes/sap_belize_hcw/Button-parameters.css +1 -0
  905. package/src/themes/sap_belize_hcw/DayPicker-parameters.css +7 -0
  906. package/src/themes/sap_belize_hcw/TextArea-parameters.css +22 -4
  907. package/src/themes/sap_fiori_3_hcb/Button-parameters.css +1 -0
  908. package/src/themes/sap_fiori_3_hcb/Dialog-parameters.css +8 -0
  909. package/src/themes/sap_fiori_3_hcb/TextArea-parameters.css +18 -8
  910. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  911. package/src/themes/sap_fiori_3_hcw/Button-parameters.css +1 -0
  912. package/src/themes/sap_fiori_3_hcw/Dialog-parameters.css +8 -0
  913. package/src/themes/sap_fiori_3_hcw/TextArea-parameters.css +18 -8
  914. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  915. package/src/themes/sap_horizon/CheckBox-parameters.css +1 -0
  916. package/src/themes/sap_horizon/Input-parameters.css +3 -0
  917. package/src/themes/sap_horizon/Panel-parameters.css +1 -0
  918. package/src/themes/sap_horizon/Table-parameters.css +0 -1
  919. package/src/themes/sap_horizon/TextArea-parameters.css +31 -12
  920. package/src/themes/sap_horizon/ValueStateMessage-parameters.css +1 -0
  921. package/src/themes/sap_horizon/parameters-bundle.css +1 -1
  922. package/src/themes/sap_horizon/sizes-parameters.css +4 -0
  923. package/src/themes/sap_horizon_dark/Input-parameters.css +3 -0
  924. package/src/themes/sap_horizon_dark/ListItemBase-parameters.css +0 -1
  925. package/src/themes/sap_horizon_dark/Panel-parameters.css +1 -0
  926. package/src/themes/sap_horizon_dark/Table-parameters.css +0 -1
  927. package/src/themes/sap_horizon_dark/TextArea-parameters.css +31 -12
  928. package/src/themes/sap_horizon_dark/ValueStateMessage-parameters.css +1 -0
  929. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  930. package/src/themes/sap_horizon_dark/sizes-parameters.css +6 -0
  931. package/src/themes/sap_horizon_hcb/Dialog-parameters.css +4 -0
  932. package/src/themes/sap_horizon_hcb/Input-parameters.css +1 -0
  933. package/src/themes/sap_horizon_hcb/TextArea-parameters.css +24 -10
  934. package/src/themes/sap_horizon_hcw/Dialog-parameters.css +4 -0
  935. package/src/themes/sap_horizon_hcw/Input-parameters.css +1 -0
  936. package/src/themes/sap_horizon_hcw/TextArea-parameters.css +25 -11
  937. package/src/types/AvatarColorScheme.ts +89 -0
  938. package/src/types/AvatarGroupType.ts +28 -0
  939. package/src/types/AvatarShape.ts +26 -0
  940. package/src/types/AvatarSize.ts +52 -0
  941. package/src/types/BreadcrumbsDesign.ts +28 -0
  942. package/src/types/BreadcrumbsSeparatorStyle.ts +55 -0
  943. package/src/types/BusyIndicatorSize.ts +33 -0
  944. package/src/types/ButtonDesign.ts +54 -0
  945. package/src/types/CalendarSelectionMode.ts +33 -0
  946. package/src/types/CarouselArrowsPlacement.ts +26 -0
  947. package/src/types/HasPopup.ts +47 -0
  948. package/src/types/{InputType.js → InputType.ts} +13 -27
  949. package/src/types/LinkDesign.ts +33 -0
  950. package/src/types/ListGrowingMode.ts +34 -0
  951. package/src/types/ListItemType.ts +40 -0
  952. package/src/types/{ListMode.js → ListMode.ts} +14 -28
  953. package/src/types/ListSeparators.ts +32 -0
  954. package/src/types/MessageStripDesign.ts +40 -0
  955. package/src/types/PanelAccessibleRole.ts +37 -0
  956. package/src/types/PopoverHorizontalAlign.ts +40 -0
  957. package/src/types/PopoverPlacementType.ts +40 -0
  958. package/src/types/PopoverVerticalAlign.ts +40 -0
  959. package/src/types/Priority.ts +40 -0
  960. package/src/types/SemanticColor.ts +47 -0
  961. package/src/types/SwitchDesign.ts +26 -0
  962. package/src/types/TabContainerBackgroundDesign.ts +33 -0
  963. package/src/types/TabContainerTabsPlacement.ts +26 -0
  964. package/src/types/TabLayout.ts +26 -0
  965. package/src/types/TableColumnPopinDisplay.ts +26 -0
  966. package/src/types/TableGrowingMode.ts +34 -0
  967. package/src/types/TableMode.ts +33 -0
  968. package/src/types/TableRowType.ts +26 -0
  969. package/src/types/TabsOverflowMode.ts +26 -0
  970. package/src/types/{TitleLevel.js → TitleLevel.ts} +13 -27
  971. package/src/types/ToastPlacement.ts +77 -0
  972. package/src/types/WrappingType.ts +26 -0
  973. package/tsconfig.json +14 -0
  974. package/dist/TreeListItem.js +0 -342
  975. package/dist/assets/SAP-icons-business-suite.60260cdf.js +0 -1
  976. package/dist/assets/SAP-icons.09567bd9.js +0 -1
  977. package/dist/assets/SAP-icons.1f482d05.js +0 -1
  978. package/dist/assets/ar.7fd1011b.js +0 -1
  979. package/dist/assets/ar_EG.4dd5f305.js +0 -1
  980. package/dist/assets/ar_SA.8c5a937a.js +0 -1
  981. package/dist/assets/bg.a4d82c03.js +0 -1
  982. package/dist/assets/ca.0021f734.js +0 -1
  983. package/dist/assets/cs.0e585b65.js +0 -1
  984. package/dist/assets/da.521611de.js +0 -1
  985. package/dist/assets/de.63fdffdf.js +0 -1
  986. package/dist/assets/de_AT.ea95f993.js +0 -1
  987. package/dist/assets/de_CH.90d5e701.js +0 -1
  988. package/dist/assets/el.3e1beb01.js +0 -1
  989. package/dist/assets/el_CY.209073e0.js +0 -1
  990. package/dist/assets/en.1af5f31c.js +0 -1
  991. package/dist/assets/en_AU.25e8cf38.js +0 -1
  992. package/dist/assets/en_GB.43297e37.js +0 -1
  993. package/dist/assets/en_HK.0da1e0b5.js +0 -1
  994. package/dist/assets/en_IE.c4988873.js +0 -1
  995. package/dist/assets/en_IN.96d721e2.js +0 -1
  996. package/dist/assets/en_NZ.1091e526.js +0 -1
  997. package/dist/assets/en_PG.f028e345.js +0 -1
  998. package/dist/assets/en_SG.8d370bdb.js +0 -1
  999. package/dist/assets/en_ZA.0cbf9d6e.js +0 -1
  1000. package/dist/assets/es.37dda275.js +0 -1
  1001. package/dist/assets/es_AR.da796f99.js +0 -1
  1002. package/dist/assets/es_BO.2b15333c.js +0 -1
  1003. package/dist/assets/es_CL.048ca1f2.js +0 -1
  1004. package/dist/assets/es_CO.257ed3d6.js +0 -1
  1005. package/dist/assets/es_MX.061e6bbb.js +0 -1
  1006. package/dist/assets/es_PE.f7c17b7a.js +0 -1
  1007. package/dist/assets/es_UY.73781c0c.js +0 -1
  1008. package/dist/assets/es_VE.fe0f3310.js +0 -1
  1009. package/dist/assets/et.fbe81c9d.js +0 -1
  1010. package/dist/assets/fa.acfcfa4d.js +0 -1
  1011. package/dist/assets/fi.0379b5fc.js +0 -1
  1012. package/dist/assets/fr.f6c58c06.js +0 -1
  1013. package/dist/assets/fr_BE.c6e52c3f.js +0 -1
  1014. package/dist/assets/fr_CA.e3c92112.js +0 -1
  1015. package/dist/assets/fr_CH.fc89bdfc.js +0 -1
  1016. package/dist/assets/fr_LU.4fffec47.js +0 -1
  1017. package/dist/assets/he.ca2cb3e0.js +0 -1
  1018. package/dist/assets/hi.82a0ad5b.js +0 -1
  1019. package/dist/assets/hr.ab15877f.js +0 -1
  1020. package/dist/assets/hu.c3d72d24.js +0 -1
  1021. package/dist/assets/id.163ccc8d.js +0 -1
  1022. package/dist/assets/it_CH.69227571.js +0 -1
  1023. package/dist/assets/ja.18f39a5b.js +0 -1
  1024. package/dist/assets/kk.a697e741.js +0 -1
  1025. package/dist/assets/ko.ebe1e5db.js +0 -1
  1026. package/dist/assets/lt.775927de.js +0 -1
  1027. package/dist/assets/lv.d7e9d5e6.js +0 -1
  1028. package/dist/assets/messagebundle_ar.f3e988df.js +0 -1
  1029. package/dist/assets/messagebundle_bg.a3f6fdd8.js +0 -1
  1030. package/dist/assets/messagebundle_ca.5e72bf09.js +0 -1
  1031. package/dist/assets/messagebundle_cs.5720e069.js +0 -1
  1032. package/dist/assets/messagebundle_cy.51ed6118.js +0 -1
  1033. package/dist/assets/messagebundle_da.d83f1df6.js +0 -1
  1034. package/dist/assets/messagebundle_de.4d53d415.js +0 -1
  1035. package/dist/assets/messagebundle_el.54337d1a.js +0 -1
  1036. package/dist/assets/messagebundle_en.46c4c8b4.js +0 -1
  1037. package/dist/assets/messagebundle_en_GB.d9037cba.js +0 -1
  1038. package/dist/assets/messagebundle_en_US_sappsd.2f342e46.js +0 -1
  1039. package/dist/assets/messagebundle_en_US_saprigi.58918baa.js +0 -1
  1040. package/dist/assets/messagebundle_en_US_saptrc.a358bbc3.js +0 -1
  1041. package/dist/assets/messagebundle_es.6edd9aac.js +0 -1
  1042. package/dist/assets/messagebundle_es_MX.b9a235b1.js +0 -1
  1043. package/dist/assets/messagebundle_et.2f95fbc0.js +0 -1
  1044. package/dist/assets/messagebundle_fi.e408238f.js +0 -1
  1045. package/dist/assets/messagebundle_fr.023ec658.js +0 -1
  1046. package/dist/assets/messagebundle_fr_CA.700b3003.js +0 -1
  1047. package/dist/assets/messagebundle_hi.e54398ec.js +0 -1
  1048. package/dist/assets/messagebundle_hr.87a5cf12.js +0 -1
  1049. package/dist/assets/messagebundle_hu.11f04021.js +0 -1
  1050. package/dist/assets/messagebundle_it.aa33f57d.js +0 -1
  1051. package/dist/assets/messagebundle_iw.876a2de2.js +0 -1
  1052. package/dist/assets/messagebundle_ja.8e38b3b9.js +0 -1
  1053. package/dist/assets/messagebundle_kk.16201d64.js +0 -1
  1054. package/dist/assets/messagebundle_ko.efd3d190.js +0 -1
  1055. package/dist/assets/messagebundle_lt.8df3235f.js +0 -1
  1056. package/dist/assets/messagebundle_lv.1485b0dd.js +0 -1
  1057. package/dist/assets/messagebundle_ms.2801cf14.js +0 -1
  1058. package/dist/assets/messagebundle_nl.fbaa57e5.js +0 -1
  1059. package/dist/assets/messagebundle_no.aed62d2d.js +0 -1
  1060. package/dist/assets/messagebundle_pl.ec09771e.js +0 -1
  1061. package/dist/assets/messagebundle_pt.2ba5f988.js +0 -1
  1062. package/dist/assets/messagebundle_pt_PT.f26a67f1.js +0 -1
  1063. package/dist/assets/messagebundle_ro.71197951.js +0 -1
  1064. package/dist/assets/messagebundle_ru.0bc1939f.js +0 -1
  1065. package/dist/assets/messagebundle_sh.097c2c2b.js +0 -1
  1066. package/dist/assets/messagebundle_sk.79a87686.js +0 -1
  1067. package/dist/assets/messagebundle_sl.9d602bfb.js +0 -1
  1068. package/dist/assets/messagebundle_sv.efb6e0ef.js +0 -1
  1069. package/dist/assets/messagebundle_th.94c0d1ab.js +0 -1
  1070. package/dist/assets/messagebundle_tr.b3a571be.js +0 -1
  1071. package/dist/assets/messagebundle_uk.8d0551a9.js +0 -1
  1072. package/dist/assets/messagebundle_vi.6819ccf0.js +0 -1
  1073. package/dist/assets/messagebundle_zh_CN.0c604a5d.js +0 -1
  1074. package/dist/assets/messagebundle_zh_TW.4659173f.js +0 -1
  1075. package/dist/assets/ms.d6569411.js +0 -1
  1076. package/dist/assets/nb.e08266d5.js +0 -1
  1077. package/dist/assets/nl.9999541e.js +0 -1
  1078. package/dist/assets/nl_BE.10b9e463.js +0 -1
  1079. package/dist/assets/parameters-bundle.css.15bec13d.js +0 -1
  1080. package/dist/assets/parameters-bundle.css.16d388d6.js +0 -1
  1081. package/dist/assets/parameters-bundle.css.278628a2.js +0 -1
  1082. package/dist/assets/parameters-bundle.css.31ea3347.js +0 -1
  1083. package/dist/assets/parameters-bundle.css.3db3a626.js +0 -1
  1084. package/dist/assets/parameters-bundle.css.4f500511.js +0 -1
  1085. package/dist/assets/parameters-bundle.css.572a1598.js +0 -1
  1086. package/dist/assets/parameters-bundle.css.5a6e960a.js +0 -1
  1087. package/dist/assets/parameters-bundle.css.5c8d3b46.js +0 -1
  1088. package/dist/assets/parameters-bundle.css.608c209a.js +0 -1
  1089. package/dist/assets/parameters-bundle.css.780c6a0b.js +0 -1
  1090. package/dist/assets/parameters-bundle.css.7be18144.js +0 -1
  1091. package/dist/assets/parameters-bundle.css.95d13129.js +0 -1
  1092. package/dist/assets/parameters-bundle.css.9a4a59b6.js +0 -1
  1093. package/dist/assets/parameters-bundle.css.c269a39b.js +0 -1
  1094. package/dist/assets/parameters-bundle.css.c65b0aec.js +0 -1
  1095. package/dist/assets/parameters-bundle.css.c967e7ef.js +0 -1
  1096. package/dist/assets/parameters-bundle.css.cd453338.js +0 -1
  1097. package/dist/assets/parameters-bundle.css.d35c9c32.js +0 -1
  1098. package/dist/assets/parameters-bundle.css.d4f504ed.js +0 -1
  1099. package/dist/assets/parameters-bundle.css.e9339a13.js +0 -1
  1100. package/dist/assets/parameters-bundle.css.e9998509.js +0 -1
  1101. package/dist/assets/parameters-bundle.css.f0eeb6a4.js +0 -1
  1102. package/dist/assets/parameters-bundle.css.f6aea851.js +0 -1
  1103. package/dist/assets/pl.896f748a.js +0 -1
  1104. package/dist/assets/pt.9282da43.js +0 -1
  1105. package/dist/assets/pt_PT.8de6f4a2.js +0 -1
  1106. package/dist/assets/ro.f27aab0d.js +0 -1
  1107. package/dist/assets/ru.925a56df.js +0 -1
  1108. package/dist/assets/ru_UA.066d9903.js +0 -1
  1109. package/dist/assets/sk.cea36c4c.js +0 -1
  1110. package/dist/assets/sl.00e904c8.js +0 -1
  1111. package/dist/assets/sr.5ffa8a72.js +0 -1
  1112. package/dist/assets/sr_Latn.37760dd7.js +0 -1
  1113. package/dist/assets/sv.e8d71660.js +0 -1
  1114. package/dist/assets/th.9c7b50b0.js +0 -1
  1115. package/dist/assets/tr.0a0fb3ee.js +0 -1
  1116. package/dist/assets/uk.7ee1da23.js +0 -1
  1117. package/dist/assets/vi.b1f74e9c.js +0 -1
  1118. package/dist/assets/zh_CN.a1d71c11.js +0 -1
  1119. package/dist/assets/zh_HK.a47dd921.js +0 -1
  1120. package/dist/assets/zh_SG.1cd17a31.js +0 -1
  1121. package/dist/assets/zh_TW.b03069d7.js +0 -1
  1122. package/dist/css/themes/TreeListItem.css +0 -1
  1123. package/dist/generated/themes/TreeListItem.css.js +0 -8
  1124. package/dist/types/GrowingMode.js +0 -48
  1125. package/src/Button.js +0 -513
  1126. package/src/CalendarDate.js +0 -45
  1127. package/src/CalendarHeader.js +0 -213
  1128. package/src/ColorPicker.js +0 -600
  1129. package/src/CustomListItem.js +0 -99
  1130. package/src/DateComponentBase.js +0 -168
  1131. package/src/FileUploader.js +0 -531
  1132. package/src/Label.js +0 -156
  1133. package/src/Link.js +0 -403
  1134. package/src/List.js +0 -1104
  1135. package/src/ListItem.js +0 -406
  1136. package/src/ListItemBase.js +0 -181
  1137. package/src/StandardListItem.js +0 -207
  1138. package/src/Switch.js +0 -291
  1139. package/src/TableColumn.js +0 -129
  1140. package/src/Title.js +0 -132
  1141. package/src/TreeListItem.js +0 -342
  1142. package/src/types/AvatarColorScheme.js +0 -104
  1143. package/src/types/AvatarGroupType.js +0 -43
  1144. package/src/types/AvatarShape.js +0 -41
  1145. package/src/types/AvatarSize.js +0 -67
  1146. package/src/types/BreadcrumbsDesign.js +0 -42
  1147. package/src/types/BreadcrumbsSeparatorStyle.js +0 -69
  1148. package/src/types/BusyIndicatorSize.js +0 -47
  1149. package/src/types/ButtonDesign.js +0 -68
  1150. package/src/types/CalendarSelectionMode.js +0 -47
  1151. package/src/types/CarouselArrowsPlacement.js +0 -40
  1152. package/src/types/GrowingMode.js +0 -48
  1153. package/src/types/HasPopup.js +0 -62
  1154. package/src/types/LinkDesign.js +0 -47
  1155. package/src/types/ListGrowingMode.js +0 -48
  1156. package/src/types/ListItemType.js +0 -47
  1157. package/src/types/ListSeparators.js +0 -46
  1158. package/src/types/MessageStripDesign.js +0 -54
  1159. package/src/types/PanelAccessibleRole.js +0 -48
  1160. package/src/types/PopoverHorizontalAlign.js +0 -54
  1161. package/src/types/PopoverPlacementType.js +0 -54
  1162. package/src/types/PopoverVerticalAlign.js +0 -54
  1163. package/src/types/Priority.js +0 -55
  1164. package/src/types/SemanticColor.js +0 -61
  1165. package/src/types/SwitchDesign.js +0 -40
  1166. package/src/types/TabContainerTabsPlacement.js +0 -40
  1167. package/src/types/TabLayout.js +0 -40
  1168. package/src/types/TableGrowingMode.js +0 -48
  1169. package/src/types/TableMode.js +0 -47
  1170. package/src/types/TableRowType.js +0 -40
  1171. package/src/types/TabsOverflowMode.js +0 -40
  1172. package/src/types/ToastPlacement.js +0 -91
  1173. package/src/types/WrappingType.js +0 -41
package/dist/List.js CHANGED
@@ -1,365 +1,45 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var List_1;
1
8
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
9
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
10
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
4
11
  import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
12
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
13
+ import fastNavigation from "@ui5/webcomponents-base/dist/decorators/fastNavigation.js";
14
+ import event from "@ui5/webcomponents-base/dist/decorators/event.js";
15
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
16
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
5
17
  import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
6
- import { getLastTabbableElement } from "@ui5/webcomponents-base/dist/util/TabbableElements.js";
7
- import {
8
- isTabNext,
9
- isSpace,
10
- isEnter,
11
- isTabPrevious,
12
- } from "@ui5/webcomponents-base/dist/Keys.js";
18
+ import { isTabNext, isSpace, isEnter, isTabPrevious, } from "@ui5/webcomponents-base/dist/Keys.js";
13
19
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
14
20
  import NavigationMode from "@ui5/webcomponents-base/dist/types/NavigationMode.js";
15
21
  import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
22
+ import getNormalizedTarget from "@ui5/webcomponents-base/dist/util/getNormalizedTarget.js";
23
+ import getEffectiveScrollbarStyle from "@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js";
16
24
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
17
25
  import debounce from "@ui5/webcomponents-base/dist/util/debounce.js";
18
26
  import isElementInView from "@ui5/webcomponents-base/dist/util/isElementInView.js";
19
27
  import ListMode from "./types/ListMode.js";
20
28
  import ListGrowingMode from "./types/ListGrowingMode.js";
21
29
  import ListSeparators from "./types/ListSeparators.js";
30
+ // @ts-ignore
22
31
  import BusyIndicator from "./BusyIndicator.js";
23
-
24
32
  // Template
25
33
  import ListTemplate from "./generated/templates/ListTemplate.lit.js";
26
-
27
34
  // Styles
28
35
  import listCss from "./generated/themes/List.css.js";
29
36
  import browserScrollbarCSS from "./generated/themes/BrowserScrollbar.css.js";
30
-
31
37
  // Texts
32
- import {
33
- LOAD_MORE_TEXT, ARIA_LABEL_LIST_SELECTABLE,
34
- ARIA_LABEL_LIST_MULTISELECTABLE,
35
- ARIA_LABEL_LIST_DELETABLE,
36
- } from "./generated/i18n/i18n-defaults.js";
37
-
38
+ import { LOAD_MORE_TEXT, ARIA_LABEL_LIST_SELECTABLE, ARIA_LABEL_LIST_MULTISELECTABLE, ARIA_LABEL_LIST_DELETABLE,
39
+ // @ts-ignore
40
+ } from "./generated/i18n/i18n-defaults.js";
38
41
  const INFINITE_SCROLL_DEBOUNCE_RATE = 250; // ms
39
-
40
42
  const PAGE_UP_DOWN_SIZE = 10;
41
-
42
- /**
43
- * @public
44
- */
45
- const metadata = {
46
- tag: "ui5-list",
47
- managedSlots: true,
48
- fastNavigation: true,
49
- slots: /** @lends sap.ui.webcomponents.main.List.prototype */ {
50
-
51
- /**
52
- * Defines the component header.
53
- * <br><br>
54
- * <b>Note:</b> When <code>header</code> is set, the
55
- * <code>headerText</code> property is ignored.
56
- *
57
- * @type {HTMLElement[]}
58
- * @slot
59
- * @public
60
- */
61
- header: {
62
- type: HTMLElement,
63
- },
64
-
65
- /**
66
- * Defines the items of the component.
67
- * <br><br>
68
- * <b>Note:</b> Use <code>ui5-li</code>, <code>ui5-li-custom</code>, and <code>ui5-li-groupheader</code> for the intended design.
69
- *
70
- * @type {sap.ui.webcomponents.main.IListItem[]}
71
- * @slot items
72
- * @public
73
- */
74
- "default": {
75
- propertyName: "items",
76
- type: HTMLElement,
77
- },
78
- },
79
- properties: /** @lends sap.ui.webcomponents.main.List.prototype */ {
80
-
81
- /**
82
- * Defines the component header text.
83
- * <br><br>
84
- * <b>Note:</b> If <code>header</code> is set this property is ignored.
85
- *
86
- * @type {string}
87
- * @defaultvalue ""
88
- * @public
89
- */
90
- headerText: {
91
- type: String,
92
- },
93
-
94
- /**
95
- * Defines the footer text.
96
- *
97
- * @type {string}
98
- * @defaultvalue ""
99
- * @public
100
- */
101
- footerText: {
102
- type: String,
103
- },
104
-
105
- /**
106
- * Determines whether the component is indented.
107
- *
108
- * @type {boolean}
109
- * @defaultvalue false
110
- * @public
111
- */
112
- indent: {
113
- type: Boolean,
114
- },
115
-
116
- /**
117
- * Defines the mode of the component.
118
- * <br><br>
119
- * <b>Note:</b> Available options are <code>None</code>, <code>SingleSelect</code>, <code>SingleSelectBegin</code>,
120
- * <code>SingleSelectEnd</code>, <code>MultiSelect</code>, and <code>Delete</code>.
121
- *
122
- * @type {ListMode}
123
- * @defaultvalue "None"
124
- * @public
125
- */
126
- mode: {
127
- type: ListMode,
128
- defaultValue: ListMode.None,
129
- },
130
-
131
- /**
132
- * Defines the text that is displayed when the component contains no items.
133
- *
134
- * @type {string}
135
- * @defaultvalue ""
136
- * @public
137
- */
138
- noDataText: {
139
- type: String,
140
- },
141
-
142
- /**
143
- * Defines the item separator style that is used.
144
- * <br><br>
145
- * <b>Notes:</b>
146
- * <ul>
147
- * <li>Avalaible options are <code>All</code>, <code>Inner</code>, and <code>None</code>.</li>
148
- * <li>When set to <code>None</code>, none of the items are separated by horizontal lines.</li>
149
- * <li>When set to <code>Inner</code>, the first item doesn't have a top separator and the last
150
- * item doesn't have a bottom separator.</li>
151
- * </ul>
152
- *
153
- * @type {ListSeparators}
154
- * @defaultvalue "All"
155
- * @public
156
- */
157
- separators: {
158
- type: ListSeparators,
159
- defaultValue: ListSeparators.All,
160
- },
161
-
162
- /**
163
- * Defines whether the component will have growing capability either by pressing a <code>More</code> button,
164
- * or via user scroll. In both cases <code>load-more</code> event is fired.
165
- * <br><br>
166
- *
167
- * Available options:
168
- * <br><br>
169
- * <code>Button</code> - Shows a <code>More</code> button at the bottom of the list,
170
- * pressing of which triggers the <code>load-more</code> event.
171
- * <br>
172
- * <code>Scroll</code> - The <code>load-more</code> event is triggered when the user scrolls to the bottom of the list;
173
- * <br>
174
- * <code>None</code> (default) - The growing is off.
175
- * <br><br>
176
- *
177
- * <b>Restrictions:</b> <code>growing="Scroll"</code> is not supported for Internet Explorer,
178
- * on IE the component will fallback to <code>growing="Button"</code>.
179
- * @type {ListGrowingMode}
180
- * @defaultvalue "None"
181
- * @since 1.0.0-rc.13
182
- * @public
183
- */
184
- growing: {
185
- type: ListGrowingMode,
186
- defaultValue: ListGrowingMode.None,
187
- },
188
-
189
- /**
190
- * Defines if the component would display a loading indicator over the list.
191
- *
192
- * @type {boolean}
193
- * @defaultvalue false
194
- * @public
195
- * @since 1.0.0-rc.6
196
- */
197
- busy: {
198
- type: Boolean,
199
- },
200
-
201
- /**
202
- * Defines the delay in milliseconds, after which the busy indicator will show up for this component.
203
- *
204
- * @type {Integer}
205
- * @defaultValue 1000
206
- * @public
207
- */
208
- busyDelay: {
209
- type: Integer,
210
- defaultValue: 1000,
211
- },
212
-
213
- /**
214
- * Defines the accessible name of the component.
215
- *
216
- * @type {string}
217
- * @defaultvalue ""
218
- * @public
219
- * @since 1.0.0-rc.15
220
- */
221
- accessibleName: {
222
- type: String,
223
- },
224
-
225
- /**
226
- * Defines the IDs of the elements that label the input.
227
- *
228
- * @type {string}
229
- * @defaultvalue ""
230
- * @public
231
- * @since 1.0.0-rc.15
232
- */
233
- accessibleNameRef: {
234
- type: String,
235
- defaultValue: "",
236
- },
237
-
238
- /**
239
- * Defines the accessible role of the component.
240
- * <br><br>
241
- * @public
242
- * @type {string}
243
- * @defaultvalue "list"
244
- * @since 1.0.0-rc.15
245
- */
246
- accessibleRole: {
247
- type: String,
248
- defaultValue: "list",
249
- },
250
-
251
- /**
252
- * Defines if the entire list is in view port.
253
- * @private
254
- */
255
- _inViewport: {
256
- type: Boolean,
257
- },
258
-
259
- /**
260
- * Defines the active state of the <code>More</code> button.
261
- * @private
262
- */
263
- _loadMoreActive: {
264
- type: Boolean,
265
- },
266
- },
267
- events: /** @lends sap.ui.webcomponents.main.List.prototype */ {
268
-
269
- /**
270
- * Fired when an item is activated, unless the item's <code>type</code> property
271
- * is set to <code>Inactive</code>.
272
- *
273
- * @event sap.ui.webcomponents.main.List#item-click
274
- * @allowPreventDefault
275
- * @param {HTMLElement} item The clicked item.
276
- * @public
277
- */
278
- "item-click": {
279
- detail: {
280
- item: { type: HTMLElement },
281
- },
282
- },
283
-
284
- /**
285
- * Fired when the <code>Close</code> button of any item is clicked
286
- * <br><br>
287
- * <b>Note:</b> This event is only applicable to list items that can be closed (such as notification list items),
288
- * not to be confused with <code>item-delete</code>.
289
- *
290
- * @event sap.ui.webcomponents.main.List#item-close
291
- * @param {HTMLElement} item the item about to be closed.
292
- * @public
293
- * @since 1.0.0-rc.8
294
- */
295
- "item-close": {
296
- detail: {
297
- item: { type: HTMLElement },
298
- },
299
- },
300
-
301
- /**
302
- * Fired when the <code>Toggle</code> button of any item is clicked.
303
- * <br><br>
304
- * <b>Note:</b> This event is only applicable to list items that can be toggled (such as notification group list items).
305
- *
306
- * @event sap.ui.webcomponents.main.List#item-toggle
307
- * @param {HTMLElement} item the toggled item.
308
- * @public
309
- * @since 1.0.0-rc.8
310
- */
311
- "item-toggle": {
312
- detail: {
313
- item: { type: HTMLElement },
314
- },
315
- },
316
-
317
- /**
318
- * Fired when the Delete button of any item is pressed.
319
- * <br><br>
320
- * <b>Note:</b> A Delete button is displayed on each item,
321
- * when the component <code>mode</code> property is set to <code>Delete</code>.
322
- *
323
- * @event sap.ui.webcomponents.main.List#item-delete
324
- * @param {HTMLElement} item the deleted item.
325
- * @public
326
- */
327
- "item-delete": {
328
- detail: {
329
- item: { type: HTMLElement },
330
- },
331
- },
332
-
333
- /**
334
- * Fired when selection is changed by user interaction
335
- * in <code>SingleSelect</code>, <code>SingleSelectBegin</code>, <code>SingleSelectEnd</code> and <code>MultiSelect</code> modes.
336
- *
337
- * @event sap.ui.webcomponents.main.List#selection-change
338
- * @param {Array} selectedItems An array of the selected items.
339
- * @param {Array} previouslySelectedItems An array of the previously selected items.
340
- * @public
341
- */
342
- "selection-change": {
343
- detail: {
344
- selectedItems: { type: Array },
345
- previouslySelectedItems: { type: Array },
346
- selectionComponentPressed: { type: Boolean }, // protected, indicates if the user used the selection components to change the selection
347
- },
348
- },
349
-
350
- /**
351
- * Fired when the user scrolls to the bottom of the list.
352
- * <br><br>
353
- * <b>Note:</b> The event is fired when the <code>growing='Scroll'</code> property is enabled.
354
- *
355
- * @event sap.ui.webcomponents.main.List#load-more
356
- * @public
357
- * @since 1.0.0-rc.6
358
- */
359
- "load-more": {},
360
- },
361
- };
362
-
363
43
  /**
364
44
  * @class
365
45
  *
@@ -421,684 +101,694 @@ const metadata = {
421
101
  *
422
102
  * @constructor
423
103
  * @author SAP SE
424
- * @alias sap.ui.webcomponents.main.List
425
- * @extends UI5Element
104
+ * @alias sap.ui.webc.main.List
105
+ * @extends sap.ui.webc.base.UI5Element
426
106
  * @tagname ui5-list
427
107
  * @appenddocs StandardListItem CustomListItem GroupHeaderListItem
428
108
  * @public
429
109
  */
430
- class List extends UI5Element {
431
- static get metadata() {
432
- return metadata;
433
- }
434
-
435
- static get render() {
436
- return litRender;
437
- }
438
-
439
- static get template() {
440
- return ListTemplate;
441
- }
442
-
443
- static get styles() {
444
- return [browserScrollbarCSS, listCss];
445
- }
446
-
447
- static async onDefine() {
448
- List.i18nBundle = await getI18nBundle("@ui5/webcomponents");
449
- }
450
-
451
- static get dependencies() {
452
- return [BusyIndicator];
453
- }
454
-
455
- constructor() {
456
- super();
457
- this.initItemNavigation();
458
-
459
- // Stores the last focused item within the internal ul element.
460
- this._previouslyFocusedItem = null;
461
-
462
- // Indicates that the List is forwarding the focus before or after the internal ul.
463
- this._forwardingFocus = false;
464
-
465
- this._previouslySelectedItem = null;
466
-
467
- // Indicates that the List has already subscribed for resize.
468
- this.resizeListenerAttached = false;
469
-
470
- // Indicates if the IntersectionObserver started observing the List
471
- this.listEndObserved = false;
472
-
473
- this.addEventListener("ui5-_press", this.onItemPress.bind(this));
474
- this.addEventListener("ui5-close", this.onItemClose.bind(this));
475
- this.addEventListener("ui5-toggle", this.onItemToggle.bind(this));
476
- this.addEventListener("ui5-_focused", this.onItemFocused.bind(this));
477
- this.addEventListener("ui5-_forward-after", this.onForwardAfter.bind(this));
478
- this.addEventListener("ui5-_forward-before", this.onForwardBefore.bind(this));
479
- this.addEventListener("ui5-_selection-requested", this.onSelectionRequested.bind(this));
480
- this.addEventListener("ui5-_focus-requested", this.focusUploadCollectionItem.bind(this));
481
-
482
- this._handleResize = this.checkListInViewport.bind(this);
483
-
484
- // Indicates the List bottom most part has been detected by the IntersectionObserver
485
- // for the first time.
486
- this.initialIntersection = true;
487
- }
488
-
489
- onExitDOM() {
490
- this.unobserveListEnd();
491
- this.resizeListenerAttached = false;
492
- ResizeHandler.deregister(this.getDomRef(), this._handleResize);
493
- }
494
-
495
- onBeforeRendering() {
496
- this.prepareListItems();
497
- }
498
-
499
- onAfterRendering() {
500
- if (this.growsOnScroll) {
501
- this.observeListEnd();
502
- } else if (this.listEndObserved) {
503
- this.unobserveListEnd();
504
- }
505
-
506
- if (this.grows) {
507
- this.checkListInViewport();
508
- this.attachForResize();
509
- }
510
- }
511
-
512
- attachForResize() {
513
- if (!this.resizeListenerAttached) {
514
- this.resizeListenerAttached = true;
515
- ResizeHandler.register(this.getDomRef(), this._handleResize);
516
- }
517
- }
518
-
519
- get shouldRenderH1() {
520
- return !this.header.length && this.headerText;
521
- }
522
-
523
- get headerID() {
524
- return `${this._id}-header`;
525
- }
526
-
527
- get modeLabelID() {
528
- return `${this._id}-modeLabel`;
529
- }
530
-
531
- get listEndDOM() {
532
- return this.shadowRoot.querySelector(".ui5-list-end-marker");
533
- }
534
-
535
- get hasData() {
536
- return this.getSlottedNodes("items").length !== 0;
537
- }
538
-
539
- get showNoDataText() {
540
- return !this.hasData && this.noDataText;
541
- }
542
-
543
- get isDelete() {
544
- return this.mode === ListMode.Delete;
545
- }
546
-
547
- get isSingleSelect() {
548
- return [
549
- ListMode.SingleSelect,
550
- ListMode.SingleSelectBegin,
551
- ListMode.SingleSelectEnd,
552
- ListMode.SingleSelectAuto,
553
- ].includes(this.mode);
554
- }
555
-
556
- get isMultiSelect() {
557
- return this.mode === ListMode.MultiSelect;
558
- }
559
-
560
- get ariaLabelledBy() {
561
- if (this.accessibleNameRef || this.accessibleName) {
562
- return undefined;
563
- }
564
- const ids = [];
565
-
566
- if (this.isMultiSelect || this.isSingleSelect || this.isDelete) {
567
- ids.push(this.modeLabelID);
568
- }
569
-
570
- if (this.shouldRenderH1) {
571
- ids.push(this.headerID);
572
- }
573
-
574
- return ids.length ? ids.join(" ") : undefined;
575
- }
576
-
577
- get ariaLabelTxt() {
578
- return getEffectiveAriaLabelText(this);
579
- }
580
-
581
- get ariaLabelModeText() {
582
- if (this.isMultiSelect) {
583
- return List.i18nBundle.getText(ARIA_LABEL_LIST_MULTISELECTABLE);
584
- }
585
- if (this.isSingleSelect) {
586
- return List.i18nBundle.getText(ARIA_LABEL_LIST_SELECTABLE);
587
- }
588
- if (this.isDelete) {
589
- return List.i18nBundle.getText(ARIA_LABEL_LIST_DELETABLE);
590
- }
591
-
592
- return undefined;
593
- }
594
-
595
- get grows() {
596
- return this.growing !== ListGrowingMode.None;
597
- }
598
-
599
- get growsOnScroll() {
600
- return this.growing === ListGrowingMode.Scroll;
601
- }
602
-
603
- get growsWithButton() {
604
- return this.growing === ListGrowingMode.Button;
605
- }
606
-
607
- get _growingButtonText() {
608
- return List.i18nBundle.getText(LOAD_MORE_TEXT);
609
- }
610
-
611
- get busyIndPosition() {
612
- if (!this.grows) {
613
- return "absolute";
614
- }
615
-
616
- return this._inViewport ? "absolute" : "sticky";
617
- }
618
-
619
- get styles() {
620
- return {
621
- busyInd: {
622
- position: this.busyIndPosition,
623
- },
624
- };
625
- }
626
-
627
- initItemNavigation() {
628
- this._itemNavigation = new ItemNavigation(this, {
629
- skipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items
630
- navigationMode: NavigationMode.Vertical,
631
- getItemsCallback: () => this.getEnabledItems(),
632
- });
633
- }
634
-
635
- prepareListItems() {
636
- const slottedItems = this.getSlottedNodes("items");
637
-
638
- slottedItems.forEach((item, key) => {
639
- const isLastChild = key === slottedItems.length - 1;
640
- const showBottomBorder = this.separators === ListSeparators.All
641
- || (this.separators === ListSeparators.Inner && !isLastChild);
642
-
643
- item._mode = this.mode;
644
- item.hasBorder = showBottomBorder;
645
- });
646
-
647
- this._previouslySelectedItem = null;
648
- }
649
-
650
- async observeListEnd() {
651
- if (!this.listEndObserved) {
652
- await renderFinished();
653
- this.getIntersectionObserver().observe(this.listEndDOM);
654
- this.listEndObserved = true;
655
- }
656
- }
657
-
658
- unobserveListEnd() {
659
- if (this.growingIntersectionObserver) {
660
- this.growingIntersectionObserver.disconnect();
661
- this.growingIntersectionObserver = null;
662
- this.listEndObserved = false;
663
- }
664
- }
665
-
666
- onInteresection(entries) {
667
- if (this.initialIntersection) {
668
- this.initialIntersection = false;
669
- return;
670
- }
671
- entries.forEach(entry => {
672
- if (entry.isIntersecting) {
673
- debounce(this.loadMore.bind(this), INFINITE_SCROLL_DEBOUNCE_RATE);
674
- }
675
- });
676
- }
677
-
678
- /*
679
- * ITEM SELECTION BASED ON THE CURRENT MODE
680
- */
681
- onSelectionRequested(event) {
682
- const previouslySelectedItems = this.getSelectedItems();
683
- let selectionChange = false;
684
- this._selectionRequested = true;
685
-
686
- if (this[`handle${this.mode}`]) {
687
- selectionChange = this[`handle${this.mode}`](event.detail.item, event.detail.selected);
688
- }
689
-
690
- if (selectionChange) {
691
- this.fireEvent("selection-change", {
692
- selectedItems: this.getSelectedItems(),
693
- previouslySelectedItems,
694
- selectionComponentPressed: event.detail.selectionComponentPressed,
695
- key: event.detail.key,
696
- });
697
- }
698
- }
699
-
700
- handleSingleSelect(item) {
701
- if (item.selected) {
702
- return false;
703
- }
704
-
705
- this.deselectSelectedItems();
706
- item.selected = true;
707
-
708
- return true;
709
- }
710
-
711
- handleSingleSelectBegin(item) {
712
- return this.handleSingleSelect(item);
713
- }
714
-
715
- handleSingleSelectEnd(item) {
716
- return this.handleSingleSelect(item);
717
- }
718
-
719
- handleSingleSelectAuto(item) {
720
- return this.handleSingleSelect(item);
721
- }
722
-
723
- handleMultiSelect(item, selected) {
724
- item.selected = selected;
725
- return true;
726
- }
727
-
728
- handleDelete(item) {
729
- this.fireEvent("item-delete", { item });
730
- }
731
-
732
- deselectSelectedItems() {
733
- this.getSelectedItems().forEach(item => { item.selected = false; });
734
- }
735
-
736
- getSelectedItems() {
737
- return this.getSlottedNodes("items").filter(item => item.selected);
738
- }
739
-
740
- getEnabledItems() {
741
- return this.getSlottedNodes("items").filter(item => !item.disabled);
742
- }
743
-
744
- _onkeydown(event) {
745
- if (isTabNext(event)) {
746
- this._handleTabNext(event);
747
- }
748
- }
749
-
750
- _onLoadMoreKeydown(event) {
751
- if (isSpace(event)) {
752
- event.preventDefault();
753
- this._loadMoreActive = true;
754
- }
755
-
756
- if (isEnter(event)) {
757
- this._onLoadMoreClick();
758
- this._loadMoreActive = true;
759
- }
760
-
761
- if (isTabNext(event)) {
762
- this.focusAfterElement();
763
- }
764
-
765
- if (isTabPrevious(event)) {
766
- if (this.getPreviouslyFocusedItem()) {
767
- this.focusPreviouslyFocusedItem();
768
- } else {
769
- this.focusFirstItem();
770
- }
771
- event.preventDefault();
772
- }
773
- }
774
-
775
- _onLoadMoreKeyup(event) {
776
- if (isSpace(event)) {
777
- this._onLoadMoreClick();
778
- }
779
- this._loadMoreActive = false;
780
- }
781
-
782
- _onLoadMoreMousedown() {
783
- this._loadMoreActive = true;
784
- }
785
-
786
- _onLoadMoreMouseup() {
787
- this._loadMoreActive = false;
788
- }
789
-
790
- _onLoadMoreClick() {
791
- this.loadMore();
792
- }
793
-
794
- checkListInViewport() {
795
- this._inViewport = isElementInView(this.getDomRef());
796
- }
797
-
798
- loadMore() {
799
- this.fireEvent("load-more");
800
- }
801
-
802
- /*
803
- * KEYBOARD SUPPORT
804
- */
805
- _handleTabNext(event) {
806
- // If forward navigation is performed, we check if the List has headerToolbar.
807
- // If yes - we check if the target is at the last tabbable element of the headerToolbar
808
- // to forward correctly the focus to the selected, previously focused or to the first list item.
809
- let lastTabbableEl;
810
- const target = this.getNormalizedTarget(event.target);
811
-
812
- if (this.headerToolbar) {
813
- lastTabbableEl = this.getHeaderToolbarLastTabbableElement();
814
- }
815
-
816
- if (!lastTabbableEl) {
817
- return;
818
- }
819
-
820
- if (lastTabbableEl === target) {
821
- if (this.getFirstItem(x => x.selected && !x.disabled)) {
822
- this.focusFirstSelectedItem();
823
- } else if (this.getPreviouslyFocusedItem()) {
824
- this.focusPreviouslyFocusedItem();
825
- } else {
826
- this.focusFirstItem();
827
- }
828
-
829
- event.stopImmediatePropagation();
830
- event.preventDefault();
831
- }
832
- }
833
-
834
- _onfocusin(event) {
835
- const target = this.getNormalizedTarget(event.target);
836
- // If the focusin event does not origin from one of the 'triggers' - ignore it.
837
- if (!this.isForwardElement(target)) {
838
- event.stopImmediatePropagation();
839
- return;
840
- }
841
-
842
- // The focus arrives in the List for the first time.
843
- // If there is selected item - focus it or focus the first item.
844
- if (!this.getPreviouslyFocusedItem()) {
845
- if (this.growsWithButton && this.isForwardAfterElement(target)) {
846
- this.focusGrowingButton();
847
- } else {
848
- this.focusFirstItem();
849
- }
850
- event.stopImmediatePropagation();
851
- return;
852
- }
853
-
854
- // The focus returns to the List,
855
- // focus the first selected item or the previously focused element.
856
- if (!this.getForwardingFocus()) {
857
- if (this.growsWithButton && this.isForwardAfterElement(target)) {
858
- this.focusGrowingButton();
859
- event.stopImmediatePropagation();
860
- return;
861
- }
862
-
863
- this.focusPreviouslyFocusedItem();
864
- event.stopImmediatePropagation();
865
- }
866
-
867
- this.setForwardingFocus(false);
868
- }
869
-
870
- isForwardElement(node) {
871
- const nodeId = node.id;
872
- const beforeElement = this.getBeforeElement();
873
-
874
- if (this._id === nodeId || (beforeElement && beforeElement.id === nodeId)) {
875
- return true;
876
- }
877
-
878
- return this.isForwardAfterElement(node);
879
- }
880
-
881
- isForwardAfterElement(node) {
882
- const nodeId = node.id;
883
- const afterElement = this.getAfterElement();
884
-
885
- return afterElement && afterElement.id === nodeId;
886
- }
887
-
888
- onItemFocused(event) {
889
- const target = event.target;
890
-
891
- event.stopPropagation();
892
-
893
- this._itemNavigation.setCurrentItem(target);
894
- this.fireEvent("item-focused", { item: target });
895
-
896
- if (this.mode === ListMode.SingleSelectAuto) {
897
- this.onSelectionRequested({
898
- detail: {
899
- item: target,
900
- selectionComponentPressed: false,
901
- selected: true,
902
- key: event.detail.key,
903
- },
904
- });
905
- }
906
- }
907
-
908
- onItemPress(event) {
909
- const pressedItem = event.detail.item;
910
-
911
- if (!this.fireEvent("item-click", { item: pressedItem }, true)) {
912
- return;
913
- }
914
-
915
- if (!this._selectionRequested && this.mode !== ListMode.Delete) {
916
- this._selectionRequested = true;
917
- this.onSelectionRequested({
918
- detail: {
919
- item: pressedItem,
920
- selectionComponentPressed: false,
921
- selected: !pressedItem.selected,
922
- key: event.detail.key,
923
- },
924
- });
925
- }
926
-
927
- this._selectionRequested = false;
928
- }
929
-
930
- // This is applicable to NoficationListItem
931
- onItemClose(event) {
932
- this.fireEvent("item-close", { item: event.detail.item });
933
- }
934
-
935
- onItemToggle(event) {
936
- this.fireEvent("item-toggle", { item: event.detail.item });
937
- }
938
-
939
- onForwardBefore(event) {
940
- this.setPreviouslyFocusedItem(event.target);
941
- this.focusBeforeElement();
942
- event.stopPropagation();
943
- }
944
-
945
- onForwardAfter(event) {
946
- this.setPreviouslyFocusedItem(event.target);
947
-
948
- if (!this.growsWithButton) {
949
- this.focusAfterElement();
950
- } else {
951
- this.focusGrowingButton();
952
- event.preventDefault();
953
- }
954
-
955
- event.stopPropagation();
956
- }
957
-
958
- focusBeforeElement() {
959
- this.setForwardingFocus(true);
960
- this.getBeforeElement().focus();
961
- }
962
-
963
- focusAfterElement() {
964
- this.setForwardingFocus(true);
965
- this.getAfterElement().focus();
966
- }
967
-
968
- focusGrowingButton() {
969
- const growingBtn = this.getGrowingButton();
970
-
971
- if (growingBtn) {
972
- growingBtn.focus();
973
- }
974
- }
975
-
976
- getGrowingButton() {
977
- return this.shadowRoot.querySelector(`#${this._id}-growing-btn`);
978
- }
979
-
980
- /**
981
- * Focuses the first list item and sets its tabindex to "0" via the ItemNavigation
982
- * @protected
983
- */
984
- focusFirstItem() {
985
- // only enabled items are focusable
986
- const firstItem = this.getFirstItem(x => !x.disabled);
987
-
988
- if (firstItem) {
989
- firstItem.focus();
990
- }
991
- }
992
-
993
- focusPreviouslyFocusedItem() {
994
- const previouslyFocusedItem = this.getPreviouslyFocusedItem();
995
-
996
- if (previouslyFocusedItem) {
997
- previouslyFocusedItem.focus();
998
- }
999
- }
1000
-
1001
- focusFirstSelectedItem() {
1002
- // only enabled items are focusable
1003
- const firstSelectedItem = this.getFirstItem(x => x.selected && !x.disabled);
1004
-
1005
- if (firstSelectedItem) {
1006
- firstSelectedItem.focus();
1007
- }
1008
- }
1009
-
1010
- /**
1011
- * Focuses a list item and sets its tabindex to "0" via the ItemNavigation
1012
- * @protected
1013
- * @param item
1014
- */
1015
- focusItem(item) {
1016
- this._itemNavigation.setCurrentItem(item);
1017
- item.focus();
1018
- }
1019
-
1020
- focusUploadCollectionItem(event) {
1021
- setTimeout(() => {
1022
- this.setPreviouslyFocusedItem(event.target);
1023
- this.focusPreviouslyFocusedItem();
1024
- }, 0);
1025
- }
1026
-
1027
- setForwardingFocus(forwardingFocus) {
1028
- this._forwardingFocus = forwardingFocus;
1029
- }
1030
-
1031
- getForwardingFocus() {
1032
- return this._forwardingFocus;
1033
- }
1034
-
1035
- setPreviouslyFocusedItem(item) {
1036
- this._previouslyFocusedItem = item;
1037
- }
1038
-
1039
- getPreviouslyFocusedItem() {
1040
- return this._previouslyFocusedItem;
1041
- }
1042
-
1043
- getFirstItem(filter) {
1044
- const slottedItems = this.getSlottedNodes("items");
1045
- let firstItem = null;
1046
-
1047
- if (!filter) {
1048
- return !!slottedItems.length && slottedItems[0];
1049
- }
1050
-
1051
- for (let i = 0; i < slottedItems.length; i++) {
1052
- if (filter(slottedItems[i])) {
1053
- firstItem = slottedItems[i];
1054
- break;
1055
- }
1056
- }
1057
-
1058
- return firstItem;
1059
- }
1060
-
1061
- getAfterElement() {
1062
- if (!this._afterElement) {
1063
- this._afterElement = this.shadowRoot.querySelector(`#${this._id}-after`);
1064
- }
1065
- return this._afterElement;
1066
- }
1067
-
1068
- getBeforeElement() {
1069
- if (!this._beforeElement) {
1070
- this._beforeElement = this.shadowRoot.querySelector(`#${this._id}-before`);
1071
- }
1072
- return this._beforeElement;
1073
- }
1074
-
1075
- getHeaderToolbarLastTabbableElement() {
1076
- return getLastTabbableElement(this.headerToolbar.getDomRef()) || this.headerToolbar.getDomRef();
1077
- }
1078
-
1079
- getNormalizedTarget(target) {
1080
- let focused = target;
1081
-
1082
- if (target.shadowRoot && target.shadowRoot.activeElement) {
1083
- focused = target.shadowRoot.activeElement;
1084
- }
1085
-
1086
- return focused;
1087
- }
1088
-
1089
- getIntersectionObserver() {
1090
- if (!this.growingIntersectionObserver) {
1091
- this.growingIntersectionObserver = new IntersectionObserver(this.onInteresection.bind(this), {
1092
- root: null,
1093
- rootMargin: "0px",
1094
- threshold: 1.0,
1095
- });
1096
- }
1097
-
1098
- return this.growingIntersectionObserver;
1099
- }
1100
- }
1101
-
110
+ let List = List_1 = class List extends UI5Element {
111
+ static get render() {
112
+ return litRender;
113
+ }
114
+ static get template() {
115
+ return ListTemplate;
116
+ }
117
+ static get styles() {
118
+ return [browserScrollbarCSS, listCss];
119
+ }
120
+ static async onDefine() {
121
+ List_1.i18nBundle = await getI18nBundle("@ui5/webcomponents");
122
+ }
123
+ static get dependencies() {
124
+ return [BusyIndicator];
125
+ }
126
+ constructor() {
127
+ super();
128
+ this._previouslyFocusedItem = null;
129
+ // Indicates that the List is forwarding the focus before or after the internal ul.
130
+ this._forwardingFocus = false;
131
+ // Indicates that the List has already subscribed for resize.
132
+ this.resizeListenerAttached = false;
133
+ // Indicates if the IntersectionObserver started observing the List
134
+ this.listEndObserved = false;
135
+ this._itemNavigation = new ItemNavigation(this, {
136
+ skipItemsSize: PAGE_UP_DOWN_SIZE,
137
+ navigationMode: NavigationMode.Vertical,
138
+ getItemsCallback: () => this.getEnabledItems(),
139
+ });
140
+ this._handleResize = this.checkListInViewport.bind(this);
141
+ this._handleResize = this.checkListInViewport.bind(this);
142
+ // Indicates the List bottom most part has been detected by the IntersectionObserver
143
+ // for the first time.
144
+ this.initialIntersection = true;
145
+ }
146
+ onExitDOM() {
147
+ this.unobserveListEnd();
148
+ this.resizeListenerAttached = false;
149
+ ResizeHandler.deregister(this.getDomRef(), this._handleResize);
150
+ }
151
+ onBeforeRendering() {
152
+ this.prepareListItems();
153
+ }
154
+ onAfterRendering() {
155
+ if (this.growsOnScroll) {
156
+ this.observeListEnd();
157
+ }
158
+ else if (this.listEndObserved) {
159
+ this.unobserveListEnd();
160
+ }
161
+ if (this.grows) {
162
+ this.checkListInViewport();
163
+ this.attachForResize();
164
+ }
165
+ }
166
+ attachForResize() {
167
+ if (!this.resizeListenerAttached) {
168
+ this.resizeListenerAttached = true;
169
+ ResizeHandler.register(this.getDomRef(), this._handleResize);
170
+ }
171
+ }
172
+ get shouldRenderH1() {
173
+ return !this.header.length && this.headerText;
174
+ }
175
+ get headerID() {
176
+ return `${this._id}-header`;
177
+ }
178
+ get modeLabelID() {
179
+ return `${this._id}-modeLabel`;
180
+ }
181
+ get listEndDOM() {
182
+ return this.shadowRoot.querySelector(".ui5-list-end-marker");
183
+ }
184
+ get hasData() {
185
+ return this.getItems().length !== 0;
186
+ }
187
+ get showNoDataText() {
188
+ return !this.hasData && this.noDataText;
189
+ }
190
+ get isDelete() {
191
+ return this.mode === ListMode.Delete;
192
+ }
193
+ get isSingleSelect() {
194
+ return [
195
+ ListMode.SingleSelect,
196
+ ListMode.SingleSelectBegin,
197
+ ListMode.SingleSelectEnd,
198
+ ListMode.SingleSelectAuto,
199
+ ].includes(this.mode);
200
+ }
201
+ get isMultiSelect() {
202
+ return this.mode === ListMode.MultiSelect;
203
+ }
204
+ get ariaLabelledBy() {
205
+ if (this.accessibleNameRef || this.accessibleName) {
206
+ return undefined;
207
+ }
208
+ const ids = [];
209
+ if (this.isMultiSelect || this.isSingleSelect || this.isDelete) {
210
+ ids.push(this.modeLabelID);
211
+ }
212
+ if (this.shouldRenderH1) {
213
+ ids.push(this.headerID);
214
+ }
215
+ return ids.length ? ids.join(" ") : undefined;
216
+ }
217
+ get ariaLabelTxt() {
218
+ return getEffectiveAriaLabelText(this);
219
+ }
220
+ get ariaLabelModeText() {
221
+ if (this.isMultiSelect) {
222
+ return List_1.i18nBundle.getText(ARIA_LABEL_LIST_MULTISELECTABLE);
223
+ }
224
+ if (this.isSingleSelect) {
225
+ return List_1.i18nBundle.getText(ARIA_LABEL_LIST_SELECTABLE);
226
+ }
227
+ if (this.isDelete) {
228
+ return List_1.i18nBundle.getText(ARIA_LABEL_LIST_DELETABLE);
229
+ }
230
+ return "";
231
+ }
232
+ get grows() {
233
+ return this.growing !== ListGrowingMode.None;
234
+ }
235
+ get growsOnScroll() {
236
+ return this.growing === ListGrowingMode.Scroll;
237
+ }
238
+ get growsWithButton() {
239
+ return this.growing === ListGrowingMode.Button;
240
+ }
241
+ get _growingButtonText() {
242
+ return List_1.i18nBundle.getText(LOAD_MORE_TEXT);
243
+ }
244
+ get busyIndPosition() {
245
+ if (!this.grows) {
246
+ return "absolute";
247
+ }
248
+ return this._inViewport ? "absolute" : "sticky";
249
+ }
250
+ get styles() {
251
+ return {
252
+ busyInd: {
253
+ position: this.busyIndPosition,
254
+ },
255
+ };
256
+ }
257
+ get classes() {
258
+ return {
259
+ root: {
260
+ "ui5-list-root": true,
261
+ "ui5-content-native-scrollbars": getEffectiveScrollbarStyle(),
262
+ },
263
+ };
264
+ }
265
+ prepareListItems() {
266
+ const slottedItems = this.getItems();
267
+ slottedItems.forEach((item, key) => {
268
+ const isLastChild = key === slottedItems.length - 1;
269
+ const showBottomBorder = this.separators === ListSeparators.All
270
+ || (this.separators === ListSeparators.Inner && !isLastChild);
271
+ if (item.hasConfigurableMode) {
272
+ item._mode = this.mode;
273
+ }
274
+ item.hasBorder = showBottomBorder;
275
+ });
276
+ }
277
+ async observeListEnd() {
278
+ if (!this.listEndObserved) {
279
+ await renderFinished();
280
+ this.getIntersectionObserver().observe(this.listEndDOM);
281
+ this.listEndObserved = true;
282
+ }
283
+ }
284
+ unobserveListEnd() {
285
+ if (this.growingIntersectionObserver) {
286
+ this.growingIntersectionObserver.disconnect();
287
+ this.growingIntersectionObserver = null;
288
+ this.listEndObserved = false;
289
+ }
290
+ }
291
+ onInteresection(entries) {
292
+ if (this.initialIntersection) {
293
+ this.initialIntersection = false;
294
+ return;
295
+ }
296
+ entries.forEach(entry => {
297
+ if (entry.isIntersecting) {
298
+ debounce(this.loadMore.bind(this), INFINITE_SCROLL_DEBOUNCE_RATE);
299
+ }
300
+ });
301
+ }
302
+ /*
303
+ * ITEM SELECTION BASED ON THE CURRENT MODE
304
+ */
305
+ onSelectionRequested(e) {
306
+ const previouslySelectedItems = this.getSelectedItems();
307
+ let selectionChange = false;
308
+ this._selectionRequested = true;
309
+ if (this.mode !== ListMode.None && this[`handle${this.mode}`]) {
310
+ selectionChange = this[`handle${this.mode}`](e.detail.item, !!e.detail.selected);
311
+ }
312
+ if (selectionChange) {
313
+ this.fireEvent("selection-change", {
314
+ selectedItems: this.getSelectedItems(),
315
+ previouslySelectedItems,
316
+ selectionComponentPressed: e.detail.selectionComponentPressed,
317
+ targetItem: e.detail.item,
318
+ key: e.detail.key,
319
+ });
320
+ }
321
+ }
322
+ handleSingleSelect(item) {
323
+ if (item.selected) {
324
+ return false;
325
+ }
326
+ this.deselectSelectedItems();
327
+ item.selected = true;
328
+ return true;
329
+ }
330
+ handleSingleSelectBegin(item) {
331
+ return this.handleSingleSelect(item);
332
+ }
333
+ handleSingleSelectEnd(item) {
334
+ return this.handleSingleSelect(item);
335
+ }
336
+ handleSingleSelectAuto(item) {
337
+ return this.handleSingleSelect(item);
338
+ }
339
+ handleMultiSelect(item, selected) {
340
+ item.selected = selected;
341
+ return true;
342
+ }
343
+ handleDelete(item) {
344
+ this.fireEvent("item-delete", { item });
345
+ return true;
346
+ }
347
+ deselectSelectedItems() {
348
+ this.getSelectedItems().forEach(item => { item.selected = false; });
349
+ }
350
+ getSelectedItems() {
351
+ return this.getItems().filter(item => item.selected);
352
+ }
353
+ getEnabledItems() {
354
+ return this.getItems().filter(item => !item.disabled);
355
+ }
356
+ getItems() {
357
+ return this.getSlottedNodes("items");
358
+ }
359
+ _onkeydown(e) {
360
+ if (isTabNext(e)) {
361
+ this._handleTabNext(e);
362
+ }
363
+ }
364
+ _onLoadMoreKeydown(e) {
365
+ if (isSpace(e)) {
366
+ e.preventDefault();
367
+ this._loadMoreActive = true;
368
+ }
369
+ if (isEnter(e)) {
370
+ this._onLoadMoreClick();
371
+ this._loadMoreActive = true;
372
+ }
373
+ if (isTabNext(e)) {
374
+ this.focusAfterElement();
375
+ }
376
+ if (isTabPrevious(e)) {
377
+ if (this.getPreviouslyFocusedItem()) {
378
+ this.focusPreviouslyFocusedItem();
379
+ }
380
+ else {
381
+ this.focusFirstItem();
382
+ }
383
+ e.preventDefault();
384
+ }
385
+ }
386
+ _onLoadMoreKeyup(e) {
387
+ if (isSpace(e)) {
388
+ this._onLoadMoreClick();
389
+ }
390
+ this._loadMoreActive = false;
391
+ }
392
+ _onLoadMoreMousedown() {
393
+ this._loadMoreActive = true;
394
+ }
395
+ _onLoadMoreMouseup() {
396
+ this._loadMoreActive = false;
397
+ }
398
+ _onLoadMoreClick() {
399
+ this.loadMore();
400
+ }
401
+ checkListInViewport() {
402
+ this._inViewport = isElementInView(this.getDomRef());
403
+ }
404
+ loadMore() {
405
+ this.fireEvent("load-more");
406
+ }
407
+ /*
408
+ * KEYBOARD SUPPORT
409
+ */
410
+ _handleTabNext(e) {
411
+ let lastTabbableEl;
412
+ const target = getNormalizedTarget(e.target);
413
+ if (!lastTabbableEl) {
414
+ return;
415
+ }
416
+ if (lastTabbableEl === target) {
417
+ if (this.getFirstItem(x => x.selected && !x.disabled)) {
418
+ this.focusFirstSelectedItem();
419
+ }
420
+ else if (this.getPreviouslyFocusedItem()) {
421
+ this.focusPreviouslyFocusedItem();
422
+ }
423
+ else {
424
+ this.focusFirstItem();
425
+ }
426
+ e.stopImmediatePropagation();
427
+ e.preventDefault();
428
+ }
429
+ }
430
+ _onfocusin(e) {
431
+ const target = getNormalizedTarget(e.target);
432
+ // If the focusin event does not origin from one of the 'triggers' - ignore it.
433
+ if (!this.isForwardElement(target)) {
434
+ e.stopImmediatePropagation();
435
+ return;
436
+ }
437
+ // The focus arrives in the List for the first time.
438
+ // If there is selected item - focus it or focus the first item.
439
+ if (!this.getPreviouslyFocusedItem()) {
440
+ if (this.growsWithButton && this.isForwardAfterElement(target)) {
441
+ this.focusGrowingButton();
442
+ }
443
+ else {
444
+ this.focusFirstItem();
445
+ }
446
+ e.stopImmediatePropagation();
447
+ return;
448
+ }
449
+ // The focus returns to the List,
450
+ // focus the first selected item or the previously focused element.
451
+ if (!this.getForwardingFocus()) {
452
+ if (this.growsWithButton && this.isForwardAfterElement(target)) {
453
+ this.focusGrowingButton();
454
+ e.stopImmediatePropagation();
455
+ return;
456
+ }
457
+ this.focusPreviouslyFocusedItem();
458
+ e.stopImmediatePropagation();
459
+ }
460
+ this.setForwardingFocus(false);
461
+ }
462
+ isForwardElement(element) {
463
+ const elementId = element.id;
464
+ const beforeElement = this.getBeforeElement();
465
+ if (this._id === elementId || (beforeElement && beforeElement.id === elementId)) {
466
+ return true;
467
+ }
468
+ return this.isForwardAfterElement(element);
469
+ }
470
+ isForwardAfterElement(element) {
471
+ const elementId = element.id;
472
+ const afterElement = this.getAfterElement();
473
+ return afterElement && afterElement.id === elementId;
474
+ }
475
+ onItemFocused(e) {
476
+ const target = e.target;
477
+ e.stopPropagation();
478
+ this._itemNavigation.setCurrentItem(target);
479
+ this.fireEvent("item-focused", { item: target });
480
+ if (this.mode === ListMode.SingleSelectAuto) {
481
+ const detail = {
482
+ item: target,
483
+ selectionComponentPressed: false,
484
+ selected: true,
485
+ key: e.detail.key,
486
+ };
487
+ this.onSelectionRequested({ detail });
488
+ }
489
+ }
490
+ onItemPress(e) {
491
+ const pressedItem = e.detail.item;
492
+ if (!this.fireEvent("item-click", { item: pressedItem }, true)) {
493
+ return;
494
+ }
495
+ if (!this._selectionRequested && this.mode !== ListMode.Delete) {
496
+ this._selectionRequested = true;
497
+ const detail = {
498
+ item: pressedItem,
499
+ selectionComponentPressed: false,
500
+ selected: !pressedItem.selected,
501
+ key: e.detail.key,
502
+ };
503
+ this.onSelectionRequested({ detail });
504
+ }
505
+ this._selectionRequested = false;
506
+ }
507
+ // This is applicable to NotificationListItem
508
+ onItemClose(e) {
509
+ this.fireEvent("item-close", { item: e.detail.item });
510
+ }
511
+ onItemToggle(e) {
512
+ this.fireEvent("item-toggle", { item: e.detail.item });
513
+ }
514
+ onForwardBefore(e) {
515
+ this.setPreviouslyFocusedItem(e.target);
516
+ this.focusBeforeElement();
517
+ e.stopPropagation();
518
+ }
519
+ onForwardAfter(e) {
520
+ this.setPreviouslyFocusedItem(e.target);
521
+ if (!this.growsWithButton) {
522
+ this.focusAfterElement();
523
+ }
524
+ else {
525
+ this.focusGrowingButton();
526
+ e.preventDefault();
527
+ }
528
+ e.stopPropagation();
529
+ }
530
+ focusBeforeElement() {
531
+ this.setForwardingFocus(true);
532
+ this.getBeforeElement().focus();
533
+ }
534
+ focusAfterElement() {
535
+ this.setForwardingFocus(true);
536
+ this.getAfterElement().focus();
537
+ }
538
+ focusGrowingButton() {
539
+ const growingBtn = this.getGrowingButton();
540
+ if (growingBtn) {
541
+ growingBtn.focus();
542
+ }
543
+ }
544
+ getGrowingButton() {
545
+ return this.shadowRoot.querySelector(`#${this._id}-growing-btn`);
546
+ }
547
+ /**
548
+ * Focuses the first list item and sets its tabindex to "0" via the ItemNavigation
549
+ * @protected
550
+ */
551
+ focusFirstItem() {
552
+ // only enabled items are focusable
553
+ const firstItem = this.getFirstItem(x => !x.disabled);
554
+ if (firstItem) {
555
+ firstItem.focus();
556
+ }
557
+ }
558
+ focusPreviouslyFocusedItem() {
559
+ const previouslyFocusedItem = this.getPreviouslyFocusedItem();
560
+ if (previouslyFocusedItem) {
561
+ previouslyFocusedItem.focus();
562
+ }
563
+ }
564
+ focusFirstSelectedItem() {
565
+ // only enabled items are focusable
566
+ const firstSelectedItem = this.getFirstItem(x => x.selected && !x.disabled);
567
+ if (firstSelectedItem) {
568
+ firstSelectedItem.focus();
569
+ }
570
+ }
571
+ /**
572
+ * Focuses a list item and sets its tabindex to "0" via the ItemNavigation
573
+ * @protected
574
+ * @param item
575
+ */
576
+ focusItem(item) {
577
+ this._itemNavigation.setCurrentItem(item);
578
+ item.focus();
579
+ }
580
+ onFocusRequested(e) {
581
+ setTimeout(() => {
582
+ this.setPreviouslyFocusedItem(e.target);
583
+ this.focusPreviouslyFocusedItem();
584
+ }, 0);
585
+ }
586
+ setForwardingFocus(forwardingFocus) {
587
+ this._forwardingFocus = forwardingFocus;
588
+ }
589
+ getForwardingFocus() {
590
+ return this._forwardingFocus;
591
+ }
592
+ setPreviouslyFocusedItem(item) {
593
+ this._previouslyFocusedItem = item;
594
+ }
595
+ getPreviouslyFocusedItem() {
596
+ return this._previouslyFocusedItem;
597
+ }
598
+ getFirstItem(filter) {
599
+ const slottedItems = this.getItems();
600
+ let firstItem = null;
601
+ if (!filter) {
602
+ return slottedItems.length ? slottedItems[0] : null;
603
+ }
604
+ for (let i = 0; i < slottedItems.length; i++) {
605
+ if (filter(slottedItems[i])) {
606
+ firstItem = slottedItems[i];
607
+ break;
608
+ }
609
+ }
610
+ return firstItem;
611
+ }
612
+ getAfterElement() {
613
+ if (!this._afterElement) {
614
+ this._afterElement = this.shadowRoot.querySelector(`#${this._id}-after`);
615
+ }
616
+ return this._afterElement;
617
+ }
618
+ getBeforeElement() {
619
+ if (!this._beforeElement) {
620
+ this._beforeElement = this.shadowRoot.querySelector(`#${this._id}-before`);
621
+ }
622
+ return this._beforeElement;
623
+ }
624
+ getIntersectionObserver() {
625
+ if (!this.growingIntersectionObserver) {
626
+ this.growingIntersectionObserver = new IntersectionObserver(this.onInteresection.bind(this), {
627
+ root: null,
628
+ rootMargin: "0px",
629
+ threshold: 1.0,
630
+ });
631
+ }
632
+ return this.growingIntersectionObserver;
633
+ }
634
+ };
635
+ __decorate([
636
+ property()
637
+ ], List.prototype, "headerText", void 0);
638
+ __decorate([
639
+ property()
640
+ ], List.prototype, "footerText", void 0);
641
+ __decorate([
642
+ property({ type: Boolean })
643
+ ], List.prototype, "indent", void 0);
644
+ __decorate([
645
+ property({ type: ListMode, defaultValue: ListMode.None })
646
+ ], List.prototype, "mode", void 0);
647
+ __decorate([
648
+ property()
649
+ ], List.prototype, "noDataText", void 0);
650
+ __decorate([
651
+ property({ type: ListSeparators, defaultValue: ListSeparators.All })
652
+ ], List.prototype, "separators", void 0);
653
+ __decorate([
654
+ property({ type: ListGrowingMode, defaultValue: ListGrowingMode.None })
655
+ ], List.prototype, "growing", void 0);
656
+ __decorate([
657
+ property({ type: Boolean })
658
+ ], List.prototype, "busy", void 0);
659
+ __decorate([
660
+ property({ validator: Integer, defaultValue: 1000 })
661
+ ], List.prototype, "busyDelay", void 0);
662
+ __decorate([
663
+ property()
664
+ ], List.prototype, "accessibleName", void 0);
665
+ __decorate([
666
+ property({ defaultValue: "" })
667
+ ], List.prototype, "accessibleNameRef", void 0);
668
+ __decorate([
669
+ property({ defaultValue: "list" })
670
+ ], List.prototype, "accessibleRole", void 0);
671
+ __decorate([
672
+ property({ defaultValue: undefined, noAttribute: true })
673
+ ], List.prototype, "accessibleRoleDescription", void 0);
674
+ __decorate([
675
+ property({ type: Boolean })
676
+ ], List.prototype, "_inViewport", void 0);
677
+ __decorate([
678
+ property({ type: Boolean })
679
+ ], List.prototype, "_loadMoreActive", void 0);
680
+ __decorate([
681
+ slot({ type: HTMLElement, "default": true })
682
+ ], List.prototype, "items", void 0);
683
+ __decorate([
684
+ slot()
685
+ ], List.prototype, "header", void 0);
686
+ List = List_1 = __decorate([
687
+ customElement("ui5-list"),
688
+ fastNavigation
689
+ /**
690
+ * Fired when an item is activated, unless the item's <code>type</code> property
691
+ * is set to <code>Inactive</code>.
692
+ *
693
+ * @event sap.ui.webc.main.List#item-click
694
+ * @allowPreventDefault
695
+ * @param {HTMLElement} item The clicked item.
696
+ * @public
697
+ */
698
+ ,
699
+ event("item-click", {
700
+ detail: {
701
+ item: { type: HTMLElement },
702
+ },
703
+ })
704
+ /**
705
+ * Fired when the <code>Close</code> button of any item is clicked
706
+ * <br><br>
707
+ * <b>Note:</b> This event is only applicable to list items that can be closed (such as notification list items),
708
+ * not to be confused with <code>item-delete</code>.
709
+ *
710
+ * @event sap.ui.webc.main.List#item-close
711
+ * @param {HTMLElement} item the item about to be closed.
712
+ * @public
713
+ * @since 1.0.0-rc.8
714
+ */
715
+ ,
716
+ event("item-close", {
717
+ detail: {
718
+ item: { type: HTMLElement },
719
+ },
720
+ })
721
+ /**
722
+ * Fired when the <code>Toggle</code> button of any item is clicked.
723
+ * <br><br>
724
+ * <b>Note:</b> This event is only applicable to list items that can be toggled (such as notification group list items).
725
+ *
726
+ * @event sap.ui.webc.main.List#item-toggle
727
+ * @param {HTMLElement} item the toggled item.
728
+ * @public
729
+ * @since 1.0.0-rc.8
730
+ */
731
+ ,
732
+ event("item-toggle", {
733
+ detail: {
734
+ item: { type: HTMLElement },
735
+ },
736
+ })
737
+ /**
738
+ * Fired when the Delete button of any item is pressed.
739
+ * <br><br>
740
+ * <b>Note:</b> A Delete button is displayed on each item,
741
+ * when the component <code>mode</code> property is set to <code>Delete</code>.
742
+ *
743
+ * @event sap.ui.webc.main.List#item-delete
744
+ * @param {HTMLElement} item the deleted item.
745
+ * @public
746
+ */
747
+ ,
748
+ event("item-delete", {
749
+ detail: {
750
+ item: { type: HTMLElement },
751
+ },
752
+ })
753
+ /**
754
+ * Fired when selection is changed by user interaction
755
+ * in <code>SingleSelect</code>, <code>SingleSelectBegin</code>, <code>SingleSelectEnd</code> and <code>MultiSelect</code> modes.
756
+ *
757
+ * @event sap.ui.webc.main.List#selection-change
758
+ * @param {Array} selectedItems An array of the selected items.
759
+ * @param {Array} previouslySelectedItems An array of the previously selected items.
760
+ * @public
761
+ */
762
+ ,
763
+ event("selection-change", {
764
+ detail: {
765
+ selectedItems: { type: Array },
766
+ previouslySelectedItems: { type: Array },
767
+ targetItem: { type: HTMLElement },
768
+ selectionComponentPressed: { type: Boolean }, // protected, indicates if the user used the selection components to change the selection
769
+ },
770
+ })
771
+ /**
772
+ * Fired when the user scrolls to the bottom of the list.
773
+ * <br><br>
774
+ * <b>Note:</b> The event is fired when the <code>growing='Scroll'</code> property is enabled.
775
+ *
776
+ * @event sap.ui.webc.main.List#load-more
777
+ * @public
778
+ * @since 1.0.0-rc.6
779
+ */
780
+ ,
781
+ event("load-more")
782
+ /**
783
+ * @private
784
+ */
785
+ ,
786
+ event("item-focused", {
787
+ detail: {
788
+ item: { type: HTMLElement },
789
+ },
790
+ })
791
+ ], List);
1102
792
  List.define();
1103
-
1104
793
  export default List;
794
+ //# sourceMappingURL=List.js.map