@ui5/webcomponents 0.0.0-e0658a650 → 0.0.0-e55c2cec6

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 (1110) hide show
  1. package/dist/Avatar.d.ts +251 -0
  2. package/dist/Avatar.js +201 -407
  3. package/dist/Avatar.js.map +1 -0
  4. package/dist/AvatarGroup.js +8 -8
  5. package/dist/Badge.d.ts +82 -0
  6. package/dist/Badge.js +65 -117
  7. package/dist/Badge.js.map +1 -0
  8. package/dist/Breadcrumbs.d.ts +200 -0
  9. package/dist/Breadcrumbs.js +439 -584
  10. package/dist/Breadcrumbs.js.map +1 -0
  11. package/dist/BreadcrumbsItem.d.ts +73 -0
  12. package/dist/BreadcrumbsItem.js +33 -87
  13. package/dist/BreadcrumbsItem.js.map +1 -0
  14. package/dist/BusyIndicator.js +6 -6
  15. package/dist/Button.d.ts +257 -0
  16. package/dist/Button.js +236 -456
  17. package/dist/Button.js.map +1 -0
  18. package/dist/Calendar.d.ts +251 -0
  19. package/dist/Calendar.js +266 -350
  20. package/dist/Calendar.js.map +1 -0
  21. package/dist/CalendarDate.d.ts +28 -0
  22. package/dist/CalendarDate.js +20 -30
  23. package/dist/CalendarDate.js.map +1 -0
  24. package/dist/CalendarHeader.d.ts +87 -0
  25. package/dist/CalendarHeader.js +144 -198
  26. package/dist/CalendarHeader.js.map +1 -0
  27. package/dist/CalendarPart.d.ts +53 -0
  28. package/dist/CalendarPart.js +71 -92
  29. package/dist/CalendarPart.js.map +1 -0
  30. package/dist/Card.d.ts +91 -0
  31. package/dist/Card.js +68 -123
  32. package/dist/Card.js.map +1 -0
  33. package/dist/CardHeader.d.ts +123 -0
  34. package/dist/CardHeader.js +152 -240
  35. package/dist/CardHeader.js.map +1 -0
  36. package/dist/Carousel.js +33 -11
  37. package/dist/CheckBox.d.ts +256 -0
  38. package/dist/CheckBox.js +219 -410
  39. package/dist/CheckBox.js.map +1 -0
  40. package/dist/ColorPalette.d.ts +140 -0
  41. package/dist/ColorPalette.js +362 -455
  42. package/dist/ColorPalette.js.map +1 -0
  43. package/dist/ColorPaletteItem.d.ts +68 -0
  44. package/dist/ColorPaletteItem.js +66 -114
  45. package/dist/ColorPaletteItem.js.map +1 -0
  46. package/dist/ColorPalettePopover.d.ts +132 -0
  47. package/dist/ColorPalettePopover.js +145 -203
  48. package/dist/ColorPalettePopover.js.map +1 -0
  49. package/dist/ColorPicker.d.ts +147 -0
  50. package/dist/ColorPicker.js +371 -556
  51. package/dist/ColorPicker.js.map +1 -0
  52. package/dist/ComboBox.js +9 -9
  53. package/dist/ComboBoxGroupItem.js +6 -6
  54. package/dist/ComboBoxItem.js +4 -4
  55. package/dist/CustomListItem.d.ts +44 -0
  56. package/dist/CustomListItem.js +52 -79
  57. package/dist/CustomListItem.js.map +1 -0
  58. package/dist/DateComponentBase.d.ts +83 -0
  59. package/dist/DateComponentBase.js +101 -143
  60. package/dist/DateComponentBase.js.map +1 -0
  61. package/dist/DatePicker.d.ts +448 -0
  62. package/dist/DatePicker.js +541 -736
  63. package/dist/DatePicker.js.map +1 -0
  64. package/dist/DateRangePicker.d.ts +169 -0
  65. package/dist/DateRangePicker.js +269 -315
  66. package/dist/DateRangePicker.js.map +1 -0
  67. package/dist/DateTimePicker.d.ts +212 -0
  68. package/dist/DateTimePicker.js +254 -339
  69. package/dist/DateTimePicker.js.map +1 -0
  70. package/dist/DayPicker.d.ts +243 -0
  71. package/dist/DayPicker.js +605 -730
  72. package/dist/DayPicker.js.map +1 -0
  73. package/dist/Dialog.d.ts +238 -0
  74. package/dist/Dialog.js +380 -606
  75. package/dist/Dialog.js.map +1 -0
  76. package/dist/DurationPicker.js +5 -5
  77. package/dist/FileUploader.d.ts +238 -0
  78. package/dist/FileUploader.js +305 -489
  79. package/dist/FileUploader.js.map +1 -0
  80. package/dist/Filters.d.ts +5 -0
  81. package/dist/Filters.js +10 -21
  82. package/dist/Filters.js.map +1 -0
  83. package/dist/GroupHeaderListItem.d.ts +45 -0
  84. package/dist/GroupHeaderListItem.js +42 -76
  85. package/dist/GroupHeaderListItem.js.map +1 -0
  86. package/dist/Icon.d.ts +252 -0
  87. package/dist/Icon.js +179 -306
  88. package/dist/Icon.js.map +1 -0
  89. package/dist/Input.d.ts +607 -0
  90. package/dist/Input.js +1095 -1627
  91. package/dist/Input.js.map +1 -0
  92. package/dist/Interfaces.d.ts +161 -0
  93. package/dist/Interfaces.js +45 -85
  94. package/dist/Interfaces.js.map +1 -0
  95. package/dist/Label.d.ts +98 -0
  96. package/dist/Label.js +63 -124
  97. package/dist/Label.js.map +1 -0
  98. package/dist/Link.d.ts +222 -0
  99. package/dist/Link.js +177 -358
  100. package/dist/Link.js.map +1 -0
  101. package/dist/List.d.ts +383 -0
  102. package/dist/List.js +706 -1038
  103. package/dist/List.js.map +1 -0
  104. package/dist/ListItem.d.ts +196 -0
  105. package/dist/ListItem.js +294 -447
  106. package/dist/ListItem.js.map +1 -0
  107. package/dist/ListItemBase.d.ts +61 -0
  108. package/dist/ListItemBase.js +114 -167
  109. package/dist/ListItemBase.js.map +1 -0
  110. package/dist/Menu.d.ts +187 -0
  111. package/dist/Menu.js +428 -562
  112. package/dist/Menu.js.map +1 -0
  113. package/dist/MenuItem.d.ts +124 -0
  114. package/dist/MenuItem.js +66 -166
  115. package/dist/MenuItem.js.map +1 -0
  116. package/dist/MessageStrip.d.ts +135 -0
  117. package/dist/MessageStrip.js +119 -206
  118. package/dist/MessageStrip.js.map +1 -0
  119. package/dist/MonthPicker.d.ts +109 -0
  120. package/dist/MonthPicker.js +260 -285
  121. package/dist/MonthPicker.js.map +1 -0
  122. package/dist/MultiComboBox.js +13 -11
  123. package/dist/MultiComboBoxGroupItem.js +6 -6
  124. package/dist/MultiComboBoxItem.js +4 -4
  125. package/dist/MultiInput.js +13 -10
  126. package/dist/Option.js +6 -6
  127. package/dist/Panel.d.ts +238 -0
  128. package/dist/Panel.js +230 -401
  129. package/dist/Panel.js.map +1 -0
  130. package/dist/Popover.d.ts +330 -0
  131. package/dist/Popover.js +519 -766
  132. package/dist/Popover.js.map +1 -0
  133. package/dist/Popup.d.ts +293 -0
  134. package/dist/Popup.js +404 -576
  135. package/dist/Popup.js.map +1 -0
  136. package/dist/ProgressIndicator.d.ts +121 -0
  137. package/dist/ProgressIndicator.js +121 -207
  138. package/dist/ProgressIndicator.js.map +1 -0
  139. package/dist/RadioButton.js +7 -7
  140. package/dist/RadioButtonGroup.js +1 -1
  141. package/dist/RangeSlider.d.ts +363 -0
  142. package/dist/RangeSlider.js +682 -757
  143. package/dist/RangeSlider.js.map +1 -0
  144. package/dist/RatingIndicator.js +7 -7
  145. package/dist/ResponsivePopover.js +12 -4
  146. package/dist/SegmentedButton.js +24 -10
  147. package/dist/SegmentedButtonItem.js +5 -5
  148. package/dist/Select.js +8 -8
  149. package/dist/Slider.d.ts +163 -0
  150. package/dist/Slider.js +241 -261
  151. package/dist/Slider.js.map +1 -0
  152. package/dist/SliderBase.d.ts +357 -0
  153. package/dist/SliderBase.js +588 -794
  154. package/dist/SliderBase.js.map +1 -0
  155. package/dist/SplitButton.d.ts +220 -0
  156. package/dist/SplitButton.js +210 -382
  157. package/dist/SplitButton.js.map +1 -0
  158. package/dist/StandardListItem.d.ts +156 -0
  159. package/dist/StandardListItem.js +79 -174
  160. package/dist/StandardListItem.js.map +1 -0
  161. package/dist/StepInput.d.ts +301 -0
  162. package/dist/StepInput.js +378 -615
  163. package/dist/StepInput.js.map +1 -0
  164. package/dist/SuggestionGroupItem.d.ts +35 -0
  165. package/dist/SuggestionGroupItem.js +35 -51
  166. package/dist/SuggestionGroupItem.js.map +1 -0
  167. package/dist/SuggestionItem.d.ts +104 -0
  168. package/dist/SuggestionItem.js +49 -131
  169. package/dist/SuggestionItem.js.map +1 -0
  170. package/dist/SuggestionListItem.d.ts +47 -0
  171. package/dist/SuggestionListItem.js +38 -52
  172. package/dist/SuggestionListItem.js.map +1 -0
  173. package/dist/Switch.d.ts +167 -0
  174. package/dist/Switch.js +136 -251
  175. package/dist/Switch.js.map +1 -0
  176. package/dist/Tab.js +13 -8
  177. package/dist/TabContainer.js +17 -17
  178. package/dist/TabSeparator.js +3 -3
  179. package/dist/Table.d.ts +426 -0
  180. package/dist/Table.js +792 -1108
  181. package/dist/Table.js.map +1 -0
  182. package/dist/TableCell.d.ts +51 -0
  183. package/dist/TableCell.js +43 -68
  184. package/dist/TableCell.js.map +1 -0
  185. package/dist/TableColumn.d.ts +101 -0
  186. package/dist/TableColumn.js +53 -120
  187. package/dist/TableColumn.js.map +1 -0
  188. package/dist/TableGroupRow.d.ts +79 -0
  189. package/dist/TableGroupRow.js +97 -134
  190. package/dist/TableGroupRow.js.map +1 -0
  191. package/dist/TableRow.d.ts +160 -0
  192. package/dist/TableRow.js +315 -434
  193. package/dist/TableRow.js.map +1 -0
  194. package/dist/TextArea.js +9 -9
  195. package/dist/TimePicker.d.ts +116 -0
  196. package/dist/TimePicker.js +61 -95
  197. package/dist/TimePicker.js.map +1 -0
  198. package/dist/TimePickerBase.d.ts +190 -0
  199. package/dist/TimePickerBase.js +351 -453
  200. package/dist/TimePickerBase.js.map +1 -0
  201. package/dist/TimeSelection.d.ts +162 -0
  202. package/dist/TimeSelection.js +358 -468
  203. package/dist/TimeSelection.js.map +1 -0
  204. package/dist/Title.d.ts +69 -0
  205. package/dist/Title.js +62 -105
  206. package/dist/Title.js.map +1 -0
  207. package/dist/Toast.js +6 -6
  208. package/dist/ToggleButton.js +3 -3
  209. package/dist/Token.js +24 -7
  210. package/dist/Tokenizer.js +12 -8
  211. package/dist/Tree.js +74 -58
  212. package/dist/TreeItem.js +31 -189
  213. package/{src/TreeListItem.js → dist/TreeItemBase.js} +106 -68
  214. package/dist/TreeItemCustom.js +102 -0
  215. package/dist/TreeList.js +48 -0
  216. package/dist/WheelSlider.d.ts +122 -0
  217. package/dist/WheelSlider.js +302 -410
  218. package/dist/WheelSlider.js.map +1 -0
  219. package/dist/YearPicker.d.ts +105 -0
  220. package/dist/YearPicker.js +298 -328
  221. package/dist/YearPicker.js.map +1 -0
  222. package/dist/api.json +1 -1
  223. package/dist/assets/HT-1000.59a0ea5a.jpg +0 -0
  224. package/dist/assets/HT-1010.7b05e4f5.jpg +0 -0
  225. package/dist/assets/HT-1022.6fa171f0.jpg +0 -0
  226. package/dist/assets/ar.76457d6b.js +1 -0
  227. package/dist/assets/ar_EG.facab575.js +1 -0
  228. package/dist/assets/ar_SA.037c760a.js +1 -0
  229. package/dist/assets/bg.eb54e36a.js +1 -0
  230. package/dist/assets/ca.1047c043.js +1 -0
  231. package/dist/assets/cs.47109072.js +1 -0
  232. package/dist/assets/da.1562c279.js +1 -0
  233. package/dist/assets/de.3397b9d2.js +1 -0
  234. package/dist/assets/de_AT.fb777626.js +1 -0
  235. package/dist/assets/de_CH.c4011bf2.js +1 -0
  236. package/dist/assets/el.52a181c7.js +1 -0
  237. package/dist/assets/el_CY.065e8a48.js +1 -0
  238. package/dist/assets/en.8b571af2.js +1 -0
  239. package/dist/assets/en_AU.29f5e0e2.js +1 -0
  240. package/dist/assets/en_GB.b0afb274.js +1 -0
  241. package/dist/assets/en_HK.188c8a39.js +1 -0
  242. package/dist/assets/en_IE.b52bdf4f.js +1 -0
  243. package/dist/assets/en_IN.5925f501.js +1 -0
  244. package/dist/assets/en_NZ.adc1b6af.js +1 -0
  245. package/dist/assets/en_PG.2e475ab9.js +1 -0
  246. package/dist/assets/en_SG.400dc7e5.js +1 -0
  247. package/dist/assets/en_ZA.06de0b73.js +1 -0
  248. package/dist/assets/es.d137c08c.js +1 -0
  249. package/dist/assets/es_AR.a719c078.js +1 -0
  250. package/dist/assets/es_BO.ba051d49.js +1 -0
  251. package/dist/assets/es_CL.876855d2.js +1 -0
  252. package/dist/assets/es_CO.51c37c4d.js +1 -0
  253. package/dist/assets/es_MX.c11d012e.js +1 -0
  254. package/dist/assets/es_PE.1a5de4db.js +1 -0
  255. package/dist/assets/es_UY.29036823.js +1 -0
  256. package/dist/assets/es_VE.22e2164a.js +1 -0
  257. package/dist/assets/et.d802827f.js +1 -0
  258. package/dist/assets/fa.59b6aa5f.js +1 -0
  259. package/dist/assets/fi.2cc79303.js +1 -0
  260. package/dist/assets/fr.055c2d0d.js +1 -0
  261. package/dist/assets/fr_BE.79a4448b.js +1 -0
  262. package/dist/assets/fr_CA.0c4a98e4.js +1 -0
  263. package/dist/assets/fr_CH.ba0db8bd.js +1 -0
  264. package/dist/assets/fr_LU.21a6bcea.js +1 -0
  265. package/dist/assets/he.e187c6df.js +1 -0
  266. package/dist/assets/hi.cb35adb1.js +1 -0
  267. package/dist/assets/hr.24bc905c.js +1 -0
  268. package/dist/assets/hu.aadbd74c.js +1 -0
  269. package/dist/assets/id.b9bd26e5.js +1 -0
  270. package/dist/assets/it.36ffae4a.js +1 -0
  271. package/dist/assets/{it.bcf089f4.js → it_CH.7ef1e2bf.js} +1 -1
  272. package/dist/assets/ja.a08af783.js +1 -0
  273. package/dist/assets/kk.5d3dddbe.js +1 -0
  274. package/dist/assets/ko.264fdf35.js +1 -0
  275. package/dist/assets/lt.b967d42b.js +1 -0
  276. package/dist/assets/lv.9c0f8206.js +1 -0
  277. package/dist/assets/{messagebundle_ar.dec7510d.js → messagebundle_ar.7f1e385c.js} +1 -1
  278. package/dist/assets/{messagebundle_bg.39183011.js → messagebundle_bg.67505cb7.js} +1 -1
  279. package/dist/assets/messagebundle_ca.64fb370c.js +1 -0
  280. package/dist/assets/messagebundle_cs.ce8b8a69.js +1 -0
  281. package/dist/assets/messagebundle_cy.3dad0e1d.js +1 -0
  282. package/dist/assets/messagebundle_da.ff79429b.js +1 -0
  283. package/dist/assets/messagebundle_de.e9f4d979.js +1 -0
  284. package/dist/assets/{messagebundle_el.d41a6312.js → messagebundle_el.50666070.js} +1 -1
  285. package/dist/assets/messagebundle_en.edda053c.js +1 -0
  286. package/dist/assets/messagebundle_en_GB.9eb5f8cf.js +1 -0
  287. package/dist/assets/{messagebundle_en_US_sappsd.86cc73b7.js → messagebundle_en_US_sappsd.c97ca89f.js} +1 -1
  288. package/dist/assets/{messagebundle_en_US_saprigi.a7b06ef5.js → messagebundle_en_US_saprigi.d0b577b7.js} +1 -1
  289. package/dist/assets/messagebundle_en_US_saptrc.7da9b71b.js +1 -0
  290. package/dist/assets/messagebundle_es.3b0d6da4.js +1 -0
  291. package/dist/assets/messagebundle_es_MX.da0228db.js +1 -0
  292. package/dist/assets/messagebundle_et.2cfc3295.js +1 -0
  293. package/dist/assets/messagebundle_fi.f62f59fc.js +1 -0
  294. package/dist/assets/messagebundle_fr.7d7c418f.js +1 -0
  295. package/dist/assets/messagebundle_fr_CA.a4592fb9.js +1 -0
  296. package/dist/assets/{messagebundle_hi.b968aad6.js → messagebundle_hi.2f3db639.js} +1 -1
  297. package/dist/assets/messagebundle_hr.f8282341.js +1 -0
  298. package/dist/assets/messagebundle_hu.2589bdb3.js +1 -0
  299. package/dist/assets/messagebundle_it.146c4b3c.js +1 -0
  300. package/dist/assets/messagebundle_iw.2766f5a1.js +1 -0
  301. package/dist/assets/messagebundle_ja.b0b6d3d0.js +1 -0
  302. package/dist/assets/{messagebundle_kk.24effffd.js → messagebundle_kk.f9132ede.js} +1 -1
  303. package/dist/assets/messagebundle_ko.d23a9de8.js +1 -0
  304. package/dist/assets/messagebundle_lt.e2f6f5b0.js +1 -0
  305. package/dist/assets/messagebundle_lv.6b0ad93c.js +1 -0
  306. package/dist/assets/messagebundle_ms.8d8ac7f1.js +1 -0
  307. package/dist/assets/messagebundle_nl.1bb5da42.js +1 -0
  308. package/dist/assets/messagebundle_no.c7ee6784.js +1 -0
  309. package/dist/assets/messagebundle_pl.0d1b3dd1.js +1 -0
  310. package/dist/assets/messagebundle_pt.33ff9d42.js +1 -0
  311. package/dist/assets/messagebundle_pt_PT.a91f6468.js +1 -0
  312. package/dist/assets/messagebundle_ro.bd2e01e0.js +1 -0
  313. package/dist/assets/{messagebundle_ru.e7ffdb7d.js → messagebundle_ru.388e4272.js} +1 -1
  314. package/dist/assets/messagebundle_sh.122ca47b.js +1 -0
  315. package/dist/assets/messagebundle_sk.66d70983.js +1 -0
  316. package/dist/assets/messagebundle_sl.3f1a077f.js +1 -0
  317. package/dist/assets/messagebundle_sv.71f16a40.js +1 -0
  318. package/dist/assets/{messagebundle_th.4f145df6.js → messagebundle_th.700d6a4a.js} +1 -1
  319. package/dist/assets/messagebundle_tr.6f267da9.js +1 -0
  320. package/dist/assets/{messagebundle_uk.fc20aaae.js → messagebundle_uk.52e9f0c8.js} +1 -1
  321. package/dist/assets/messagebundle_vi.e9fe4caa.js +1 -0
  322. package/dist/assets/messagebundle_zh_CN.8ff0766b.js +1 -0
  323. package/dist/assets/messagebundle_zh_TW.25b49650.js +1 -0
  324. package/dist/assets/ms.5a523fbe.js +1 -0
  325. package/dist/assets/nb.6e98bbca.js +1 -0
  326. package/dist/assets/nl.84e9e6df.js +1 -0
  327. package/dist/assets/nl_BE.0f374ea5.js +1 -0
  328. package/dist/assets/parameters-bundle.css.06e5f6af.js +1 -0
  329. package/dist/assets/parameters-bundle.css.09fdcedf.js +1 -0
  330. package/dist/assets/parameters-bundle.css.0c16556f.js +1 -0
  331. package/dist/assets/parameters-bundle.css.1024d408.js +1 -0
  332. package/dist/assets/parameters-bundle.css.12ef5553.js +1 -0
  333. package/dist/assets/parameters-bundle.css.1d5159c7.js +1 -0
  334. package/dist/assets/parameters-bundle.css.2ff57cb9.js +1 -0
  335. package/dist/assets/parameters-bundle.css.3d586108.js +1 -0
  336. package/dist/assets/parameters-bundle.css.3fe96be2.js +1 -0
  337. package/dist/assets/parameters-bundle.css.44ff7825.js +1 -0
  338. package/dist/assets/parameters-bundle.css.50f83b44.js +1 -0
  339. package/dist/assets/parameters-bundle.css.58325286.js +1 -0
  340. package/dist/assets/parameters-bundle.css.5c29069a.js +1 -0
  341. package/dist/assets/parameters-bundle.css.759ff23e.js +1 -0
  342. package/dist/assets/parameters-bundle.css.76ee50df.js +1 -0
  343. package/dist/assets/parameters-bundle.css.7ad77620.js +1 -0
  344. package/dist/assets/parameters-bundle.css.828caf0e.js +1 -0
  345. package/dist/assets/parameters-bundle.css.89d7ea85.js +1 -0
  346. package/dist/assets/parameters-bundle.css.a1f2b381.js +1 -0
  347. package/dist/assets/parameters-bundle.css.a9042929.js +1 -0
  348. package/dist/assets/parameters-bundle.css.ab7cc9c4.js +1 -0
  349. package/dist/assets/parameters-bundle.css.c3acfe91.js +1 -0
  350. package/dist/assets/parameters-bundle.css.e7002fc1.js +1 -0
  351. package/dist/assets/parameters-bundle.css.fe4c8069.js +1 -0
  352. package/dist/assets/pl.c8acba9e.js +1 -0
  353. package/dist/assets/pt.676d5650.js +1 -0
  354. package/dist/assets/pt_PT.0bbc2da6.js +1 -0
  355. package/dist/assets/ro.10993af2.js +1 -0
  356. package/dist/assets/ru.4aba168e.js +1 -0
  357. package/dist/assets/ru_UA.334d6613.js +1 -0
  358. package/dist/assets/sk.3183c85e.js +1 -0
  359. package/dist/assets/sl.edad6042.js +1 -0
  360. package/dist/assets/sr.3e293379.js +1 -0
  361. package/dist/assets/sr_Latn.0f4a03c3.js +1 -0
  362. package/dist/assets/sv.e76e14e4.js +1 -0
  363. package/dist/assets/th.f5491ec1.js +1 -0
  364. package/dist/assets/tr.3b838818.js +1 -0
  365. package/dist/assets/uk.ebbd81a0.js +1 -0
  366. package/dist/assets/vi.87616fa0.js +1 -0
  367. package/dist/assets/zh_CN.de478ef9.js +1 -0
  368. package/dist/assets/zh_HK.834c3161.js +1 -0
  369. package/dist/assets/zh_SG.13241ee3.js +1 -0
  370. package/dist/assets/zh_TW.8f4a16b5.js +1 -0
  371. package/dist/css/themes/Avatar.css +1 -1
  372. package/dist/css/themes/BusyIndicator.css +1 -1
  373. package/dist/css/themes/Button.css +1 -1
  374. package/dist/css/themes/CardHeader.css +1 -1
  375. package/dist/css/themes/Carousel.css +1 -1
  376. package/dist/css/themes/ComboBox.css +1 -1
  377. package/dist/css/themes/DatePicker.css +1 -1
  378. package/dist/css/themes/Dialog.css +1 -1
  379. package/dist/css/themes/Icon.css +1 -1
  380. package/dist/css/themes/Input.css +1 -1
  381. package/dist/css/themes/ListItem.css +1 -1
  382. package/dist/css/themes/MultiComboBox.css +1 -1
  383. package/dist/css/themes/MultiInput.css +1 -1
  384. package/dist/css/themes/RadioButton.css +1 -1
  385. package/dist/css/themes/Select.css +1 -1
  386. package/dist/css/themes/TabInStrip.css +1 -1
  387. package/dist/css/themes/Table.css +1 -1
  388. package/dist/css/themes/TextArea.css +1 -1
  389. package/dist/css/themes/Tokenizer.css +1 -1
  390. package/dist/css/themes/TreeItem.css +1 -0
  391. package/dist/css/themes/ValueStateMessage.css +1 -1
  392. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  393. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  394. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  395. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  396. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  397. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  398. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  399. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  400. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  401. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  402. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  403. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  404. package/dist/features/ColorPaletteMoreColors.d.ts +13 -0
  405. package/dist/features/ColorPaletteMoreColors.js +23 -33
  406. package/dist/features/ColorPaletteMoreColors.js.map +1 -0
  407. package/dist/features/InputElementsFormSupport.d.ts +31 -0
  408. package/dist/features/InputElementsFormSupport.js +95 -106
  409. package/dist/features/InputElementsFormSupport.js.map +1 -0
  410. package/dist/features/InputSuggestions.d.ts +126 -0
  411. package/dist/features/InputSuggestions.js +458 -590
  412. package/dist/features/InputSuggestions.js.map +1 -0
  413. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  414. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  415. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  416. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  417. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  418. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  419. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  420. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  421. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  422. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  423. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  424. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  425. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  426. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  427. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  428. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  429. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  430. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  431. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  432. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  433. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  434. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  435. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  436. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  437. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  438. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  439. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  440. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  441. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  442. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  443. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  444. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  445. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  446. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  447. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  448. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  449. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  450. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  451. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  452. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  453. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  454. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  455. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  456. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  457. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  458. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  459. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  460. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  461. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  462. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  463. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  464. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  465. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  466. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  467. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  468. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  469. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  470. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  471. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  472. package/dist/generated/i18n/i18n-defaults.js +2 -2
  473. package/dist/generated/templates/CardHeaderTemplate.lit.js +1 -1
  474. package/dist/generated/templates/CardTemplate.lit.js +1 -1
  475. package/dist/generated/templates/CheckBoxTemplate.lit.js +1 -1
  476. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +19 -17
  477. package/dist/generated/templates/CustomListItemTemplate.lit.js +1 -1
  478. package/dist/generated/templates/DialogTemplate.lit.js +1 -1
  479. package/dist/generated/templates/InputTemplate.lit.js +1 -1
  480. package/dist/generated/templates/LinkTemplate.lit.js +1 -1
  481. package/dist/generated/templates/ListItemTemplate.lit.js +1 -1
  482. package/dist/generated/templates/ListTemplate.lit.js +1 -1
  483. package/dist/generated/templates/MonthPickerTemplate.lit.js +1 -1
  484. package/dist/generated/templates/MultiInputTemplate.lit.js +1 -1
  485. package/dist/generated/templates/PopoverTemplate.lit.js +1 -1
  486. package/dist/generated/templates/RangeSliderTemplate.lit.js +1 -1
  487. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +1 -1
  488. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +1 -1
  489. package/dist/generated/templates/SliderTemplate.lit.js +1 -1
  490. package/dist/generated/templates/StandardListItemTemplate.lit.js +20 -18
  491. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +23 -21
  492. package/dist/generated/templates/SwitchTemplate.lit.js +1 -1
  493. package/dist/generated/templates/TabInStripTemplate.lit.js +1 -1
  494. package/dist/generated/templates/TableTemplate.lit.js +1 -1
  495. package/dist/generated/templates/TokenTemplate.lit.js +1 -1
  496. package/dist/generated/templates/TreeItemBaseTemplate.lit.js +26 -0
  497. package/dist/generated/templates/TreeItemCustomTemplate.lit.js +26 -0
  498. package/dist/generated/templates/{TreeListItemTemplate.lit.js → TreeItemTemplate.lit.js} +3 -2
  499. package/dist/generated/templates/TreeTemplate.lit.js +1 -4
  500. package/dist/generated/templates/YearPickerTemplate.lit.js +1 -1
  501. package/dist/generated/themes/Avatar.css.js +1 -1
  502. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  503. package/dist/generated/themes/Button.css.js +1 -1
  504. package/dist/generated/themes/CardHeader.css.js +1 -1
  505. package/dist/generated/themes/Carousel.css.js +1 -1
  506. package/dist/generated/themes/ComboBox.css.js +1 -1
  507. package/dist/generated/themes/DatePicker.css.js +1 -1
  508. package/dist/generated/themes/Dialog.css.js +1 -1
  509. package/dist/generated/themes/Icon.css.js +1 -1
  510. package/dist/generated/themes/Input.css.js +1 -1
  511. package/dist/generated/themes/ListItem.css.js +1 -1
  512. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  513. package/dist/generated/themes/MultiInput.css.js +1 -1
  514. package/dist/generated/themes/RadioButton.css.js +1 -1
  515. package/dist/generated/themes/Select.css.js +1 -1
  516. package/dist/generated/themes/TabInStrip.css.js +1 -1
  517. package/dist/generated/themes/Table.css.js +1 -1
  518. package/dist/generated/themes/TextArea.css.js +1 -1
  519. package/dist/generated/themes/Tokenizer.css.js +1 -1
  520. package/dist/generated/themes/TreeItem.css.js +8 -0
  521. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  522. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  523. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  524. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  525. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  526. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  527. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  528. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  529. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  530. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  531. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  532. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  533. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  534. package/dist/i18n/messagebundle.properties +6 -0
  535. package/dist/i18n/messagebundle_ar.properties +4 -0
  536. package/dist/i18n/messagebundle_bg.properties +4 -0
  537. package/dist/i18n/messagebundle_ca.properties +4 -0
  538. package/dist/i18n/messagebundle_cs.properties +4 -0
  539. package/dist/i18n/messagebundle_cy.properties +4 -0
  540. package/dist/i18n/messagebundle_da.properties +4 -0
  541. package/dist/i18n/messagebundle_de.properties +4 -0
  542. package/dist/i18n/messagebundle_el.properties +4 -0
  543. package/dist/i18n/messagebundle_en.properties +4 -0
  544. package/dist/i18n/messagebundle_en_GB.properties +4 -0
  545. package/dist/i18n/messagebundle_en_US_sappsd.properties +4 -0
  546. package/dist/i18n/messagebundle_en_US_saprigi.properties +4 -0
  547. package/dist/i18n/messagebundle_en_US_saptrc.properties +4 -0
  548. package/dist/i18n/messagebundle_es.properties +4 -0
  549. package/dist/i18n/messagebundle_es_MX.properties +4 -0
  550. package/dist/i18n/messagebundle_et.properties +4 -0
  551. package/dist/i18n/messagebundle_fi.properties +4 -0
  552. package/dist/i18n/messagebundle_fr.properties +4 -0
  553. package/dist/i18n/messagebundle_fr_CA.properties +4 -0
  554. package/dist/i18n/messagebundle_hi.properties +4 -0
  555. package/dist/i18n/messagebundle_hr.properties +4 -0
  556. package/dist/i18n/messagebundle_hu.properties +4 -0
  557. package/dist/i18n/messagebundle_id.properties +4 -0
  558. package/dist/i18n/messagebundle_it.properties +4 -0
  559. package/dist/i18n/messagebundle_iw.properties +4 -0
  560. package/dist/i18n/messagebundle_ja.properties +4 -0
  561. package/dist/i18n/messagebundle_kk.properties +4 -0
  562. package/dist/i18n/messagebundle_ko.properties +4 -0
  563. package/dist/i18n/messagebundle_lt.properties +4 -0
  564. package/dist/i18n/messagebundle_lv.properties +4 -0
  565. package/dist/i18n/messagebundle_ms.properties +4 -0
  566. package/dist/i18n/messagebundle_nl.properties +4 -0
  567. package/dist/i18n/messagebundle_no.properties +5 -1
  568. package/dist/i18n/messagebundle_pl.properties +4 -0
  569. package/dist/i18n/messagebundle_pt.properties +4 -0
  570. package/dist/i18n/messagebundle_pt_PT.properties +4 -0
  571. package/dist/i18n/messagebundle_ro.properties +4 -0
  572. package/dist/i18n/messagebundle_ru.properties +4 -0
  573. package/dist/i18n/messagebundle_sh.properties +4 -0
  574. package/dist/i18n/messagebundle_sk.properties +4 -0
  575. package/dist/i18n/messagebundle_sl.properties +4 -0
  576. package/dist/i18n/messagebundle_sv.properties +4 -0
  577. package/dist/i18n/messagebundle_th.properties +4 -0
  578. package/dist/i18n/messagebundle_tr.properties +4 -0
  579. package/dist/i18n/messagebundle_uk.properties +4 -0
  580. package/dist/i18n/messagebundle_vi.properties +4 -0
  581. package/dist/i18n/messagebundle_zh_CN.properties +4 -0
  582. package/dist/i18n/messagebundle_zh_TW.properties +4 -0
  583. package/dist/popup-utils/OpenedPopupsRegistry.d.ts +9 -0
  584. package/dist/popup-utils/OpenedPopupsRegistry.js +43 -37
  585. package/dist/popup-utils/OpenedPopupsRegistry.js.map +1 -0
  586. package/dist/popup-utils/PopoverRegistry.d.ts +9 -0
  587. package/dist/popup-utils/PopoverRegistry.js +103 -123
  588. package/dist/popup-utils/PopoverRegistry.js.map +1 -0
  589. package/dist/timepicker-utils/TimeSlider.d.ts +15 -0
  590. package/dist/timepicker-utils/TimeSlider.js +80 -92
  591. package/dist/timepicker-utils/TimeSlider.js.map +1 -0
  592. package/dist/types/AvatarColorScheme.d.ts +1 -1
  593. package/dist/types/AvatarColorScheme.js +1 -1
  594. package/dist/types/AvatarGroupType.d.ts +1 -1
  595. package/dist/types/AvatarGroupType.js +1 -1
  596. package/dist/types/AvatarShape.d.ts +1 -1
  597. package/dist/types/AvatarShape.js +1 -1
  598. package/dist/types/AvatarSize.d.ts +1 -1
  599. package/dist/types/AvatarSize.js +1 -1
  600. package/dist/types/BreadcrumbsDesign.d.ts +1 -1
  601. package/dist/types/BreadcrumbsDesign.js +1 -1
  602. package/dist/types/BreadcrumbsSeparatorStyle.d.ts +3 -3
  603. package/dist/types/BreadcrumbsSeparatorStyle.js +3 -3
  604. package/dist/types/BusyIndicatorSize.d.ts +1 -1
  605. package/dist/types/BusyIndicatorSize.js +1 -1
  606. package/dist/types/ButtonDesign.d.ts +1 -1
  607. package/dist/types/ButtonDesign.js +1 -1
  608. package/dist/types/CalendarSelectionMode.d.ts +1 -1
  609. package/dist/types/CalendarSelectionMode.js +1 -1
  610. package/dist/types/CarouselArrowsPlacement.d.ts +1 -1
  611. package/dist/types/CarouselArrowsPlacement.js +1 -1
  612. package/dist/types/CarouselPageIndicatorStyle.d.ts +25 -0
  613. package/dist/types/CarouselPageIndicatorStyle.js +27 -0
  614. package/dist/types/CarouselPageIndicatorStyle.js.map +1 -0
  615. package/dist/types/HasPopup.d.ts +1 -1
  616. package/dist/types/HasPopup.js +1 -1
  617. package/dist/types/IconDesign.d.ts +60 -0
  618. package/dist/types/IconDesign.js +62 -0
  619. package/dist/types/IconDesign.js.map +1 -0
  620. package/dist/types/InputType.d.ts +1 -1
  621. package/dist/types/InputType.js +1 -1
  622. package/dist/types/LinkDesign.d.ts +1 -1
  623. package/dist/types/LinkDesign.js +1 -1
  624. package/dist/types/ListGrowingMode.d.ts +1 -1
  625. package/dist/types/ListGrowingMode.js +1 -1
  626. package/dist/types/ListItemType.d.ts +1 -1
  627. package/dist/types/ListItemType.js +1 -1
  628. package/dist/types/ListMode.d.ts +1 -1
  629. package/dist/types/ListMode.js +1 -1
  630. package/dist/types/ListSeparators.d.ts +1 -1
  631. package/dist/types/ListSeparators.js +1 -1
  632. package/dist/types/MessageStripDesign.d.ts +1 -1
  633. package/dist/types/MessageStripDesign.js +1 -1
  634. package/dist/types/PanelAccessibleRole.d.ts +1 -1
  635. package/dist/types/PanelAccessibleRole.js +1 -1
  636. package/dist/types/PopoverHorizontalAlign.d.ts +1 -1
  637. package/dist/types/PopoverHorizontalAlign.js +1 -1
  638. package/dist/types/PopoverPlacementType.d.ts +1 -1
  639. package/dist/types/PopoverPlacementType.js +1 -1
  640. package/dist/types/PopoverVerticalAlign.d.ts +1 -1
  641. package/dist/types/PopoverVerticalAlign.js +1 -1
  642. package/dist/types/Priority.d.ts +1 -1
  643. package/dist/types/Priority.js +1 -1
  644. package/dist/types/SemanticColor.d.ts +1 -1
  645. package/dist/types/SemanticColor.js +1 -1
  646. package/dist/types/SwitchDesign.d.ts +1 -1
  647. package/dist/types/SwitchDesign.js +1 -1
  648. package/dist/types/TabContainerBackgroundDesign.d.ts +1 -1
  649. package/dist/types/TabContainerBackgroundDesign.js +1 -1
  650. package/dist/types/TabContainerTabsPlacement.d.ts +1 -1
  651. package/dist/types/TabContainerTabsPlacement.js +1 -1
  652. package/dist/types/TabLayout.d.ts +1 -1
  653. package/dist/types/TabLayout.js +1 -1
  654. package/dist/types/{TableCellPopinDisplay.d.ts → TableColumnPopinDisplay.d.ts} +3 -3
  655. package/dist/types/TableColumnPopinDisplay.js +26 -0
  656. package/dist/types/TableColumnPopinDisplay.js.map +1 -0
  657. package/dist/types/TableGrowingMode.d.ts +3 -3
  658. package/dist/types/TableGrowingMode.js +3 -3
  659. package/dist/types/TableMode.d.ts +1 -1
  660. package/dist/types/TableMode.js +1 -1
  661. package/dist/types/TableRowType.d.ts +1 -1
  662. package/dist/types/TableRowType.js +1 -1
  663. package/dist/types/TabsOverflowMode.d.ts +1 -1
  664. package/dist/types/TabsOverflowMode.js +1 -1
  665. package/dist/types/TitleLevel.d.ts +7 -7
  666. package/dist/types/TitleLevel.js +7 -7
  667. package/dist/types/ToastPlacement.d.ts +10 -10
  668. package/dist/types/ToastPlacement.js +10 -10
  669. package/dist/types/WrappingType.d.ts +1 -1
  670. package/dist/types/WrappingType.js +1 -1
  671. package/package.json +7 -8
  672. package/src/Avatar.ts +435 -0
  673. package/src/AvatarGroup.js +8 -8
  674. package/src/Badge.ts +143 -0
  675. package/src/Breadcrumbs.hbs +41 -38
  676. package/src/{Breadcrumbs.js → Breadcrumbs.ts} +234 -186
  677. package/src/BreadcrumbsItem.ts +92 -0
  678. package/src/BusyIndicator.js +6 -6
  679. package/src/Button.ts +503 -0
  680. package/src/{Calendar.js → Calendar.ts} +152 -142
  681. package/src/CalendarDate.ts +36 -0
  682. package/src/CalendarHeader.ts +218 -0
  683. package/src/{CalendarPart.js → CalendarPart.ts} +15 -26
  684. package/src/Card.hbs +1 -1
  685. package/src/{Card.js → Card.ts} +67 -75
  686. package/src/CardHeader.hbs +1 -1
  687. package/src/CardHeader.ts +275 -0
  688. package/src/Carousel.hbs +72 -72
  689. package/src/Carousel.js +33 -11
  690. package/src/CheckBox.hbs +3 -3
  691. package/src/CheckBox.ts +466 -0
  692. package/src/{ColorPalette.js → ColorPalette.ts} +184 -165
  693. package/src/ColorPaletteItem.ts +124 -0
  694. package/src/{ColorPalettePopover.js → ColorPalettePopover.ts} +108 -96
  695. package/src/ColorPicker.ts +536 -0
  696. package/src/ComboBox.js +9 -9
  697. package/src/ComboBoxGroupItem.js +6 -6
  698. package/src/ComboBoxItem.js +4 -4
  699. package/src/ComboBoxPopover.hbs +45 -42
  700. package/src/CustomListItem.ts +89 -0
  701. package/src/DateComponentBase.ts +174 -0
  702. package/src/{DatePicker.js → DatePicker.ts} +354 -327
  703. package/src/{DateRangePicker.js → DateRangePicker.ts} +65 -61
  704. package/src/{DateTimePicker.js → DateTimePicker.ts} +88 -80
  705. package/src/{DayPicker.js → DayPicker.ts} +274 -218
  706. package/src/Dialog.hbs +1 -1
  707. package/src/{Dialog.js → Dialog.ts} +204 -191
  708. package/src/DurationPicker.js +5 -5
  709. package/src/FileUploader.ts +526 -0
  710. package/src/Filters.ts +28 -0
  711. package/src/GroupHeaderListItem.ts +86 -0
  712. package/src/{Icon2.ts → Icon.ts} +184 -182
  713. package/src/Input.hbs +1 -1
  714. package/src/{Input.js → Input.ts} +737 -705
  715. package/src/{Interfaces.js → Interfaces.ts} +40 -40
  716. package/src/Label.ts +143 -0
  717. package/src/Link.hbs +1 -1
  718. package/src/Link.ts +406 -0
  719. package/src/List.hbs +8 -0
  720. package/src/List.ts +1143 -0
  721. package/src/ListItem.hbs +5 -2
  722. package/src/ListItem.ts +492 -0
  723. package/src/ListItemBase.ts +168 -0
  724. package/src/{Menu.js → Menu.ts} +257 -253
  725. package/src/MenuItem.ts +168 -0
  726. package/src/MessageStrip.ts +245 -0
  727. package/src/MonthPicker.hbs +1 -0
  728. package/src/{MonthPicker.js → MonthPicker.ts} +147 -104
  729. package/src/MultiComboBox.js +13 -11
  730. package/src/MultiComboBoxGroupItem.js +6 -6
  731. package/src/MultiComboBoxItem.js +4 -4
  732. package/src/MultiInput.js +13 -10
  733. package/src/Option.js +6 -6
  734. package/src/{Panel.js → Panel.ts} +177 -213
  735. package/src/Popover.hbs +1 -1
  736. package/src/{Popover.js → Popover.ts} +288 -265
  737. package/src/{Popup.js → Popup.ts} +226 -209
  738. package/src/{ProgressIndicator.js → ProgressIndicator.ts} +91 -95
  739. package/src/RadioButton.js +7 -7
  740. package/src/RadioButtonGroup.js +1 -1
  741. package/src/RangeSlider.hbs +11 -5
  742. package/src/{RangeSlider.js → RangeSlider.ts} +244 -169
  743. package/src/RatingIndicator.js +7 -7
  744. package/src/ResponsivePopover.js +12 -4
  745. package/src/SegmentedButton.hbs +1 -0
  746. package/src/SegmentedButton.js +24 -10
  747. package/src/SegmentedButtonItem.js +5 -5
  748. package/src/Select.js +8 -8
  749. package/src/Slider.hbs +2 -2
  750. package/src/{Slider.js → Slider.ts} +94 -62
  751. package/src/{SliderBase.js → SliderBase.ts} +238 -270
  752. package/src/{SplitButton.js → SplitButton.ts} +216 -235
  753. package/src/StandardListItem.hbs +10 -4
  754. package/src/StandardListItem.ts +217 -0
  755. package/src/StepInput.hbs +1 -1
  756. package/src/{StepInput.js → StepInput.ts} +275 -314
  757. package/src/SuggestionGroupItem.ts +51 -0
  758. package/src/SuggestionItem.ts +134 -0
  759. package/src/{SuggestionListItem.js → SuggestionListItem.ts} +30 -32
  760. package/src/Switch.hbs +2 -2
  761. package/src/Switch.ts +299 -0
  762. package/src/Tab.js +13 -8
  763. package/src/TabContainer.js +17 -17
  764. package/src/TabInStrip.hbs +2 -1
  765. package/src/TabSeparator.js +3 -3
  766. package/src/Table.hbs +7 -1
  767. package/src/Table.ts +1303 -0
  768. package/src/{TableCell.js → TableCell.ts} +32 -50
  769. package/src/TableColumn.ts +135 -0
  770. package/src/TableGroupRow.ts +159 -0
  771. package/src/TableRow.ts +505 -0
  772. package/src/TextArea.js +9 -9
  773. package/src/{TimePicker.js → TimePicker.ts} +43 -49
  774. package/src/{TimePickerBase.js → TimePickerBase.ts} +161 -144
  775. package/src/{TimeSelection.js → TimeSelection.ts} +198 -170
  776. package/src/Title.ts +117 -0
  777. package/src/Toast.js +6 -6
  778. package/src/ToggleButton.js +3 -3
  779. package/src/Token.hbs +1 -0
  780. package/src/Token.js +24 -7
  781. package/src/Tokenizer.js +12 -8
  782. package/src/Tree.hbs +8 -44
  783. package/src/Tree.js +74 -58
  784. package/src/TreeItem.hbs +13 -0
  785. package/src/TreeItem.js +31 -189
  786. package/src/{TreeListItem.hbs → TreeItemBase.hbs} +17 -10
  787. package/{dist/TreeListItem.js → src/TreeItemBase.js} +106 -68
  788. package/src/TreeItemCustom.hbs +7 -0
  789. package/src/TreeItemCustom.js +102 -0
  790. package/src/TreeList.js +48 -0
  791. package/src/{WheelSlider.js → WheelSlider.ts} +120 -126
  792. package/src/YearPicker.hbs +1 -0
  793. package/src/{YearPicker.js → YearPicker.ts} +146 -101
  794. package/src/features/{ColorPaletteMoreColors.js → ColorPaletteMoreColors.ts} +8 -3
  795. package/src/features/{InputElementsFormSupport.js → InputElementsFormSupport.ts} +44 -17
  796. package/src/features/{InputSuggestions.js → InputSuggestions.ts} +157 -99
  797. package/src/i18n/messagebundle.properties +6 -0
  798. package/src/i18n/messagebundle_ar.properties +4 -0
  799. package/src/i18n/messagebundle_bg.properties +4 -0
  800. package/src/i18n/messagebundle_ca.properties +4 -0
  801. package/src/i18n/messagebundle_cs.properties +4 -0
  802. package/src/i18n/messagebundle_cy.properties +4 -0
  803. package/src/i18n/messagebundle_da.properties +4 -0
  804. package/src/i18n/messagebundle_de.properties +4 -0
  805. package/src/i18n/messagebundle_el.properties +4 -0
  806. package/src/i18n/messagebundle_en.properties +4 -0
  807. package/src/i18n/messagebundle_en_GB.properties +4 -0
  808. package/src/i18n/messagebundle_en_US_sappsd.properties +4 -0
  809. package/src/i18n/messagebundle_en_US_saprigi.properties +4 -0
  810. package/src/i18n/messagebundle_en_US_saptrc.properties +4 -0
  811. package/src/i18n/messagebundle_es.properties +4 -0
  812. package/src/i18n/messagebundle_es_MX.properties +4 -0
  813. package/src/i18n/messagebundle_et.properties +4 -0
  814. package/src/i18n/messagebundle_fi.properties +4 -0
  815. package/src/i18n/messagebundle_fr.properties +4 -0
  816. package/src/i18n/messagebundle_fr_CA.properties +4 -0
  817. package/src/i18n/messagebundle_hi.properties +4 -0
  818. package/src/i18n/messagebundle_hr.properties +4 -0
  819. package/src/i18n/messagebundle_hu.properties +4 -0
  820. package/src/i18n/messagebundle_id.properties +4 -0
  821. package/src/i18n/messagebundle_it.properties +4 -0
  822. package/src/i18n/messagebundle_iw.properties +4 -0
  823. package/src/i18n/messagebundle_ja.properties +4 -0
  824. package/src/i18n/messagebundle_kk.properties +4 -0
  825. package/src/i18n/messagebundle_ko.properties +4 -0
  826. package/src/i18n/messagebundle_lt.properties +4 -0
  827. package/src/i18n/messagebundle_lv.properties +4 -0
  828. package/src/i18n/messagebundle_ms.properties +4 -0
  829. package/src/i18n/messagebundle_nl.properties +4 -0
  830. package/src/i18n/messagebundle_no.properties +5 -1
  831. package/src/i18n/messagebundle_pl.properties +4 -0
  832. package/src/i18n/messagebundle_pt.properties +4 -0
  833. package/src/i18n/messagebundle_pt_PT.properties +4 -0
  834. package/src/i18n/messagebundle_ro.properties +4 -0
  835. package/src/i18n/messagebundle_ru.properties +4 -0
  836. package/src/i18n/messagebundle_sh.properties +4 -0
  837. package/src/i18n/messagebundle_sk.properties +4 -0
  838. package/src/i18n/messagebundle_sl.properties +4 -0
  839. package/src/i18n/messagebundle_sv.properties +4 -0
  840. package/src/i18n/messagebundle_th.properties +4 -0
  841. package/src/i18n/messagebundle_tr.properties +4 -0
  842. package/src/i18n/messagebundle_uk.properties +4 -0
  843. package/src/i18n/messagebundle_vi.properties +4 -0
  844. package/src/i18n/messagebundle_zh_CN.properties +4 -0
  845. package/src/i18n/messagebundle_zh_TW.properties +4 -0
  846. package/src/popup-utils/{OpenedPopupsRegistry.js → OpenedPopupsRegistry.ts} +31 -5
  847. package/src/popup-utils/{PopoverRegistry.js → PopoverRegistry.ts} +50 -29
  848. package/src/themes/Avatar.css +5 -2
  849. package/src/themes/BusyIndicator.css +1 -1
  850. package/src/themes/Button.css +14 -13
  851. package/src/themes/CardHeader.css +19 -2
  852. package/src/themes/Carousel.css +4 -4
  853. package/src/themes/DatePicker.css +7 -1
  854. package/src/themes/Dialog.css +2 -2
  855. package/src/themes/Icon.css +32 -0
  856. package/src/themes/Input.css +3 -0
  857. package/src/themes/ListItem.css +10 -2
  858. package/src/themes/MultiComboBox.css +0 -4
  859. package/src/themes/MultiInput.css +1 -5
  860. package/src/themes/RadioButton.css +6 -6
  861. package/src/themes/Select.css +1 -1
  862. package/src/themes/TabInStrip.css +10 -10
  863. package/src/themes/Table.css +1 -1
  864. package/src/themes/TextArea.css +15 -22
  865. package/src/themes/Tokenizer.css +1 -1
  866. package/src/themes/{TreeListItem.css → TreeItem.css} +47 -10
  867. package/src/themes/ValueStateMessage.css +9 -1
  868. package/src/themes/base/Avatar-parameters.css +1 -0
  869. package/src/themes/base/Input-parameters.css +1 -1
  870. package/src/themes/base/Select-parameters.css +1 -1
  871. package/src/themes/base/TextArea-parameters.css +18 -0
  872. package/src/themes/base/Tokenizer-parameters.css +1 -0
  873. package/src/themes/base/sizes-parameters.css +1 -9
  874. package/src/themes/sap_belize/TextArea-parameters.css +8 -0
  875. package/src/themes/sap_belize_hcb/TextArea-parameters.css +8 -0
  876. package/src/themes/sap_belize_hcw/TextArea-parameters.css +8 -0
  877. package/src/themes/sap_fiori_3_hcb/TextArea-parameters.css +13 -3
  878. package/src/themes/sap_fiori_3_hcw/TextArea-parameters.css +13 -3
  879. package/src/themes/sap_horizon/CheckBox-parameters.css +1 -0
  880. package/src/themes/sap_horizon/TextArea-parameters.css +14 -0
  881. package/src/themes/sap_horizon/Tokenizer-parameters.css +5 -0
  882. package/src/themes/sap_horizon/parameters-bundle.css +1 -1
  883. package/src/themes/sap_horizon_dark/ListItemBase-parameters.css +0 -1
  884. package/src/themes/sap_horizon_dark/TextArea-parameters.css +14 -0
  885. package/src/themes/sap_horizon_dark/Tokenizer-parameters.css +5 -0
  886. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  887. package/src/themes/sap_horizon_exp/Select-parameters.css +1 -1
  888. package/src/themes/sap_horizon_hcb/TextArea-parameters.css +15 -6
  889. package/src/themes/sap_horizon_hcw/TextArea-parameters.css +15 -6
  890. package/src/timepicker-utils/{TimeSlider.js → TimeSlider.ts} +26 -9
  891. package/src/types/AvatarColorScheme.ts +1 -1
  892. package/src/types/AvatarGroupType.ts +1 -1
  893. package/src/types/AvatarShape.ts +1 -1
  894. package/src/types/AvatarSize.ts +1 -1
  895. package/src/types/BreadcrumbsDesign.ts +1 -1
  896. package/src/types/BreadcrumbsSeparatorStyle.ts +3 -3
  897. package/src/types/BusyIndicatorSize.ts +1 -1
  898. package/src/types/ButtonDesign.ts +1 -1
  899. package/src/types/CalendarSelectionMode.ts +1 -1
  900. package/src/types/CarouselArrowsPlacement.ts +1 -1
  901. package/src/types/CarouselPageIndicatorStyle.ts +27 -0
  902. package/src/types/HasPopup.ts +1 -1
  903. package/src/types/IconDesign.ts +68 -0
  904. package/src/types/InputType.ts +1 -1
  905. package/src/types/LinkDesign.ts +1 -1
  906. package/src/types/ListGrowingMode.ts +1 -1
  907. package/src/types/ListItemType.ts +1 -1
  908. package/src/types/ListMode.ts +1 -1
  909. package/src/types/ListSeparators.ts +1 -1
  910. package/src/types/MessageStripDesign.ts +1 -1
  911. package/src/types/PanelAccessibleRole.ts +1 -1
  912. package/src/types/PopoverHorizontalAlign.ts +1 -1
  913. package/src/types/PopoverPlacementType.ts +1 -1
  914. package/src/types/PopoverVerticalAlign.ts +1 -1
  915. package/src/types/Priority.ts +1 -1
  916. package/src/types/SemanticColor.ts +1 -1
  917. package/src/types/SwitchDesign.ts +1 -1
  918. package/src/types/TabContainerBackgroundDesign.ts +1 -1
  919. package/src/types/TabContainerTabsPlacement.ts +1 -1
  920. package/src/types/TabLayout.ts +1 -1
  921. package/src/types/{TableCellPopinDisplay.ts → TableColumnPopinDisplay.ts} +3 -3
  922. package/src/types/TableGrowingMode.ts +3 -3
  923. package/src/types/TableMode.ts +1 -1
  924. package/src/types/TableRowType.ts +1 -1
  925. package/src/types/TabsOverflowMode.ts +1 -1
  926. package/src/types/TitleLevel.ts +7 -7
  927. package/src/types/ToastPlacement.ts +10 -10
  928. package/src/types/WrappingType.ts +1 -1
  929. package/tsconfig.json +1 -0
  930. package/dist/Icon2.d.ts +0 -271
  931. package/dist/Icon2.js +0 -366
  932. package/dist/Icon2.js.map +0 -1
  933. package/dist/Label2.d.ts +0 -134
  934. package/dist/Label2.js +0 -142
  935. package/dist/Label2.js.map +0 -1
  936. package/dist/Title2.d.ts +0 -104
  937. package/dist/Title2.js +0 -119
  938. package/dist/Title2.js.map +0 -1
  939. package/dist/assets/ar.7fd1011b.js +0 -1
  940. package/dist/assets/ar_EG.4dd5f305.js +0 -1
  941. package/dist/assets/ar_SA.8c5a937a.js +0 -1
  942. package/dist/assets/bg.a4d82c03.js +0 -1
  943. package/dist/assets/ca.0021f734.js +0 -1
  944. package/dist/assets/cs.0e585b65.js +0 -1
  945. package/dist/assets/da.521611de.js +0 -1
  946. package/dist/assets/de.63fdffdf.js +0 -1
  947. package/dist/assets/de_AT.ea95f993.js +0 -1
  948. package/dist/assets/de_CH.90d5e701.js +0 -1
  949. package/dist/assets/el.3e1beb01.js +0 -1
  950. package/dist/assets/el_CY.209073e0.js +0 -1
  951. package/dist/assets/en.1af5f31c.js +0 -1
  952. package/dist/assets/en_AU.25e8cf38.js +0 -1
  953. package/dist/assets/en_GB.43297e37.js +0 -1
  954. package/dist/assets/en_HK.0da1e0b5.js +0 -1
  955. package/dist/assets/en_IE.c4988873.js +0 -1
  956. package/dist/assets/en_IN.96d721e2.js +0 -1
  957. package/dist/assets/en_NZ.1091e526.js +0 -1
  958. package/dist/assets/en_PG.f028e345.js +0 -1
  959. package/dist/assets/en_SG.8d370bdb.js +0 -1
  960. package/dist/assets/en_ZA.0cbf9d6e.js +0 -1
  961. package/dist/assets/es.37dda275.js +0 -1
  962. package/dist/assets/es_AR.da796f99.js +0 -1
  963. package/dist/assets/es_BO.2b15333c.js +0 -1
  964. package/dist/assets/es_CL.048ca1f2.js +0 -1
  965. package/dist/assets/es_CO.257ed3d6.js +0 -1
  966. package/dist/assets/es_MX.061e6bbb.js +0 -1
  967. package/dist/assets/es_PE.f7c17b7a.js +0 -1
  968. package/dist/assets/es_UY.73781c0c.js +0 -1
  969. package/dist/assets/es_VE.fe0f3310.js +0 -1
  970. package/dist/assets/et.fbe81c9d.js +0 -1
  971. package/dist/assets/fa.acfcfa4d.js +0 -1
  972. package/dist/assets/fi.0379b5fc.js +0 -1
  973. package/dist/assets/fr.f6c58c06.js +0 -1
  974. package/dist/assets/fr_BE.c6e52c3f.js +0 -1
  975. package/dist/assets/fr_CA.e3c92112.js +0 -1
  976. package/dist/assets/fr_CH.fc89bdfc.js +0 -1
  977. package/dist/assets/fr_LU.4fffec47.js +0 -1
  978. package/dist/assets/he.ca2cb3e0.js +0 -1
  979. package/dist/assets/hi.82a0ad5b.js +0 -1
  980. package/dist/assets/hr.ab15877f.js +0 -1
  981. package/dist/assets/hu.c3d72d24.js +0 -1
  982. package/dist/assets/id.163ccc8d.js +0 -1
  983. package/dist/assets/it_CH.69227571.js +0 -1
  984. package/dist/assets/ja.18f39a5b.js +0 -1
  985. package/dist/assets/kk.a697e741.js +0 -1
  986. package/dist/assets/ko.ebe1e5db.js +0 -1
  987. package/dist/assets/lt.775927de.js +0 -1
  988. package/dist/assets/lv.d7e9d5e6.js +0 -1
  989. package/dist/assets/messagebundle_ca.0d94d392.js +0 -1
  990. package/dist/assets/messagebundle_cs.fd5eaccc.js +0 -1
  991. package/dist/assets/messagebundle_cy.ff1e6c97.js +0 -1
  992. package/dist/assets/messagebundle_da.5ff8a1f1.js +0 -1
  993. package/dist/assets/messagebundle_de.bff2fc47.js +0 -1
  994. package/dist/assets/messagebundle_en.fdb7abce.js +0 -1
  995. package/dist/assets/messagebundle_en_GB.4a95abfb.js +0 -1
  996. package/dist/assets/messagebundle_en_US_saptrc.71435964.js +0 -1
  997. package/dist/assets/messagebundle_es.04498029.js +0 -1
  998. package/dist/assets/messagebundle_es_MX.a39214a3.js +0 -1
  999. package/dist/assets/messagebundle_et.d2e7cd16.js +0 -1
  1000. package/dist/assets/messagebundle_fi.1aa86ded.js +0 -1
  1001. package/dist/assets/messagebundle_fr.d651062e.js +0 -1
  1002. package/dist/assets/messagebundle_fr_CA.5a066480.js +0 -1
  1003. package/dist/assets/messagebundle_hr.51d15b46.js +0 -1
  1004. package/dist/assets/messagebundle_hu.f66f6bd4.js +0 -1
  1005. package/dist/assets/messagebundle_it.fc18db7c.js +0 -1
  1006. package/dist/assets/messagebundle_iw.61cc9591.js +0 -1
  1007. package/dist/assets/messagebundle_ja.9d222bf0.js +0 -1
  1008. package/dist/assets/messagebundle_ko.c1f9bbe4.js +0 -1
  1009. package/dist/assets/messagebundle_lt.68cc1270.js +0 -1
  1010. package/dist/assets/messagebundle_lv.45ee5e9b.js +0 -1
  1011. package/dist/assets/messagebundle_ms.5c238d83.js +0 -1
  1012. package/dist/assets/messagebundle_nl.42d4c6f9.js +0 -1
  1013. package/dist/assets/messagebundle_no.040efcc2.js +0 -1
  1014. package/dist/assets/messagebundle_pl.180e5190.js +0 -1
  1015. package/dist/assets/messagebundle_pt.8c0b8aa8.js +0 -1
  1016. package/dist/assets/messagebundle_pt_PT.08badb3a.js +0 -1
  1017. package/dist/assets/messagebundle_ro.dc736139.js +0 -1
  1018. package/dist/assets/messagebundle_sh.06513aad.js +0 -1
  1019. package/dist/assets/messagebundle_sk.f8c93117.js +0 -1
  1020. package/dist/assets/messagebundle_sl.e321cf3f.js +0 -1
  1021. package/dist/assets/messagebundle_sv.7c70049d.js +0 -1
  1022. package/dist/assets/messagebundle_tr.b1de509f.js +0 -1
  1023. package/dist/assets/messagebundle_vi.39c09ada.js +0 -1
  1024. package/dist/assets/messagebundle_zh_CN.cb6c2fc4.js +0 -1
  1025. package/dist/assets/messagebundle_zh_TW.38b9d6a7.js +0 -1
  1026. package/dist/assets/ms.d6569411.js +0 -1
  1027. package/dist/assets/nb.e08266d5.js +0 -1
  1028. package/dist/assets/nl.9999541e.js +0 -1
  1029. package/dist/assets/nl_BE.10b9e463.js +0 -1
  1030. package/dist/assets/parameters-bundle.css.04101f2d.js +0 -1
  1031. package/dist/assets/parameters-bundle.css.26b89933.js +0 -1
  1032. package/dist/assets/parameters-bundle.css.35e18896.js +0 -1
  1033. package/dist/assets/parameters-bundle.css.42c93b3a.js +0 -1
  1034. package/dist/assets/parameters-bundle.css.48c66167.js +0 -1
  1035. package/dist/assets/parameters-bundle.css.5e7680ab.js +0 -1
  1036. package/dist/assets/parameters-bundle.css.5fbd8c78.js +0 -1
  1037. package/dist/assets/parameters-bundle.css.72d90f6c.js +0 -1
  1038. package/dist/assets/parameters-bundle.css.788e2beb.js +0 -1
  1039. package/dist/assets/parameters-bundle.css.7fc4499e.js +0 -1
  1040. package/dist/assets/parameters-bundle.css.88d16a30.js +0 -1
  1041. package/dist/assets/parameters-bundle.css.8ec7fae2.js +0 -1
  1042. package/dist/assets/parameters-bundle.css.8f9767d9.js +0 -1
  1043. package/dist/assets/parameters-bundle.css.97b82520.js +0 -1
  1044. package/dist/assets/parameters-bundle.css.9f4ea662.js +0 -1
  1045. package/dist/assets/parameters-bundle.css.ad818581.js +0 -1
  1046. package/dist/assets/parameters-bundle.css.ae84370d.js +0 -1
  1047. package/dist/assets/parameters-bundle.css.b46a26b6.js +0 -1
  1048. package/dist/assets/parameters-bundle.css.bfc161b8.js +0 -1
  1049. package/dist/assets/parameters-bundle.css.c5759bdb.js +0 -1
  1050. package/dist/assets/parameters-bundle.css.d68c5d37.js +0 -1
  1051. package/dist/assets/parameters-bundle.css.e1d880ac.js +0 -1
  1052. package/dist/assets/parameters-bundle.css.f6131600.js +0 -1
  1053. package/dist/assets/parameters-bundle.css.fe81566f.js +0 -1
  1054. package/dist/assets/pl.896f748a.js +0 -1
  1055. package/dist/assets/pt.9282da43.js +0 -1
  1056. package/dist/assets/pt_PT.8de6f4a2.js +0 -1
  1057. package/dist/assets/ro.f27aab0d.js +0 -1
  1058. package/dist/assets/ru.925a56df.js +0 -1
  1059. package/dist/assets/ru_UA.066d9903.js +0 -1
  1060. package/dist/assets/sk.cea36c4c.js +0 -1
  1061. package/dist/assets/sl.00e904c8.js +0 -1
  1062. package/dist/assets/sr.5ffa8a72.js +0 -1
  1063. package/dist/assets/sr_Latn.37760dd7.js +0 -1
  1064. package/dist/assets/sv.e8d71660.js +0 -1
  1065. package/dist/assets/th.9c7b50b0.js +0 -1
  1066. package/dist/assets/tr.0a0fb3ee.js +0 -1
  1067. package/dist/assets/uk.7ee1da23.js +0 -1
  1068. package/dist/assets/vi.b1f74e9c.js +0 -1
  1069. package/dist/assets/zh_CN.a1d71c11.js +0 -1
  1070. package/dist/assets/zh_HK.a47dd921.js +0 -1
  1071. package/dist/assets/zh_SG.1cd17a31.js +0 -1
  1072. package/dist/assets/zh_TW.b03069d7.js +0 -1
  1073. package/dist/css/themes/TreeListItem.css +0 -1
  1074. package/dist/generated/themes/TreeListItem.css.js +0 -8
  1075. package/dist/types/TableCellPopinDisplay.js +0 -26
  1076. package/dist/types/TableCellPopinDisplay.js.map +0 -1
  1077. package/src/Avatar.js +0 -454
  1078. package/src/Badge.js +0 -151
  1079. package/src/BreadcrumbsItem.js +0 -103
  1080. package/src/Button.js +0 -513
  1081. package/src/CalendarDate.js +0 -45
  1082. package/src/CalendarHeader.js +0 -213
  1083. package/src/CardHeader.js +0 -283
  1084. package/src/CheckBox.js +0 -471
  1085. package/src/ColorPaletteItem.js +0 -137
  1086. package/src/ColorPicker.js +0 -600
  1087. package/src/CustomListItem.js +0 -99
  1088. package/src/DateComponentBase.js +0 -168
  1089. package/src/FileUploader.js +0 -533
  1090. package/src/Filters.js +0 -28
  1091. package/src/GroupHeaderListItem.js +0 -94
  1092. package/src/Icon.js +0 -407
  1093. package/src/Label.js +0 -158
  1094. package/src/Label2.ts +0 -161
  1095. package/src/Link.js +0 -410
  1096. package/src/List.js +0 -1129
  1097. package/src/ListItem.js +0 -472
  1098. package/src/ListItemBase.js +0 -181
  1099. package/src/MenuItem.js +0 -193
  1100. package/src/MessageStrip.js +0 -255
  1101. package/src/StandardListItem.js +0 -207
  1102. package/src/SuggestionGroupItem.js +0 -64
  1103. package/src/SuggestionItem.js +0 -146
  1104. package/src/Switch.js +0 -306
  1105. package/src/Table.js +0 -1201
  1106. package/src/TableColumn.js +0 -150
  1107. package/src/TableGroupRow.js +0 -167
  1108. package/src/TableRow.js +0 -469
  1109. package/src/Title.js +0 -132
  1110. package/src/Title2.ts +0 -134
