@ui5/webcomponents 0.0.0-453158269 → 0.0.0-49cef2d02

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