@ui5/webcomponents 2.0.0-rc.6 → 2.0.0

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 (902) hide show
  1. package/CHANGELOG.md +150 -0
  2. package/README.md +1 -4
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/Avatar.d.ts +13 -18
  5. package/dist/Avatar.js +77 -17
  6. package/dist/Avatar.js.map +1 -1
  7. package/dist/AvatarGroup.d.ts +1 -1
  8. package/dist/AvatarGroup.js +21 -3
  9. package/dist/AvatarGroup.js.map +1 -1
  10. package/dist/Bar.d.ts +1 -1
  11. package/dist/Bar.js +7 -2
  12. package/dist/Bar.js.map +1 -1
  13. package/dist/Breadcrumbs.d.ts +1 -1
  14. package/dist/Breadcrumbs.js +25 -5
  15. package/dist/Breadcrumbs.js.map +1 -1
  16. package/dist/BreadcrumbsItem.d.ts +3 -3
  17. package/dist/BreadcrumbsItem.js +1 -1
  18. package/dist/BreadcrumbsItem.js.map +1 -1
  19. package/dist/BusyIndicator.d.ts +5 -5
  20. package/dist/BusyIndicator.js +33 -5
  21. package/dist/BusyIndicator.js.map +1 -1
  22. package/dist/Button.d.ts +9 -9
  23. package/dist/Button.js +107 -7
  24. package/dist/Button.js.map +1 -1
  25. package/dist/Calendar.d.ts +46 -7
  26. package/dist/Calendar.js +143 -16
  27. package/dist/Calendar.js.map +1 -1
  28. package/dist/CalendarDate.d.ts +1 -0
  29. package/dist/CalendarDate.js +11 -0
  30. package/dist/CalendarDate.js.map +1 -1
  31. package/dist/CalendarDateRange.d.ts +1 -0
  32. package/dist/CalendarDateRange.js +18 -0
  33. package/dist/CalendarDateRange.js.map +1 -1
  34. package/dist/CalendarLegend.js +24 -0
  35. package/dist/CalendarLegend.js.map +1 -1
  36. package/dist/CalendarLegendItem.d.ts +2 -2
  37. package/dist/CalendarLegendItem.js +16 -2
  38. package/dist/CalendarLegendItem.js.map +1 -1
  39. package/dist/CalendarPart.js +1 -2
  40. package/dist/CalendarPart.js.map +1 -1
  41. package/dist/Card.d.ts +4 -4
  42. package/dist/Card.js.map +1 -1
  43. package/dist/CardHeader.d.ts +6 -6
  44. package/dist/CardHeader.js +20 -2
  45. package/dist/CardHeader.js.map +1 -1
  46. package/dist/Carousel.d.ts +9 -9
  47. package/dist/Carousel.js +104 -14
  48. package/dist/Carousel.js.map +1 -1
  49. package/dist/CheckBox.d.ts +9 -9
  50. package/dist/CheckBox.js +85 -3
  51. package/dist/CheckBox.js.map +1 -1
  52. package/dist/ColorPalette.d.ts +2 -4
  53. package/dist/ColorPalette.js +34 -17
  54. package/dist/ColorPalette.js.map +1 -1
  55. package/dist/ColorPaletteItem.d.ts +3 -3
  56. package/dist/ColorPaletteItem.js +37 -5
  57. package/dist/ColorPaletteItem.js.map +1 -1
  58. package/dist/ColorPalettePopover.js +30 -4
  59. package/dist/ColorPalettePopover.js.map +1 -1
  60. package/dist/ColorPicker.d.ts +3 -3
  61. package/dist/ColorPicker.js +49 -8
  62. package/dist/ColorPicker.js.map +1 -1
  63. package/dist/ComboBox.d.ts +12 -11
  64. package/dist/ComboBox.js +108 -12
  65. package/dist/ComboBox.js.map +1 -1
  66. package/dist/ComboBoxItem.d.ts +4 -4
  67. package/dist/ComboBoxItem.js +18 -0
  68. package/dist/ComboBoxItem.js.map +1 -1
  69. package/dist/ComboBoxItemGroup.d.ts +2 -2
  70. package/dist/ComboBoxItemGroup.js +9 -1
  71. package/dist/ComboBoxItemGroup.js.map +1 -1
  72. package/dist/DateComponentBase.d.ts +3 -3
  73. package/dist/DateComponentBase.js +20 -3
  74. package/dist/DateComponentBase.js.map +1 -1
  75. package/dist/DatePicker.d.ts +7 -7
  76. package/dist/DatePicker.js +58 -4
  77. package/dist/DatePicker.js.map +1 -1
  78. package/dist/DateRangePicker.d.ts +2 -2
  79. package/dist/DateRangePicker.js +11 -4
  80. package/dist/DateRangePicker.js.map +1 -1
  81. package/dist/DateTimePicker.js +25 -2
  82. package/dist/DateTimePicker.js.map +1 -1
  83. package/dist/DayPicker.js +52 -18
  84. package/dist/DayPicker.js.map +1 -1
  85. package/dist/Dialog.d.ts +2 -2
  86. package/dist/Dialog.js +48 -2
  87. package/dist/Dialog.js.map +1 -1
  88. package/dist/DropIndicator.js +31 -4
  89. package/dist/DropIndicator.js.map +1 -1
  90. package/dist/FileUploader.d.ts +5 -5
  91. package/dist/FileUploader.js +43 -2
  92. package/dist/FileUploader.js.map +1 -1
  93. package/dist/Filters.js +2 -2
  94. package/dist/Filters.js.map +1 -1
  95. package/dist/Form.d.ts +5 -3
  96. package/dist/Form.js +65 -15
  97. package/dist/Form.js.map +1 -1
  98. package/dist/FormGroup.d.ts +4 -3
  99. package/dist/FormGroup.js +19 -11
  100. package/dist/FormGroup.js.map +1 -1
  101. package/dist/FormItem.d.ts +2 -1
  102. package/dist/FormItem.js +15 -5
  103. package/dist/FormItem.js.map +1 -1
  104. package/dist/Icon.d.ts +5 -5
  105. package/dist/Icon.js +38 -6
  106. package/dist/Icon.js.map +1 -1
  107. package/dist/Input.d.ts +34 -39
  108. package/dist/Input.js +197 -78
  109. package/dist/Input.js.map +1 -1
  110. package/dist/Label.d.ts +3 -3
  111. package/dist/Label.js +30 -2
  112. package/dist/Label.js.map +1 -1
  113. package/dist/Link.d.ts +19 -19
  114. package/dist/Link.js +59 -8
  115. package/dist/Link.js.map +1 -1
  116. package/dist/List.d.ts +17 -17
  117. package/dist/List.js +73 -12
  118. package/dist/List.js.map +1 -1
  119. package/dist/ListItem.d.ts +10 -4
  120. package/dist/ListItem.js +63 -6
  121. package/dist/ListItem.js.map +1 -1
  122. package/dist/ListItemBase.d.ts +3 -3
  123. package/dist/ListItemBase.js +41 -1
  124. package/dist/ListItemBase.js.map +1 -1
  125. package/dist/ListItemCustom.d.ts +2 -2
  126. package/dist/ListItemCustom.js +10 -0
  127. package/dist/ListItemCustom.js.map +1 -1
  128. package/dist/ListItemGroup.d.ts +4 -4
  129. package/dist/ListItemGroup.js +9 -1
  130. package/dist/ListItemGroup.js.map +1 -1
  131. package/dist/ListItemGroupHeader.d.ts +2 -2
  132. package/dist/ListItemGroupHeader.js.map +1 -1
  133. package/dist/ListItemStandard.d.ts +14 -24
  134. package/dist/ListItemStandard.js +48 -15
  135. package/dist/ListItemStandard.js.map +1 -1
  136. package/dist/Menu.d.ts +23 -9
  137. package/dist/Menu.js +49 -15
  138. package/dist/Menu.js.map +1 -1
  139. package/dist/MenuItem.d.ts +20 -20
  140. package/dist/MenuItem.js +42 -8
  141. package/dist/MenuItem.js.map +1 -1
  142. package/dist/MenuSeparator.d.ts +25 -0
  143. package/dist/MenuSeparator.js +59 -0
  144. package/dist/MenuSeparator.js.map +1 -0
  145. package/dist/MessageStrip.d.ts +1 -0
  146. package/dist/MessageStrip.js +46 -6
  147. package/dist/MessageStrip.js.map +1 -1
  148. package/dist/MonthPicker.js +14 -7
  149. package/dist/MonthPicker.js.map +1 -1
  150. package/dist/MultiComboBox.d.ts +30 -23
  151. package/dist/MultiComboBox.js +206 -109
  152. package/dist/MultiComboBox.js.map +1 -1
  153. package/dist/MultiComboBoxItem.js +8 -0
  154. package/dist/MultiComboBoxItem.js.map +1 -1
  155. package/dist/MultiComboBoxItemGroup.d.ts +2 -2
  156. package/dist/MultiComboBoxItemGroup.js +1 -1
  157. package/dist/MultiComboBoxItemGroup.js.map +1 -1
  158. package/dist/MultiInput.d.ts +4 -4
  159. package/dist/MultiInput.js +18 -2
  160. package/dist/MultiInput.js.map +1 -1
  161. package/dist/NavigationMenuItem.d.ts +5 -5
  162. package/dist/NavigationMenuItem.js.map +1 -1
  163. package/dist/Option.d.ts +14 -8
  164. package/dist/Option.js +4 -1
  165. package/dist/Option.js.map +1 -1
  166. package/dist/OptionCustom.d.ts +12 -6
  167. package/dist/OptionCustom.js +4 -1
  168. package/dist/OptionCustom.js.map +1 -1
  169. package/dist/Panel.d.ts +7 -7
  170. package/dist/Panel.js +64 -4
  171. package/dist/Panel.js.map +1 -1
  172. package/dist/Popover.d.ts +2 -2
  173. package/dist/Popover.js +71 -11
  174. package/dist/Popover.js.map +1 -1
  175. package/dist/Popup.d.ts +5 -5
  176. package/dist/Popup.js +46 -4
  177. package/dist/Popup.js.map +1 -1
  178. package/dist/ProgressIndicator.d.ts +4 -4
  179. package/dist/ProgressIndicator.js +24 -4
  180. package/dist/ProgressIndicator.js.map +1 -1
  181. package/dist/RadioButton.d.ts +11 -11
  182. package/dist/RadioButton.js +78 -5
  183. package/dist/RadioButton.js.map +1 -1
  184. package/dist/RangeSlider.js +22 -3
  185. package/dist/RangeSlider.js.map +1 -1
  186. package/dist/RatingIndicator.d.ts +6 -6
  187. package/dist/RatingIndicator.js +55 -6
  188. package/dist/RatingIndicator.js.map +1 -1
  189. package/dist/ResponsivePopover.js +19 -0
  190. package/dist/ResponsivePopover.js.map +1 -1
  191. package/dist/SegmentedButton.d.ts +2 -0
  192. package/dist/SegmentedButton.js +15 -3
  193. package/dist/SegmentedButton.js.map +1 -1
  194. package/dist/SegmentedButtonItem.d.ts +9 -9
  195. package/dist/SegmentedButtonItem.js +49 -7
  196. package/dist/SegmentedButtonItem.js.map +1 -1
  197. package/dist/Select.d.ts +8 -9
  198. package/dist/Select.js +60 -11
  199. package/dist/Select.js.map +1 -1
  200. package/dist/Slider.js +9 -2
  201. package/dist/Slider.js.map +1 -1
  202. package/dist/SliderBase.d.ts +4 -4
  203. package/dist/SliderBase.js +61 -7
  204. package/dist/SliderBase.js.map +1 -1
  205. package/dist/SpecialCalendarDate.d.ts +11 -4
  206. package/dist/SpecialCalendarDate.js +23 -5
  207. package/dist/SpecialCalendarDate.js.map +1 -1
  208. package/dist/SplitButton.d.ts +3 -3
  209. package/dist/SplitButton.js +54 -4
  210. package/dist/SplitButton.js.map +1 -1
  211. package/dist/StepInput.d.ts +8 -8
  212. package/dist/StepInput.js +70 -19
  213. package/dist/StepInput.js.map +1 -1
  214. package/dist/SuggestionItem.d.ts +16 -60
  215. package/dist/SuggestionItem.js +26 -27
  216. package/dist/SuggestionItem.js.map +1 -1
  217. package/dist/SuggestionItemCustom.d.ts +31 -0
  218. package/dist/SuggestionItemCustom.js +48 -0
  219. package/dist/SuggestionItemCustom.js.map +1 -0
  220. package/dist/SuggestionItemGroup.d.ts +19 -0
  221. package/dist/SuggestionItemGroup.js +35 -0
  222. package/dist/SuggestionItemGroup.js.map +1 -0
  223. package/dist/SuggestionListItem.d.ts +1 -1
  224. package/dist/Switch.d.ts +17 -17
  225. package/dist/Switch.js +40 -2
  226. package/dist/Switch.js.map +1 -1
  227. package/dist/Tab.d.ts +10 -10
  228. package/dist/Tab.js +41 -2
  229. package/dist/Tab.js.map +1 -1
  230. package/dist/TabContainer.d.ts +6 -6
  231. package/dist/TabContainer.js +81 -16
  232. package/dist/TabContainer.js.map +1 -1
  233. package/dist/Table.d.ts +23 -7
  234. package/dist/Table.js +71 -5
  235. package/dist/Table.js.map +1 -1
  236. package/dist/TableCell.d.ts +1 -0
  237. package/dist/TableCell.js +1 -0
  238. package/dist/TableCell.js.map +1 -1
  239. package/dist/TableCellBase.d.ts +2 -0
  240. package/dist/TableCellBase.js +7 -0
  241. package/dist/TableCellBase.js.map +1 -1
  242. package/dist/TableGrowing.d.ts +6 -5
  243. package/dist/TableGrowing.js +27 -1
  244. package/dist/TableGrowing.js.map +1 -1
  245. package/dist/TableHeaderCell.d.ts +1 -0
  246. package/dist/TableHeaderCell.js +42 -5
  247. package/dist/TableHeaderCell.js.map +1 -1
  248. package/dist/TableHeaderRow.d.ts +1 -0
  249. package/dist/TableHeaderRow.js +11 -0
  250. package/dist/TableHeaderRow.js.map +1 -1
  251. package/dist/TableNavigation.d.ts +3 -1
  252. package/dist/TableNavigation.js +25 -9
  253. package/dist/TableNavigation.js.map +1 -1
  254. package/dist/TableRow.d.ts +9 -0
  255. package/dist/TableRow.js +38 -0
  256. package/dist/TableRow.js.map +1 -1
  257. package/dist/TableRowBase.d.ts +3 -2
  258. package/dist/TableRowBase.js +16 -9
  259. package/dist/TableRowBase.js.map +1 -1
  260. package/dist/TableSelection.d.ts +27 -0
  261. package/dist/TableSelection.js +160 -6
  262. package/dist/TableSelection.js.map +1 -1
  263. package/dist/TableUtils.d.ts +7 -0
  264. package/dist/TableUtils.js +14 -0
  265. package/dist/TableUtils.js.map +1 -0
  266. package/dist/Tag.d.ts +2 -2
  267. package/dist/Tag.js +64 -6
  268. package/dist/Tag.js.map +1 -1
  269. package/dist/Text.js +10 -2
  270. package/dist/Text.js.map +1 -1
  271. package/dist/TextArea.d.ts +9 -9
  272. package/dist/TextArea.js +97 -7
  273. package/dist/TextArea.js.map +1 -1
  274. package/dist/TimePicker.d.ts +9 -9
  275. package/dist/TimePicker.js +41 -4
  276. package/dist/TimePicker.js.map +1 -1
  277. package/dist/TimePickerClock.d.ts +1 -1
  278. package/dist/TimePickerClock.js +121 -14
  279. package/dist/TimePickerClock.js.map +1 -1
  280. package/dist/TimePickerInternals.d.ts +4 -4
  281. package/dist/TimePickerInternals.js +33 -11
  282. package/dist/TimePickerInternals.js.map +1 -1
  283. package/dist/TimeSelectionClocks.js +15 -0
  284. package/dist/TimeSelectionClocks.js.map +1 -1
  285. package/dist/TimeSelectionInputs.d.ts +2 -2
  286. package/dist/TimeSelectionInputs.js +6 -3
  287. package/dist/TimeSelectionInputs.js.map +1 -1
  288. package/dist/Title.d.ts +1 -1
  289. package/dist/Title.js +20 -3
  290. package/dist/Title.js.map +1 -1
  291. package/dist/Toast.d.ts +1 -7
  292. package/dist/Toast.js +52 -23
  293. package/dist/Toast.js.map +1 -1
  294. package/dist/ToggleButton.js +9 -0
  295. package/dist/ToggleButton.js.map +1 -1
  296. package/dist/ToggleSpinButton.d.ts +1 -1
  297. package/dist/ToggleSpinButton.js +22 -4
  298. package/dist/ToggleSpinButton.js.map +1 -1
  299. package/dist/Token.d.ts +2 -2
  300. package/dist/Token.js +49 -1
  301. package/dist/Token.js.map +1 -1
  302. package/dist/Tokenizer.d.ts +2 -1
  303. package/dist/Tokenizer.js +73 -10
  304. package/dist/Tokenizer.js.map +1 -1
  305. package/dist/Toolbar.d.ts +6 -6
  306. package/dist/Toolbar.js +23 -8
  307. package/dist/Toolbar.js.map +1 -1
  308. package/dist/ToolbarButton.d.ts +11 -11
  309. package/dist/ToolbarButton.js +39 -6
  310. package/dist/ToolbarButton.js.map +1 -1
  311. package/dist/ToolbarItem.d.ts +1 -1
  312. package/dist/ToolbarItem.js +18 -2
  313. package/dist/ToolbarItem.js.map +1 -1
  314. package/dist/ToolbarSelect.d.ts +5 -5
  315. package/dist/ToolbarSelect.js +16 -4
  316. package/dist/ToolbarSelect.js.map +1 -1
  317. package/dist/ToolbarSelectOption.js +9 -0
  318. package/dist/ToolbarSelectOption.js.map +1 -1
  319. package/dist/ToolbarSeparator.js +4 -0
  320. package/dist/ToolbarSeparator.js.map +1 -1
  321. package/dist/ToolbarSpacer.js +1 -2
  322. package/dist/ToolbarSpacer.js.map +1 -1
  323. package/dist/Tree.d.ts +12 -12
  324. package/dist/Tree.js +11 -2
  325. package/dist/Tree.js.map +1 -1
  326. package/dist/TreeItem.d.ts +5 -5
  327. package/dist/TreeItem.js +1 -1
  328. package/dist/TreeItem.js.map +1 -1
  329. package/dist/TreeItemBase.d.ts +5 -5
  330. package/dist/TreeItemBase.js +61 -6
  331. package/dist/TreeItemBase.js.map +1 -1
  332. package/dist/TreeItemCustom.js +9 -0
  333. package/dist/TreeItemCustom.js.map +1 -1
  334. package/dist/YearPicker.js +14 -7
  335. package/dist/YearPicker.js.map +1 -1
  336. package/dist/bundle.common.bootstrap.d.ts +1 -1
  337. package/dist/bundle.esm.d.ts +3 -1
  338. package/dist/bundle.esm.js +4 -0
  339. package/dist/bundle.esm.js.map +1 -1
  340. package/dist/css/themes/Avatar.css +1 -1
  341. package/dist/css/themes/AvatarGroup.css +1 -1
  342. package/dist/css/themes/Bar.css +1 -1
  343. package/dist/css/themes/Breadcrumbs.css +1 -1
  344. package/dist/css/themes/BusyIndicator.css +1 -1
  345. package/dist/css/themes/Button.css +1 -1
  346. package/dist/css/themes/Calendar.css +1 -1
  347. package/dist/css/themes/CalendarHeader.css +1 -1
  348. package/dist/css/themes/CalendarLegend.css +1 -1
  349. package/dist/css/themes/CalendarLegendItem.css +1 -1
  350. package/dist/css/themes/Card.css +1 -1
  351. package/dist/css/themes/CardHeader.css +1 -1
  352. package/dist/css/themes/Carousel.css +1 -1
  353. package/dist/css/themes/CheckBox.css +1 -1
  354. package/dist/css/themes/ColorPalette.css +1 -1
  355. package/dist/css/themes/ColorPaletteItem.css +1 -1
  356. package/dist/css/themes/ColorPalettePopover.css +1 -1
  357. package/dist/css/themes/ColorPicker.css +1 -1
  358. package/dist/css/themes/ComboBox.css +1 -1
  359. package/dist/css/themes/DatePicker.css +1 -1
  360. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  361. package/dist/css/themes/DayPicker.css +1 -1
  362. package/dist/css/themes/Dialog.css +1 -1
  363. package/dist/css/themes/FileUploader.css +1 -1
  364. package/dist/css/themes/Form.css +1 -1
  365. package/dist/css/themes/FormItem.css +1 -1
  366. package/dist/css/themes/FormLabelSpan.css +1 -1
  367. package/dist/css/themes/GrowingButton.css +1 -1
  368. package/dist/css/themes/Icon.css +1 -1
  369. package/dist/css/themes/Input.css +1 -1
  370. package/dist/css/themes/InputIcon.css +1 -1
  371. package/dist/css/themes/InputSharedStyles.css +1 -1
  372. package/dist/css/themes/Link.css +1 -1
  373. package/dist/css/themes/List.css +1 -1
  374. package/dist/css/themes/ListItem.css +1 -1
  375. package/dist/css/themes/ListItemBase.css +1 -1
  376. package/dist/css/themes/ListItemCustom.css +1 -1
  377. package/dist/css/themes/ListItemGroup.css +1 -1
  378. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  379. package/dist/css/themes/ListItemIcon.css +1 -1
  380. package/dist/css/themes/Menu.css +1 -1
  381. package/dist/css/themes/MenuItem.css +1 -1
  382. package/dist/css/themes/MenuSeparator.css +1 -0
  383. package/dist/css/themes/MessageStrip.css +1 -1
  384. package/dist/css/themes/MonthPicker.css +1 -1
  385. package/dist/css/themes/MultiComboBox.css +1 -1
  386. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  387. package/dist/css/themes/MultiInput.css +1 -1
  388. package/dist/css/themes/NavigationMenu.css +1 -1
  389. package/dist/css/themes/NavigationMenuItem.css +1 -1
  390. package/dist/css/themes/OptionBase.css +1 -1
  391. package/dist/css/themes/Panel.css +1 -1
  392. package/dist/css/themes/Popover.css +1 -1
  393. package/dist/css/themes/PopupsCommon.css +1 -1
  394. package/dist/css/themes/ProgressIndicator.css +1 -1
  395. package/dist/css/themes/RadioButton.css +1 -1
  396. package/dist/css/themes/RangeSlider.css +1 -1
  397. package/dist/css/themes/RatingIndicator.css +1 -1
  398. package/dist/css/themes/ResponsivePopover.css +1 -1
  399. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  400. package/dist/css/themes/SegmentedButton.css +1 -1
  401. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  402. package/dist/css/themes/Select.css +1 -1
  403. package/dist/css/themes/SliderBase.css +1 -1
  404. package/dist/css/themes/SplitButton.css +1 -1
  405. package/dist/css/themes/StepInput.css +1 -1
  406. package/dist/css/themes/SuggestionItem.css +1 -0
  407. package/dist/css/themes/SuggestionItemCustom.css +1 -0
  408. package/dist/css/themes/Suggestions.css +1 -1
  409. package/dist/css/themes/Switch.css +1 -1
  410. package/dist/css/themes/TabContainer.css +1 -1
  411. package/dist/css/themes/TabInOverflow.css +1 -1
  412. package/dist/css/themes/TabInStrip.css +1 -1
  413. package/dist/css/themes/TabSemanticIcon.css +1 -1
  414. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  415. package/dist/css/themes/Table.css +1 -1
  416. package/dist/css/themes/TableCellBase.css +1 -1
  417. package/dist/css/themes/TableHeaderRow.css +1 -1
  418. package/dist/css/themes/TableRow.css +1 -1
  419. package/dist/css/themes/TableRowBase.css +1 -1
  420. package/dist/css/themes/Tag.css +1 -1
  421. package/dist/css/themes/Text.css +1 -1
  422. package/dist/css/themes/TextArea.css +1 -1
  423. package/dist/css/themes/TimePicker.css +1 -1
  424. package/dist/css/themes/Toast.css +1 -1
  425. package/dist/css/themes/ToggleButton.css +1 -1
  426. package/dist/css/themes/Token.css +1 -1
  427. package/dist/css/themes/Tokenizer.css +1 -1
  428. package/dist/css/themes/TokenizerPopover.css +1 -1
  429. package/dist/css/themes/Toolbar.css +1 -1
  430. package/dist/css/themes/ToolbarPopover.css +1 -1
  431. package/dist/css/themes/TreeItem.css +1 -1
  432. package/dist/css/themes/ValueStateMessage.css +1 -1
  433. package/dist/css/themes/YearPicker.css +1 -1
  434. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  435. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  436. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  437. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  438. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  439. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  440. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  441. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  442. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  443. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  444. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  445. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  446. package/dist/custom-elements-internal.json +1748 -1765
  447. package/dist/custom-elements.json +1476 -1532
  448. package/dist/features/InputSuggestions.d.ts +22 -48
  449. package/dist/features/InputSuggestions.js +63 -106
  450. package/dist/features/InputSuggestions.js.map +1 -1
  451. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  452. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  453. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  454. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  455. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  456. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  457. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  458. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  459. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  460. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  461. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  462. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  463. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  464. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  465. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  466. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  467. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  468. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  469. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  470. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  471. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  472. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  473. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  474. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  475. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  476. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  477. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  478. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  479. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  480. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  481. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  482. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  483. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  484. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  485. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  486. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  487. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  488. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  489. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  490. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  491. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  492. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  493. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  494. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  495. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  496. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  497. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  498. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  499. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  500. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  501. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  502. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  503. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  504. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  505. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  506. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  507. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  508. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  509. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  510. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  511. package/dist/generated/templates/AvatarTemplate.lit.js +1 -1
  512. package/dist/generated/templates/AvatarTemplate.lit.js.map +1 -1
  513. package/dist/generated/templates/CalendarHeaderTemplate.lit.d.ts +1 -1
  514. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +3 -3
  515. package/dist/generated/templates/CalendarHeaderTemplate.lit.js.map +1 -1
  516. package/dist/generated/templates/CalendarTemplate.lit.js +4 -2
  517. package/dist/generated/templates/CalendarTemplate.lit.js.map +1 -1
  518. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +1 -1
  519. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  520. package/dist/generated/templates/ComboBoxTemplate.lit.js +1 -1
  521. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  522. package/dist/generated/templates/InputPopoverTemplate.lit.js +8 -12
  523. package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -1
  524. package/dist/generated/templates/InputTemplate.lit.js +8 -12
  525. package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
  526. package/dist/generated/templates/ListItemStandardTemplate.lit.js +18 -20
  527. package/dist/generated/templates/ListItemStandardTemplate.lit.js.map +1 -1
  528. package/dist/generated/templates/MenuSeparatorTemplate.lit.d.ts +4 -0
  529. package/dist/generated/templates/MenuSeparatorTemplate.lit.js +5 -0
  530. package/dist/generated/templates/MenuSeparatorTemplate.lit.js.map +1 -0
  531. package/dist/generated/templates/MessageStripTemplate.lit.js +1 -1
  532. package/dist/generated/templates/MessageStripTemplate.lit.js.map +1 -1
  533. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +11 -11
  534. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  535. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +11 -11
  536. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  537. package/dist/generated/templates/MultiInputTemplate.lit.js +7 -11
  538. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
  539. package/dist/generated/templates/SuggestionItemCustomTemplate.lit.d.ts +4 -0
  540. package/dist/generated/templates/SuggestionItemCustomTemplate.lit.js +5 -0
  541. package/dist/generated/templates/SuggestionItemCustomTemplate.lit.js.map +1 -0
  542. package/dist/generated/templates/SuggestionItemGroupTemplate.lit.d.ts +4 -0
  543. package/dist/generated/templates/SuggestionItemGroupTemplate.lit.js +8 -0
  544. package/dist/generated/templates/SuggestionItemGroupTemplate.lit.js.map +1 -0
  545. package/dist/generated/templates/SuggestionItemTemplate.lit.d.ts +4 -0
  546. package/dist/generated/templates/SuggestionItemTemplate.lit.js +6 -0
  547. package/dist/generated/templates/SuggestionItemTemplate.lit.js.map +1 -0
  548. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +21 -23
  549. package/dist/generated/templates/SuggestionListItemTemplate.lit.js.map +1 -1
  550. package/dist/generated/templates/TabContainerTemplate.lit.js +2 -2
  551. package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -1
  552. package/dist/generated/templates/TableHeaderRowTemplate.lit.js +2 -2
  553. package/dist/generated/templates/TableHeaderRowTemplate.lit.js.map +1 -1
  554. package/dist/generated/templates/TableRowTemplate.lit.js +6 -5
  555. package/dist/generated/templates/TableRowTemplate.lit.js.map +1 -1
  556. package/dist/generated/templates/TableTemplate.lit.js +6 -6
  557. package/dist/generated/templates/TableTemplate.lit.js.map +1 -1
  558. package/dist/generated/templates/ToastTemplate.lit.js +1 -1
  559. package/dist/generated/templates/ToastTemplate.lit.js.map +1 -1
  560. package/dist/generated/themes/Avatar.css.js +1 -1
  561. package/dist/generated/themes/Avatar.css.js.map +1 -1
  562. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  563. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  564. package/dist/generated/themes/Bar.css.js +1 -1
  565. package/dist/generated/themes/Bar.css.js.map +1 -1
  566. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  567. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  568. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  569. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  570. package/dist/generated/themes/Button.css.js +1 -1
  571. package/dist/generated/themes/Button.css.js.map +1 -1
  572. package/dist/generated/themes/Calendar.css.js +1 -1
  573. package/dist/generated/themes/Calendar.css.js.map +1 -1
  574. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  575. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  576. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  577. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  578. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  579. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  580. package/dist/generated/themes/Card.css.js +1 -1
  581. package/dist/generated/themes/Card.css.js.map +1 -1
  582. package/dist/generated/themes/CardHeader.css.js +1 -1
  583. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  584. package/dist/generated/themes/Carousel.css.js +1 -1
  585. package/dist/generated/themes/Carousel.css.js.map +1 -1
  586. package/dist/generated/themes/CheckBox.css.js +1 -1
  587. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  588. package/dist/generated/themes/ColorPalette.css.js +1 -1
  589. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  590. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  591. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  592. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  593. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  594. package/dist/generated/themes/ColorPicker.css.js +1 -1
  595. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  596. package/dist/generated/themes/ComboBox.css.js +1 -1
  597. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  598. package/dist/generated/themes/DatePicker.css.js +1 -1
  599. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  600. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  601. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  602. package/dist/generated/themes/DayPicker.css.js +1 -1
  603. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  604. package/dist/generated/themes/Dialog.css.js +1 -1
  605. package/dist/generated/themes/Dialog.css.js.map +1 -1
  606. package/dist/generated/themes/FileUploader.css.js +1 -1
  607. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  608. package/dist/generated/themes/Form.css.js +1 -1
  609. package/dist/generated/themes/Form.css.js.map +1 -1
  610. package/dist/generated/themes/FormItem.css.js +1 -1
  611. package/dist/generated/themes/FormItem.css.js.map +1 -1
  612. package/dist/generated/themes/FormLabelSpan.css.js +1 -1
  613. package/dist/generated/themes/FormLabelSpan.css.js.map +1 -1
  614. package/dist/generated/themes/GrowingButton.css.js +1 -1
  615. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  616. package/dist/generated/themes/Icon.css.js +1 -1
  617. package/dist/generated/themes/Icon.css.js.map +1 -1
  618. package/dist/generated/themes/Input.css.js +1 -1
  619. package/dist/generated/themes/Input.css.js.map +1 -1
  620. package/dist/generated/themes/InputIcon.css.js +1 -1
  621. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  622. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  623. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  624. package/dist/generated/themes/Link.css.js +1 -1
  625. package/dist/generated/themes/Link.css.js.map +1 -1
  626. package/dist/generated/themes/List.css.js +1 -1
  627. package/dist/generated/themes/List.css.js.map +1 -1
  628. package/dist/generated/themes/ListItem.css.js +1 -1
  629. package/dist/generated/themes/ListItem.css.js.map +1 -1
  630. package/dist/generated/themes/ListItemBase.css.js +1 -1
  631. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  632. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  633. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  634. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  635. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  636. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  637. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  638. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  639. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  640. package/dist/generated/themes/Menu.css.js +1 -1
  641. package/dist/generated/themes/Menu.css.js.map +1 -1
  642. package/dist/generated/themes/MenuItem.css.js +1 -1
  643. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  644. package/dist/generated/themes/MenuSeparator.css.d.ts +3 -0
  645. package/dist/generated/themes/MenuSeparator.css.js +9 -0
  646. package/dist/generated/themes/MenuSeparator.css.js.map +1 -0
  647. package/dist/generated/themes/MessageStrip.css.js +1 -1
  648. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  649. package/dist/generated/themes/MonthPicker.css.js +1 -1
  650. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  651. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  652. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  653. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  654. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  655. package/dist/generated/themes/MultiInput.css.js +1 -1
  656. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  657. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  658. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  659. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  660. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  661. package/dist/generated/themes/OptionBase.css.js +1 -1
  662. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  663. package/dist/generated/themes/Panel.css.js +1 -1
  664. package/dist/generated/themes/Panel.css.js.map +1 -1
  665. package/dist/generated/themes/Popover.css.js +1 -1
  666. package/dist/generated/themes/Popover.css.js.map +1 -1
  667. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  668. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  669. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  670. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  671. package/dist/generated/themes/RadioButton.css.js +1 -1
  672. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  673. package/dist/generated/themes/RangeSlider.css.js +1 -1
  674. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  675. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  676. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  677. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  678. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  679. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  680. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  681. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  682. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  683. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  684. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  685. package/dist/generated/themes/Select.css.js +1 -1
  686. package/dist/generated/themes/Select.css.js.map +1 -1
  687. package/dist/generated/themes/SliderBase.css.js +1 -1
  688. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  689. package/dist/generated/themes/SplitButton.css.js +1 -1
  690. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  691. package/dist/generated/themes/StepInput.css.js +1 -1
  692. package/dist/generated/themes/StepInput.css.js.map +1 -1
  693. package/dist/generated/themes/SuggestionItem.css.d.ts +3 -0
  694. package/dist/generated/themes/SuggestionItem.css.js +9 -0
  695. package/dist/generated/themes/SuggestionItem.css.js.map +1 -0
  696. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +3 -0
  697. package/dist/generated/themes/SuggestionItemCustom.css.js +9 -0
  698. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -0
  699. package/dist/generated/themes/Suggestions.css.js +1 -1
  700. package/dist/generated/themes/Suggestions.css.js.map +1 -1
  701. package/dist/generated/themes/Switch.css.js +1 -1
  702. package/dist/generated/themes/Switch.css.js.map +1 -1
  703. package/dist/generated/themes/TabContainer.css.js +1 -1
  704. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  705. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  706. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  707. package/dist/generated/themes/TabInStrip.css.js +1 -1
  708. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  709. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  710. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  711. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  712. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  713. package/dist/generated/themes/Table.css.js +1 -1
  714. package/dist/generated/themes/Table.css.js.map +1 -1
  715. package/dist/generated/themes/TableCellBase.css.js +1 -1
  716. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  717. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  718. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  719. package/dist/generated/themes/TableRow.css.js +1 -1
  720. package/dist/generated/themes/TableRow.css.js.map +1 -1
  721. package/dist/generated/themes/TableRowBase.css.js +1 -1
  722. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  723. package/dist/generated/themes/Tag.css.js +1 -1
  724. package/dist/generated/themes/Tag.css.js.map +1 -1
  725. package/dist/generated/themes/Text.css.js +1 -1
  726. package/dist/generated/themes/Text.css.js.map +1 -1
  727. package/dist/generated/themes/TextArea.css.js +1 -1
  728. package/dist/generated/themes/TextArea.css.js.map +1 -1
  729. package/dist/generated/themes/TimePicker.css.js +1 -1
  730. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  731. package/dist/generated/themes/Toast.css.js +1 -1
  732. package/dist/generated/themes/Toast.css.js.map +1 -1
  733. package/dist/generated/themes/ToggleButton.css.js +1 -1
  734. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  735. package/dist/generated/themes/Token.css.js +1 -1
  736. package/dist/generated/themes/Token.css.js.map +1 -1
  737. package/dist/generated/themes/Tokenizer.css.js +1 -1
  738. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  739. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  740. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  741. package/dist/generated/themes/Toolbar.css.js +1 -1
  742. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  743. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  744. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  745. package/dist/generated/themes/TreeItem.css.js +1 -1
  746. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  747. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  748. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  749. package/dist/generated/themes/YearPicker.css.js +1 -1
  750. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  751. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  752. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  753. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  754. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  755. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  756. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  757. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  758. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  759. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  760. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  761. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  762. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  763. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  764. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  765. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  766. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  767. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  768. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  769. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  770. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  771. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  772. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  773. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  774. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  775. package/dist/types/IconMode.d.ts +4 -4
  776. package/dist/types/IconMode.js +4 -4
  777. package/dist/types/IconMode.js.map +1 -1
  778. package/dist/types/{ListSeparators.d.ts → ListSeparator.d.ts} +3 -2
  779. package/dist/types/{ListSeparators.js → ListSeparator.js} +9 -8
  780. package/dist/types/ListSeparator.js.map +1 -0
  781. package/dist/vscode.html-custom-data.json +64 -80
  782. package/dist/web-types.json +511 -518
  783. package/package.json +11 -9
  784. package/src/Avatar.hbs +1 -1
  785. package/src/Calendar.hbs +3 -19
  786. package/src/CalendarHeader.hbs +10 -10
  787. package/src/ComboBoxPopover.hbs +1 -1
  788. package/src/InputPopover.hbs +1 -22
  789. package/src/ListItemStandard.hbs +3 -9
  790. package/src/MenuSeparator.hbs +6 -0
  791. package/src/MessageStrip.hbs +1 -1
  792. package/src/MultiComboBox.hbs +1 -0
  793. package/src/MultiComboBoxPopover.hbs +14 -7
  794. package/src/SuggestionItem.hbs +14 -0
  795. package/src/SuggestionItemCustom.hbs +5 -0
  796. package/src/SuggestionItemGroup.hbs +1 -0
  797. package/src/TabContainer.hbs +2 -2
  798. package/src/Table.hbs +6 -12
  799. package/src/TableHeaderRow.hbs +2 -1
  800. package/src/TableRow.hbs +6 -2
  801. package/src/Toast.hbs +1 -1
  802. package/src/i18n/messagebundle_ar.properties +15 -2
  803. package/src/i18n/messagebundle_bg.properties +15 -2
  804. package/src/i18n/messagebundle_ca.properties +31 -18
  805. package/src/i18n/messagebundle_cnr.properties +15 -2
  806. package/src/i18n/messagebundle_cs.properties +15 -2
  807. package/src/i18n/messagebundle_cy.properties +25 -12
  808. package/src/i18n/messagebundle_da.properties +15 -2
  809. package/src/i18n/messagebundle_de.properties +18 -5
  810. package/src/i18n/messagebundle_el.properties +15 -2
  811. package/src/i18n/messagebundle_en.properties +15 -2
  812. package/src/i18n/messagebundle_en_GB.properties +15 -2
  813. package/src/i18n/messagebundle_en_US_saprigi.properties +15 -2
  814. package/src/i18n/messagebundle_es.properties +15 -2
  815. package/src/i18n/messagebundle_es_MX.properties +18 -5
  816. package/src/i18n/messagebundle_et.properties +15 -2
  817. package/src/i18n/messagebundle_fi.properties +15 -2
  818. package/src/i18n/messagebundle_fr.properties +33 -20
  819. package/src/i18n/messagebundle_fr_CA.properties +33 -20
  820. package/src/i18n/messagebundle_hi.properties +15 -2
  821. package/src/i18n/messagebundle_hr.properties +15 -2
  822. package/src/i18n/messagebundle_hu.properties +15 -2
  823. package/src/i18n/messagebundle_id.properties +15 -2
  824. package/src/i18n/messagebundle_it.properties +19 -6
  825. package/src/i18n/messagebundle_iw.properties +17 -4
  826. package/src/i18n/messagebundle_ja.properties +15 -2
  827. package/src/i18n/messagebundle_kk.properties +19 -6
  828. package/src/i18n/messagebundle_ko.properties +18 -5
  829. package/src/i18n/messagebundle_lt.properties +15 -2
  830. package/src/i18n/messagebundle_lv.properties +15 -2
  831. package/src/i18n/messagebundle_mk.properties +15 -2
  832. package/src/i18n/messagebundle_ms.properties +15 -2
  833. package/src/i18n/messagebundle_nl.properties +15 -2
  834. package/src/i18n/messagebundle_no.properties +15 -2
  835. package/src/i18n/messagebundle_pl.properties +15 -2
  836. package/src/i18n/messagebundle_pt.properties +15 -2
  837. package/src/i18n/messagebundle_pt_PT.properties +15 -2
  838. package/src/i18n/messagebundle_ro.properties +15 -2
  839. package/src/i18n/messagebundle_ru.properties +15 -2
  840. package/src/i18n/messagebundle_sh.properties +15 -2
  841. package/src/i18n/messagebundle_sk.properties +15 -2
  842. package/src/i18n/messagebundle_sl.properties +15 -2
  843. package/src/i18n/messagebundle_sr.properties +15 -2
  844. package/src/i18n/messagebundle_sv.properties +15 -2
  845. package/src/i18n/messagebundle_th.properties +16 -3
  846. package/src/i18n/messagebundle_tr.properties +16 -3
  847. package/src/i18n/messagebundle_uk.properties +16 -3
  848. package/src/i18n/messagebundle_vi.properties +15 -2
  849. package/src/i18n/messagebundle_zh_CN.properties +15 -2
  850. package/src/i18n/messagebundle_zh_TW.properties +15 -2
  851. package/src/themes/Calendar.css +6 -5
  852. package/src/themes/CheckBox.css +3 -8
  853. package/src/themes/Link.css +2 -2
  854. package/src/themes/ListItem.css +9 -13
  855. package/src/themes/MenuItem.css +0 -4
  856. package/src/themes/MenuSeparator.css +11 -0
  857. package/src/themes/SegmentedButtonItem.css +2 -1
  858. package/src/themes/SuggestionItem.css +14 -0
  859. package/src/themes/SuggestionItemCustom.css +3 -0
  860. package/src/themes/Suggestions.css +0 -5
  861. package/src/themes/TabContainer.css +1 -1
  862. package/src/themes/Table.css +3 -2
  863. package/src/themes/TableRow.css +15 -1
  864. package/src/themes/Tag.css +5 -75
  865. package/src/themes/TextArea.css +2 -2
  866. package/src/themes/base/CheckBox-parameters.css +2 -4
  867. package/src/themes/base/Table-parameters.css +1 -0
  868. package/src/themes/base/Tag-parameters.css +2 -1
  869. package/src/themes/base/sizes-parameters.css +1 -2
  870. package/src/themes/sap_fiori_3/CheckBox-parameters.css +0 -3
  871. package/src/themes/sap_fiori_3/Tag-parameters.css +5 -0
  872. package/src/themes/sap_fiori_3/parameters-bundle.css +1 -1
  873. package/src/themes/sap_fiori_3_dark/CheckBox-parameters.css +0 -3
  874. package/src/themes/sap_fiori_3_hcb/CheckBox-parameters.css +1 -0
  875. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  876. package/src/themes/sap_fiori_3_hcb/sizes-parameters.css +4 -0
  877. package/src/themes/sap_fiori_3_hcw/CheckBox-parameters.css +1 -0
  878. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  879. package/src/themes/sap_fiori_3_hcw/sizes-parameters.css +4 -0
  880. package/src/themes/sap_horizon/CheckBox-parameters.css +0 -1
  881. package/src/themes/sap_horizon/RatingIndicator-parameters.css +5 -3
  882. package/src/themes/sap_horizon/sizes-parameters.css +3 -0
  883. package/src/themes/sap_horizon_dark/CheckBox-parameters.css +0 -1
  884. package/src/themes/sap_horizon_dark/RatingIndicator-parameters.css +5 -3
  885. package/src/themes/sap_horizon_dark/sizes-parameters.css +3 -0
  886. package/src/themes/sap_horizon_exp/CheckBox-parameters.css +0 -1
  887. package/src/themes/sap_horizon_hcb/CheckBox-parameters.css +1 -1
  888. package/src/themes/sap_horizon_hcb/RatingIndicator-parameters.css +5 -3
  889. package/src/themes/sap_horizon_hcb/sizes-parameters.css +4 -0
  890. package/src/themes/sap_horizon_hcw/CheckBox-parameters.css +1 -1
  891. package/src/themes/sap_horizon_hcw/RatingIndicator-parameters.css +5 -3
  892. package/src/themes/sap_horizon_hcw/sizes-parameters.css +4 -0
  893. package/dist/CalendarHeader.d.ts +0 -80
  894. package/dist/CalendarHeader.js +0 -160
  895. package/dist/CalendarHeader.js.map +0 -1
  896. package/dist/SuggestionGroupItem.d.ts +0 -28
  897. package/dist/SuggestionGroupItem.js +0 -43
  898. package/dist/SuggestionGroupItem.js.map +0 -1
  899. package/dist/styles/Icon.css +0 -33
  900. package/dist/styles/Icon.module.css +0 -33
  901. package/dist/types/ListSeparators.js.map +0 -1
  902. package/src/styles/Icon.module.css +0 -1