package/dist/Table.js CHANGED
@@ -1,24 +1,22 @@
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 Table_1;
1
8
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
+ import fastNavigation from "@ui5/webcomponents-base/dist/decorators/fastNavigation.js";
11
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
12
+ import event from "@ui5/webcomponents-base/dist/decorators/event.js";
13
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
2
14
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
15
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
4
16
  import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
5
17
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
6
18
  import NavigationMode from "@ui5/webcomponents-base/dist/types/NavigationMode.js";
7
- import {
8
- isTabNext,
9
- isTabPrevious,
10
- isSpace,
11
- isEnter,
12
- isCtrlA,
13
- isUpAlt,
14
- isDownAlt,
15
- isUpShift,
16
- isDownShift,
17
- isHomeCtrl,
18
- isEndCtrl,
19
- isHomeShift,
20
- isEndShift,
21
- } from "@ui5/webcomponents-base/dist/Keys.js";
19
+ import { isTabNext, isTabPrevious, isSpace, isEnter, isCtrlA, isUpAlt, isDownAlt, isUpShift, isDownShift, isHomeCtrl, isEndCtrl, isHomeShift, isEndShift, } from "@ui5/webcomponents-base/dist/Keys.js";
22
20
  import getNormalizedTarget from "@ui5/webcomponents-base/dist/util/getNormalizedTarget.js";
