@ui5/webcomponents 0.0.0-49cef2d02 → 0.0.0-4a28ecb24

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 (617) hide show
  1. package/CHANGELOG.md +135 -0
  2. package/dist/Assets-static.d.ts +4 -0
  3. package/dist/Assets-static.js +1 -1
  4. package/dist/Assets-static.js.map +1 -0
  5. package/dist/Assets.d.ts +5 -0
  6. package/dist/Assets.js +1 -1
  7. package/dist/Assets.js.map +1 -0
  8. package/dist/Avatar.d.ts +3 -3
  9. package/dist/Avatar.js +0 -1
  10. package/dist/Avatar.js.map +1 -1
  11. package/dist/AvatarGroup.js +2 -19
  12. package/dist/Badge.d.ts +3 -3
  13. package/dist/Badge.js +0 -1
  14. package/dist/Badge.js.map +1 -1
  15. package/dist/Breadcrumbs.d.ts +13 -13
  16. package/dist/Breadcrumbs.js +2 -5
  17. package/dist/Breadcrumbs.js.map +1 -1
  18. package/dist/BreadcrumbsItem.d.ts +1 -0
  19. package/dist/BreadcrumbsItem.js +1 -0
  20. package/dist/BreadcrumbsItem.js.map +1 -1
  21. package/dist/BusyIndicator.d.ts +136 -0
  22. package/dist/BusyIndicator.js +125 -208
  23. package/dist/BusyIndicator.js.map +1 -0
  24. package/dist/Button.d.ts +3 -3
  25. package/dist/Button.js +0 -1
  26. package/dist/Button.js.map +1 -1
  27. package/dist/Calendar.d.ts +3 -3
  28. package/dist/Calendar.js +1 -1
  29. package/dist/CalendarDate.d.ts +1 -0
  30. package/dist/CalendarDate.js +1 -0
  31. package/dist/CalendarDate.js.map +1 -1
  32. package/dist/CalendarHeader.d.ts +2 -2
  33. package/dist/CalendarHeader.js +1 -3
  34. package/dist/CalendarHeader.js.map +1 -1
  35. package/dist/Card.d.ts +3 -3
  36. package/dist/Card.js +2 -4
  37. package/dist/Card.js.map +1 -1
  38. package/dist/CardHeader.d.ts +8 -8
  39. package/dist/CardHeader.js +1 -3
  40. package/dist/CardHeader.js.map +1 -1
  41. package/dist/Carousel.d.ts +318 -0
  42. package/dist/Carousel.js +444 -642
  43. package/dist/Carousel.js.map +1 -0
  44. package/dist/CheckBox.d.ts +3 -3
  45. package/dist/CheckBox.js +1 -3
  46. package/dist/CheckBox.js.map +1 -1
  47. package/dist/ColorPalette.d.ts +5 -5
  48. package/dist/ColorPalette.js +2 -4
  49. package/dist/ColorPalette.js.map +1 -1
  50. package/dist/ColorPaletteItem.d.ts +3 -2
  51. package/dist/ColorPaletteItem.js +2 -3
  52. package/dist/ColorPaletteItem.js.map +1 -1
  53. package/dist/ColorPalettePopover.d.ts +12 -13
  54. package/dist/ColorPalettePopover.js +5 -4
  55. package/dist/ColorPalettePopover.js.map +1 -1
  56. package/dist/ColorPicker.d.ts +2 -2
  57. package/dist/ColorPicker.js +1 -3
  58. package/dist/ColorPicker.js.map +1 -1
  59. package/dist/ComboBox.js +2 -2
  60. package/dist/ComboBoxGroupItem.js +1 -0
  61. package/dist/ComboBoxItem.js +1 -0
  62. package/dist/CustomListItem.d.ts +1 -1
  63. package/dist/DatePicker.d.ts +10 -6
  64. package/dist/DatePicker.js +3 -5
  65. package/dist/DatePicker.js.map +1 -1
  66. package/dist/DateRangePicker.d.ts +4 -0
  67. package/dist/DateRangePicker.js +4 -1
  68. package/dist/DateRangePicker.js.map +1 -1
  69. package/dist/DateTimePicker.d.ts +3 -8
  70. package/dist/DateTimePicker.js +1 -3
  71. package/dist/DateTimePicker.js.map +1 -1
  72. package/dist/DayPicker.d.ts +2 -2
  73. package/dist/DayPicker.js +1 -3
  74. package/dist/DayPicker.js.map +1 -1
  75. package/dist/Dialog.d.ts +15 -11
  76. package/dist/Dialog.js +14 -7
  77. package/dist/Dialog.js.map +1 -1
  78. package/dist/FileUploader.d.ts +5 -4
  79. package/dist/FileUploader.js +2 -3
  80. package/dist/FileUploader.js.map +1 -1
  81. package/dist/GroupHeaderListItem.d.ts +2 -2
  82. package/dist/GroupHeaderListItem.js +0 -1
  83. package/dist/GroupHeaderListItem.js.map +1 -1
  84. package/dist/Icon.d.ts +2 -2
  85. package/dist/Input.d.ts +20 -10
  86. package/dist/Input.js +20 -14
  87. package/dist/Input.js.map +1 -1
  88. package/dist/Label.d.ts +2 -2
  89. package/dist/Link.d.ts +2 -2
  90. package/dist/Link.js +0 -1
  91. package/dist/Link.js.map +1 -1
  92. package/dist/List.d.ts +4 -3
  93. package/dist/List.js +2 -5
  94. package/dist/List.js.map +1 -1
  95. package/dist/ListItem.d.ts +7 -2
  96. package/dist/ListItem.js +4 -8
  97. package/dist/ListItem.js.map +1 -1
  98. package/dist/Menu.d.ts +18 -14
  99. package/dist/Menu.js +6 -5
  100. package/dist/Menu.js.map +1 -1
  101. package/dist/MenuItem.d.ts +1 -0
  102. package/dist/MenuItem.js +1 -0
  103. package/dist/MenuItem.js.map +1 -1
  104. package/dist/MessageStrip.d.ts +2 -2
  105. package/dist/MessageStrip.js +1 -3
  106. package/dist/MessageStrip.js.map +1 -1
  107. package/dist/MonthPicker.d.ts +2 -2
  108. package/dist/MonthPicker.js +1 -3
  109. package/dist/MonthPicker.js.map +1 -1
  110. package/dist/MultiComboBox.js +6 -2
  111. package/dist/MultiComboBoxGroupItem.js +1 -0
  112. package/dist/MultiComboBoxItem.js +1 -0
  113. package/dist/MultiInput.js +1 -1
  114. package/dist/Option.d.ts +95 -0
  115. package/dist/Option.js +48 -118
  116. package/dist/Option.js.map +1 -0
  117. package/dist/Panel.d.ts +2 -2
  118. package/dist/Panel.js +0 -1
  119. package/dist/Panel.js.map +1 -1
  120. package/dist/Popover.d.ts +8 -6
  121. package/dist/Popover.js +7 -8
  122. package/dist/Popover.js.map +1 -1
  123. package/dist/Popup.d.ts +28 -17
  124. package/dist/Popup.js +13 -3
  125. package/dist/Popup.js.map +1 -1
  126. package/dist/ProgressIndicator.d.ts +2 -2
  127. package/dist/ProgressIndicator.js +1 -3
  128. package/dist/ProgressIndicator.js.map +1 -1
  129. package/dist/RadioButton.d.ts +245 -0
  130. package/dist/RadioButton.js +260 -484
  131. package/dist/RadioButton.js.map +1 -0
  132. package/dist/RadioButtonGroup.d.ts +25 -0
  133. package/dist/RadioButtonGroup.js +188 -202
  134. package/dist/RadioButtonGroup.js.map +1 -0
  135. package/dist/RangeSlider.d.ts +1 -1
  136. package/dist/RangeSlider.js +1 -3
  137. package/dist/RangeSlider.js.map +1 -1
  138. package/dist/ResponsivePopover.d.ts +108 -0
  139. package/dist/ResponsivePopover.js +145 -180
  140. package/dist/ResponsivePopover.js.map +1 -0
  141. package/dist/SegmentedButton.js +3 -3
  142. package/dist/SegmentedButtonItem.js +1 -0
  143. package/dist/Select.d.ts +341 -0
  144. package/dist/Select.js +579 -814
  145. package/dist/Select.js.map +1 -0
  146. package/dist/Slider.d.ts +1 -1
  147. package/dist/Slider.js +1 -3
  148. package/dist/Slider.js.map +1 -1
  149. package/dist/SplitButton.d.ts +2 -2
  150. package/dist/SplitButton.js +1 -3
  151. package/dist/SplitButton.js.map +1 -1
  152. package/dist/StandardListItem.d.ts +4 -2
  153. package/dist/StandardListItem.js +0 -1
  154. package/dist/StandardListItem.js.map +1 -1
  155. package/dist/StepInput.d.ts +3 -3
  156. package/dist/StepInput.js +0 -1
  157. package/dist/StepInput.js.map +1 -1
  158. package/dist/SuggestionGroupItem.d.ts +1 -0
  159. package/dist/SuggestionGroupItem.js +1 -0
  160. package/dist/SuggestionGroupItem.js.map +1 -1
  161. package/dist/SuggestionItem.d.ts +9 -8
  162. package/dist/SuggestionItem.js +1 -0
  163. package/dist/SuggestionItem.js.map +1 -1
  164. package/dist/SuggestionListItem.d.ts +1 -1
  165. package/dist/Switch.d.ts +2 -2
  166. package/dist/TabContainer.js +1 -2
  167. package/dist/Table.d.ts +6 -4
  168. package/dist/Table.js +2 -6
  169. package/dist/Table.js.map +1 -1
  170. package/dist/TableCell.d.ts +2 -2
  171. package/dist/TableColumn.d.ts +2 -2
  172. package/dist/TableGroupRow.d.ts +2 -2
  173. package/dist/TableGroupRow.js +1 -4
  174. package/dist/TableGroupRow.js.map +1 -1
  175. package/dist/TableRow.d.ts +2 -2
  176. package/dist/TableRow.js +1 -4
  177. package/dist/TableRow.js.map +1 -1
  178. package/dist/TimePicker.d.ts +1 -0
  179. package/dist/TimePicker.js +2 -3
  180. package/dist/TimePicker.js.map +1 -1
  181. package/dist/TimePickerBase.d.ts +20 -12
  182. package/dist/TimePickerBase.js +11 -4
  183. package/dist/TimePickerBase.js.map +1 -1
  184. package/dist/TimeSelection.d.ts +2 -2
  185. package/dist/TimeSelection.js +1 -3
  186. package/dist/TimeSelection.js.map +1 -1
  187. package/dist/Title.d.ts +2 -2
  188. package/dist/Tree.js +1 -1
  189. package/dist/WheelSlider.d.ts +2 -2
  190. package/dist/YearPicker.d.ts +2 -2
  191. package/dist/YearPicker.js +1 -3
  192. package/dist/YearPicker.js.map +1 -1
  193. package/dist/api.json +1 -1
  194. package/dist/css/themes/Avatar.css +1 -1
  195. package/dist/custom-elements.json +1 -0
  196. package/dist/features/ColorPaletteMoreColors.d.ts +1 -1
  197. package/dist/features/ColorPaletteMoreColors.js +1 -3
  198. package/dist/features/ColorPaletteMoreColors.js.map +1 -1
  199. package/dist/features/InputSuggestions.d.ts +8 -4
  200. package/dist/features/InputSuggestions.js +1 -4
  201. package/dist/features/InputSuggestions.js.map +1 -1
  202. package/dist/generated/i18n/i18n-defaults.d.ts +142 -0
  203. package/dist/generated/i18n/i18n-defaults.js +142 -2
  204. package/dist/generated/i18n/i18n-defaults.js.map +1 -0
  205. package/dist/generated/templates/CarouselTemplate.lit.js +2 -2
  206. package/dist/generated/templates/RadioButtonTemplate.lit.js +1 -1
  207. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +1 -1
  208. package/dist/generated/templates/SelectTemplate.lit.js +1 -1
  209. package/dist/generated/themes/Avatar.css.d.ts +3 -0
  210. package/dist/generated/themes/Avatar.css.js +5 -5
  211. package/dist/generated/themes/Avatar.css.js.map +1 -0
  212. package/dist/generated/themes/AvatarGroup.css.d.ts +3 -0
  213. package/dist/generated/themes/AvatarGroup.css.js +5 -5
  214. package/dist/generated/themes/AvatarGroup.css.js.map +1 -0
  215. package/dist/generated/themes/Badge.css.d.ts +3 -0
  216. package/dist/generated/themes/Badge.css.js +5 -5
  217. package/dist/generated/themes/Badge.css.js.map +1 -0
  218. package/dist/generated/themes/Breadcrumbs.css.d.ts +3 -0
  219. package/dist/generated/themes/Breadcrumbs.css.js +5 -5
  220. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -0
  221. package/dist/generated/themes/BreadcrumbsPopover.css.d.ts +3 -0
  222. package/dist/generated/themes/BreadcrumbsPopover.css.js +5 -5
  223. package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -0
  224. package/dist/generated/themes/BrowserScrollbar.css.d.ts +3 -0
  225. package/dist/generated/themes/BrowserScrollbar.css.js +5 -5
  226. package/dist/generated/themes/BrowserScrollbar.css.js.map +1 -0
  227. package/dist/generated/themes/BusyIndicator.css.d.ts +3 -0
  228. package/dist/generated/themes/BusyIndicator.css.js +5 -5
  229. package/dist/generated/themes/BusyIndicator.css.js.map +1 -0
  230. package/dist/generated/themes/Button.css.d.ts +3 -0
  231. package/dist/generated/themes/Button.css.js +5 -5
  232. package/dist/generated/themes/Button.css.js.map +1 -0
  233. package/dist/generated/themes/Calendar.css.d.ts +3 -0
  234. package/dist/generated/themes/Calendar.css.js +5 -5
  235. package/dist/generated/themes/Calendar.css.js.map +1 -0
  236. package/dist/generated/themes/CalendarHeader.css.d.ts +3 -0
  237. package/dist/generated/themes/CalendarHeader.css.js +5 -5
  238. package/dist/generated/themes/CalendarHeader.css.js.map +1 -0
  239. package/dist/generated/themes/Card.css.d.ts +3 -0
  240. package/dist/generated/themes/Card.css.js +5 -5
  241. package/dist/generated/themes/Card.css.js.map +1 -0
  242. package/dist/generated/themes/CardHeader.css.d.ts +3 -0
  243. package/dist/generated/themes/CardHeader.css.js +5 -5
  244. package/dist/generated/themes/CardHeader.css.js.map +1 -0
  245. package/dist/generated/themes/Carousel.css.d.ts +3 -0
  246. package/dist/generated/themes/Carousel.css.js +5 -5
  247. package/dist/generated/themes/Carousel.css.js.map +1 -0
  248. package/dist/generated/themes/CheckBox.css.d.ts +3 -0
  249. package/dist/generated/themes/CheckBox.css.js +5 -5
  250. package/dist/generated/themes/CheckBox.css.js.map +1 -0
  251. package/dist/generated/themes/ColorPalette.css.d.ts +3 -0
  252. package/dist/generated/themes/ColorPalette.css.js +5 -5
  253. package/dist/generated/themes/ColorPalette.css.js.map +1 -0
  254. package/dist/generated/themes/ColorPaletteItem.css.d.ts +3 -0
  255. package/dist/generated/themes/ColorPaletteItem.css.js +5 -5
  256. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -0
  257. package/dist/generated/themes/ColorPalettePopover.css.d.ts +3 -0
  258. package/dist/generated/themes/ColorPalettePopover.css.js +5 -5
  259. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -0
  260. package/dist/generated/themes/ColorPaletteStaticArea.css.d.ts +3 -0
  261. package/dist/generated/themes/ColorPaletteStaticArea.css.js +5 -5
  262. package/dist/generated/themes/ColorPaletteStaticArea.css.js.map +1 -0
  263. package/dist/generated/themes/ColorPicker.css.d.ts +3 -0
  264. package/dist/generated/themes/ColorPicker.css.js +5 -5
  265. package/dist/generated/themes/ColorPicker.css.js.map +1 -0
  266. package/dist/generated/themes/ComboBox.css.d.ts +3 -0
  267. package/dist/generated/themes/ComboBox.css.js +5 -5
  268. package/dist/generated/themes/ComboBox.css.js.map +1 -0
  269. package/dist/generated/themes/ComboBoxPopover.css.d.ts +3 -0
  270. package/dist/generated/themes/ComboBoxPopover.css.js +5 -5
  271. package/dist/generated/themes/ComboBoxPopover.css.js.map +1 -0
  272. package/dist/generated/themes/CustomListItem.css.d.ts +3 -0
  273. package/dist/generated/themes/CustomListItem.css.js +5 -5
  274. package/dist/generated/themes/CustomListItem.css.js.map +1 -0
  275. package/dist/generated/themes/DatePicker.css.d.ts +3 -0
  276. package/dist/generated/themes/DatePicker.css.js +5 -5
  277. package/dist/generated/themes/DatePicker.css.js.map +1 -0
  278. package/dist/generated/themes/DatePickerPopover.css.d.ts +3 -0
  279. package/dist/generated/themes/DatePickerPopover.css.js +5 -5
  280. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -0
  281. package/dist/generated/themes/DateRangePicker.css.d.ts +3 -0
  282. package/dist/generated/themes/DateRangePicker.css.js +5 -5
  283. package/dist/generated/themes/DateRangePicker.css.js.map +1 -0
  284. package/dist/generated/themes/DateTimePicker.css.d.ts +3 -0
  285. package/dist/generated/themes/DateTimePicker.css.js +5 -5
  286. package/dist/generated/themes/DateTimePicker.css.js.map +1 -0
  287. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +3 -0
  288. package/dist/generated/themes/DateTimePickerPopover.css.js +5 -5
  289. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -0
  290. package/dist/generated/themes/DayPicker.css.d.ts +3 -0
  291. package/dist/generated/themes/DayPicker.css.js +5 -5
  292. package/dist/generated/themes/DayPicker.css.js.map +1 -0
  293. package/dist/generated/themes/Dialog.css.d.ts +3 -0
  294. package/dist/generated/themes/Dialog.css.js +5 -5
  295. package/dist/generated/themes/Dialog.css.js.map +1 -0
  296. package/dist/generated/themes/FileUploader.css.d.ts +3 -0
  297. package/dist/generated/themes/FileUploader.css.js +5 -5
  298. package/dist/generated/themes/FileUploader.css.js.map +1 -0
  299. package/dist/generated/themes/GroupHeaderListItem.css.d.ts +3 -0
  300. package/dist/generated/themes/GroupHeaderListItem.css.js +5 -5
  301. package/dist/generated/themes/GroupHeaderListItem.css.js.map +1 -0
  302. package/dist/generated/themes/GrowingButton.css.d.ts +3 -0
  303. package/dist/generated/themes/GrowingButton.css.js +5 -5
  304. package/dist/generated/themes/GrowingButton.css.js.map +1 -0
  305. package/dist/generated/themes/Icon.css.d.ts +3 -0
  306. package/dist/generated/themes/Icon.css.js +5 -5
  307. package/dist/generated/themes/Icon.css.js.map +1 -0
  308. package/dist/generated/themes/Input.css.d.ts +3 -0
  309. package/dist/generated/themes/Input.css.js +5 -5
  310. package/dist/generated/themes/Input.css.js.map +1 -0
  311. package/dist/generated/themes/InputIcon.css.d.ts +3 -0
  312. package/dist/generated/themes/InputIcon.css.js +5 -5
  313. package/dist/generated/themes/InputIcon.css.js.map +1 -0
  314. package/dist/generated/themes/InvisibleTextStyles.css.d.ts +3 -0
  315. package/dist/generated/themes/InvisibleTextStyles.css.js +5 -5
  316. package/dist/generated/themes/InvisibleTextStyles.css.js.map +1 -0
  317. package/dist/generated/themes/Label.css.d.ts +3 -0
  318. package/dist/generated/themes/Label.css.js +5 -5
  319. package/dist/generated/themes/Label.css.js.map +1 -0
  320. package/dist/generated/themes/Link.css.d.ts +3 -0
  321. package/dist/generated/themes/Link.css.js +5 -5
  322. package/dist/generated/themes/Link.css.js.map +1 -0
  323. package/dist/generated/themes/List.css.d.ts +3 -0
  324. package/dist/generated/themes/List.css.js +5 -5
  325. package/dist/generated/themes/List.css.js.map +1 -0
  326. package/dist/generated/themes/ListItem.css.d.ts +3 -0
  327. package/dist/generated/themes/ListItem.css.js +5 -5
  328. package/dist/generated/themes/ListItem.css.js.map +1 -0
  329. package/dist/generated/themes/ListItemBase.css.d.ts +3 -0
  330. package/dist/generated/themes/ListItemBase.css.js +5 -5
  331. package/dist/generated/themes/ListItemBase.css.js.map +1 -0
  332. package/dist/generated/themes/Menu.css.d.ts +3 -0
  333. package/dist/generated/themes/Menu.css.js +5 -5
  334. package/dist/generated/themes/Menu.css.js.map +1 -0
  335. package/dist/generated/themes/MessageStrip.css.d.ts +3 -0
  336. package/dist/generated/themes/MessageStrip.css.js +5 -5
  337. package/dist/generated/themes/MessageStrip.css.js.map +1 -0
  338. package/dist/generated/themes/MonthPicker.css.d.ts +3 -0
  339. package/dist/generated/themes/MonthPicker.css.js +5 -5
  340. package/dist/generated/themes/MonthPicker.css.js.map +1 -0
  341. package/dist/generated/themes/MultiComboBox.css.d.ts +3 -0
  342. package/dist/generated/themes/MultiComboBox.css.js +5 -5
  343. package/dist/generated/themes/MultiComboBox.css.js.map +1 -0
  344. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +3 -0
  345. package/dist/generated/themes/MultiComboBoxPopover.css.js +5 -5
  346. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -0
  347. package/dist/generated/themes/MultiInput.css.d.ts +3 -0
  348. package/dist/generated/themes/MultiInput.css.js +5 -5
  349. package/dist/generated/themes/MultiInput.css.js.map +1 -0
  350. package/dist/generated/themes/Panel.css.d.ts +3 -0
  351. package/dist/generated/themes/Panel.css.js +5 -5
  352. package/dist/generated/themes/Panel.css.js.map +1 -0
  353. package/dist/generated/themes/Popover.css.d.ts +3 -0
  354. package/dist/generated/themes/Popover.css.js +5 -5
  355. package/dist/generated/themes/Popover.css.js.map +1 -0
  356. package/dist/generated/themes/Popup.css.d.ts +3 -0
  357. package/dist/generated/themes/Popup.css.js +5 -5
  358. package/dist/generated/themes/Popup.css.js.map +1 -0
  359. package/dist/generated/themes/PopupGlobal.css.d.ts +3 -0
  360. package/dist/generated/themes/PopupGlobal.css.js +5 -5
  361. package/dist/generated/themes/PopupGlobal.css.js.map +1 -0
  362. package/dist/generated/themes/PopupStaticAreaStyles.css.d.ts +3 -0
  363. package/dist/generated/themes/PopupStaticAreaStyles.css.js +5 -5
  364. package/dist/generated/themes/PopupStaticAreaStyles.css.js.map +1 -0
  365. package/dist/generated/themes/PopupsCommon.css.d.ts +3 -0
  366. package/dist/generated/themes/PopupsCommon.css.js +5 -5
  367. package/dist/generated/themes/PopupsCommon.css.js.map +1 -0
  368. package/dist/generated/themes/ProgressIndicator.css.d.ts +3 -0
  369. package/dist/generated/themes/ProgressIndicator.css.js +5 -5
  370. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -0
  371. package/dist/generated/themes/RadioButton.css.d.ts +3 -0
  372. package/dist/generated/themes/RadioButton.css.js +5 -5
  373. package/dist/generated/themes/RadioButton.css.js.map +1 -0
  374. package/dist/generated/themes/RangeSlider.css.d.ts +3 -0
  375. package/dist/generated/themes/RangeSlider.css.js +5 -5
  376. package/dist/generated/themes/RangeSlider.css.js.map +1 -0
  377. package/dist/generated/themes/RatingIndicator.css.d.ts +3 -0
  378. package/dist/generated/themes/RatingIndicator.css.js +5 -5
  379. package/dist/generated/themes/RatingIndicator.css.js.map +1 -0
  380. package/dist/generated/themes/ResponsivePopover.css.d.ts +3 -0
  381. package/dist/generated/themes/ResponsivePopover.css.js +5 -5
  382. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -0
  383. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +3 -0
  384. package/dist/generated/themes/ResponsivePopoverCommon.css.js +5 -5
  385. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -0
  386. package/dist/generated/themes/SegmentedButton.css.d.ts +3 -0
  387. package/dist/generated/themes/SegmentedButton.css.js +5 -5
  388. package/dist/generated/themes/SegmentedButton.css.js.map +1 -0
  389. package/dist/generated/themes/Select.css.d.ts +3 -0
  390. package/dist/generated/themes/Select.css.js +5 -5
  391. package/dist/generated/themes/Select.css.js.map +1 -0
  392. package/dist/generated/themes/SelectPopover.css.d.ts +3 -0
  393. package/dist/generated/themes/SelectPopover.css.js +5 -5
  394. package/dist/generated/themes/SelectPopover.css.js.map +1 -0
  395. package/dist/generated/themes/SliderBase.css.d.ts +3 -0
  396. package/dist/generated/themes/SliderBase.css.js +5 -5
  397. package/dist/generated/themes/SliderBase.css.js.map +1 -0
  398. package/dist/generated/themes/SplitButton.css.d.ts +3 -0
  399. package/dist/generated/themes/SplitButton.css.js +5 -5
  400. package/dist/generated/themes/SplitButton.css.js.map +1 -0
  401. package/dist/generated/themes/StepInput.css.d.ts +3 -0
  402. package/dist/generated/themes/StepInput.css.js +5 -5
  403. package/dist/generated/themes/StepInput.css.js.map +1 -0
  404. package/dist/generated/themes/Suggestions.css.d.ts +3 -0
  405. package/dist/generated/themes/Suggestions.css.js +5 -5
  406. package/dist/generated/themes/Suggestions.css.js.map +1 -0
  407. package/dist/generated/themes/Switch.css.d.ts +3 -0
  408. package/dist/generated/themes/Switch.css.js +5 -5
  409. package/dist/generated/themes/Switch.css.js.map +1 -0
  410. package/dist/generated/themes/Tab.css.d.ts +3 -0
  411. package/dist/generated/themes/Tab.css.js +5 -5
  412. package/dist/generated/themes/Tab.css.js.map +1 -0
  413. package/dist/generated/themes/TabContainer.css.d.ts +3 -0
  414. package/dist/generated/themes/TabContainer.css.js +5 -5
  415. package/dist/generated/themes/TabContainer.css.js.map +1 -0
  416. package/dist/generated/themes/TabInOverflow.css.d.ts +3 -0
  417. package/dist/generated/themes/TabInOverflow.css.js +5 -5
  418. package/dist/generated/themes/TabInOverflow.css.js.map +1 -0
  419. package/dist/generated/themes/TabInStrip.css.d.ts +3 -0
  420. package/dist/generated/themes/TabInStrip.css.js +5 -5
  421. package/dist/generated/themes/TabInStrip.css.js.map +1 -0
  422. package/dist/generated/themes/TabSemanticIcon.css.d.ts +3 -0
  423. package/dist/generated/themes/TabSemanticIcon.css.js +5 -5
  424. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -0
  425. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +3 -0
  426. package/dist/generated/themes/TabSeparatorInOverflow.css.js +5 -5
  427. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -0
  428. package/dist/generated/themes/TabSeparatorInStrip.css.d.ts +3 -0
  429. package/dist/generated/themes/TabSeparatorInStrip.css.js +5 -5
  430. package/dist/generated/themes/TabSeparatorInStrip.css.js.map +1 -0
  431. package/dist/generated/themes/Table.css.d.ts +3 -0
  432. package/dist/generated/themes/Table.css.js +5 -5
  433. package/dist/generated/themes/Table.css.js.map +1 -0
  434. package/dist/generated/themes/TableCell.css.d.ts +3 -0
  435. package/dist/generated/themes/TableCell.css.js +5 -5
  436. package/dist/generated/themes/TableCell.css.js.map +1 -0
  437. package/dist/generated/themes/TableColumn.css.d.ts +3 -0
  438. package/dist/generated/themes/TableColumn.css.js +5 -5
  439. package/dist/generated/themes/TableColumn.css.js.map +1 -0
  440. package/dist/generated/themes/TableGroupRow.css.d.ts +3 -0
  441. package/dist/generated/themes/TableGroupRow.css.js +5 -5
  442. package/dist/generated/themes/TableGroupRow.css.js.map +1 -0
  443. package/dist/generated/themes/TableRow.css.d.ts +3 -0
  444. package/dist/generated/themes/TableRow.css.js +5 -5
  445. package/dist/generated/themes/TableRow.css.js.map +1 -0
  446. package/dist/generated/themes/TapHighlightColor.css.d.ts +3 -0
  447. package/dist/generated/themes/TapHighlightColor.css.js +5 -5
  448. package/dist/generated/themes/TapHighlightColor.css.js.map +1 -0
  449. package/dist/generated/themes/TextArea.css.d.ts +3 -0
  450. package/dist/generated/themes/TextArea.css.js +5 -5
  451. package/dist/generated/themes/TextArea.css.js.map +1 -0
  452. package/dist/generated/themes/TimePicker.css.d.ts +3 -0
  453. package/dist/generated/themes/TimePicker.css.js +5 -5
  454. package/dist/generated/themes/TimePicker.css.js.map +1 -0
  455. package/dist/generated/themes/TimePickerPopover.css.d.ts +3 -0
  456. package/dist/generated/themes/TimePickerPopover.css.js +5 -5
  457. package/dist/generated/themes/TimePickerPopover.css.js.map +1 -0
  458. package/dist/generated/themes/TimeSelection.css.d.ts +3 -0
  459. package/dist/generated/themes/TimeSelection.css.js +5 -5
  460. package/dist/generated/themes/TimeSelection.css.js.map +1 -0
  461. package/dist/generated/themes/Title.css.d.ts +3 -0
  462. package/dist/generated/themes/Title.css.js +5 -5
  463. package/dist/generated/themes/Title.css.js.map +1 -0
  464. package/dist/generated/themes/Toast.css.d.ts +3 -0
  465. package/dist/generated/themes/Toast.css.js +5 -5
  466. package/dist/generated/themes/Toast.css.js.map +1 -0
  467. package/dist/generated/themes/ToggleButton.css.d.ts +3 -0
  468. package/dist/generated/themes/ToggleButton.css.js +5 -5
  469. package/dist/generated/themes/ToggleButton.css.js.map +1 -0
  470. package/dist/generated/themes/Token.css.d.ts +3 -0
  471. package/dist/generated/themes/Token.css.js +5 -5
  472. package/dist/generated/themes/Token.css.js.map +1 -0
  473. package/dist/generated/themes/Tokenizer.css.d.ts +3 -0
  474. package/dist/generated/themes/Tokenizer.css.js +5 -5
  475. package/dist/generated/themes/Tokenizer.css.js.map +1 -0
  476. package/dist/generated/themes/TokenizerPopover.css.d.ts +3 -0
  477. package/dist/generated/themes/TokenizerPopover.css.js +5 -5
  478. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -0
  479. package/dist/generated/themes/Tree.css.d.ts +3 -0
  480. package/dist/generated/themes/Tree.css.js +5 -5
  481. package/dist/generated/themes/Tree.css.js.map +1 -0
  482. package/dist/generated/themes/TreeItem.css.d.ts +3 -0
  483. package/dist/generated/themes/TreeItem.css.js +5 -5
  484. package/dist/generated/themes/TreeItem.css.js.map +1 -0
  485. package/dist/generated/themes/ValueStateMessage.css.d.ts +3 -0
  486. package/dist/generated/themes/ValueStateMessage.css.js +5 -5
  487. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -0
  488. package/dist/generated/themes/WheelSlider.css.d.ts +3 -0
  489. package/dist/generated/themes/WheelSlider.css.js +5 -5
  490. package/dist/generated/themes/WheelSlider.css.js.map +1 -0
  491. package/dist/generated/themes/YearPicker.css.d.ts +3 -0
  492. package/dist/generated/themes/YearPicker.css.js +5 -5
  493. package/dist/generated/themes/YearPicker.css.js.map +1 -0
  494. package/dist/generated/themes/sap_belize/parameters-bundle.css.d.ts +3 -0
  495. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +3 -1
  496. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -0
  497. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.d.ts +3 -0
  498. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +3 -1
  499. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -0
  500. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.d.ts +3 -0
  501. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +3 -1
  502. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -0
  503. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +3 -0
  504. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +3 -1
  505. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -0
  506. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +3 -0
  507. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +3 -1
  508. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -0
  509. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +3 -0
  510. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +3 -1
  511. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -0
  512. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +3 -0
  513. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +3 -1
  514. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -0
  515. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +3 -0
  516. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +3 -1
  517. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -0
  518. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +3 -0
  519. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +3 -1
  520. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -0
  521. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.d.ts +3 -0
  522. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +3 -1
  523. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -0
  524. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +3 -0
  525. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +3 -1
  526. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -0
  527. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +3 -0
  528. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +3 -1
  529. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -0
  530. package/dist/i18n/messagebundle.properties +1 -1
  531. package/dist/types/PopupAccessibleRole.d.ts +30 -0
  532. package/dist/types/PopupAccessibleRole.js +32 -0
  533. package/dist/types/PopupAccessibleRole.js.map +1 -0
  534. package/global.d.ts +2 -2
  535. package/package.json +7 -7
  536. package/src/{Assets-static.js → Assets-static.ts} +0 -0
  537. package/src/{Assets.js → Assets.ts} +0 -0
  538. package/src/Avatar.ts +2 -4
  539. package/src/AvatarGroup.js +2 -19
  540. package/src/Badge.ts +2 -4
  541. package/src/Breadcrumbs.ts +7 -16
  542. package/src/BreadcrumbsItem.ts +1 -0
  543. package/src/{BusyIndicator.js → BusyIndicator.ts} +92 -99
  544. package/src/Button.ts +3 -4
  545. package/src/Calendar.ts +1 -1
  546. package/src/CalendarDate.ts +1 -0
  547. package/src/CalendarHeader.ts +2 -4
  548. package/src/Card.ts +3 -5
  549. package/src/CardHeader.ts +8 -10
  550. package/src/Carousel.hbs +3 -3
  551. package/src/{Carousel.js → Carousel.ts} +236 -230
  552. package/src/CheckBox.ts +4 -6
  553. package/src/ColorPalette.ts +3 -5
  554. package/src/ColorPaletteItem.ts +2 -3
  555. package/src/ColorPalettePopover.ts +8 -16
  556. package/src/ColorPicker.ts +7 -9
  557. package/src/ComboBox.js +2 -2
  558. package/src/ComboBoxGroupItem.js +1 -0
  559. package/src/ComboBoxItem.js +1 -0
  560. package/src/DatePicker.ts +8 -11
  561. package/src/DateRangePicker.ts +5 -3
  562. package/src/DateTimePicker.ts +7 -15
  563. package/src/DayPicker.ts +4 -5
  564. package/src/Dialog.ts +26 -15
  565. package/src/FileUploader.ts +7 -8
  566. package/src/GroupHeaderListItem.ts +1 -3
  567. package/src/Input.ts +47 -30
  568. package/src/Link.ts +0 -1
  569. package/src/List.ts +5 -8
  570. package/src/ListItem.ts +13 -12
  571. package/src/Menu.ts +13 -18
  572. package/src/MenuItem.ts +1 -0
  573. package/src/MessageStrip.ts +6 -7
  574. package/src/MonthPicker.ts +1 -3
  575. package/src/MultiComboBox.js +6 -2
  576. package/src/MultiComboBoxGroupItem.js +1 -0
  577. package/src/MultiComboBoxItem.js +1 -0
  578. package/src/MultiInput.js +1 -1
  579. package/src/Option.ts +119 -0
  580. package/src/Panel.ts +1 -3
  581. package/src/Popover.ts +9 -10
  582. package/src/Popup.ts +34 -19
  583. package/src/ProgressIndicator.ts +4 -6
  584. package/src/RadioButton.hbs +5 -6
  585. package/src/RadioButton.ts +530 -0
  586. package/src/{RadioButtonGroup.js → RadioButtonGroup.ts} +59 -28
  587. package/src/RangeSlider.ts +5 -7
  588. package/src/ResponsivePopover.hbs +1 -0
  589. package/src/{ResponsivePopover.js → ResponsivePopover.ts} +70 -58
  590. package/src/SegmentedButton.js +3 -3
  591. package/src/SegmentedButtonItem.js +1 -0
  592. package/src/Select.hbs +1 -1
  593. package/src/{Select.js → Select.ts} +305 -265
  594. package/src/Slider.ts +1 -3
  595. package/src/SplitButton.ts +3 -5
  596. package/src/StandardListItem.ts +0 -1
  597. package/src/StepInput.ts +3 -5
  598. package/src/SuggestionGroupItem.ts +1 -0
  599. package/src/SuggestionItem.ts +9 -8
  600. package/src/TabContainer.js +1 -2
  601. package/src/Table.ts +5 -9
  602. package/src/TableGroupRow.ts +1 -4
  603. package/src/TableRow.ts +2 -5
  604. package/src/TimePicker.ts +2 -3
  605. package/src/TimePickerBase.ts +13 -13
  606. package/src/TimeSelection.ts +3 -5
  607. package/src/Tree.hbs +1 -1
  608. package/src/Tree.js +1 -1
  609. package/src/YearPicker.ts +2 -6
  610. package/src/features/ColorPaletteMoreColors.ts +3 -5
  611. package/src/features/InputSuggestions.ts +3 -8
  612. package/src/i18n/messagebundle.properties +1 -1
  613. package/src/themes/Avatar.css +11 -11
  614. package/src/types/PopupAccessibleRole.ts +34 -0
  615. package/.dev-server-port +0 -1
  616. package/src/Option.js +0 -136
  617. package/src/RadioButton.js +0 -535