@@ -38,6 +38,7 @@ import type TableRowBase from "./TableRowBase.js";
38
38
  * @extends UI5Element
39
39
  * @since 2.0
40
40
  * @public
41
+ * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.
41
42
  */
42
43
  declare class TableSelection extends UI5Element implements ITableFeature {
43
44
  /**
@@ -55,6 +56,13 @@ declare class TableSelection extends UI5Element implements ITableFeature {
55
56
  */
56
57
  selected: string;
57
58
  _table?: Table;
59
+ _rangeSelection?: {
60
+ selected: boolean;
61
+ isUp: boolean | null;
62
+ rows: TableRow[];
63
+ isMouse: boolean;
64
+ shiftPressed: boolean;
65
+ } | null;
58
66
  onTableActivate(table: Table): void;
59
67
  onExitDOM(): void;
60
68
  onBeforeRendering(): void;
@@ -70,8 +78,27 @@ declare class TableSelection extends UI5Element implements ITableFeature {
70
78
  set selectedAsArray(selectedArray: string[]);
71
79
  get selectedAsSet(): Set<string>;
72
80
  set selectedAsSet(selectedSet: Set<string>);
81
+ _selectRow(row: TableRow, selected: boolean): void;
73
82
  _informRowSelectionChange(row: TableRow): void;
74
83
  _informHeaderRowSelectionChange(): void;
75
84
  _invalidateTableAndRows(): void;
85
+ _onkeydown(e: KeyboardEvent): void;
86
+ _onkeyup(e: KeyboardEvent, eventOrigin: HTMLElement): void;
87
+ _onclick(e: MouseEvent): void;
88
+ /**
89
+ * Start the range selection and initialises the range selection state
90
+ * @param row starting row
91
+ * @private
92
+ */
93
+ _startRangeSelection(row: TableRow, isMouse?: boolean): void;
94
+ /**
95
+ * Handles the range selection
96
+ * @param targetRow row that is currently focused
97
+ * @param change indicates direction
98
+ * @private
99
+ */
100
+ _handleRangeSelection(targetRow: TableRow, change: number): void;
101
+ _stopRangeSelection(): void;
102
+ _reverseRangeSelection(): void;
76
103
  }
77
104
  export default TableSelection;
@@ -4,11 +4,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ import { isUpShift, isShift, } from "@ui5/webcomponents-base/dist/Keys.js";
8
+ import getActiveElement from "@ui5/webcomponents-base/dist/util/getActiveElement.js";
7
9
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
10
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
11
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
12
  import event from "@ui5/webcomponents-base/dist/decorators/event.js";
11
13
  import TableSelectionMode from "./types/TableSelectionMode.js";
14
+ import { isSelectionCheckbox, isHeaderSelector, findRowInPath } from "./TableUtils.js";
12
15
  /**
13
16
  * @class
14
17
  *
@@ -43,8 +46,26 @@ import TableSelectionMode from "./types/TableSelectionMode.js";
43
46
  * @extends UI5Element
44
47
  * @since 2.0
45
48
  * @public
49
+ * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.
46
50
  */
47
51
  let TableSelection = class TableSelection extends UI5Element {
52
+ constructor() {
53
+ super(...arguments);
54
+ /**
55
+ * Defines the selection mode.
56
+ *
57
+ * @default "Multiple"
58
+ * @public
59
+ */
60
+ this.mode = "Multiple";
61
+ /**
62
+ * Defines the selected rows separated by a space.
63
+ *
64
+ * @default ""
65
+ * @public
66
+ */
67
+ this.selected = "";
68
+ }
48
69
  onTableActivate(table) {
49
70
  this._table = table;
50
71
  this._invalidateTableAndRows();
@@ -100,6 +121,9 @@ let TableSelection = class TableSelection extends UI5Element {
100
121
  });
101
122
  }
102
123
  informSelectionChange(row) {
124
+ if (this._rangeSelection?.isMouse && this._rangeSelection.shiftPressed) {
125
+ return;
126
+ }
103
127
  if (row.isHeaderRow()) {
104
128
  this._informHeaderRowSelectionChange();
105
129
  }
@@ -119,17 +143,20 @@ let TableSelection = class TableSelection extends UI5Element {
119
143
  set selectedAsSet(selectedSet) {
120
144
  this.selectedAsArray = [...selectedSet];
121
145
  }
122
- _informRowSelectionChange(row) {
123
- const isRowSelected = this.isMultiSelect() ? this.isSelected(row) : true;
146
+ _selectRow(row, selected) {
124
147
  const rowIdentifier = this.getRowIdentifier(row);
125
- if (this.selected && this.mode === TableSelectionMode.Multiple) {
148
+ if (this.mode === TableSelectionMode.Multiple) {
126
149
  const selectedSet = this.selectedAsSet;
127
- selectedSet[isRowSelected ? "delete" : "add"](rowIdentifier);
150
+ selectedSet[selected ? "add" : "delete"](rowIdentifier);
128
151
  this.selectedAsSet = selectedSet;
129
152
  }
130
153
  else {
131
- this.selected = rowIdentifier;
154
+ this.selected = selected ? rowIdentifier : "";
132
155
  }
156
+ }
157
+ _informRowSelectionChange(row) {
158
+ const isRowSelected = this.isMultiSelect() ? !this.isSelected(row) : true;
159
+ this._selectRow(row, isRowSelected);
133
160
  this.fireEvent("change");
134
161
  }
135
162
  _informHeaderRowSelectionChange() {
@@ -156,9 +183,136 @@ let TableSelection = class TableSelection extends UI5Element {
156
183
  this._table.headerRow[0]._invalidate++;
157
184
  this._table.rows.forEach(row => row._invalidate++);
158
185
  }
186
+ _onkeydown(e) {
187
+ if (!this.isMultiSelect() || !this._table || !e.shiftKey) {
188
+ return;
189
+ }
190
+ const focusedElement = getActiveElement(); // Assumption: The focused element is always the "next" row after navigation.
191
+ if (!(focusedElement?.hasAttribute("ui5-table-row") || this._rangeSelection?.isMouse || focusedElement?.hasAttribute("ui5-growing-row"))) {
192
+ this._stopRangeSelection();
193
+ return;
194
+ }
195
+ if (!this._rangeSelection) {
196
+ // If no range selection is active, start one
197
+ this._startRangeSelection(focusedElement);
198
+ }
199
+ else if (e.key === "ArrowUp" || e.key === "ArrowDown") {
200
+ const change = isUpShift(e) ? -1 : 1;
201
+ this._handleRangeSelection(focusedElement, change);
202
+ }
203
+ if (this._rangeSelection) {
204
+ this._rangeSelection.shiftPressed = e.shiftKey;
205
+ }
206
+ }
207
+ _onkeyup(e, eventOrigin) {
208
+ if (!this._table) {
209
+ return;
210
+ }
211
+ if (!eventOrigin.hasAttribute("ui5-table-row") || !this._rangeSelection || isShift(e) || !isSelectionCheckbox(e)) {
212
+ // Stop range selection if a) Shift is relased or b) the event target is not a row or c) the event is not from the selection checkbox
213
+ this._stopRangeSelection();
214
+ }
215
+ if (this._rangeSelection) {
216
+ this._rangeSelection.shiftPressed = e.shiftKey;
217
+ }
218
+ }
219
+ _onclick(e) {
220
+ if (!this._table) {
221
+ return;
222
+ }
223
+ if (isHeaderSelector(e)) {
224
+ this._stopRangeSelection();
225
+ return;
226
+ }
227
+ if (!isSelectionCheckbox(e)) {
228
+ this._stopRangeSelection();
229
+ return;
230
+ }
231
+ const row = findRowInPath(e.composedPath());
232
+ if (e.shiftKey && this._rangeSelection?.isMouse) {
233
+ const startRow = this._rangeSelection.rows[0];
234
+ const startIndex = this._table.rows.indexOf(startRow);
235
+ const endIndex = this._table.rows.indexOf(row);
236
+ // When doing a range selection and clicking on an already selected row, the checked status should not change
237
+ // Therefore, we need to manually set the checked attribute again, as clicking it would deselect it and leads to
238
+ // a visual inconsistency.
239
+ row.shadowRoot?.querySelector("#selection-component")?.toggleAttribute("checked", true);
240
+ if (startIndex === -1 || endIndex === -1 || row.key === startRow.key || row.key === this._rangeSelection.rows[this._rangeSelection.rows.length - 1].key) {
241
+ return;
242
+ }
243
+ const change = endIndex - startIndex;
244
+ this._handleRangeSelection(row, change);
245
+ }
246
+ else if (row) {
247
+ this._startRangeSelection(row, true);
248
+ }
249
+ }
250
+ /**
251
+ * Start the range selection and initialises the range selection state
252
+ * @param row starting row
253
+ * @private
254
+ */
255
+ _startRangeSelection(row, isMouse = false) {
256
+ const selected = this.isSelected(row);
257
+ if (isMouse && !selected) {
258
+ // Do not initiate range selection if the row is not selected
259
+ return;
260
+ }
261
+ this._rangeSelection = {
262
+ selected,
263
+ isUp: null,
264
+ rows: [row],
265
+ isMouse,
266
+ shiftPressed: false,
267
+ };
268
+ }
269
+ /**
270
+ * Handles the range selection
271
+ * @param targetRow row that is currently focused
272
+ * @param change indicates direction
273
+ * @private
274
+ */
275
+ _handleRangeSelection(targetRow, change) {
276
+ if (!this._rangeSelection) {
277
+ return;
278
+ }
279
+ const isUp = change > 0;
280
+ this._rangeSelection.isUp ??= isUp;
281
+ const shouldReverseSelection = isUp !== this._rangeSelection.isUp && !this._rangeSelection.isMouse;
282
+ let selectionChanged = shouldReverseSelection && this.isSelected(targetRow);
283
+ if (shouldReverseSelection) {
284
+ this._reverseRangeSelection();
285
+ }
286
+ else {
287
+ const rowIndex = this._table.rows.indexOf(targetRow);
288
+ const [startIndex, endIndex] = [rowIndex, rowIndex - change].sort((a, b) => a - b);
289
+ selectionChanged = this._table?.rows.slice(startIndex, endIndex + 1).reduce((changed, row) => {
290
+ const isRowNotInSelection = !this._rangeSelection?.rows.includes(row);
291
+ const isRowSelectionDifferent = this.isSelected(row) !== this._rangeSelection.selected;
292
+ if (isRowNotInSelection) {
293
+ this._rangeSelection?.rows.push(row);
294
+ }
295
+ this._selectRow(row, this._rangeSelection.selected);
296
+ return changed || isRowSelectionDifferent;
297
+ }, selectionChanged) || false;
298
+ }
299
+ selectionChanged && this._fireEvent("change");
300
+ }
301
+ _stopRangeSelection() {
302
+ this._rangeSelection = null;
303
+ }
304
+ _reverseRangeSelection() {
305
+ const row = this._rangeSelection?.rows.pop();
306
+ if (row) {
307
+ this._selectRow(row, false);
308
+ }
309
+ if (this._rangeSelection?.rows.length === 1) {
310
+ this._rangeSelection.isUp = null;
311
+ }
312
+ }
159
313
  };
160
314
  __decorate([
161
- property({ type: TableSelectionMode, defaultValue: TableSelectionMode.Multiple })
315
+ property()
162
316
  ], TableSelection.prototype, "mode", void 0);
163
317
  __decorate([
164
318
  property()
@@ -1 +1 @@
1
- {"version":3,"file":"TableSelection.js","sourceRoot":"","sources":["../src/TableSelection.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport TableSelectionMode from \"./types/TableSelectionMode.js\";\nimport type Table from \"./Table.js\";\nimport type { ITableFeature } from \"./Table.js\";\nimport type TableRow from \"./TableRow.js\";\nimport type TableRowBase from \"./TableRowBase.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-selection` component is used inside the `ui5-table` ti add key-based selection capabilities to the `ui5-table`.\n *\n * The component offers three selection modes:\n * * Single - select a single row.\n * * Multiple - select multiple rows.\n * * None - no selection active.\n *\n * As the selection is key-based, `ui5-table-row` components need to define a unique `key` property.\n *\n * ### Usage\n *\n * The `ui5-table-selection` component is only used inside the `ui5-table` component as a feature.\n * It has to be slotted inside the `ui5-table` in the `features` slot.\n * The component is not intended to be used as a standalone component.\n *\n * ```html\n * <ui5-table>\n * \t<ui5-table-selection mode=\"Multiple\" slot=\"features\"></ui5-table-selection>\n * </ui5-table>\n * ```\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableSelection.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @since 2.0\n * @public\n */\n@customElement({ tag: \"ui5-table-selection\" })\n\n/**\n * Fired when selection is changed by user interaction.\n *\n * @public\n */\n@event(\"change\")\n\nclass TableSelection extends UI5Element implements ITableFeature {\n\t/**\n\t * Defines the selection mode.\n\t *\n\t * @default \"Multiple\"\n\t * @public\n\t */\n\t@property({ type: TableSelectionMode, defaultValue: TableSelectionMode.Multiple })\n\tmode!: `${TableSelectionMode}`;\n\n\t/**\n\t * Defines the selected rows separated by a space.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tselected!: string;\n\n\t_table?: Table;\n\n\tonTableActivate(table: Table) {\n\t\tthis._table = table;\n\t\tthis._invalidateTableAndRows();\n\t}\n\n\tonExitDOM() {\n\t\tthis.mode = TableSelectionMode.None;\n\t\tthis._invalidateTableAndRows();\n\t\tthis._table = undefined;\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._invalidateTableAndRows();\n\t}\n\n\tisSelectable(): boolean {\n\t\treturn this.mode !== TableSelectionMode.None;\n\t}\n\n\tisMultiSelect(): boolean {\n\t\treturn this.mode === TableSelectionMode.Multiple;\n\t}\n\n\thasRowSelector(): boolean {\n\t\treturn this.mode !== TableSelectionMode.None;\n\t}\n\n\tgetRowIdentifier(row: TableRow): string {\n\t\treturn row.key;\n\t}\n\n\tisSelected(row: TableRowBase): boolean {\n\t\tif (!this._table || !this.isSelectable()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (row.isHeaderRow()) {\n\t\t\treturn this.areAllRowsSelected();\n\t\t}\n\n\t\tconst rowIdentifier = this.getRowIdentifier(row as TableRow);\n\t\treturn this.selectedAsArray.includes(rowIdentifier);\n\t}\n\n\thasSelectedRow(): boolean {\n\t\tif (!this._table || !this.isSelectable()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst selectedArray = this.selectedAsArray;\n\t\treturn this._table.rows.some(row => {\n\t\t\tconst rowIdentifier = this.getRowIdentifier(row);\n\t\t\treturn selectedArray.includes(rowIdentifier);\n\t\t});\n\t}\n\n\tareAllRowsSelected(): boolean {\n\t\tif (!this._table || !this._table.rows.length || this.mode !== TableSelectionMode.Multiple) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst selectedArray = this.selectedAsArray;\n\t\treturn this._table.rows.every(row => {\n\t\t\tconst rowIdentifier = this.getRowIdentifier(row);\n\t\t\treturn selectedArray.includes(rowIdentifier);\n\t\t});\n\t}\n\n\tinformSelectionChange(row: TableRowBase) {\n\t\tif (row.isHeaderRow()) {\n\t\t\tthis._informHeaderRowSelectionChange();\n\t\t} else {\n\t\t\tthis._informRowSelectionChange(row as TableRow);\n\t\t}\n\t}\n\n\tget selectedAsArray(): string[] {\n\t\treturn this.selected.split(\" \").filter(String);\n\t}\n\n\tset selectedAsArray(selectedArray: string[]) {\n\t\tthis.selected = selectedArray.filter(String).join(\" \");\n\t}\n\n\tget selectedAsSet(): Set<string> {\n\t\treturn new Set(this.selectedAsArray);\n\t}\n\n\tset selectedAsSet(selectedSet: Set<string>) {\n\t\tthis.selectedAsArray = [...selectedSet];\n\t}\n\n\t_informRowSelectionChange(row: TableRow) {\n\t\tconst isRowSelected = this.isMultiSelect() ? this.isSelected(row) : true;\n\t\tconst rowIdentifier = this.getRowIdentifier(row);\n\t\tif (this.selected && this.mode === TableSelectionMode.Multiple) {\n\t\t\tconst selectedSet = this.selectedAsSet;\n\t\t\tselectedSet[isRowSelected ? \"delete\" : \"add\"](rowIdentifier);\n\t\t\tthis.selectedAsSet = selectedSet;\n\t\t} else {\n\t\t\tthis.selected = rowIdentifier;\n\t\t}\n\t\tthis.fireEvent(\"change\");\n\t}\n\n\t_informHeaderRowSelectionChange() {\n\t\tconst isRowSelected = this.areAllRowsSelected();\n\t\tconst selectedSet = this.selectedAsSet;\n\t\tthis._table!.rows.forEach(row => {\n\t\t\tconst rowIdentifier = this.getRowIdentifier(row);\n\t\t\tselectedSet[isRowSelected ? \"delete\" : \"add\"](rowIdentifier);\n\t\t});\n\t\tthis.selectedAsSet = selectedSet;\n\t\tthis.fireEvent(\"change\");\n\t}\n\n\t_invalidateTableAndRows() {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.isSelectable()) {\n\t\t\tthis.selected = \"\";\n\t\t} else if (!this.isMultiSelect()) {\n\t\t\tthis.selected = this.selectedAsArray.shift() || \"\";\n\t\t}\n\n\t\tthis._table._invalidate++;\n\t\tthis._table.headerRow[0]._invalidate++;\n\t\tthis._table.rows.forEach(row => row._invalidate++);\n\t}\n}\n\nTableSelection.define();\n\nexport default TableSelection;\n"]}
1
+ {"version":3,"file":"TableSelection.js","sourceRoot":"","sources":["../src/TableSelection.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tisUpShift,\n\tisShift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport TableSelectionMode from \"./types/TableSelectionMode.js\";\nimport type Table from \"./Table.js\";\nimport type { ITableFeature } from \"./Table.js\";\nimport type TableRow from \"./TableRow.js\";\nimport type TableRowBase from \"./TableRowBase.js\";\nimport { isSelectionCheckbox, isHeaderSelector, findRowInPath } from \"./TableUtils.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-selection` component is used inside the `ui5-table` ti add key-based selection capabilities to the `ui5-table`.\n *\n * The component offers three selection modes:\n * * Single - select a single row.\n * * Multiple - select multiple rows.\n * * None - no selection active.\n *\n * As the selection is key-based, `ui5-table-row` components need to define a unique `key` property.\n *\n * ### Usage\n *\n * The `ui5-table-selection` component is only used inside the `ui5-table` component as a feature.\n * It has to be slotted inside the `ui5-table` in the `features` slot.\n * The component is not intended to be used as a standalone component.\n *\n * ```html\n * <ui5-table>\n * \t<ui5-table-selection mode=\"Multiple\" slot=\"features\"></ui5-table-selection>\n * </ui5-table>\n * ```\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/TableSelection.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @since 2.0\n * @public\n * @experimental This web component is available since 2.0 with an experimental flag and its API and behavior are subject to change.\n */\n@customElement({ tag: \"ui5-table-selection\" })\n\n/**\n * Fired when selection is changed by user interaction.\n *\n * @public\n */\n@event(\"change\")\n\nclass TableSelection extends UI5Element implements ITableFeature {\n\t/**\n\t * Defines the selection mode.\n\t *\n\t * @default \"Multiple\"\n\t * @public\n\t */\n\t@property()\n\tmode: `${TableSelectionMode}` = \"Multiple\";\n\n\t/**\n\t * Defines the selected rows separated by a space.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tselected = \"\";\n\n\t_table?: Table;\n\t_rangeSelection?: {selected: boolean, isUp: boolean | null, rows: TableRow[], isMouse: boolean, shiftPressed: boolean} | null;\n\n\tonTableActivate(table: Table) {\n\t\tthis._table = table;\n\t\tthis._invalidateTableAndRows();\n\t}\n\n\tonExitDOM() {\n\t\tthis.mode = TableSelectionMode.None;\n\t\tthis._invalidateTableAndRows();\n\t\tthis._table = undefined;\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._invalidateTableAndRows();\n\t}\n\n\tisSelectable(): boolean {\n\t\treturn this.mode !== TableSelectionMode.None;\n\t}\n\n\tisMultiSelect(): boolean {\n\t\treturn this.mode === TableSelectionMode.Multiple;\n\t}\n\n\thasRowSelector(): boolean {\n\t\treturn this.mode !== TableSelectionMode.None;\n\t}\n\n\tgetRowIdentifier(row: TableRow): string {\n\t\treturn row.key;\n\t}\n\n\tisSelected(row: TableRowBase): boolean {\n\t\tif (!this._table || !this.isSelectable()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (row.isHeaderRow()) {\n\t\t\treturn this.areAllRowsSelected();\n\t\t}\n\n\t\tconst rowIdentifier = this.getRowIdentifier(row as TableRow);\n\t\treturn this.selectedAsArray.includes(rowIdentifier);\n\t}\n\n\thasSelectedRow(): boolean {\n\t\tif (!this._table || !this.isSelectable()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst selectedArray = this.selectedAsArray;\n\t\treturn this._table.rows.some(row => {\n\t\t\tconst rowIdentifier = this.getRowIdentifier(row);\n\t\t\treturn selectedArray.includes(rowIdentifier);\n\t\t});\n\t}\n\n\tareAllRowsSelected(): boolean {\n\t\tif (!this._table || !this._table.rows.length || this.mode !== TableSelectionMode.Multiple) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst selectedArray = this.selectedAsArray;\n\t\treturn this._table.rows.every(row => {\n\t\t\tconst rowIdentifier = this.getRowIdentifier(row);\n\t\t\treturn selectedArray.includes(rowIdentifier);\n\t\t});\n\t}\n\n\tinformSelectionChange(row: TableRowBase) {\n\t\tif (this._rangeSelection?.isMouse && this._rangeSelection.shiftPressed) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (row.isHeaderRow()) {\n\t\t\tthis._informHeaderRowSelectionChange();\n\t\t} else {\n\t\t\tthis._informRowSelectionChange(row as TableRow);\n\t\t}\n\t}\n\n\tget selectedAsArray(): string[] {\n\t\treturn this.selected.split(\" \").filter(String);\n\t}\n\n\tset selectedAsArray(selectedArray: string[]) {\n\t\tthis.selected = selectedArray.filter(String).join(\" \");\n\t}\n\n\tget selectedAsSet(): Set<string> {\n\t\treturn new Set(this.selectedAsArray);\n\t}\n\n\tset selectedAsSet(selectedSet: Set<string>) {\n\t\tthis.selectedAsArray = [...selectedSet];\n\t}\n\n\t_selectRow(row: TableRow, selected: boolean) {\n\t\tconst rowIdentifier = this.getRowIdentifier(row);\n\t\tif (this.mode === TableSelectionMode.Multiple) {\n\t\t\tconst selectedSet = this.selectedAsSet;\n\t\t\tselectedSet[selected ? \"add\" : \"delete\"](rowIdentifier);\n\t\t\tthis.selectedAsSet = selectedSet;\n\t\t} else {\n\t\t\tthis.selected = selected ? rowIdentifier : \"\";\n\t\t}\n\t}\n\n\t_informRowSelectionChange(row: TableRow) {\n\t\tconst isRowSelected = this.isMultiSelect() ? !this.isSelected(row) : true;\n\t\tthis._selectRow(row, isRowSelected);\n\t\tthis.fireEvent(\"change\");\n\t}\n\n\t_informHeaderRowSelectionChange() {\n\t\tconst isRowSelected = this.areAllRowsSelected();\n\t\tconst selectedSet = this.selectedAsSet;\n\t\tthis._table!.rows.forEach(row => {\n\t\t\tconst rowIdentifier = this.getRowIdentifier(row);\n\t\t\tselectedSet[isRowSelected ? \"delete\" : \"add\"](rowIdentifier);\n\t\t});\n\t\tthis.selectedAsSet = selectedSet;\n\t\tthis.fireEvent(\"change\");\n\t}\n\n\t_invalidateTableAndRows() {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.isSelectable()) {\n\t\t\tthis.selected = \"\";\n\t\t} else if (!this.isMultiSelect()) {\n\t\t\tthis.selected = this.selectedAsArray.shift() || \"\";\n\t\t}\n\n\t\tthis._table._invalidate++;\n\t\tthis._table.headerRow[0]._invalidate++;\n\t\tthis._table.rows.forEach(row => row._invalidate++);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (!this.isMultiSelect() || !this._table || !e.shiftKey) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst focusedElement = getActiveElement(); // Assumption: The focused element is always the \"next\" row after navigation.\n\n\t\tif (!(focusedElement?.hasAttribute(\"ui5-table-row\") || this._rangeSelection?.isMouse || focusedElement?.hasAttribute(\"ui5-growing-row\"))) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._rangeSelection) {\n\t\t\t// If no range selection is active, start one\n\t\t\tthis._startRangeSelection(focusedElement as TableRow);\n\t\t} else if (e.key === \"ArrowUp\" || e.key === \"ArrowDown\") {\n\t\t\tconst change = isUpShift(e) ? -1 : 1;\n\t\t\tthis._handleRangeSelection(focusedElement as TableRow, change);\n\t\t}\n\n\t\tif (this._rangeSelection) {\n\t\t\tthis._rangeSelection.shiftPressed = e.shiftKey;\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent, eventOrigin: HTMLElement) {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!eventOrigin.hasAttribute(\"ui5-table-row\") || !this._rangeSelection || isShift(e) || !isSelectionCheckbox(e)) {\n\t\t\t// Stop range selection if a) Shift is relased or b) the event target is not a row or c) the event is not from the selection checkbox\n\t\t\tthis._stopRangeSelection();\n\t\t}\n\n\t\tif (this._rangeSelection) {\n\t\t\tthis._rangeSelection.shiftPressed = e.shiftKey;\n\t\t}\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (!this._table) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isHeaderSelector(e)) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!isSelectionCheckbox(e)) {\n\t\t\tthis._stopRangeSelection();\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = findRowInPath(e.composedPath());\n\n\t\tif (e.shiftKey && this._rangeSelection?.isMouse) {\n\t\t\tconst startRow = this._rangeSelection.rows[0];\n\t\t\tconst startIndex = this._table.rows.indexOf(startRow);\n\t\t\tconst endIndex = this._table.rows.indexOf(row);\n\n\t\t\t// When doing a range selection and clicking on an already selected row, the checked status should not change\n\t\t\t// Therefore, we need to manually set the checked attribute again, as clicking it would deselect it and leads to\n\t\t\t// a visual inconsistency.\n\t\t\trow.shadowRoot?.querySelector(\"#selection-component\")?.toggleAttribute(\"checked\", true);\n\n\t\t\tif (startIndex === -1 || endIndex === -1 || row.key === startRow.key || row.key === this._rangeSelection.rows[this._rangeSelection.rows.length - 1].key) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst change = endIndex - startIndex;\n\t\t\tthis._handleRangeSelection(row, change);\n\t\t} else if (row) {\n\t\t\tthis._startRangeSelection(row, true);\n\t\t}\n\t}\n\n\t/**\n\t * Start the range selection and initialises the range selection state\n\t * @param row starting row\n\t * @private\n\t */\n\t_startRangeSelection(row: TableRow, isMouse = false) {\n\t\tconst selected = this.isSelected(row);\n\t\tif (isMouse && !selected) {\n\t\t\t// Do not initiate range selection if the row is not selected\n\t\t\treturn;\n\t\t}\n\n\t\tthis._rangeSelection = {\n\t\t\tselected,\n\t\t\tisUp: null,\n\t\t\trows: [row],\n\t\t\tisMouse,\n\t\t\tshiftPressed: false,\n\t\t};\n\t}\n\n\t/**\n\t * Handles the range selection\n\t * @param targetRow row that is currently focused\n\t * @param change indicates direction\n\t * @private\n\t */\n\t_handleRangeSelection(targetRow: TableRow, change: number) {\n\t\tif (!this._rangeSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isUp = change > 0;\n\t\tthis._rangeSelection.isUp ??= isUp;\n\n\t\tconst shouldReverseSelection = isUp !== this._rangeSelection.isUp && !this._rangeSelection.isMouse;\n\t\tlet selectionChanged = shouldReverseSelection && this.isSelected(targetRow);\n\n\t\tif (shouldReverseSelection) {\n\t\t\tthis._reverseRangeSelection();\n\t\t} else {\n\t\t\tconst rowIndex = this._table!.rows.indexOf(targetRow);\n\t\t\tconst [startIndex, endIndex] = [rowIndex, rowIndex - change].sort((a, b) => a - b);\n\n\t\t\tselectionChanged = this._table?.rows.slice(startIndex, endIndex + 1).reduce((changed, row) => {\n\t\t\t\tconst isRowNotInSelection = !this._rangeSelection?.rows.includes(row);\n\t\t\t\tconst isRowSelectionDifferent = this.isSelected(row) !== this._rangeSelection!.selected;\n\n\t\t\t\tif (isRowNotInSelection) {\n\t\t\t\t\tthis._rangeSelection?.rows.push(row);\n\t\t\t\t}\n\n\t\t\t\tthis._selectRow(row, this._rangeSelection!.selected);\n\n\t\t\t\treturn changed || isRowSelectionDifferent;\n\t\t\t}, selectionChanged) || false;\n\t\t}\n\n\t\tselectionChanged && this._fireEvent(\"change\");\n\t}\n\n\t_stopRangeSelection() {\n\t\tthis._rangeSelection = null;\n\t}\n\n\t_reverseRangeSelection() {\n\t\tconst row = this._rangeSelection?.rows.pop();\n\t\tif (row) {\n\t\t\tthis._selectRow(row, false);\n\t\t}\n\n\t\tif (this._rangeSelection?.rows.length === 1) {\n\t\t\tthis._rangeSelection.isUp = null;\n\t\t}\n\t}\n}\n\nTableSelection.define();\n\nexport default TableSelection;\n"]}
@@ -0,0 +1,7 @@
1
+ import type Table from "./Table";
2
+ import type TableRow from "./TableRow";
3
+ declare const isInstanceOfTable: (obj: any) => obj is Table;
4
+ declare const isSelectionCheckbox: (e: Event) => boolean;
5
+ declare const isHeaderSelector: (e: Event) => boolean;
6
+ declare const findRowInPath: (composedPath: Array<EventTarget>) => TableRow;
7
+ export { isInstanceOfTable, isSelectionCheckbox, isHeaderSelector, findRowInPath, };
@@ -0,0 +1,14 @@
1
+ const isInstanceOfTable = (obj) => {
2
+ return "isTable" in obj && !!obj.isTable;
3
+ };
4
+ const isSelectionCheckbox = (e) => {
5
+ return e.composedPath().some((el) => el.hasAttribute?.("ui5-table-selection-component"));
6
+ };
7
+ const isHeaderSelector = (e) => {
8
+ return isSelectionCheckbox(e) && e.composedPath().some((el) => el instanceof HTMLElement && el.hasAttribute("ui5-table-header-row"));
9
+ };
10
+ const findRowInPath = (composedPath) => {
11
+ return composedPath.find((el) => el instanceof HTMLElement && el.hasAttribute("ui5-table-row"));
12
+ };
13
+ export { isInstanceOfTable, isSelectionCheckbox, isHeaderSelector, findRowInPath, };
14
+ //# sourceMappingURL=TableUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableUtils.js","sourceRoot":"","sources":["../src/TableUtils.ts"],"names":[],"mappings":"AAGA,MAAM,iBAAiB,GAAG,CAAC,GAAQ,EAAgB,EAAE;IACpD,OAAO,SAAS,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,CAAQ,EAAE,EAAE;IACxC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,EAAe,EAAE,EAAE,CAAE,EAAkB,CAAC,YAAY,EAAE,CAAC,+BAA+B,CAAC,CAAC,CAAC;AACxH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,CAAQ,EAAE,EAAE;IACrC,OAAO,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,YAAY,WAAW,IAAI,EAAE,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACnJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,YAAgC,EAAE,EAAE;IAC1D,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,YAAY,WAAW,IAAI,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAa,CAAC;AAC1H,CAAC,CAAC;AAEF,OAAO,EACN,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,GACb,CAAC","sourcesContent":["import type Table from \"./Table\";\nimport type TableRow from \"./TableRow\";\n\nconst isInstanceOfTable = (obj: any): obj is Table => {\n\treturn \"isTable\" in obj && !!obj.isTable;\n};\n\nconst isSelectionCheckbox = (e: Event) => {\n\treturn e.composedPath().some((el: EventTarget) => (el as HTMLElement).hasAttribute?.(\"ui5-table-selection-component\"));\n};\n\nconst isHeaderSelector = (e: Event) => {\n\treturn isSelectionCheckbox(e) && e.composedPath().some((el: EventTarget) => el instanceof HTMLElement && el.hasAttribute(\"ui5-table-header-row\"));\n};\n\nconst findRowInPath = (composedPath: Array<EventTarget>) => {\n\treturn composedPath.find((el: EventTarget) => el instanceof HTMLElement && el.hasAttribute(\"ui5-table-row\")) as TableRow;\n};\n\nexport {\n\tisInstanceOfTable,\n\tisSelectionCheckbox,\n\tisHeaderSelector,\n\tfindRowInPath,\n};\n"]}
package/dist/Tag.d.ts CHANGED
@@ -6,9 +6,9 @@ import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
6
6
  import "@ui5/webcomponents-icons/dist/error.js";
7
7
  import "@ui5/webcomponents-icons/dist/alert.js";
8
8
  import "@ui5/webcomponents-icons/dist/information.js";
9
- import WrappingType from "./types/WrappingType.js";
9
+ import type WrappingType from "./types/WrappingType.js";
10
10
  import TagDesign from "./types/TagDesign.js";
11
- import TagSize from "./types/TagSize.js";
11
+ import type TagSize from "./types/TagSize.js";
12
12
  /**
13
13
  * @class
14
14
  * ### Overview
package/dist/Tag.js CHANGED
@@ -20,9 +20,7 @@ import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
20
20
  import "@ui5/webcomponents-icons/dist/error.js";
21
21
  import "@ui5/webcomponents-icons/dist/alert.js";
22
22
  import "@ui5/webcomponents-icons/dist/information.js";
23
- import WrappingType from "./types/WrappingType.js";
24
23
  import TagDesign from "./types/TagDesign.js";
25
- import TagSize from "./types/TagSize.js";
26
24
  // Template
27
25
  import TagTemplate from "./generated/templates/TagTemplate.lit.js";
28
26
  import { TAG_DESCRIPTION_TAG, TAG_ROLE_DESCRIPTION, TAG_ERROR, TAG_WARNING, TAG_SUCCESS, TAG_INFORMATION, } from "./generated/i18n/i18n-defaults.js";
@@ -51,6 +49,66 @@ import tagCss from "./generated/themes/Tag.css.js";
51
49
  * @public
52
50
  */
53
51
  let Tag = Tag_1 = class Tag extends UI5Element {
52
+ constructor() {
53
+ super(...arguments);
54
+ /**
55
+ * Defines the design type of the component.
56
+ * @default "Neutral"
57
+ * @public
58
+ * @since 1.22.0
59
+ */
60
+ this.design = "Neutral";
61
+ /**
62
+ * Defines the color scheme of the component.
63
+ * There are 10 predefined schemes.
64
+ * To use one you can set a number from `"1"` to `"10"`. The `colorScheme` `"1"` will be set by default.
65
+ * @default "1"
66
+ * @public
67
+ */
68
+ this.colorScheme = "1";
69
+ /**
70
+ * Defines if the default state icon is shown.
71
+ * @default false
72
+ * @public
73
+ * @since 1.22.0
74
+ */
75
+ this.hideStateIcon = false;
76
+ /**
77
+ * Defines if the component is interactive (focusable and pressable).
78
+ *
79
+ * @default false
80
+ * @public
81
+ * @since 1.22.0
82
+ */
83
+ this.interactive = false;
84
+ /**
85
+ * Defines how the text of a component will be displayed when there is not enough space.
86
+ *
87
+ * **Note:** For option "Normal" the text will wrap and the
88
+ * words will not be broken based on hyphenation.
89
+ * @default "Normal"
90
+ * @public
91
+ * @since 1.22.0
92
+ */
93
+ this.wrappingType = "Normal";
94
+ /**
95
+ * Defines predefined size of the component.
96
+ * @default "S"
97
+ * @public
98
+ * @since 2.0.0
99
+ */
100
+ this.size = "S";
101
+ /**
102
+ * Defines if the tag has an icon.
103
+ * @private
104
+ */
105
+ this._hasIcon = false;
106
+ /**
107
+ * Defines if the tag has only an icon (and no text).
108
+ * @private
109
+ */
110
+ this._iconOnly = false;
111
+ }
54
112
  static async onDefine() {
55
113
  Tag_1.i18nBundle = await getI18nBundle("@ui5/webcomponents");
56
114
  }
@@ -126,10 +184,10 @@ let Tag = Tag_1 = class Tag extends UI5Element {
126
184
  }
127
185
  };
128
186
  __decorate([
129
- property({ defaultValue: TagDesign.Neutral })
187
+ property()
130
188
  ], Tag.prototype, "design", void 0);
131
189
  __decorate([
132
- property({ defaultValue: "1" })
190
+ property()
133
191
  ], Tag.prototype, "colorScheme", void 0);
134
192
  __decorate([
135
193
  property({ type: Boolean })
@@ -138,10 +196,10 @@ __decorate([
138
196
  property({ type: Boolean })
139
197
  ], Tag.prototype, "interactive", void 0);
140
198
  __decorate([
141
- property({ type: WrappingType, defaultValue: WrappingType.Normal })
199
+ property()
142
200
  ], Tag.prototype, "wrappingType", void 0);
143
201
  __decorate([
144
- property({ type: TagSize, defaultValue: TagSize.S })
202
+ property()
145
203
  ], Tag.prototype, "size", void 0);
146
204
  __decorate([
147
205
  property({ type: Boolean })
package/dist/Tag.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.js","sourceRoot":"","sources":["../src/Tag.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport {\n\tisDesktop,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { IIcon } from \"./Icon.js\";\nimport Icon from \"./Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-help-2.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport WrappingType from \"./types/WrappingType.js\";\nimport TagDesign from \"./types/TagDesign.js\";\nimport TagSize from \"./types/TagSize.js\";\n// Template\nimport TagTemplate from \"./generated/templates/TagTemplate.lit.js\";\n\nimport {\n\tTAG_DESCRIPTION_TAG,\n\tTAG_ROLE_DESCRIPTION,\n\tTAG_ERROR,\n\tTAG_WARNING,\n\tTAG_SUCCESS,\n\tTAG_INFORMATION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport tagCss from \"./generated/themes/Tag.css.js\";\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-tag` is a component which serves\n * the purpose to attract the user attention to some piece\n * of information (state, quantity, condition, etc.).\n * It can contain icon and text information, and its design can be chosen from specific design types.\n *\n * ### Usage Guidelines\n *\n * - If the text is longer than the width of the component, it can wrap, or it can show ellipsis, depending on the `wrappingType` property.\n * - Colors can be semantic or not semantic.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Tag.js\";`\n * @constructor\n * @extends UI5Element\n * @since 2.0.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-tag\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: TagTemplate,\n\tstyles: tagCss,\n\tdependencies: [\n\t\tIcon,\n\t],\n})\n\n/**\n * Fired when the user clicks on an interactive tag.\n *\n * **Note:** The event will be fired if the `interactive` property is `true`\n * @public\n * @since 1.22.0\n */\n@event(\"click\")\nclass Tag extends UI5Element {\n\t/**\n\t * Defines the design type of the component.\n\t * @default \"Neutral\"\n\t * @public\n\t * @since 1.22.0\n\t */\n\t@property({ defaultValue: TagDesign.Neutral })\n\tdesign!: `${TagDesign}`;\n\n\t/**\n\t * Defines the color scheme of the component.\n\t * There are 10 predefined schemes.\n\t * To use one you can set a number from `\"1\"` to `\"10\"`. The `colorScheme` `\"1\"` will be set by default.\n\t * @default \"1\"\n\t * @public\n\t */\n\t@property({ defaultValue: \"1\" })\n\tcolorScheme!: string;\n\n\t/**\n\t * Defines if the default state icon is shown.\n\t * @default false\n\t * @public\n\t * @since 1.22.0\n\t */\n\t@property({ type: Boolean })\n\thideStateIcon!: boolean;\n\n\t/**\n\t * Defines if the component is interactive (focusable and pressable).\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.22.0\n\t */\n\t@property({ type: Boolean })\n\tinteractive!: boolean;\n\n\t/**\n\t * Defines how the text of a component will be displayed when there is not enough space.\n\t *\n\t * **Note:** For option \"Normal\" the text will wrap and the\n\t * words will not be broken based on hyphenation.\n\t * @default \"Normal\"\n\t * @public\n\t * @since 1.22.0\n\t */\n\t@property({ type: WrappingType, defaultValue: WrappingType.Normal })\n\twrappingType!: `${WrappingType}`;\n\n\t/**\n\t * Defines predefined size of the component.\n\t * @default \"S\"\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property({ type: TagSize, defaultValue: TagSize.S })\n\tsize!: `${TagSize}`;\n\n\t/**\n\t * Defines if the tag has an icon.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_hasIcon!: boolean;\n\n\t/**\n\t * Defines if the tag has only an icon (and no text).\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_iconOnly!: boolean;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\ttext!: Array<Node>;\n\n\t/**\n\t * Defines the icon to be displayed in the component.\n\t * @public\n\t */\n\t@slot()\n\ticon!: Array<IIcon>;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic async onDefine() {\n\t\tTag.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._hasIcon = this.hasIcon || !!this._semanticIconName;\n\t\tthis._iconOnly = this.iconOnly;\n\t}\n\n\tget _roleDescription() {\n\t\treturn Tag.i18nBundle.getText(TAG_ROLE_DESCRIPTION);\n\t}\n\n\tget _valueState() {\n\t\tswitch (this.design) {\n\t\tcase TagDesign.Positive:\n\t\t\treturn Tag.i18nBundle.getText(TAG_SUCCESS);\n\t\tcase TagDesign.Negative:\n\t\t\treturn Tag.i18nBundle.getText(TAG_ERROR);\n\t\tcase TagDesign.Critical:\n\t\t\treturn Tag.i18nBundle.getText(TAG_WARNING);\n\t\tcase TagDesign.Information:\n\t\t\treturn Tag.i18nBundle.getText(TAG_INFORMATION);\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget hasText() {\n\t\treturn willShowContent(this.text);\n\t}\n\n\tget hasIcon() {\n\t\treturn !!this.icon.length;\n\t}\n\n\tget iconOnly() {\n\t\treturn this.hasIcon && !this.hasText;\n\t}\n\n\tget _title() {\n\t\treturn this.title || undefined;\n\t}\n\n\tget tagDescription() {\n\t\tif (this.interactive) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst valueState = this._valueState;\n\t\tlet description = Tag.i18nBundle.getText(TAG_DESCRIPTION_TAG);\n\n\t\tif (valueState) {\n\t\t\tdescription = `${description} ${valueState}`;\n\t\t}\n\n\t\treturn description;\n\t}\n\n\tget _semanticIconName() {\n\t\tif (this.hideStateIcon || this.hasIcon) {\n\t\t\treturn null;\n\t\t}\n\n\t\tswitch (this.design) {\n\t\tcase TagDesign.Neutral:\n\t\t\treturn \"sys-help-2\";\n\t\tcase TagDesign.Positive:\n\t\t\treturn \"sys-enter-2\";\n\t\tcase TagDesign.Negative:\n\t\t\treturn \"error\";\n\t\tcase TagDesign.Critical:\n\t\t\treturn \"alert\";\n\t\tcase TagDesign.Information:\n\t\t\treturn \"information\";\n\t\tdefault:\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t_onclick() {\n\t\tthis.fireEvent(\"click\");\n\t}\n}\n\nTag.define();\n\nexport default Tag;\n"]}
1
+ {"version":3,"file":"Tag.js","sourceRoot":"","sources":["../src/Tag.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport {\n\tisDesktop,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { IIcon } from \"./Icon.js\";\nimport Icon from \"./Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-help-2.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport type WrappingType from \"./types/WrappingType.js\";\nimport TagDesign from \"./types/TagDesign.js\";\nimport type TagSize from \"./types/TagSize.js\";\n// Template\nimport TagTemplate from \"./generated/templates/TagTemplate.lit.js\";\n\nimport {\n\tTAG_DESCRIPTION_TAG,\n\tTAG_ROLE_DESCRIPTION,\n\tTAG_ERROR,\n\tTAG_WARNING,\n\tTAG_SUCCESS,\n\tTAG_INFORMATION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport tagCss from \"./generated/themes/Tag.css.js\";\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-tag` is a component which serves\n * the purpose to attract the user attention to some piece\n * of information (state, quantity, condition, etc.).\n * It can contain icon and text information, and its design can be chosen from specific design types.\n *\n * ### Usage Guidelines\n *\n * - If the text is longer than the width of the component, it can wrap, or it can show ellipsis, depending on the `wrappingType` property.\n * - Colors can be semantic or not semantic.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Tag.js\";`\n * @constructor\n * @extends UI5Element\n * @since 2.0.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-tag\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: TagTemplate,\n\tstyles: tagCss,\n\tdependencies: [\n\t\tIcon,\n\t],\n})\n\n/**\n * Fired when the user clicks on an interactive tag.\n *\n * **Note:** The event will be fired if the `interactive` property is `true`\n * @public\n * @since 1.22.0\n */\n@event(\"click\")\nclass Tag extends UI5Element {\n\t/**\n\t * Defines the design type of the component.\n\t * @default \"Neutral\"\n\t * @public\n\t * @since 1.22.0\n\t */\n\t@property()\n\tdesign: `${TagDesign}` = \"Neutral\"\n\n\t/**\n\t * Defines the color scheme of the component.\n\t * There are 10 predefined schemes.\n\t * To use one you can set a number from `\"1\"` to `\"10\"`. The `colorScheme` `\"1\"` will be set by default.\n\t * @default \"1\"\n\t * @public\n\t */\n\t@property()\n\tcolorScheme = \"1\";\n\n\t/**\n\t * Defines if the default state icon is shown.\n\t * @default false\n\t * @public\n\t * @since 1.22.0\n\t */\n\t@property({ type: Boolean })\n\thideStateIcon = false;\n\n\t/**\n\t * Defines if the component is interactive (focusable and pressable).\n\t *\n\t * @default false\n\t * @public\n\t * @since 1.22.0\n\t */\n\t@property({ type: Boolean })\n\tinteractive = false;\n\n\t/**\n\t * Defines how the text of a component will be displayed when there is not enough space.\n\t *\n\t * **Note:** For option \"Normal\" the text will wrap and the\n\t * words will not be broken based on hyphenation.\n\t * @default \"Normal\"\n\t * @public\n\t * @since 1.22.0\n\t */\n\t@property()\n\twrappingType: `${WrappingType}` = \"Normal\";\n\n\t/**\n\t * Defines predefined size of the component.\n\t * @default \"S\"\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\tsize: `${TagSize}` = \"S\";\n\n\t/**\n\t * Defines if the tag has an icon.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_hasIcon = false;\n\n\t/**\n\t * Defines if the tag has only an icon (and no text).\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_iconOnly = false;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\ttext!: Array<Node>;\n\n\t/**\n\t * Defines the icon to be displayed in the component.\n\t * @public\n\t */\n\t@slot()\n\ticon!: Array<IIcon>;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tstatic async onDefine() {\n\t\tTag.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._hasIcon = this.hasIcon || !!this._semanticIconName;\n\t\tthis._iconOnly = this.iconOnly;\n\t}\n\n\tget _roleDescription() {\n\t\treturn Tag.i18nBundle.getText(TAG_ROLE_DESCRIPTION);\n\t}\n\n\tget _valueState() {\n\t\tswitch (this.design) {\n\t\tcase TagDesign.Positive:\n\t\t\treturn Tag.i18nBundle.getText(TAG_SUCCESS);\n\t\tcase TagDesign.Negative:\n\t\t\treturn Tag.i18nBundle.getText(TAG_ERROR);\n\t\tcase TagDesign.Critical:\n\t\t\treturn Tag.i18nBundle.getText(TAG_WARNING);\n\t\tcase TagDesign.Information:\n\t\t\treturn Tag.i18nBundle.getText(TAG_INFORMATION);\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget hasText() {\n\t\treturn willShowContent(this.text);\n\t}\n\n\tget hasIcon() {\n\t\treturn !!this.icon.length;\n\t}\n\n\tget iconOnly() {\n\t\treturn this.hasIcon && !this.hasText;\n\t}\n\n\tget _title() {\n\t\treturn this.title || undefined;\n\t}\n\n\tget tagDescription() {\n\t\tif (this.interactive) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst valueState = this._valueState;\n\t\tlet description = Tag.i18nBundle.getText(TAG_DESCRIPTION_TAG);\n\n\t\tif (valueState) {\n\t\t\tdescription = `${description} ${valueState}`;\n\t\t}\n\n\t\treturn description;\n\t}\n\n\tget _semanticIconName() {\n\t\tif (this.hideStateIcon || this.hasIcon) {\n\t\t\treturn null;\n\t\t}\n\n\t\tswitch (this.design) {\n\t\tcase TagDesign.Neutral:\n\t\t\treturn \"sys-help-2\";\n\t\tcase TagDesign.Positive:\n\t\t\treturn \"sys-enter-2\";\n\t\tcase TagDesign.Negative:\n\t\t\treturn \"error\";\n\t\tcase TagDesign.Critical:\n\t\t\treturn \"alert\";\n\t\tcase TagDesign.Information:\n\t\t\treturn \"information\";\n\t\tdefault:\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t_onclick() {\n\t\tthis.fireEvent(\"click\");\n\t}\n}\n\nTag.define();\n\nexport default Tag;\n"]}
package/dist/Text.js CHANGED
@@ -8,7 +8,6 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
8
  import renderer, { html } from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
9
9
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
- import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
12
11
  import { getScopedVarName } from "@ui5/webcomponents-base/dist/CustomElementsScope.js";
13
12
  // Styles
14
13
  import styles from "./generated/themes/Text.css.js";
@@ -42,12 +41,21 @@ import styles from "./generated/themes/Text.css.js";
42
41
  * @since 2.0.0
43
42
  */
44
43
  let Text = class Text extends UI5Element {
44
+ constructor() {
45
+ super(...arguments);
46
+ /**
47
+ * Defines the number of lines the text should wrap before it truncates.
48
+ * @default Infinity
49
+ * @public
50
+ */
51
+ this.maxLines = Infinity;
52
+ }
45
53
  onBeforeRendering() {
46
54
  this.style.setProperty(getScopedVarName("--_ui5_text_max_lines"), `${this.maxLines}`);
47
55
  }
48
56
  };
49
57
  __decorate([
50
- property({ validator: Integer, defaultValue: Infinity })
58
+ property({ type: Number })
51
59
  ], Text.prototype, "maxLines", void 0);
52
60
  Text = __decorate([
53
61
  customElement({
package/dist/Text.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","sourceRoot":"","sources":["../src/Text.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,sDAAsD,CAAC;AACtF,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,OAAO,MAAM,+CAA+C,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAEvF,SAAS;AACT,OAAO,MAAM,MAAM,gCAAgC,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AASH,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,UAAU;IAS5B,iBAAiB;QAChB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvF,CAAC;CACD,CAAA;AALA;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;sCACvC;AAPb,IAAI;IART,aAAa,CAAC;QACd,GAAG,EAAE,UAAU;QACf,QAAQ;QACR,QAAQ,EAAE,GAAG,EAAE;YACd,OAAO,IAAI,CAAA,0BAA0B,CAAC;QACvC,CAAC;QACD,MAAM;KACN,CAAC;GACI,IAAI,CAYT;AAED,IAAI,CAAC,MAAM,EAAE,CAAC;AAEd,eAAe,IAAI,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport renderer, { html } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\n\n// Styles\nimport styles from \"./generated/themes/Text.css.js\";\n\n/**\n * @class\n *\n * <h3>Overview</h3>\n *\n * The `ui5-text` component displays text that can be used in any content area of an application.\n *\n * <h3>Usage</h3>\n *\n * - Use the `ui5-text` if you want to display text inside a form, table, or any other content area.\n * - Do not use the `ui5-text` if you need to reference input type of components (use ui5-label).\n *\n * <h3>Responsive behavior</h3>\n *\n * The `ui5-text` component is fully adaptive to all screen sizes.\n * By default, the text will wrap when the space is not enough.\n * In addition, the component supports truncation via the <code>max-lines</code> property,\n * by defining the number of lines the text should wrap before start truncating.\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Text\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @slot {Array<Node>} default - Defines the text of the component.\n * @since 2.0.0\n */\n@customElement({\n\ttag: \"ui5-text\",\n\trenderer,\n\ttemplate: () => {\n\t\treturn html`<bdi><slot></slot></bdi>`;\n\t},\n\tstyles,\n})\nclass Text extends UI5Element {\n\t/**\n\t * Defines the number of lines the text should wrap before it truncates.\n\t * @default Infinity\n\t * @public\n\t */\n\t@property({ validator: Integer, defaultValue: Infinity })\n\tmaxLines!: number;\n\n\tonBeforeRendering() {\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5_text_max_lines\"), `${this.maxLines}`);\n\t}\n}\n\nText.define();\n\nexport default Text;\n"]}
1
+ {"version":3,"file":"Text.js","sourceRoot":"","sources":["../src/Text.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,sDAAsD,CAAC;AACtF,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAEvF,SAAS;AACT,OAAO,MAAM,MAAM,gCAAgC,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AASH,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,UAAU;IAA7B;;QACC;;;;WAIG;QAEH,aAAQ,GAAG,QAAQ,CAAC;IAKrB,CAAC;IAHA,iBAAiB;QAChB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvF,CAAC;CACD,CAAA;AALA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sCACP;AAPf,IAAI;IART,aAAa,CAAC;QACd,GAAG,EAAE,UAAU;QACf,QAAQ;QACR,QAAQ,EAAE,GAAG,EAAE;YACd,OAAO,IAAI,CAAA,0BAA0B,CAAC;QACvC,CAAC;QACD,MAAM;KACN,CAAC;GACI,IAAI,CAYT;AAED,IAAI,CAAC,MAAM,EAAE,CAAC;AAEd,eAAe,IAAI,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport renderer, { html } from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\n\n// Styles\nimport styles from \"./generated/themes/Text.css.js\";\n\n/**\n * @class\n *\n * <h3>Overview</h3>\n *\n * The `ui5-text` component displays text that can be used in any content area of an application.\n *\n * <h3>Usage</h3>\n *\n * - Use the `ui5-text` if you want to display text inside a form, table, or any other content area.\n * - Do not use the `ui5-text` if you need to reference input type of components (use ui5-label).\n *\n * <h3>Responsive behavior</h3>\n *\n * The `ui5-text` component is fully adaptive to all screen sizes.\n * By default, the text will wrap when the space is not enough.\n * In addition, the component supports truncation via the <code>max-lines</code> property,\n * by defining the number of lines the text should wrap before start truncating.\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/Text\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @slot {Array<Node>} default - Defines the text of the component.\n * @since 2.0.0\n */\n@customElement({\n\ttag: \"ui5-text\",\n\trenderer,\n\ttemplate: () => {\n\t\treturn html`<bdi><slot></slot></bdi>`;\n\t},\n\tstyles,\n})\nclass Text extends UI5Element {\n\t/**\n\t * Defines the number of lines the text should wrap before it truncates.\n\t * @default Infinity\n\t * @public\n\t */\n\t@property({ type: Number })\n\tmaxLines = Infinity;\n\n\tonBeforeRendering() {\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5_text_max_lines\"), `${this.maxLines}`);\n\t}\n}\n\nText.define();\n\nexport default Text;\n"]}
@@ -72,10 +72,10 @@ declare class TextArea extends UI5Element implements IFormInputElement {
72
72
  required: boolean;
73
73
  /**
74
74
  * Defines a short hint intended to aid the user with data entry when the component has no value.
75
- * @default ""
75
+ * @default undefined
76
76
  * @public
77
77
  */
78
- placeholder: string;
78
+ placeholder?: string;
79
79
  /**
80
80
  * Defines the value state of the component.
81
81
  *
@@ -133,24 +133,24 @@ declare class TextArea extends UI5Element implements IFormInputElement {
133
133
  * Determines the name by which the component will be identified upon submission in an HTML form.
134
134
  *
135
135
  * **Note:** This property is only applicable within the context of an HTML Form element.
136
- * @default ""
136
+ * @default undefined
137
137
  * @public
138
138
  */
139
- name: string;
139
+ name?: string;
140
140
  /**
141
141
  * Defines the accessible ARIA name of the component.
142
- * @default ""
142
+ * @default undefined
143
143
  * @public
144
144
  * @since 1.0.0-rc.15
145
145
  */
146
- accessibleName: string;
146
+ accessibleName?: string;
147
147
  /**
148
148
  * Receives id(or many ids) of the elements that label the textarea.
149
- * @default ""
149
+ * @default undefined
150
150
  * @public
151
151
  * @since 1.0.0-rc.15
152
152
  */
153
- accessibleNameRef: string;
153
+ accessibleNameRef?: string;
154
154
  /**
155
155
  * @private
156
156
  */
@@ -166,7 +166,7 @@ declare class TextArea extends UI5Element implements IFormInputElement {
166
166
  /**
167
167
  * @private
168
168
  */
169
- _maxHeight: string;
169
+ _maxHeight?: string;
170
170
  /**
171
171
  * @private
172
172
  */