23
21
  import getActiveElement from "@ui5/webcomponents-base/dist/util/getActiveElement.js";
24
22
  import { getLastTabbableElement, getTabbableElements } from "@ui5/webcomponents-base/dist/util/TabbableElements.js";
@@ -27,365 +25,34 @@ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
27
25
  import debounce from "@ui5/webcomponents-base/dist/util/debounce.js";
28
26
  import isElementInView from "@ui5/webcomponents-base/dist/util/isElementInView.js";
29
27
  import TableGrowingMode from "./types/TableGrowingMode.js";
28
+ // @ts-ignore
30
29
  import BusyIndicator from "./BusyIndicator.js";
31
30
  import TableMode from "./types/TableMode.js";
31
+ // @ts-ignore
32
32
  import CheckBox from "./CheckBox.js"; // Ensure the dependency as it is being used in the renderer
33
-
34
33
  // Texts
35
- import {
36
- LOAD_MORE_TEXT,
37
- ARIA_LABEL_SELECT_ALL_CHECKBOX,
38
- TABLE_HEADER_ROW_INFORMATION,
39
- TABLE_ROW_POSITION,
40
- } from "./generated/i18n/i18n-defaults.js";
41
-
34
+ import { LOAD_MORE_TEXT, ARIA_LABEL_SELECT_ALL_CHECKBOX, TABLE_HEADER_ROW_INFORMATION, TABLE_ROW_POSITION,
35
+ // @ts-ignore
36
+ } from "./generated/i18n/i18n-defaults.js";
42
37
  // Template