@@ -1,4 +1,9 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
3
+ import languageAware from "@ui5/webcomponents-base/dist/decorators/languageAware.js";
4
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
5
+ import event from "@ui5/webcomponents-base/dist/decorators/event.js";
6
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
2
7
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
8
  import {
4
9
  isSpace,
@@ -13,7 +18,6 @@ import {
13
18
  isTabPrevious,
14
19
  } from "@ui5/webcomponents-base/dist/Keys.js";
15
20
  import announce from "@ui5/webcomponents-base/dist/util/InvisibleMessage.js";
16
- import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
17
21
  import { getFeature } from "@ui5/webcomponents-base/dist/FeaturesRegistry.js";
18
22
  import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
19
23
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
@@ -23,8 +27,14 @@ import "@ui5/webcomponents-icons/dist/alert.js";
23
27
  import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
24
28
  import "@ui5/webcomponents-icons/dist/information.js";
25
29
  import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
30
+ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
26
31
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
27
32
  import "@ui5/webcomponents-icons/dist/decline.js";
33
+ import type { Timeout } from "@ui5/webcomponents-base/dist/types.js";
34
+ import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
35
+ import InvisibleMessageMode from "@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js";
36
+ import List from "./List.js";
37
+ import type { SelectionChangeEventDetail } from "./List.js";
28
38
  import {
29
39
  VALUE_STATE_SUCCESS,
30
40
  VALUE_STATE_INFORMATION,
@@ -42,7 +52,6 @@ import Option from "./Option.js";
42
52
  import Label from "./Label.js";
43
53
  import ResponsivePopover from "./ResponsivePopover.js";
44
54
  import Popover from "./Popover.js";
45
- import List from "./List.js";
46
55
  import StandardListItem from "./StandardListItem.js";
47
56
  import Icon from "./Icon.js";
48
57
  import Button from "./Button.js";
@@ -56,202 +65,25 @@ import selectCss from "./generated/themes/Select.css.js";
56
65
  import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverCommon.css.js";
57
66
  import ValueStateMessageCss from "./generated/themes/ValueStateMessage.css.js";
58
67
  import SelectPopoverCss from "./generated/themes/SelectPopover.css.js";
68
+ import type FormSupport from "./features/InputElementsFormSupport.js";
69
+ import { IFormElement } from "./features/InputElementsFormSupport.js";
70
+ import type ListItemBase from "./ListItemBase.js";
59
71
 
60
- /**
61
- * @public
62
- */
63
- const metadata = {
64
- tag: "ui5-select",
65
- languageAware: true,
66
- managedSlots: true,
67
- slots: /** @lends sap.ui.webc.main.Select.prototype */ {
68
-
69
- /**
70
- * Defines the component options.
71
- *
72
- * <br><br>
73
- * <b>Note:</b> Only one selected option is allowed.
74
- * If more than one option is defined as selected, the last one would be considered as the selected one.
75
- *
76
- * <br><br>
77
- * <b>Note:</b> Use the <code>ui5-option</code> component to define the desired options.
78
- * @type {sap.ui.webc.main.ISelectOption[]}
79
- * @slot options
80
- * @public
81
- */
82
- "default": {
83
- propertyName: "options",
84
- type: HTMLElement,
85
- invalidateOnChildChange: true,
86
- },
87
-
88
- /**
89
- * Defines the value state message that will be displayed as pop up under the component.
90
- * <br><br>
91
- *
92
- * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.
93
- * <br>
94
- * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,
95
- * when the component is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.
96
- * @type {HTMLElement[]}
97
- * @since 1.0.0-rc.9
98
- * @slot
99
- * @public
100
- */
101
- valueStateMessage: {
102
- type: HTMLElement,
103
- },
104
-
105
- /**
106
- * The slot is used to render native <code>input</code> HTML element within Light DOM to enable form submit,
107
- * when <code>name</code> property is set.
108
- * @type {HTMLElement[]}
109
- * @slot
110
- * @private
111
- */
112
- formSupport: {
113
- type: HTMLElement,
114
- },
115
- },
116
- properties: /** @lends sap.ui.webc.main.Select.prototype */ {
117
-
118
- /**
119
- * Defines whether the component is in disabled state.
120
- * <br><br>
121
- * <b>Note:</b> A disabled component is noninteractive.
122
- *
123
- * @type {boolean}
124
- * @defaultvalue false
125
- * @public
126
- */
127
- disabled: {
128
- type: Boolean,
129
- },
130
-
131
- /**
132
- * Determines the name with which the component will be submitted in an HTML form.
133
- * The value of the component will be the value of the currently selected <code>ui5-option</code>.
134
- *
135
- * <br><br>
136
- * <b>Important:</b> For the <code>name</code> property to have effect, you must add the following import to your project:
137
- * <code>import "@ui5/webcomponents/dist/features/InputElementsFormSupport.js";</code>
138
- *
139
- * <br><br>
140
- * <b>Note:</b> When set, a native <code>input</code> HTML element
141
- * will be created inside the <code>ui5-select</code> so that it can be submitted as
142
- * part of an HTML form. Do not use this property unless you need to submit a form.
143
- *
144
- * @type {string}
145
- * @defaultvalue ""
146
- * @public
147
- */
148
- name: {
149
- type: String,
150
- },
151
-
152
- /**
153
- * Defines the value state of the component.
154
- * <br><br>
155
- * Available options are:
156
- * <ul>
157
- * <li><code>None</code></li>
158
- * <li><code>Error</code></li>
159
- * <li><code>Warning</code></li>
160
- * <li><code>Success</code></li>
161
- * <li><code>Information</code></li>
162
- * </ul>
163
- *
164
- * @type {sap.ui.webc.base.types.ValueState}
165
- * @defaultvalue "None"
166
- * @public
167
- */
168
- valueState: {
169
- type: ValueState,
170
- defaultValue: ValueState.None,
171
- },
172
-
173
- /**
174
- * Defines whether the component is required.
175
- *
176
- * @since 1.0.0-rc.9
177
- * @type {boolean}
178
- * @defaultvalue false
179
- * @public
180
- */
181
- required: {
182
- type: Boolean,
183
- },
184
-
185
- /**
186
- * Defines the accessible ARIA name of the component.
187
- *
188
- * @type {string}
189
- * @since 1.0.0-rc.9
190
- * @public
191
- * @since 1.0.0-rc.15
192
- */
193
- accessibleName: {
194
- type: String,
195
- },
196
-
197
- /**
198
- * Receives id(or many ids) of the elements that label the select.
199
- *
200
- * @type {string}
201
- * @defaultvalue ""
202
- * @public
203
- * @since 1.0.0-rc.15
204
- */
205
- accessibleNameRef: {
206
- type: String,
207
- defaultValue: "",
208
- },
209
-
210
- _text: {
211
- type: String,
212
- noAttribute: true,
213
- },
214
-
215
- _iconPressed: {
216
- type: Boolean,
217
- noAttribute: true,
218
- },
219
-
220
- /**
221
- * @private
222
- */
223
- opened: {
224
- type: Boolean,
225
- },
226
-
227
- _listWidth: {
228
- type: Integer,
229
- defaultValue: 0,
230
- noAttribute: true,
231
- },
232
-
233
- /**
234
- * @private
235
- */
236
- focused: {
237
- type: Boolean,
238
- },
239
- },
240
- events: /** @lends sap.ui.webc.main.Select.prototype */ {
241
- /**
242
- * Fired when the selected option changes.
243
- *
244
- * @event
245
- * @param {HTMLElement} selectedOption the selected option.
246
- * @public
247
- */
248
- change: {
249
- detail: {
250
- selectedOption: {},
251
- },
252
- },
253
- },
254
- };
72
+ type SelectChangeEventDetail = {
73
+ selectedOption: Option,
74
+ }
75
+
76
+ interface IOption extends UI5Element {
77
+ selected: boolean,
78
+ _focused: boolean,
79
+ icon?: string | undefined,
80
+ value: string,
81
+ textContent: string | null,
82
+ title: string,
83
+ additionalText: string,
84
+ id: string,
85
+ stableDomRef: string,
86
+ }
255
87
 
256
88
  /**
257
89
  * @class
@@ -282,14 +114,220 @@ const metadata = {
282
114
  * @alias sap.ui.webc.main.Select
283
115
  * @extends sap.ui.webc.base.UI5Element
284
116
  * @tagname ui5-select
285
- * @appenddocs Option
117
+ * @appenddocs sap.ui.webc.main.Option
286
118
  * @public
287
119
  * @since 0.8.0
288
120
  */
289
- class Select extends UI5Element {
290
- static get metadata() {
291
- return metadata;
292
- }
121
+ @customElement("ui5-select")
122
+ @languageAware
123
+ /**
124
+ * Fired when the selected option changes.
125
+ *
126
+ * @event sap.ui.webc.main.Select#change
127
+ * @param {HTMLElement} selectedOption the selected option.
128
+ * @public
129
+ */
130
+ @event("change", {
131
+ detail: {
132
+ selectedOption: { type: HTMLElement },
133
+ },
134
+ })
135
+ /**
136
+ * Fired after the component's dropdown menu opens.
137
+ *
138
+ * @event sap.ui.webc.main.Select#open
139
+ * @public
140
+ */
141
+ @event("open")
142
+ /**
143
+ * Fired after the component's dropdown menu closes.
144
+ *
145
+ * @event sap.ui.webc.main.Select#close
146
+ * @public
147
+ */
148
+ @event("close")
149
+ class Select extends UI5Element implements IFormElement {
150
+ static i18nBundle: I18nBundle;
151
+
152
+ /**
153
+ * Defines whether the component is in disabled state.
154
+ * <br><br>
155
+ * <b>Note:</b> A disabled component is noninteractive.
156
+ *
157
+ * @type {boolean}
158
+ * @defaultvalue false
159
+ * @name sap.ui.webc.main.Select.disabled
160
+ * @public
161
+ */
162
+ @property({ type: Boolean })
163
+ disabled!: boolean;
164
+
165
+ /**
166
+ * Determines the name with which the component will be submitted in an HTML form.
167
+ * The value of the component will be the value of the currently selected <code>ui5-option</code>.
168
+ *
169
+ * <br><br>
170
+ * <b>Important:</b> For the <code>name</code> property to have effect, you must add the following import to your project:
171
+ * <code>import "@ui5/webcomponents/dist/features/InputElementsFormSupport.js";</code>
172
+ *
173
+ * <br><br>
174
+ * <b>Note:</b> When set, a native <code>input</code> HTML element
175
+ * will be created inside the <code>ui5-select</code> so that it can be submitted as
176
+ * part of an HTML form. Do not use this property unless you need to submit a form.
177
+ *
178
+ * @type {string}
179
+ * @defaultvalue ""
180
+ * @name sap.ui.webc.main.Select.name
181
+ * @public
182
+ */
183
+ @property()
184
+ name!: string;
185
+
186
+ /**
187
+ * Defines the value state of the component.
188
+ * <br><br>
189
+ * Available options are:
190
+ * <ul>
191
+ * <li><code>None</code></li>
192
+ * <li><code>Error</code></li>
193
+ * <li><code>Warning</code></li>
194
+ * <li><code>Success</code></li>
195
+ * <li><code>Information</code></li>
196
+ * </ul>
197
+ *
198
+ * @type {sap.ui.webc.base.types.ValueState}
199
+ * @defaultvalue "None"
200
+ * @name sap.ui.webc.main.Select.valueState
201
+ * @public
202
+ */
203
+ @property({ type: ValueState, defaultValue: ValueState.None })
204
+ valueState!: ValueState;
205
+
206
+ /**
207
+ * Defines whether the component is required.
208
+ *
209
+ * @since 1.0.0-rc.9
210
+ * @type {boolean}
211
+ * @defaultvalue false
212
+ * @name sap.ui.webc.main.Select.required
213
+ * @public
214
+ */
215
+ @property({ type: Boolean })
216
+ required!: boolean;
217
+
218
+ /**
219
+ * Defines the accessible ARIA name of the component.
220
+ *
221
+ * @type {string}
222
+ * @since 1.0.0-rc.9
223
+ * @public
224
+ * @defaultvalue ""
225
+ * @name sap.ui.webc.main.Select.accessibleName
226
+ * @since 1.0.0-rc.15
227
+ */
228
+ @property()
229
+ accessibleName!: string;
230
+
231
+ /**
232
+ * Receives id(or many ids) of the elements that label the select.
233
+ *
234
+ * @type {string}
235
+ * @defaultvalue ""
236
+ * @name sap.ui.webc.main.Select.accessibleNameRef
237
+ * @public
238
+ * @since 1.0.0-rc.15
239
+ */
240
+ @property()
241
+ accessibleNameRef!: string;
242
+
243
+ /**
244
+ * @private
245
+ */
246
+ @property({ type: String, noAttribute: true })
247
+ _text?: string | null;
248
+
249
+ /**
250
+ * @private
251
+ */
252
+ @property({ type: Boolean, noAttribute: true })
253
+ _iconPressed!: boolean;
254
+
255
+ /**
256
+ * @private
257
+ */
258
+ @property({ type: Boolean })
259
+ opened!: boolean;
260
+
261
+ /**
262
+ * @type {sap.ui.webc.base.types.Integer}
263
+ * @private
264
+ */
265
+ @property({ validator: Integer, defaultValue: 0, noAttribute: true })
266
+ _listWidth!: number;
267
+
268
+ /**
269
+ * @private
270
+ */
271
+ @property({ type: Boolean })
272
+ focused!: boolean;
273
+
274
+ _syncedOptions: Array<IOption>;
275
+ _selectedIndex: number;
276
+ _selectedIndexBeforeOpen: number;
277
+ _escapePressed: boolean;
278
+ _lastSelectedOption: Option | null;
279
+ _typedChars: string;
280
+ _typingTimeoutID?: Timeout | number;
281
+ responsivePopover!: ResponsivePopover;
282
+ selectedItem?: string | null;
283
+ popover?: Popover;
284
+ value!: string;
285
+
286
+ /**
287
+ * Defines the component options.
288
+ *
289
+ * <br><br>
290
+ * <b>Note:</b> Only one selected option is allowed.
291
+ * If more than one option is defined as selected, the last one would be considered as the selected one.
292
+ *
293
+ * <br><br>
294
+ * <b>Note:</b> Use the <code>ui5-option</code> component to define the desired options.
295
+ * @type {sap.ui.webc.main.ISelectOption[]}
296
+ * @slot options
297
+ * @name sap.ui.webc.main.Select.prototype.default
298
+ * @public
299
+ */
300
+ @slot({ "default": true, type: HTMLElement, invalidateOnChildChange: true })
301
+ options!: Array<Option>;
302
+
303
+ /**
304
+ * The slot is used to render native <code>input</code> HTML element within Light DOM to enable form submit,
305
+ * when <code>name</code> property is set.
306
+ * @type {HTMLElement[]}
307
+ * @slot
308
+ * @private
309
+ */
310
+ @slot()
311
+ formSupport!: Array<HTMLElement>;
312
+
313
+ /**
314
+ * Defines the value state message that will be displayed as pop up under the component.
315
+ * <br><br>
316
+ *
317
+ * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.
318
+ * <br><br>
319
+ * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,
320
+ * when the component is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.
321
+ * <br><br>
322
+ * <b>Note:</b> If the component has <code>suggestionItems</code>,
323
+ * the <code>valueStateMessage</code> would be displayed as part of the same popover, if used on desktop, or dialog - on phone.
324
+ * @type {HTMLElement[]}
325
+ * @name sap.ui.webc.main.Select.prototype.valueStateMessage
326
+ * @slot
327
+ * @public
328
+ */
329
+ @slot()
330
+ valueStateMessage!: Array<HTMLElement>;
293
331
 
294
332
  static get render() {
295
333
  return litRender;
@@ -320,7 +358,6 @@ class Select extends UI5Element {
320
358
  this._escapePressed = false;
321
359
  this._lastSelectedOption = null;
322
360
  this._typedChars = "";
323
- this._typingTimeoutID = -1;
324
361
  }
325
362
 
326
363
  onBeforeRendering() {
@@ -354,7 +391,7 @@ class Select extends UI5Element {
354
391
 
355
392
  async _respPopover() {
356
393
  const staticAreaItem = await this.getStaticAreaItemDomRef();
357
- return staticAreaItem.querySelector("[ui5-responsive-popover]");
394
+ return staticAreaItem!.querySelector<ResponsivePopover>("[ui5-responsive-popover]")!;
358
395
  }
359
396
 
360
397
  /**
@@ -385,7 +422,7 @@ class Select extends UI5Element {
385
422
  this.responsivePopover = await this._respPopover();
386
423
 
387
424
  this.options.forEach(option => {
388
- option._getRealDomRef = () => this.responsivePopover.querySelector(`*[data-ui5-stable=${option.stableDomRef}]`);
425
+ option._getRealDomRef = () => this.responsivePopover.querySelector<HTMLElement>(`*[data-ui5-stable=${option.stableDomRef}]`)!;
389
426
  });
390
427
  }
391
428
 
@@ -418,7 +455,7 @@ class Select extends UI5Element {
418
455
  };
419
456
  });
420
457
 
421
- if (lastSelectedOptionIndex > -1 && !syncOpts[lastSelectedOptionIndex].disabled) {
458
+ if (lastSelectedOptionIndex > -1) {
422
459
  syncOpts[lastSelectedOptionIndex].selected = true;
423
460
  syncOpts[lastSelectedOptionIndex]._focused = true;
424
461
  options[lastSelectedOptionIndex].selected = true;
@@ -438,52 +475,53 @@ class Select extends UI5Element {
438
475
  }
439
476
  }
440
477
 
441
- this._syncedOptions = syncOpts;
478
+ this._syncedOptions = syncOpts as Array<IOption>;
442
479
  }
443
480
 
444
481
  _enableFormSupport() {
445
- const FormSupport = getFeature("FormSupport");
446
- if (FormSupport) {
447
- FormSupport.syncNativeHiddenInput(this, (element, nativeInput) => {
448
- nativeInput.disabled = element.disabled;
449
- nativeInput.value = element._currentlySelectedOption ? element._currentlySelectedOption.value : "";
482
+ const formSupport = getFeature<typeof FormSupport>("FormSupport");
483
+ if (formSupport) {
484
+ formSupport.syncNativeHiddenInput(this, (element: IFormElement, nativeInput: HTMLInputElement) => {
485
+ const selectElement = (element as Select);
486
+ nativeInput.disabled = !!element.disabled;
487
+ nativeInput.value = selectElement._currentlySelectedOption ? selectElement._currentlySelectedOption.value : "";
450
488
  });
451
489
  } else if (this.name) {
452
490
  console.warn(`In order for the "name" property to have effect, you should also: import "@ui5/webcomponents/dist/features/InputElementsFormSupport.js";`); // eslint-disable-line
453
491
  }
454
492
  }
455
493
 
456
- _onkeydown(event) {
457
- const isTab = (isTabNext(event) || isTabPrevious(event));
494
+ _onkeydown(e: KeyboardEvent) {
495
+ const isTab = (isTabNext(e) || isTabPrevious(e));
458
496
 
459
497
  if (isTab && this.responsivePopover && this.responsivePopover.opened) {
460
498
  this.responsivePopover.close();
461
499
  }
462
500
 
463
- if (isShow(event)) {
464
- event.preventDefault();
501
+ if (isShow(e)) {
502
+ e.preventDefault();
465
503
  this._toggleRespPopover();
466
- } else if (isSpace(event)) {
467
- event.preventDefault();
468
- } else if (isEscape(event) && this._isPickerOpen) {
504
+ } else if (isSpace(e)) {
505
+ e.preventDefault();
506
+ } else if (isEscape(e) && this._isPickerOpen) {
469
507
  this._escapePressed = true;
470
- } else if (isHome(event)) {
471
- this._handleHomeKey(event);
472
- } else if (isEnd(event)) {
473
- this._handleEndKey(event);
474
- } else if (isEnter(event)) {
508
+ } else if (isHome(e)) {
509
+ this._handleHomeKey(e);
510
+ } else if (isEnd(e)) {
511
+ this._handleEndKey(e);
512
+ } else if (isEnter(e)) {
475
513
  this._handleSelectionChange();
476
- } else if (isUp(event) || isDown(event)) {
477
- this._handleArrowNavigation(event);
514
+ } else if (isUp(e) || isDown(e)) {
515
+ this._handleArrowNavigation(e);
478
516
  }
479
517
  }
480
518
 
481
- _handleKeyboardNavigation(event) {
482
- if (isEnter(event)) {
519
+ _handleKeyboardNavigation(e: KeyboardEvent) {
520
+ if (isEnter(e)) {
483
521
  return;
484
522
  }
485
523
 
486
- const typedCharacter = event.key.toLowerCase();
524
+ const typedCharacter = e.key.toLowerCase();
487
525
 
488
526
  this._typedChars += typedCharacter;
489
527
 
@@ -503,7 +541,7 @@ class Select extends UI5Element {
503
541
  this._selectTypedItem(text);
504
542
  }
505
543
 
506
- _selectTypedItem(text) {
544
+ _selectTypedItem(text: string) {
507
545
  const currentIndex = this._selectedIndex;
508
546
  const itemToSelect = this._searchNextItemByText(text);
509
547
 
@@ -518,30 +556,30 @@ class Select extends UI5Element {
518
556
  }
519
557
  }
520
558
 
521
- _searchNextItemByText(text) {
559
+ _searchNextItemByText(text: string) {
522
560
  let orderedOptions = this._filteredItems.slice(0);
523
561
  const optionsAfterSelected = orderedOptions.splice(this._selectedIndex + 1, orderedOptions.length - this._selectedIndex);
524
562
  const optionsBeforeSelected = orderedOptions.splice(0, orderedOptions.length - 1);
525
563
 
526
564
  orderedOptions = optionsAfterSelected.concat(optionsBeforeSelected);
527
565
 
528
- return orderedOptions.find(option => option.textContent.toLowerCase().startsWith(text));
566
+ return orderedOptions.find(option => (option.textContent || "").toLowerCase().startsWith(text));
529
567
  }
530
568
 
531
- _handleHomeKey(event) {
532
- event.preventDefault();
569
+ _handleHomeKey(e: KeyboardEvent) {
570
+ e.preventDefault();
533
571
  this._changeSelectedItem(this._selectedIndex, 0);
534
572
  }
535
573
 
536
- _handleEndKey(event) {
574
+ _handleEndKey(e: KeyboardEvent) {
537
575
  const lastIndex = this._filteredItems.length - 1;
538
576
 
539
- event.preventDefault();
577
+ e.preventDefault();
540
578
  this._changeSelectedItem(this._selectedIndex, lastIndex);
541
579
  }
542
580
 
543
- _onkeyup(event) {
544
- if (isSpace(event)) {
581
+ _onkeyup(e: KeyboardEvent) {
582
+ if (isSpace(e)) {
545
583
  if (this._isPickerOpen) {
546
584
  this._handleSelectionChange();
547
585
  } else {
@@ -550,11 +588,11 @@ class Select extends UI5Element {
550
588
  }
551
589
  }
552
590
 
553
- _getSelectedItemIndex(item) {
591
+ _getSelectedItemIndex(item: ListItemBase) {
554
592
  return this._filteredItems.findIndex(option => `${option._id}-li` === item.id);
555
593
  }
556
594
 
557
- _select(index) {
595
+ _select(index: number) {
558
596
  this._filteredItems[this._selectedIndex].selected = false;
559
597
  this._selectedIndex = index;
560
598
  this._filteredItems[index].selected = true;
@@ -564,20 +602,20 @@ class Select extends UI5Element {
564
602
  * The user clicked on an item from the list
565
603
  * @private
566
604
  */
567
- _handleItemPress(event) {
568
- const item = event.detail.selectedItems[0];
605
+ _handleItemPress(e: CustomEvent<SelectionChangeEventDetail>) {
606
+ const item = e.detail.selectedItems[0];
569
607
  const selectedItemIndex = this._getSelectedItemIndex(item);
570
608
 
571
609
  this._handleSelectionChange(selectedItemIndex);
572
610
  }
573
611
 
574
- _itemMousedown(event) {
612
+ _itemMousedown(e: MouseEvent) {
575
613
  // prevent actual focus of items
576
- event.preventDefault();
614
+ e.preventDefault();
577
615
  }
578
616
 
579
- _onclick(event) {
580
- this.getFocusDomRef().focus();
617
+ _onclick() {
618
+ this.getFocusDomRef()!.focus();
581
619
  this._toggleRespPopover();
582
620
  }
583
621
 
@@ -591,12 +629,12 @@ class Select extends UI5Element {
591
629
  this._toggleRespPopover();
592
630
  }
593
631
 
594
- _handleArrowNavigation(event) {
632
+ _handleArrowNavigation(e: KeyboardEvent) {
595
633
  let nextIndex = -1;
596
634
  const currentIndex = this._selectedIndex;
597
- const isDownKey = isDown(event);
635
+ const isDownKey = isDown(e);
598
636
 
599
- event.preventDefault();
637
+ e.preventDefault();
600
638
  if (isDownKey) {
601
639
  nextIndex = this._getNextOptionIndex();
602
640
  } else {
@@ -613,7 +651,7 @@ class Select extends UI5Element {
613
651
  }
614
652
  }
615
653
 
616
- _changeSelectedItem(oldIndex, newIndex) {
654
+ _changeSelectedItem(oldIndex: number, newIndex: number) {
617
655
  const options = this._filteredItems;
618
656
 
619
657
  options[oldIndex].selected = false;
@@ -645,6 +683,7 @@ class Select extends UI5Element {
645
683
 
646
684
  _afterOpen() {
647
685
  this.opened = true;
686
+ this.fireEvent<CustomEvent>("open");
648
687
  }
649
688
 
650
689
  _afterClose() {
@@ -659,10 +698,11 @@ class Select extends UI5Element {
659
698
  this._fireChangeEvent(this._filteredItems[this._selectedIndex]);
660
699
  this._lastSelectedOption = this._filteredItems[this._selectedIndex];
661
700
  }
701
+ this.fireEvent<CustomEvent>("close");
662
702
  }
663
703
 
664
- _fireChangeEvent(selectedOption) {
665
- this.fireEvent("change", { selectedOption });
704
+ _fireChangeEvent(selectedOption: Option) {
705
+ this.fireEvent<SelectChangeEventDetail>("change", { selectedOption });
666
706
 
667
707
  // Angular two way data binding
668
708
  this.selectedItem = selectedOption.textContent;
@@ -700,11 +740,11 @@ class Select extends UI5Element {
700
740
  }
701
741
 
702
742
  get valueStateDefaultText() {
703
- return this.valueStateTextMappings[this.valueState];
743
+ return this.valueState !== ValueState.None ? this.valueStateTextMappings[this.valueState] : "";
704
744
  }
705
745
 
706
746
  get valueStateTypeText() {
707
- return this.valueStateTypeMappings[this.valueState];
747
+ return this.valueState !== ValueState.None ? this.valueStateTypeMappings[this.valueState] : "";
708
748
  }
709
749
 
710
750
  get hasValueState() {
@@ -723,15 +763,11 @@ class Select extends UI5Element {
723
763
  return Select.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
724
764
  }
725
765
 
726
- get _currentSelectedItem() {
727
- return this.shadowRoot.querySelector(`#${this._filteredItems[this._selectedIndex]._id}-li`);
728
- }
729
-
730
766
  get _currentlySelectedOption() {
731
767
  return this._filteredItems[this._selectedIndex];
732
768
  }
733
769
 
734
- get tabIndex() {
770
+ get _effectiveTabIndex() {
735
771
  return this.disabled
736
772
  || (this.responsivePopover // Handles focus on Tab/Shift + Tab when the popover is opened
737
773
  && this.responsivePopover.opened) ? "-1" : "0";
@@ -790,7 +826,7 @@ class Select extends UI5Element {
790
826
  }
791
827
 
792
828
  get shouldDisplayDefaultValueStateMessage() {
793
- return !this.valueStateMessage.length && this.hasValueStateText;
829
+ return !this.valueStateMessageText.length && this.hasValueStateText;
794
830
  }
795
831
 
796
832
  get hasValueStateText() {
@@ -820,14 +856,14 @@ class Select extends UI5Element {
820
856
  const itemPositionText = Select.i18nBundle.getText(LIST_ITEM_POSITION, this._selectedIndex + 1, optionsCount);
821
857
 
822
858
  if (this.focused && this._currentlySelectedOption) {
823
- text = `${this._currentlySelectedOption.textContent} ${this._isPickerOpen ? itemPositionText : ""}`;
859
+ text = `${this._currentlySelectedOption.textContent as string} ${this._isPickerOpen ? itemPositionText : ""}`;
824
860
 
825
- announce(text, "Polite");
861
+ announce(text, InvisibleMessageMode.Polite);
826
862
  }
827
863
  }
828
864
 
829
865
  async openValueStatePopover() {
830
- this.popover = await this._getPopover();
866
+ this.popover = await this._getPopover() as Popover;
831
867
  if (this.popover) {
832
868
  this.popover.showAt(this);
833
869
  }
@@ -837,7 +873,7 @@ class Select extends UI5Element {
837
873
  this.popover && this.popover.close();
838
874
  }
839
875
 
840
- toggleValueStatePopover(open) {
876
+ toggleValueStatePopover(open: boolean) {
841
877
  if (open) {
842
878
  this.openValueStatePopover();
843
879
  } else {
@@ -851,7 +887,7 @@ class Select extends UI5Element {
851
887
 
852
888
  async _getPopover() {
853
889
  const staticAreaItem = await this.getStaticAreaItemDomRef();
854
- return staticAreaItem.querySelector("[ui5-popover]");
890
+ return staticAreaItem!.querySelector<Popover>("[ui5-popover]");
855
891
  }
856
892
 
857
893
  static get dependencies() {
@@ -875,3 +911,7 @@ class Select extends UI5Element {
875
911
  Select.define();
876
912
 
877
913
  export default Select;
914
+ export type {
915
+ SelectChangeEventDetail,
916
+ IOption,
917
+ };