43
38
  import TableTemplate from "./generated/templates/TableTemplate.lit.js";
44
-
45
39
  // Styles
46
40
  import styles from "./generated/themes/Table.css.js";
47
-
48
41
  const GROWING_WITH_SCROLL_DEBOUNCE_RATE = 250; // ms
49
-
50
42
  const PAGE_UP_DOWN_SIZE = 20;
51
-
52
- /**
53
- * @public
54
- */
55
- const metadata = {
56
- tag: "ui5-table",
57
- managedSlots: true,
58
- fastNavigation: true,
59
- slots: /** @lends sap.ui.webcomponents.main.Table.prototype */ {
60
-
61
- /**
62
- * Defines the component rows.
63
- * <br><br>
64
- * <b>Note:</b> Use <code>ui5-table-row</code> for the intended design.
65
- *
66
- * @type {sap.ui.webcomponents.main.ITableRow[]}
67
- * @slot rows
68
- * @public
69
- */
70
- "default": {
71
- propertyName: "rows",
72
- type: HTMLElement,
73
- individualSlots: true,
74
- invalidateOnChildChange: true,
75
- },
76
-
77
- /**
78
- * Defines the configuration for the columns of the component.
79
- * <br><br>
80
- * <b>Note:</b> Use <code>ui5-table-column</code> for the intended design.
81
- *
82
- * @type {sap.ui.webcomponents.main.ITableColumn[]}
83
- * @slot
84
- * @public
85
- */
86
- columns: {
87
- type: HTMLElement,
88
- individualSlots: true,
89
- invalidateOnChildChange: {
90
- properties: true,
91
- slots: false,
92
- },
93
- },
94
- },
95
- properties: /** @lends sap.ui.webcomponents.main.Table.prototype */ {
96
-
97
- /**
98
- * Defines the text that will be displayed when there is no data and <code>hideNoData</code> is not present.
99
- *
100
- * @type {string}
101
- * @defaultvalue ""
102
- * @public
103
- */
104
- noDataText: {
105
- type: String,
106
- },
107
-
108
- /**
109
- * Defines the text that will be displayed inside the growing button at the bottom of the table,
110
- * meant for loading more rows upon press.
111
- *
112
- * <br><br>
113
- * <b>Note:</b> If not specified a built-in text will be displayed.
114
- * <br>
115
- * <b>Note:</b> This property takes effect if <code>growing</code> is set to <code>Button</code>.
116
- *
117
- * @type {string}
118
- * @defaultvalue ""
119
- * @since 1.0.0-rc.15
120
- * @public
121
- */
122
- growingButtonText: {
123
- type: String,
124
- },
125
-
126
- /**
127
- * Defines the subtext that will be displayed under the <code>growingButtonText</code>.
128
- *
129
- * <br><br>
130
- * <b>Note:</b> This property takes effect if <code>growing</code> is set to <code>Button</code>.
131
- *
132
- * @type {string}
133
- * @defaultvalue ""
134
- * @since 1.0.0-rc.15
135
- * @public
136
- */
137
- growingButtonSubtext: {
138
- type: String,
139
- },
140
-
141
- /**
142
- * Defines if the value of <code>noDataText</code> will be diplayed when there is no rows present in the table.
143
- *
144
- * @type {boolean}
145
- * @defaultvalue false
146
- * @public
147
- * @since 1.0.0-rc.15
148
- */
149
- hideNoData: {
150
- type: Boolean,
151
- },
152
-
153
- /**
154
- * Defines whether the table will have growing capability either by pressing a <code>More</code> button,
155
- * or via user scroll. In both cases <code>load-more</code> event is fired.
156
- * <br><br>
157
- *
158
- * Available options:
159
- * <br><br>
160
- * <code>Button</code> - Shows a <code>More</code> button at the bottom of the table, pressing of which triggers the <code>load-more</code> event.
161
- * <br>
162
- * <code>Scroll</code> - The <code>load-more</code> event is triggered when the user scrolls to the bottom of the table;
163
- * <br>
164
- * <code>None</code> (default) - The growing is off.
165
- * <br><br>
166
- *
167
- * <b>Restrictions:</b> <code>growing="Scroll"</code> is not supported for Internet Explorer,
168
- * and the component will fallback to <code>growing="Button"</code>.
169
- * @type {sap.ui.webcomponents.main.types.TableGrowingMode}
170
- * @defaultvalue "None"
171
- * @since 1.0.0-rc.12
172
- * @public
173
- */
174
- growing: {
175
- type: TableGrowingMode,
176
- defaultValue: TableGrowingMode.None,
177
- },
178
-
179
- /**
180
- * Defines if the table is in busy state.
181
- * <b>
182
- *
183
- * In this state the component's opacity is reduced
184
- * and busy indicator is displayed at the bottom of the table.
185
- * @type {boolean}
186
- * @defaultvalue false
187
- * @since 1.0.0-rc.12
188
- * @public
189
- */
190
- busy: {
191
- type: Boolean,
192
- },
193
-
194
- /**
195
- * Defines the delay in milliseconds, after which the busy indicator will show up for this component.
196
- *
197
- * @type {sap.ui.webcomponents.base.types.Integer}
198
- * @defaultValue 1000
199
- * @public
200
- */
201
- busyDelay: {
202
- type: Integer,
203
- defaultValue: 1000,
204
- },
205
-
206
- /**
207
- * Determines whether the column headers remain fixed at the top of the page during
208
- * vertical scrolling as long as the Web Component is in the viewport.
209
- * <br><br>
210
- * <b>Restrictions:</b>
211
- * <ul>
212
- * <li>Browsers that do not support this feature:
213
- * <ul>
214
- * <li>Internet Explorer</li>
215
- * <li>Microsoft Edge lower than version 41 (EdgeHTML 16)</li>
216
- * <li>Mozilla Firefox lower than version 59</li>
217
- * </ul>
218
- * </li>
219
- * <li>Scrolling behavior:
220
- * <ul>
221
- * <li>If the Web Component is placed in layout containers that have the <code>overflow: hidden</code>
222
- * or <code>overflow: auto</code> style definition, this can
223
- * prevent the sticky elements of the Web Component from becoming fixed at the top of the viewport.</li>
224
- * </ul>
225
- * </li>
226
- * </ul>
227
- *
228
- * @type {boolean}
229
- * @defaultvalue false
230
- * @public
231
- */
232
- stickyColumnHeader: {
233
- type: Boolean,
234
- },
235
-
236
- /**
237
- * Defines the mode of the component.
238
- * <br><br>
239
- * Available options are:
240
- * <ul>
241
- * <li><code>MultiSelect</code></li>
242
- * <li><code>SingleSelect</code></li>
243
- * <li><code>None</code></li>
244
- * <ul>
245
- * @type {sap.ui.webcomponents.main.types.TableMode}
246
- * @defaultvalue "None"
247
- * @since 1.0.0-rc.15
248
- * @public
249
- */
250
- mode: {
251
- type: TableMode,
252
- defaultValue: TableMode.None,
253
- },
254
-
255
- /**
256
- * Defines the accessible ARIA name of the component.
257
- *
258
- * @type {string}
259
- * @defaultvalue: ""
260
- * @public
261
- * @since 1.3.0
262
- */
263
- accessibleName: {
264
- type: String,
265
- defaultValue: undefined,
266
- },
267
-
268
- /**
269
- * Receives id(or many ids) of the elements that label the component.
270
- *
271
- * @type {string}
272
- * @defaultvalue ""
273
- * @public
274
- * @since 1.3.0
275
- */
276
- accessibleNameRef: {
277
- type: String,
278
- defaultValue: "",
279
- },
280
-
281
- _hiddenColumns: {
282
- type: Object,
283
- multiple: true,
284
- },
285
-
286
- _noDataDisplayed: {
287
- type: Boolean,
288
- },
289
-
290
- /**
291
- * Defines the active state of the <code>More</code> button.
292
- * @private
293
- */
294
- _loadMoreActive: {
295
- type: Boolean,
296
- },
297
-
298
- /**
299
- * Used to represent the table column header for the purpose of the item navigation as it does not work with DOM objects directly
300
- * @private
301
- */
302
- _columnHeader: {
303
- type: Object,
304
- },
305
-
306
- /**
307
- * Defines if the entire table is in view port.
308
- * @private
309
- */
310
- _inViewport: {
311
- type: Boolean,
312
- },
313
-
314
- /**
315
- * Defines whether all rows are selected or not when table is in MultiSelect mode.
316
- * @type {boolean}
317
- * @defaultvalue false
318
- * @since 1.0.0-rc.15
319
- * @private
320
- */
321
- _allRowsSelected: {
322
- type: Boolean,
323
- },
324
- },
325
- events: /** @lends sap.ui.webcomponents.main.Table.prototype */ {
326
- /**
327
- * Fired when a row in <code>Active</code> mode is clicked or <code>Enter</code> key is pressed.
328
- *
329
- * @event sap.ui.webcomponents.main.Table#row-click
330
- * @param {HTMLElement} row the activated row.
331
- * @public
332
- */
333
- "row-click": {
334
- detail: {
335
- row: { type: HTMLElement },
336
- },
337
- },
338
-
339
- /**
340
- * Fired when <code>ui5-table-column</code> is shown as a pop-in instead of hiding it.
341
- *
342
- * @event sap.ui.webcomponents.main.Table#popin-change
343
- * @param {Array} poppedColumns popped-in columns.
344
- * @since 1.0.0-rc.6
345
- * @public
346
- */
347
- "popin-change": {
348
- detail: {
349
- poppedColumns: {},
350
- },
351
- },
352
-
353
- /**
354
- * Fired when the user presses the <code>More</code> button or scrolls to the table's end.
355
- * <br><br>
356
- *
357
- * <b>Note:</b> The event will be fired if <code>growing</code> is set to <code>Button</code> or <code>Scroll</code>.
358
- * @event sap.ui.webcomponents.main.Table#load-more
359
- * @public
360
- * @since 1.0.0-rc.11
361
- */
362
- "load-more": {},
363
-
364
- /**
365
- * Fired when selection is changed by user interaction
366
- * in <code>SingleSelect</code> and <code>MultiSelect</code> modes.
367
- *
368
- * @event sap.ui.webcomponents.main.Table#selection-change
369
- * @param {Array} selectedRows An array of the selected rows.
370
- * @param {Array} previouslySelectedRows An array of the previously selected rows.
371
- * @public
372
- * @since 1.0.0-rc.15
373
- */
374
- "selection-change": {
375
- detail: {
376
- selectedRows: { type: Array },
377
- previouslySelectedRows: { type: Array },
378
- },
379
- },
380
- },
381
- };
382
-
43
+ var TableFocusTargetElement;
44
+ (function (TableFocusTargetElement) {
45
+ TableFocusTargetElement["Row"] = "tableRow";
46
+ TableFocusTargetElement["GroupRow"] = "tableGroupRow";
47
+ TableFocusTargetElement["ColumnHeader"] = "columnHeader";
48
+ TableFocusTargetElement["MoreButton"] = "moreButton";
49
+ })(TableFocusTargetElement || (TableFocusTargetElement = {}));
383
50
  /**
384
51
  * @class
385
52
  *
386
53
  * <h3 class="comment-api-title">Overview</h3>
387
54
  *
388
- * The <code>ui5-table</code> component provides a set of sophisticated and convenient functions for responsive table design.
55
+ * The <code>ui5-import type { table } from "./TableRow.js";/code> component provides a set of sophisticated and convenient functions for responsive table design.
389
56
  * It provides a comprehensive set of features for displaying and dealing with vast amounts of data.
390
57
  * <br><br>
391
58
  * To render the <code>Table</code> properly, the order of the <code>columns</code> should match with the
@@ -444,758 +111,775 @@ const metadata = {
444
111
  *
445
112
  * @constructor
446
113
  * @author SAP SE
447
- * @alias sap.ui.webcomponents.main.Table
448
- * @extends sap.ui.webcomponents.base.UI5Element
114
+ * @alias sap.ui.webc.main.Table
115
+ * @extends sap.ui.webc.base.UI5Element
449
116
  * @tagname ui5-table
450
117
  * @appenddocs TableColumn TableRow TableGroupRow TableCell
451
118
  * @public
452
119
  */
453
- class Table extends UI5Element {
454
- static get metadata() {
455
- return metadata;
456
- }
457
-
458
- static get styles() {
459
- return styles;
460
- }
461
-
462
- static get render() {
463
- return litRender;
464
- }
465
-
466
- static get template() {
467
- return TableTemplate;
468
- }
469
-
470
- static get dependencies() {
471
- return [BusyIndicator, CheckBox];
472
- }
473
-
474
- static async onDefine() {
475
- Table.i18nBundle = await getI18nBundle("@ui5/webcomponents");
476
- }
477
-
478
- constructor() {
479
- super();
480
-
481
- // The ItemNavigation requires each item to 1) have a "_tabIndex" property and 2) be either a UI5Element, or have an id property (to find it in the component's shadow DOM by)
482
- this._columnHeader = {
483
- id: `${this._id}-columnHeader`,
484
- _tabIndex: "0",
485
- };
486
-
487
- this._itemNavigation = new ItemNavigation(this, {
488
- navigationMode: NavigationMode.Vertical,
489
- affectedPropertiesNames: ["_columnHeader"],
490
- getItemsCallback: () => [this._columnHeader, ...this.rows],
491
- skipItemsSize: PAGE_UP_DOWN_SIZE,
492
- });
493
-
494
- this.fnOnRowFocused = this.onRowFocused.bind(this);
495
-
496
- this._handleResize = this.popinContent.bind(this);
497
-
498
- this.fnHandleF7 = this._handleF7.bind(this);
499
-
500
- this.tableEndObserved = false;
501
-
502
- this.addEventListener("ui5-selection-requested", this._handleSelect.bind(this));
503
- this.addEventListener("ui5-_forward-after", this._onForwardAfter.bind(this));
504
- this.addEventListener("ui5-_forward-before", this._onForwardBefore.bind(this));
505
-
506
- // Stores the last focused element within the table.
507
- this.lastFocusedElement = null;
508
-
509
- // Indicates whether the table is forwarding focus before or after the current table row.
510
- this._forwardingFocus = false;
511
-
512
- // Stores the last focused nested element index (within a table row) for F7 navigation.
513
- this._prevNestedElementIndex = 0;
514
- }
515
-
516
- onBeforeRendering() {
517
- const columnSettings = this.getColumnPropagationSettings();
518
- const columnSettingsString = JSON.stringify(columnSettings);
519
- const rowsCount = this.rows.length + 1;
520
- const selectedRows = this.selectedRows;
521
-
522
- this.rows.forEach((row, index) => {
523
- if (row._columnsInfoString !== columnSettingsString) {
524
- row._columnsInfo = columnSettings;
525
- row._columnsInfoString = JSON.stringify(row._columnsInfo);
526
- }
527
-
528
- row._ariaPosition = Table.i18nBundle.getText(TABLE_ROW_POSITION, index + 2, rowsCount);
529
- row._busy = this.busy;
530
- row.removeEventListener("ui5-_focused", this.fnOnRowFocused);
531
- row.addEventListener("ui5-_focused", this.fnOnRowFocused);
532
- row.removeEventListener("ui5-f7-pressed", this.fnHandleF7);
533
- row.addEventListener("ui5-f7-pressed", this.fnHandleF7);
534
- row.mode = this.mode;
535
- });
536
-
537
- this.visibleColumns = this.columns.filter((column, index) => {
538
- return !this._hiddenColumns[index];
539
- });
540
-
541
- this._noDataDisplayed = !this.rows.length && !this.hideNoData;
542
- this.visibleColumnsCount = this.visibleColumns.length;
543
-
544
- if (this.isMultiSelect) {
545
- // we have to count the selection column as well
546
- this.visibleColumnsCount += 1;
547
- }
548
-
549
- this._allRowsSelected = selectedRows.length === this.rows.length;
550
-
551
- this._prevFocusedRow = this._prevFocusedRow || this.rows[0];
552
- }
553
-
554
- onAfterRendering() {
555
- if (this.growsOnScroll) {
556
- this.observeTableEnd();
557
- }
558
-
559
- this.checkTableInViewport();
560
- }
561
-
562
- onEnterDOM() {
563
- this.growingIntersectionObserver = this.getIntersectionObserver();
564
-
565
- ResizeHandler.register(this.getDomRef(), this._handleResize);
566
-
567
- this._itemNavigation.setCurrentItem(this.rows.length ? this.rows[0] : this._columnHeader);
568
- }
569
-
570
- onExitDOM() {
571
- ResizeHandler.deregister(this.getDomRef(), this._handleResize);
572
-
573
- this.growingIntersectionObserver.disconnect();
574
- this.growingIntersectionObserver = null;
575
- this.tableEndObserved = false;
576
- }
577
-
578
- _onkeydown(event) {
579
- if (isTabNext(event) || isTabPrevious(event)) {
580
- this._handleTab(event);
581
- }
582
-
583
- if (isCtrlA(event)) {
584
- event.preventDefault();
585
- this.isMultiSelect && this._selectAll(event);
586
- }
587
-
588
- if (isUpAlt(event) || isDownAlt(event)) {
589
- this._handleArrowAlt(event);
590
- }
591
-
592
- if ((isUpShift(event) || isDownShift(event)) && this.isMultiSelect) {
593
- this._handleArrowNav(event);
594
- }
595
-
596
- if (isHomeCtrl(event)) {
597
- event.preventDefault();
598
-
599
- this._itemNavigation._handleHome(event);
600
- this._itemNavigation._applyTabIndex();
601
- this._itemNavigation._focusCurrentItem();
602
- }
603
-
604
- if (isEndCtrl(event)) {
605
- event.preventDefault();
606
-
607
- this._itemNavigation._handleEnd(event);
608
- this._itemNavigation._applyTabIndex();
609
- this._itemNavigation._focusCurrentItem();
610
- }
611
-
612
- if ((isHomeShift(event) || isEndShift(event)) && this.isMultiSelect) {
613
- this._handleHomeEndSelection(event);
614
- }
615
- }
616
-
617
- _handleTab(event) {
618
- const isNext = isTabNext(event);
619
- const target = getNormalizedTarget(event.target);
620
- const targetType = this.getFocusedElementType(event.target);
621
-
622
- if (this.columnHeaderTabbables.includes(target)) {
623
- if (isNext && this.columnHeaderLastElement === target) {
624
- return this._focusNextElement(event);
625
- }
626
-
627
- return;
628
- }
629
-
630
- if (isNext && targetType === "columnHeader" && !this.columnHeaderTabbables.length) {
631
- return this._focusNextElement(event);
632
- }
633
-
634
- if (targetType === "tableRow" || !targetType) {
635
- return;
636
- }
637
-
638
- switch (targetType) {
639
- case "tableGroupRow":
640
- return isNext ? this._focusNextElement(event) : this._focusForwardElement(event, false);
641
- case "columnHeader":
642
- return !isNext && this._focusForwardElement(event, false);
643
- case "moreButton":
644
- if (isNext) {
645
- this._focusForwardElement(event, true);
646
- } else {
647
- event.preventDefault();
648
- this.currentElement.focus();
649
- }
650
- }
651
- }
652
-
653
- _focusNextElement(event) {
654
- if (!this.growsWithButton) {
655
- this._focusForwardElement(event, true);
656
- } else {
657
- this.morеBtn.focus();
658
- }
659
- }
660
-
661
- _handleArrowNav(event) {
662
- const isRowFocused = this.currentElement.localName === "tr";
663
-
664
- if (!isRowFocused) {
665
- return;
666
- }
667
-
668
- const previouslySelectedRows = this.selectedRows;
669
- const currentItem = this.currentItem;
670
- const currentItemIdx = this.currentItemIdx;
671
-
672
- const prevItemIdx = currentItemIdx - 1;
673
- const nextItemIdx = currentItemIdx + 1;
674
-
675
- const prevItem = this.rows[prevItemIdx];
676
- const nextItem = this.rows[nextItemIdx];
677
- const wasSelected = currentItem.selected;
678
-
679
- if ((isUpShift(event) && !prevItem) || (isDownShift(event) && !nextItem)) {
680
- return;
681
- }
682
-
683
- if (isUpShift(event)) {
684
- currentItem.selected = currentItem.selected && !prevItem.selected;
685
- prevItem.selected = currentItem.selected || (wasSelected && !currentItem.selected);
686
-
687
- prevItem.focus();
688
- }
689
-
690
- if (isDownShift(event)) {
691
- currentItem.selected = currentItem.selected && !nextItem.selected;
692
- nextItem.selected = currentItem.selected || (wasSelected && !currentItem.selected);
693
-
694
- nextItem.focus();
695
- }
696
-
697
- const selectedRows = this.selectedRows;
698
-
699
- this.fireEvent("selection-change", {
700
- selectedRows,
701
- previouslySelectedRows,
702
- });
703
- }
704
-
705
- _handleHomeEndSelection(event) {
706
- const isRowFocused = this.currentElement.localName === "tr";
707
-
708
- if (!isRowFocused) {
709
- return;
710
- }
711
- const rows = this.rows;
712
- const previouslySelectedRows = this.selectedRows;
713
- const currentItemIdx = this.currentItemIdx;
714
-
715
- if (isHomeShift(event)) {
716
- rows.slice(0, currentItemIdx + 1).forEach(item => {
717
- item.selected = true;
718
- });
719
- rows[0].focus();
720
- }
721
-
722
- if (isEndShift(event)) {
723
- rows.slice(currentItemIdx).forEach(item => {
724
- item.selected = true;
725
- });
726
- rows[rows.length - 1].focus();
727
- }
728
-
729
- const selectedRows = this.selectedRows;
730
-
731
- this.fireEvent("selection-change", {
732
- selectedRows,
733
- previouslySelectedRows,
734
- });
735
- }
736
-
737
- /**
738
- * Handles Alt + Up/Down.
739
- * Switches focus between column header, last focused item, and "More" button (if applicable).
740
- * @private
741
- * @param {CustomEvent} event
742
- */
743
- _handleArrowAlt(event) {
744
- const shouldMoveUp = isUpAlt(event);
745
- const focusedElementType = this.getFocusedElementType(event.target);
746
-
747
- if (shouldMoveUp) {
748
- switch (focusedElementType) {
749
- case "tableRow":
750
- case "tableGroupRow":
751
- this._prevFocusedRow = event.target;
752
- return this._onColumnHeaderClick(event);
753
- case "columnHeader":
754
- return this.morеBtn ? this.morеBtn.focus() : this._prevFocusedRow.focus();
755
- case "moreButton":
756
- return this._prevFocusedRow ? this._prevFocusedRow.focus() : this._onColumnHeaderClick(event);
757
- }
758
- } else {
759
- switch (focusedElementType) {
760
- case "tableRow":
761
- case "tableGroupRow":
762
- this._prevFocusedRow = event.target;
763
- return this.morеBtn ? this.morеBtn.focus() : this._onColumnHeaderClick(event);
764
- case "columnHeader":
765
- if (this._prevFocusedRow) {
766
- this._prevFocusedRow.focus();
767
- } else if (this.morеBtn) {
768
- this.morеBtn.focus();
769
- }
770
-
771
- return;
772
- case "moreButton":
773
- return this._onColumnHeaderClick(event);
774
- }
775
- }
776
- }
777
-
778
- /**
779
- * Determines the type of the currently focused element.
780
- * @private
781
- * @param {object} element The DOM element
782
- * @returns {("columnHeader"|"tableRow"|"tableGroupRow"|"moreButton")} A string identifier
783
- */
784
- getFocusedElementType(element) {
785
- if (element === this.columnHeader) {
786
- return "columnHeader";
787
- }
788
-
789
- if (element === this.morеBtn) {
790
- return "moreButton";
791
- }
792
-
793
- if (this.rows.includes(element)) {
794
- const isGroupRow = element.hasAttribute("ui5-table-group-row");
795
- return isGroupRow ? "tableGroupRow" : "tableRow";
796
- }
797
- }
798
-
799
- /**
800
- * Toggles focus between the table row's root and the last focused nested element.
801
- * @private
802
- * @param {CustomEvent} event "ui5-f7-pressed"
803
- */
804
- _handleF7(event) {
805
- const row = event.detail.row;
806
- row._tabbables = getTabbableElements(row);
807
- const activeElement = getActiveElement();
808
- const lastFocusedElement = row._tabbables[this._prevNestedElementIndex] || row._tabbables[0];
809
- const targetIndex = row._tabbables.indexOf(activeElement);
810
-
811
- if (!row._tabbables.length) {
812
- return;
813
- }
814
-
815
- if (activeElement === row.root) {
816
- lastFocusedElement.focus();
817
- } else if (targetIndex > -1) {
818
- this._prevNestedElementIndex = targetIndex;
819
- row.root.focus();
820
- }
821
- }
822
-
823
- _onfocusin(event) {
824
- const target = getNormalizedTarget(event.target);
825
-
826
- if (!this._isForwardElement(target)) {
827
- this.lastFocusedElement = target;
828
- return;
829
- }
830
-
831
- if (!this._forwardingFocus) {
832
- if (this.lastFocusedElement) {
833
- this.lastFocusedElement.focus();
834
- } else {
835
- this.currentElement.focus();
836
- }
837
-
838
- event.stopImmediatePropagation();
839
- }
840
-
841
- this._forwardingFocus = false;
842
- }
843
-
844
- _onForwardBefore(event) {
845
- this.lastFocusedElement = event.detail.target;
846
- this._focusForwardElement(event, false);
847
- event.stopImmediatePropagation();
848
- }
849
-
850
- _onForwardAfter(event) {
851
- this.lastFocusedElement = event.detail.target;
852
-
853
- if (!this.growsWithButton) {
854
- this._focusForwardElement(event, true);
855
- } else {
856
- this.morеBtn.focus();
857
- }
858
- }
859
-
860
- _focusForwardElement(event, isAfter) {
861
- this._forwardingFocus = true;
862
- this.shadowRoot.querySelector(`#${this._id}-${isAfter ? "after" : "before"}`).focus();
863
- }
864
-
865
- _isForwardElement(node) {
866
- const nodeId = node.id;
867
- const afterElement = this._getForwardElement(true);
868
- const beforeElement = this._getForwardElement(false);
869
-
870
- if (this._id === nodeId || (beforeElement && beforeElement.id === nodeId)) {
871
- return true;
872
- }
873
-
874
- return afterElement && afterElement.id === nodeId;
875
- }
876
-
877
- _getForwardElement(isAfter) {
878
- const dir = isAfter ? "after" : "before";
879
-
880
- if (!this[`_${dir}Element`]) {
881
- this[`_${dir}Element`] = this.shadowRoot.querySelector(`#${this._id}-${dir}`);
882
- }
883
-
884
- return this[`_${dir}Element`];
885
- }
886
-
887
- onRowFocused(event) {
888
- this._itemNavigation.setCurrentItem(event.target);
889
- }
890
-
891
- _onColumnHeaderFocused(event) {
892
- this._itemNavigation.setCurrentItem(this._columnHeader);
893
- }
894
-
895
- _onColumnHeaderClick(event) {
896
- if (!event.target) {
897
- this.columnHeader.focus();
898
- }
899
-
900
- const target = getNormalizedTarget(event.target);
901
- const isNestedElement = this.columnHeaderTabbables.includes(target);
902
-
903
- if (!isNestedElement) {
904
- this.columnHeader.focus();
905
- }
906
- }
907
-
908
- _onColumnHeaderKeydown(event) {
909
- if (isSpace(event)) {
910
- event.preventDefault();
911
- this.isMultiSelect && this._selectAll();
912
- }
913
- }
914
-
915
- _onLoadMoreKeydown(event) {
916
- if (isSpace(event)) {
917
- event.preventDefault();
918
- this._loadMoreActive = true;
919
- }
920
-
921
- if (isEnter(event)) {
922
- this._onLoadMoreClick();
923
- this._loadMoreActive = true;
924
- }
925
- }
926
-
927
- _onLoadMoreKeyup(event) {
928
- if (isSpace(event)) {
929
- this._onLoadMoreClick();
930
- }
931
- this._loadMoreActive = false;
932
- }
933
-
934
- _onLoadMoreClick() {
935
- this.fireEvent("load-more");
936
- }
937
-
938
- observeTableEnd() {
939
- if (!this.tableEndObserved) {
940
- this.getIntersectionObserver().observe(this.tableEndDOM);
941
- this.tableEndObserved = true;
942
- }
943
- }
944
-
945
- onInteresection(entries) {
946
- if (entries.some(entry => entry.isIntersecting)) {
947
- debounce(this.loadMore.bind(this), GROWING_WITH_SCROLL_DEBOUNCE_RATE);
948
- }
949
- }
950
-
951
- loadMore() {
952
- this.fireEvent("load-more");
953
- }
954
-
955
- _handleSingleSelect(event) {
956
- const row = this.getRowParent(event.target);
957
- if (!row.selected) {
958
- const previouslySelectedRows = this.selectedRows;
959
- this.rows.forEach(item => {
960
- if (item.selected) {
961
- item.selected = false;
962
- }
963
- });
964
- row.selected = true;
965
- this.fireEvent("selection-change", {
966
- selectedRows: [row],
967
- previouslySelectedRows,
968
- });
969
- }
970
- }
971
-
972
- _handleMultiSelect(event) {
973
- const row = this.getRowParent(event.target);
974
- const previouslySelectedRows = this.selectedRows;
975
-
976
- row.selected = !row.selected;
977
-
978
- const selectedRows = this.selectedRows;
979
-
980
- if (selectedRows.length === this.rows.length) {
981
- this._allRowsSelected = true;
982
- } else {
983
- this._allRowsSelected = false;
984
- }
985
-
986
- this.fireEvent("selection-change", {
987
- selectedRows,
988
- previouslySelectedRows,
989
- });
990
- }
991
-
992
- _handleSelect(event) {
993
- this[`_handle${this.mode}`](event);
994
- }
995
-
996
- _selectAll(event) {
997
- const bAllSelected = !this._allRowsSelected;
998
- const previouslySelectedRows = this.rows.filter(row => row.selected);
999
-
1000
- this._allRowsSelected = bAllSelected;
1001
-
1002
- this.rows.forEach(row => {
1003
- row.selected = bAllSelected;
1004
- });
1005
-
1006
- const selectedRows = bAllSelected ? this.rows : [];
1007
-
1008
- this.fireEvent("selection-change", {
1009
- selectedRows,
1010
- previouslySelectedRows,
1011
- });
1012
- }
1013
-
1014
- getRowParent(child) {
1015
- const parent = child.parentElement;
1016
-
1017
- if (child.hasAttribute("ui5-table-row")) {
1018
- return child;
1019
- }
1020
-
1021
- if (parent && parent.hasAttribute("ui5-table-row")) {
1022
- return parent;
1023
- }
1024
-
1025
- this.getRowParent(parent);
1026
- }
1027
-
1028
- get columnHeader() {
1029
- return this.getDomRef() && this.getDomRef().querySelector(`#${this._id}-columnHeader`);
1030
- }
1031
-
1032
- get morеBtn() {
1033
- return this.growsWithButton && this.getDomRef() && this.getDomRef().querySelector(`#${this._id}-growingButton`);
1034
- }
1035
-
1036
- handleResize(event) {
1037
- this.checkTableInViewport();
1038
- this.popinContent(event);
1039
- }
1040
-
1041
- checkTableInViewport() {
1042
- this._inViewport = isElementInView(this.getDomRef());
1043
- }
1044
-
1045
- popinContent(_event) {
1046
- const clientRect = this.getDomRef().getBoundingClientRect();
1047
- const tableWidth = clientRect.width;
1048
- const hiddenColumns = [];
1049
- const visibleColumnsIndexes = [];
1050
-
1051
- // store the hidden columns
1052
- this.columns.forEach((column, index) => {
1053
- if (tableWidth < column.minWidth && column.minWidth !== Infinity) {
1054
- hiddenColumns[index] = {
1055
- index,
1056
- popinText: column.popinText,
1057
- demandPopin: column.demandPopin,
1058
- };
1059
- } else {
1060
- visibleColumnsIndexes.push(index);
1061
- }
1062
- });
1063
-
1064
- if (visibleColumnsIndexes.length) {
1065
- if (!this.isMultiSelect) {
1066
- this.columns[visibleColumnsIndexes[0]].first = true;
1067
- }
1068
- this.columns[visibleColumnsIndexes[visibleColumnsIndexes.length - 1]].last = true;
1069
- }
1070
-
1071
- const hiddenColumnsChange = (this._hiddenColumns.length !== hiddenColumns.length) || this._hiddenColumns.some((column, index) => column !== hiddenColumns[index]);
1072
-
1073
- // invalidate only if hidden columns count has changed
1074
- if (hiddenColumnsChange) {
1075
- this._hiddenColumns = hiddenColumns;
1076
- if (hiddenColumns.length) {
1077
- this.fireEvent("popin-change", {
1078
- poppedColumns: this._hiddenColumns,
1079
- });
1080
- }
1081
- }
1082
- }
1083
-
1084
- /**
1085
- * Gets settings to be propagated from columns to rows.
1086
- *
1087
- * @returns {object}
1088
- * @memberof Table
1089
- */
1090
- getColumnPropagationSettings() {
1091
- return this.columns.map((column, index) => {
1092
- return {
1093
- index,
1094
- minWidth: column.minWidth,
1095
- demandPopin: column.demandPopin,
1096
- text: column.textContent,
1097
- popinText: column.popinText,
1098
- popinDisplay: column.popinDisplay,
1099
- visible: !this._hiddenColumns[index],
1100
- };
1101
- }, this);
1102
- }
1103
-
1104
- getIntersectionObserver() {
1105
- if (!this.growingIntersectionObserver) {
1106
- this.growingIntersectionObserver = new IntersectionObserver(this.onInteresection.bind(this), {
1107
- root: document,
1108
- rootMargin: "0px",
1109
- threshold: 1.0,
1110
- });
1111
- }
1112
-
1113
- return this.growingIntersectionObserver;
1114
- }
1115
-
1116
- get styles() {
1117
- return {
1118
- busy: {
1119
- position: this.busyIndPosition,
1120
- },
1121
- };
1122
- }
1123
-
1124
- get growsWithButton() {
1125
- return this.growing === TableGrowingMode.Button;
1126
- }
1127
-
1128
- get growsOnScroll() {
1129
- return this.growing === TableGrowingMode.Scroll;
1130
- }
1131
-
1132
- get _growingButtonText() {
1133
- return this.growingButtonText || Table.i18nBundle.getText(LOAD_MORE_TEXT);
1134
- }
1135
-
1136
- get ariaLabelText() {
1137
- const rowsCount = this.rows.length + 1;
1138
- const headerRowText = Table.i18nBundle.getText(TABLE_HEADER_ROW_INFORMATION, rowsCount);
1139
- const columnsTitle = this.columns.map(column => {
1140
- return column.textContent.trim();
1141
- }).join(" ");
1142
-
1143
- return `${headerRowText} ${columnsTitle}`;
1144
- }
1145
-
1146
- get tableAriaLabelText() {
1147
- return getEffectiveAriaLabelText(this);
1148
- }
1149
-
1150
- get ariaLabelSelectAllText() {
1151
- return Table.i18nBundle.getText(ARIA_LABEL_SELECT_ALL_CHECKBOX);
1152
- }
1153
-
1154
- get loadMoreAriaLabelledBy() {
1155
- if (this.moreDataText) {
1156
- return `${this._id}-growingButton-text ${this._id}-growingButton-subtext`;
1157
- }
1158
-
1159
- return `${this._id}-growingButton-text`;
1160
- }
1161
-
1162
- get tableEndDOM() {
1163
- return this.shadowRoot.querySelector(".ui5-table-end-marker");
1164
- }
1165
-
1166
- get busyIndPosition() {
1167
- return this._inViewport ? "absolute" : "sticky";
1168
- }
1169
-
1170
- get isMultiSelect() {
1171
- return this.mode === "MultiSelect";
1172
- }
1173
-
1174
- get selectedRows() {
1175
- return this.rows.filter(row => row.selected);
1176
- }
1177
-
1178
- get currentItemIdx() {
1179
- return this.rows.indexOf(this.currentItem);
1180
- }
1181
-
1182
- get currentItem() {
1183
- return this.getRootNode().activeElement;
1184
- }
1185
-
1186
- get currentElement() {
1187
- return this._itemNavigation._getCurrentItem();
1188
- }
1189
-
1190
- get columnHeaderTabbables() {
1191
- return getTabbableElements(this.columnHeader);
1192
- }
1193
-
1194
- get columnHeaderLastElement() {
1195
- return getLastTabbableElement(this.columnHeader);
1196
- }
1197
- }
1198
-
120
+ let Table = Table_1 = class Table extends UI5Element {
121
+ static get styles() {
122
+ return styles;
123
+ }
124
+ static get render() {
125
+ return litRender;
126
+ }
127
+ static get template() {
128
+ return TableTemplate;
129
+ }
130
+ static get dependencies() {
131
+ return [BusyIndicator, CheckBox];
132
+ }
133
+ static async onDefine() {
134
+ Table_1.i18nBundle = await getI18nBundle("@ui5/webcomponents");
135
+ }
136
+ constructor() {
137
+ super();
138
+ // The ItemNavigation requires each item to 1) have a "_tabIndex" property and 2) be either a UI5Element, or have an id property (to find it in the component's shadow DOM by)
139
+ this._columnHeader = {
140
+ id: `${this._id}-columnHeader`,
141
+ _tabIndex: "0",
142
+ };
143
+ this._itemNavigation = new ItemNavigation(this, {
144
+ navigationMode: NavigationMode.Vertical,
145
+ affectedPropertiesNames: ["_columnHeader"],
146
+ getItemsCallback: () => [this._columnHeader, ...this.rows],
147
+ skipItemsSize: PAGE_UP_DOWN_SIZE,
148
+ });
149
+ this._handleResize = this.popinContent.bind(this);
150
+ this.fnOnRowFocused = this.onRowFocused.bind(this);
151
+ this.fnHandleF7 = this._handleF7.bind(this);
152
+ this.tableEndObserved = false;
153
+ // Stores the last focused element within the table.
154
+ this.lastFocusedElement = null;
155
+ // Indicates whether the table is forwarding focus before or after the current table row.
156
+ this._forwardingFocus = false;
157
+ // Stores the last focused nested element index (within a table row) for F7 navigation.
158
+ this._prevNestedElementIndex = 0;
159
+ }
160
+ onBeforeRendering() {
161
+ const columnSettings = this.getColumnPropagationSettings();
162
+ const columnSettingsString = JSON.stringify(columnSettings);
163
+ const rowsCount = this.rows.length + 1;
164
+ const selectedRows = this.selectedRows;
165
+ this.rows.forEach((row, index) => {
166
+ if (row._columnsInfoString !== columnSettingsString) {
167
+ row._columnsInfo = columnSettings;
168
+ row._columnsInfoString = JSON.stringify(row._columnsInfo);
169
+ }
170
+ row._ariaPosition = Table_1.i18nBundle.getText(TABLE_ROW_POSITION, index + 2, rowsCount);
171
+ row._busy = this.busy;
172
+ row.removeEventListener("ui5-_focused", this.fnOnRowFocused);
173
+ row.addEventListener("ui5-_focused", this.fnOnRowFocused);
174
+ row.removeEventListener("ui5-f7-pressed", this.fnHandleF7);
175
+ row.addEventListener("ui5-f7-pressed", this.fnHandleF7);
176
+ row.mode = this.mode;
177
+ });
178
+ this.visibleColumns = this.columns.filter((column, index) => {
179
+ return !this._hiddenColumns[index];
180
+ });
181
+ this._noDataDisplayed = !this.rows.length && !this.hideNoData;
182
+ this.visibleColumnsCount = this.visibleColumns.length;
183
+ if (this.isMultiSelect) {
184
+ // we have to count the selection column as well
185
+ this.visibleColumnsCount += 1;
186
+ }
187
+ this._allRowsSelected = selectedRows.length === this.rows.length;
188
+ this._prevFocusedRow = this._prevFocusedRow || this.rows[0];
189
+ }
190
+ onAfterRendering() {
191
+ if (this.growsOnScroll) {
192
+ this.observeTableEnd();
193
+ }
194
+ this.checkTableInViewport();
195
+ }
196
+ onEnterDOM() {
197
+ this.growingIntersectionObserver = this.getIntersectionObserver();
198
+ ResizeHandler.register(this.getDomRef(), this._handleResize);
199
+ this._itemNavigation.setCurrentItem(this.rows.length ? this.rows[0] : this._columnHeader);
200
+ }
201
+ onExitDOM() {
202
+ ResizeHandler.deregister(this.getDomRef(), this._handleResize);
203
+ this.growingIntersectionObserver.disconnect();
204
+ this.growingIntersectionObserver = null;
205
+ this.tableEndObserved = false;
206
+ }
207
+ _onkeydown(e) {
208
+ if (isTabNext(e) || isTabPrevious(e)) {
209
+ this._handleTab(e);
210
+ }
211
+ if (isCtrlA(e)) {
212
+ e.preventDefault();
213
+ this.isMultiSelect && this._selectAll();
214
+ }
215
+ if (isUpAlt(e) || isDownAlt(e)) {
216
+ this._handleArrowAlt(e);
217
+ }
218
+ if ((isUpShift(e) || isDownShift(e)) && this.isMultiSelect) {
219
+ this._handleArrowNav(e);
220
+ }
221
+ if (isHomeCtrl(e)) {
222
+ e.preventDefault();
223
+ this._itemNavigation._handleHome();
224
+ this._itemNavigation._applyTabIndex();
225
+ this._itemNavigation._focusCurrentItem();
226
+ }
227
+ if (isEndCtrl(e)) {
228
+ e.preventDefault();
229
+ this._itemNavigation._handleEnd();
230
+ this._itemNavigation._applyTabIndex();
231
+ this._itemNavigation._focusCurrentItem();
232
+ }
233
+ if ((isHomeShift(e) || isEndShift(e)) && this.isMultiSelect) {
234
+ this._handleHomeEndSelection(e);
235
+ }
236
+ }
237
+ _handleTab(e) {
238
+ const isNext = isTabNext(e);
239
+ const target = getNormalizedTarget(e.target);
240
+ const targetType = this.getFocusedElementType(e.target);
241
+ if (this.columnHeaderTabbables.includes(target)) {
242
+ if (isNext && this.columnHeaderLastElement === target) {
243
+ return this._focusNextElement();
244
+ }
245
+ return;
246
+ }
247
+ if (isNext && targetType === TableFocusTargetElement.ColumnHeader && !this.columnHeaderTabbables.length) {
248
+ return this._focusNextElement();
249
+ }
250
+ if (targetType === TableFocusTargetElement.Row || !targetType) {
251
+ return;
252
+ }
253
+ switch (targetType) {
254
+ case TableFocusTargetElement.GroupRow:
255
+ return isNext ? this._focusNextElement() : this._focusForwardElement(false);
256
+ case TableFocusTargetElement.ColumnHeader:
257
+ return !isNext && this._focusForwardElement(false);
258
+ case TableFocusTargetElement.MoreButton:
259
+ if (isNext) {
260
+ this._focusForwardElement(true);
261
+ }
262
+ else {
263
+ e.preventDefault();
264
+ this.currentElement?.focus();
265
+ }
266
+ }
267
+ }
268
+ _focusNextElement() {
269
+ if (!this.growsWithButton) {
270
+ this._focusForwardElement(true);
271
+ }
272
+ else {
273
+ this.morеBtn.focus();
274
+ }
275
+ }
276
+ _handleArrowNav(e) {
277
+ const isRowFocused = this.currentElement.localName === "tr";
278
+ if (!isRowFocused) {
279
+ return;
280
+ }
281
+ const previouslySelectedRows = this.selectedRows;
282
+ const currentItem = this.currentItem;
283
+ const currentItemIdx = this.currentItemIdx;
284
+ const prevItemIdx = currentItemIdx - 1;
285
+ const nextItemIdx = currentItemIdx + 1;
286
+ const prevItem = this.rows[prevItemIdx];
287
+ const nextItem = this.rows[nextItemIdx];
288
+ const wasSelected = !!currentItem.selected;
289
+ if ((isUpShift(e) && !prevItem) || (isDownShift(e) && !nextItem)) {
290
+ return;
291
+ }
292
+ if (isUpShift(e)) {
293
+ currentItem.selected = currentItem.selected && !prevItem.selected;
294
+ prevItem.selected = currentItem.selected || (wasSelected && !currentItem.selected);
295
+ prevItem.focus();
296
+ }
297
+ if (isDownShift(e)) {
298
+ currentItem.selected = currentItem.selected && !nextItem.selected;
299
+ nextItem.selected = currentItem.selected || (wasSelected && !currentItem.selected);
300
+ nextItem.focus();
301
+ }
302
+ const selectedRows = this.selectedRows;
303
+ this.fireEvent("selection-change", {
304
+ selectedRows,
305
+ previouslySelectedRows,
306
+ });
307
+ }
308
+ _handleHomeEndSelection(e) {
309
+ const isRowFocused = this.currentElement.localName === "tr";
310
+ if (!isRowFocused) {
311
+ return;
312
+ }
313
+ const rows = this.rows;
314
+ const previouslySelectedRows = this.selectedRows;
315
+ const currentItemIdx = this.currentItemIdx;
316
+ if (isHomeShift(e)) {
317
+ rows.slice(0, currentItemIdx + 1).forEach(item => {
318
+ item.selected = true;
319
+ });
320
+ rows[0].focus();
321
+ }
322
+ if (isEndShift(e)) {
323
+ rows.slice(currentItemIdx).forEach(item => {
324
+ item.selected = true;
325
+ });
326
+ rows[rows.length - 1].focus();
327
+ }
328
+ const selectedRows = this.selectedRows;
329
+ this.fireEvent("selection-change", {
330
+ selectedRows,
331
+ previouslySelectedRows,
332
+ });
333
+ }
334
+ /**
335
+ * Handles Alt + Up/Down.
336
+ * Switches focus between column header, last focused item, and "More" button (if applicable).
337
+ * @private
338
+ * @param { KeyboardEvent } e
339
+ */
340
+ _handleArrowAlt(e) {
341
+ const shouldMoveUp = isUpAlt(e);
342
+ const target = e.target;
343
+ const focusedElementType = this.getFocusedElementType(target);
344
+ if (shouldMoveUp) {
345
+ switch (focusedElementType) {
346
+ case TableFocusTargetElement.Row:
347
+ case TableFocusTargetElement.GroupRow:
348
+ this._prevFocusedRow = target;
349
+ return this._onColumnHeaderClick(e);
350
+ case TableFocusTargetElement.ColumnHeader:
351
+ return this.morеBtn ? this.morеBtn.focus() : this._prevFocusedRow?.focus();
352
+ case TableFocusTargetElement.MoreButton:
353
+ return this._prevFocusedRow ? this._prevFocusedRow.focus() : this._onColumnHeaderClick(e);
354
+ }
355
+ }
356
+ else {
357
+ switch (focusedElementType) {
358
+ case TableFocusTargetElement.Row:
359
+ case TableFocusTargetElement.GroupRow:
360
+ this._prevFocusedRow = target;
361
+ return this.morеBtn ? this.morеBtn.focus() : this._onColumnHeaderClick(e);
362
+ case TableFocusTargetElement.ColumnHeader:
363
+ if (this._prevFocusedRow) {
364
+ this._prevFocusedRow.focus();
365
+ }
366
+ else if (this.morеBtn) {
367
+ this.morеBtn.focus();
368
+ }
369
+ return;
370
+ case TableFocusTargetElement.MoreButton:
371
+ return this._onColumnHeaderClick(e);
372
+ }
373
+ }
374
+ }
375
+ /**
376
+ * Determines the type of the currently focused element.
377
+ * @private
378
+ * @param {object} element The DOM element
379
+ * @returns {("columnHeader"|"tableRow"|"tableGroupRow"|"moreButton")} A string identifier
380
+ */
381
+ getFocusedElementType(element) {
382
+ if (element === this.columnHeader) {
383
+ return TableFocusTargetElement.ColumnHeader;
384
+ }
385
+ if (element === this.morеBtn) {
386
+ return TableFocusTargetElement.MoreButton;
387
+ }
388
+ if (this.rows.includes(element)) {
389
+ const isGroupRow = element.hasAttribute("ui5-table-group-row");
390
+ return isGroupRow ? TableFocusTargetElement.GroupRow : TableFocusTargetElement.Row;
391
+ }
392
+ }
393
+ /**
394
+ * Toggles focus between the table row's root and the last focused nested element.
395
+ * @private
396
+ * @param { CustomEvent } e "ui5-f7-pressed"
397
+ */
398
+ _handleF7(e) {
399
+ const row = e.detail.row;
400
+ row._tabbables = getTabbableElements(row);
401
+ const activeElement = getActiveElement();
402
+ const lastFocusedElement = row._tabbables[this._prevNestedElementIndex] || row._tabbables[0];
403
+ const targetIndex = row._tabbables.indexOf(activeElement);
404
+ if (!row._tabbables.length) {
405
+ return;
406
+ }
407
+ if (activeElement === row.root) {
408
+ lastFocusedElement.focus();
409
+ }
410
+ else if (targetIndex > -1) {
411
+ this._prevNestedElementIndex = targetIndex;
412
+ row.root.focus();
413
+ }
414
+ }
415
+ _onfocusin(e) {
416
+ const target = getNormalizedTarget(e.target);
417
+ if (!this._isForwardElement(target)) {
418
+ this.lastFocusedElement = target;
419
+ return;
420
+ }
421
+ if (!this._forwardingFocus) {
422
+ if (this.lastFocusedElement) {
423
+ this.lastFocusedElement.focus();
424
+ }
425
+ else {
426
+ this.currentElement.focus();
427
+ }
428
+ e.stopImmediatePropagation();
429
+ }
430
+ this._forwardingFocus = false;
431
+ }
432
+ _onForwardBefore(e) {
433
+ this.lastFocusedElement = e.detail.target;
434
+ this._focusForwardElement(false);
435
+ e.stopImmediatePropagation();
436
+ }
437
+ _onForwardAfter(e) {
438
+ this.lastFocusedElement = e.detail.target;
439
+ if (!this.growsWithButton) {
440
+ this._focusForwardElement(true);
441
+ }
442
+ else {
443
+ this.morеBtn.focus();
444
+ }
445
+ }
446
+ _focusForwardElement(isAfter) {
447
+ this._forwardingFocus = true;
448
+ this.shadowRoot.querySelector(`#${this._id}-${isAfter ? "after" : "before"}`).focus();
449
+ }
450
+ _isForwardElement(element) {
451
+ const elementId = element.id;
452
+ const afterElement = this._getForwardElement(true);
453
+ const beforeElement = this._getForwardElement(false);
454
+ if (this._id === elementId || (beforeElement && beforeElement.id === elementId)) {
455
+ return true;
456
+ }
457
+ return !!(afterElement && afterElement.id === elementId);
458
+ }
459
+ _getForwardElement(isAfter) {
460
+ if (isAfter) {
461
+ return this._getAfterForwardElement();
462
+ }
463
+ return this._getBeforeForwardElement();
464
+ }
465
+ _getAfterForwardElement() {
466
+ if (!this._afterElement) {
467
+ this._afterElement = this.shadowRoot.querySelector(`#${this._id}-after`);
468
+ }
469
+ return this._afterElement;
470
+ }
471
+ _getBeforeForwardElement() {
472
+ if (!this._beforeElement) {
473
+ this._beforeElement = this.shadowRoot.querySelector(`#${this._id}-before`);
474
+ }
475
+ return this._beforeElement;
476
+ }
477
+ onRowFocused(e) {
478
+ this._itemNavigation.setCurrentItem(e.target);
479
+ }
480
+ _onColumnHeaderFocused() {
481
+ this._itemNavigation.setCurrentItem(this._columnHeader);
482
+ }
483
+ _onColumnHeaderClick(e) {
484
+ if (!e.target) {
485
+ this.columnHeader.focus();
486
+ }
487
+ const target = getNormalizedTarget(e.target);
488
+ const isNestedElement = this.columnHeaderTabbables.includes(target);
489
+ if (!isNestedElement) {
490
+ this.columnHeader.focus();
491
+ }
492
+ }
493
+ _onColumnHeaderKeydown(e) {
494
+ if (isSpace(e)) {
495
+ e.preventDefault();
496
+ this.isMultiSelect && this._selectAll();
497
+ }
498
+ }
499
+ _onLoadMoreKeydown(e) {
500
+ if (isSpace(e)) {
501
+ e.preventDefault();
502
+ this._loadMoreActive = true;
503
+ }
504
+ if (isEnter(e)) {
505
+ this._onLoadMoreClick();
506
+ this._loadMoreActive = true;
507
+ }
508
+ }
509
+ _onLoadMoreKeyup(e) {
510
+ if (isSpace(e)) {
511
+ this._onLoadMoreClick();
512
+ }
513
+ this._loadMoreActive = false;
514
+ }
515
+ _onLoadMoreClick() {
516
+ this.fireEvent("load-more");
517
+ }
518
+ observeTableEnd() {
519
+ if (!this.tableEndObserved) {
520
+ this.getIntersectionObserver().observe(this.tableEndDOM);
521
+ this.tableEndObserved = true;
522
+ }
523
+ }
524
+ onInteresection(entries) {
525
+ if (entries.some(entry => entry.isIntersecting)) {
526
+ debounce(this.loadMore.bind(this), GROWING_WITH_SCROLL_DEBOUNCE_RATE);
527
+ }
528
+ }
529
+ loadMore() {
530
+ this.fireEvent("load-more");
531
+ }
532
+ _handleSingleSelect(e) {
533
+ const row = this.getRowParent(e.target);
534
+ if (!row) {
535
+ return;
536
+ }
537
+ if (!row.selected) {
538
+ const previouslySelectedRows = this.selectedRows;
539
+ this.rows.forEach(item => {
540
+ if (item.selected) {
541
+ item.selected = false;
542
+ }
543
+ });
544
+ row.selected = true;
545
+ this.fireEvent("selection-change", {
546
+ selectedRows: [row],
547
+ previouslySelectedRows,
548
+ });
549
+ }
550
+ }
551
+ _handleMultiSelect(e) {
552
+ const row = this.getRowParent(e.target);
553
+ const previouslySelectedRows = this.selectedRows;
554
+ if (!row) {
555
+ return;
556
+ }
557
+ row.selected = !row.selected;
558
+ const selectedRows = this.selectedRows;
559
+ if (selectedRows.length === this.rows.length) {
560
+ this._allRowsSelected = true;
561
+ }
562
+ else {
563
+ this._allRowsSelected = false;
564
+ }
565
+ this.fireEvent("selection-change", {
566
+ selectedRows,
567
+ previouslySelectedRows,
568
+ });
569
+ }
570
+ _handleSelect(e) {
571
+ if (this.isSingleSelect) {
572
+ this._handleSingleSelect(e);
573
+ return;
574
+ }
575
+ if (this.isMultiSelect) {
576
+ this._handleMultiSelect(e);
577
+ }
578
+ }
579
+ _selectAll() {
580
+ const bAllSelected = !this._allRowsSelected;
581
+ const previouslySelectedRows = this.rows.filter(row => row.selected);
582
+ this._allRowsSelected = bAllSelected;
583
+ this.rows.forEach(row => {
584
+ row.selected = bAllSelected;
585
+ });
586
+ const selectedRows = bAllSelected ? this.rows : [];
587
+ this.fireEvent("selection-change", {
588
+ selectedRows,
589
+ previouslySelectedRows,
590
+ });
591
+ }
592
+ getRowParent(child) {
593
+ if (child.hasAttribute("ui5-table-row")) {
594
+ return child;
595
+ }
596
+ const parent = child.parentElement;
597
+ if (!parent) {
598
+ return;
599
+ }
600
+ if (parent.hasAttribute("ui5-table-row")) {
601
+ return parent;
602
+ }
603
+ return this.getRowParent(parent);
604
+ }
605
+ get columnHeader() {
606
+ const domRef = this.getDomRef();
607
+ return domRef ? domRef.querySelector(`#${this._id}-columnHeader`) : null;
608
+ }
609
+ get morеBtn() {
610
+ const domRef = this.getDomRef();
611
+ if (this.growsWithButton && domRef) {
612
+ return domRef.querySelector(`#${this._id}-growingButton`);
613
+ }
614
+ return null;
615
+ }
616
+ handleResize() {
617
+ this.checkTableInViewport();
618
+ this.popinContent();
619
+ }
620
+ checkTableInViewport() {
621
+ this._inViewport = isElementInView(this.getDomRef());
622
+ }
623
+ popinContent() {
624
+ const clientRect = this.getDomRef().getBoundingClientRect();
625
+ const tableWidth = clientRect.width;
626
+ const hiddenColumns = [];
627
+ const visibleColumnsIndexes = [];
628
+ // store the hidden columns
629
+ this.columns.forEach((column, index) => {
630
+ if (tableWidth < column.minWidth && column.minWidth !== Infinity) {
631
+ hiddenColumns[index] = {
632
+ index,
633
+ popinText: column.popinText,
634
+ demandPopin: column.demandPopin,
635
+ };
636
+ }
637
+ else {
638
+ visibleColumnsIndexes.push(index);
639
+ }
640
+ });
641
+ if (visibleColumnsIndexes.length) {
642
+ if (!this.isMultiSelect) {
643
+ this.columns[visibleColumnsIndexes[0]].first = true;
644
+ }
645
+ this.columns[visibleColumnsIndexes[visibleColumnsIndexes.length - 1]].last = true;
646
+ }
647
+ const hiddenColumnsChange = (this._hiddenColumns.length !== hiddenColumns.length) || this._hiddenColumns.some((column, index) => column !== hiddenColumns[index]);
648
+ // invalidate only if hidden columns count has changed
649
+ if (hiddenColumnsChange) {
650
+ this._hiddenColumns = hiddenColumns;
651
+ if (hiddenColumns.length) {
652
+ this.fireEvent("popin-change", {
653
+ poppedColumns: this._hiddenColumns,
654
+ });
655
+ }
656
+ }
657
+ }
658
+ /**
659
+ * Gets settings to be propagated from columns to rows.
660
+ *
661
+ * @returns { array }
662
+ * @memberof Table
663
+ */
664
+ getColumnPropagationSettings() {
665
+ return this.columns.map((column, index) => {
666
+ return {
667
+ index,
668
+ minWidth: column.minWidth,
669
+ demandPopin: column.demandPopin,
670
+ text: column.textContent,
671
+ popinText: column.popinText,
672
+ popinDisplay: column.popinDisplay,
673
+ visible: !this._hiddenColumns[index],
674
+ };
675
+ }, this);
676
+ }
677
+ getIntersectionObserver() {
678
+ if (!this.growingIntersectionObserver) {
679
+ this.growingIntersectionObserver = new IntersectionObserver(this.onInteresection.bind(this), {
680
+ root: document,
681
+ rootMargin: "0px",
682
+ threshold: 1.0,
683
+ });
684
+ }
685
+ return this.growingIntersectionObserver;
686
+ }
687
+ get styles() {
688
+ return {
689
+ busy: {
690
+ position: this.busyIndPosition,
691
+ },
692
+ };
693
+ }
694
+ get growsWithButton() {
695
+ return this.growing === TableGrowingMode.Button;
696
+ }
697
+ get growsOnScroll() {
698
+ return this.growing === TableGrowingMode.Scroll;
699
+ }
700
+ get _growingButtonText() {
701
+ return this.growingButtonText || Table_1.i18nBundle.getText(LOAD_MORE_TEXT);
702
+ }
703
+ get ariaLabelText() {
704
+ const rowsCount = this.rows.length + 1;
705
+ const headerRowText = Table_1.i18nBundle.getText(TABLE_HEADER_ROW_INFORMATION, rowsCount);
706
+ const columnsTitle = this.columns.map(column => {
707
+ return column.textContent.trim();
708
+ }).join(" ");
709
+ return `${headerRowText} ${columnsTitle}`;
710
+ }
711
+ get tableAriaLabelText() {
712
+ return getEffectiveAriaLabelText(this);
713
+ }
714
+ get ariaLabelSelectAllText() {
715
+ return Table_1.i18nBundle.getText(ARIA_LABEL_SELECT_ALL_CHECKBOX);
716
+ }
717
+ get loadMoreAriaLabelledBy() {
718
+ if (this.moreDataText) {
719
+ return `${this._id}-growingButton-text ${this._id}-growingButton-subtext`;
720
+ }
721
+ return `${this._id}-growingButton-text`;
722
+ }
723
+ get tableEndDOM() {
724
+ return this.shadowRoot.querySelector(".ui5-table-end-marker");
725
+ }
726
+ get busyIndPosition() {
727
+ return this._inViewport ? "absolute" : "sticky";
728
+ }
729
+ get isMultiSelect() {
730
+ return this.mode === TableMode.MultiSelect;
731
+ }
732
+ get isSingleSelect() {
733
+ return this.mode === TableMode.SingleSelect;
734
+ }
735
+ get selectedRows() {
736
+ return this.rows.filter(row => row.selected);
737
+ }
738
+ get currentItemIdx() {
739
+ return this.rows.indexOf(this.currentItem);
740
+ }
741
+ get currentItem() {
742
+ return this.getRootNode().activeElement;
743
+ }
744
+ get currentElement() {
745
+ return this._itemNavigation._getCurrentItem();
746
+ }
747
+ get columnHeaderTabbables() {
748
+ return this.columnHeader ? getTabbableElements(this.columnHeader) : [];
749
+ }
750
+ get columnHeaderLastElement() {
751
+ return this.columnHeader && getLastTabbableElement(this.columnHeader);
752
+ }
753
+ };
754
+ __decorate([
755
+ property()
756
+ ], Table.prototype, "noDataText", void 0);
757
+ __decorate([
758
+ property()
759
+ ], Table.prototype, "growingButtonText", void 0);
760
+ __decorate([
761
+ property()
762
+ ], Table.prototype, "growingButtonSubtext", void 0);
763
+ __decorate([
764
+ property({ type: Boolean })
765
+ ], Table.prototype, "hideNoData", void 0);
766
+ __decorate([
767
+ property({ type: TableGrowingMode, defaultValue: TableGrowingMode.None })
768
+ ], Table.prototype, "growing", void 0);
769
+ __decorate([
770
+ property({ type: Boolean })
771
+ ], Table.prototype, "busy", void 0);
772
+ __decorate([
773
+ property({ validator: Integer, defaultValue: 1000 })
774
+ ], Table.prototype, "busyDelay", void 0);
775
+ __decorate([
776
+ property({ type: Boolean })
777
+ ], Table.prototype, "stickyColumnHeader", void 0);
778
+ __decorate([
779
+ property({ type: TableMode, defaultValue: TableMode.None })
780
+ ], Table.prototype, "mode", void 0);
781
+ __decorate([
782
+ property({ defaultValue: undefined })
783
+ ], Table.prototype, "accessibleName", void 0);
784
+ __decorate([
785
+ property({ defaultValue: "" })
786
+ ], Table.prototype, "accessibleNameRef", void 0);
787
+ __decorate([
788
+ property({ type: Object, multiple: true })
789
+ ], Table.prototype, "_hiddenColumns", void 0);
790
+ __decorate([
791
+ property({ type: Boolean })
792
+ ], Table.prototype, "_noDataDisplayed", void 0);
793
+ __decorate([
794
+ property({ type: Boolean })
795
+ ], Table.prototype, "_loadMoreActive", void 0);
796
+ __decorate([
797
+ property({ type: Object })
798
+ ], Table.prototype, "_columnHeader", void 0);
799
+ __decorate([
800
+ property({ type: Boolean })
801
+ ], Table.prototype, "_inViewport", void 0);
802
+ __decorate([
803
+ property({ type: Boolean })
804
+ ], Table.prototype, "_allRowsSelected", void 0);
805
+ __decorate([
806
+ slot({
807
+ type: HTMLElement,
808
+ "default": true,
809
+ individualSlots: true,
810
+ invalidateOnChildChange: true,
811
+ })
812
+ ], Table.prototype, "rows", void 0);
813
+ __decorate([
814
+ slot({
815
+ type: HTMLElement,
816
+ individualSlots: true,
817
+ invalidateOnChildChange: {
818
+ properties: true,
819
+ slots: false,
820
+ },
821
+ })
822
+ ], Table.prototype, "columns", void 0);
823
+ Table = Table_1 = __decorate([
824
+ customElement("ui5-table"),
825
+ fastNavigation
826
+ /** Fired when a row in <code>Active</code> mode is clicked or <code>Enter</code> key is pressed.
827
+ *
828
+ * @event sap.ui.webc.main.Table#row-click
829
+ * @param {HTMLElement} row the activated row.
830
+ * @public
831
+ */
832
+ ,
833
+ event("row-click", {
834
+ detail: {
835
+ row: { type: HTMLElement },
836
+ },
837
+ })
838
+ /**
839
+ * Fired when <code>ui5-table-column</code> is shown as a pop-in instead of hiding it.
840
+ *
841
+ * @event sap.ui.webc.main.Table#popin-change
842
+ * @param {Array} poppedColumns popped-in columns.
843
+ * @since 1.0.0-rc.6
844
+ * @public
845
+ */
846
+ ,
847
+ event("popin-change", {
848
+ detail: {
849
+ poppedColumns: {
850
+ type: Array,
851
+ },
852
+ },
853
+ })
854
+ /**
855
+ * Fired when the user presses the <code>More</code> button or scrolls to the table's end.
856
+ * <br><br>
857
+ *
858
+ * <b>Note:</b> The event will be fired if <code>growing</code> is set to <code>Button</code> or <code>Scroll</code>.
859
+ * @event sap.ui.webc.main.Table#load-more
860
+ * @public
861
+ * @since 1.0.0-rc.11
862
+ */
863
+ ,
864
+ event("load-more")
865
+ /**
866
+ * Fired when selection is changed by user interaction
867
+ * in <code>SingleSelect</code> and <code>MultiSelect</code> modes.
868
+ *
869
+ * @event sap.ui.webc.main.Table#selection-change
870
+ * @param {Array} selectedRows An array of the selected rows.
871
+ * @param {Array} previouslySelectedRows An array of the previously selected rows.
872
+ * @public
873
+ * @since 1.0.0-rc.15
874
+ */
875
+ ,
876
+ event("selection-change", {
877
+ detail: {
878
+ selectedRows: { type: Array },
879
+ previouslySelectedRows: { type: Array },
880
+ },
881
+ })
882
+ ], Table);
1199
883
  Table.define();
1200
-
1201
884
  export default Table;
885
+ //# sourceMappingURL=Table.js.map