@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
@@ -0,0 +1,530 @@
1
+ import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
2
+ import { getFeature } from "@ui5/webcomponents-base/dist/FeaturesRegistry.js";
3
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
4
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
5
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
6
+ import languageAware from "@ui5/webcomponents-base/dist/decorators/languageAware.js";
7
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
8
+ import event from "@ui5/webcomponents-base/dist/decorators/event.js";
9
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
10
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
11
+ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
12
+ import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
13
+ import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
14
+ import {
15
+ isSpace,
16
+ isEnter,
17
+ isDown,
18
+ isLeft,
19
+ isUp,
20
+ isRight,
21
+ } from "@ui5/webcomponents-base/dist/Keys.js";
22
+ import Label from "./Label.js";
23
+ import RadioButtonGroup from "./RadioButtonGroup.js";
24
+ import WrappingType from "./types/WrappingType.js";
25
+ import type { IFormElement } from "./features/InputElementsFormSupport.js";
26
+ import type FormSupport from "./features/InputElementsFormSupport.js";
27
+
28
+ // Template
29
+ import RadioButtonTemplate from "./generated/templates/RadioButtonTemplate.lit.js";
30
+
31
+ // i18n
32
+ import {
33
+ VALUE_STATE_ERROR,
34
+ VALUE_STATE_WARNING,
35
+ VALUE_STATE_SUCCESS,
36
+ VALUE_STATE_INFORMATION,
37
+ } from "./generated/i18n/i18n-defaults.js";
38
+
39
+ // Styles
40
+ import radioButtonCss from "./generated/themes/RadioButton.css.js";
41
+
42
+ let isGlobalHandlerAttached = false;
43
+ let activeRadio: RadioButton;
44
+
45
+ /**
46
+ * @class
47
+ *
48
+ * <h3 class="comment-api-title">Overview</h3>
49
+ *
50
+ * The <code>ui5-radio-button</code> component enables users to select a single option from a set of options.
51
+ * When a <code>ui5-radio-button</code> is selected by the user, the
52
+ * <code>change</code> event is fired.
53
+ * When a <code>ui5-radio-button</code> that is within a group is selected, the one
54
+ * that was previously selected gets automatically deselected. You can group radio buttons by using the <code>name</code> property.
55
+ * <br>
56
+ * <b>Note:</b> If <code>ui5-radio-button</code> is not part of a group, it can be selected once, but can not be deselected back.
57
+ *
58
+ * <h3>Keyboard Handling</h3>
59
+ *
60
+ * Once the <code>ui5-radio-button</code> is on focus, it might be selected by pressing the Space and Enter keys.
61
+ * <br>
62
+ * The Arrow Down/Arrow Up and Arrow Left/Arrow Right keys can be used to change selection between next/previous radio buttons in one group,
63
+ * while TAB and SHIFT + TAB can be used to enter or leave the radio button group.
64
+ * <br>
65
+ * <b>Note:</b> On entering radio button group, the focus goes to the currently selected radio button.
66
+ *
67
+ * <h3>ES6 Module Import</h3>
68
+ *
69
+ * <code>import "@ui5/webcomponents/dist/RadioButton";</code>
70
+ *
71
+ * @constructor
72
+ * @author SAP SE
73
+ * @alias sap.ui.webc.main.RadioButton
74
+ * @extends sap.ui.webc.base.UI5Element
75
+ * @tagname ui5-radio-button
76
+ * @public
77
+ */
78
+ @customElement("ui5-radio-button")
79
+ @languageAware
80
+
81
+ /**
82
+ * Fired when the component checked state changes.
83
+ *
84
+ * @event sap.ui.webc.main.RadioButton#change
85
+ * @public
86
+ * @since 1.0.0-rc.15
87
+ */
88
+ @event("change")
89
+
90
+ class RadioButton extends UI5Element implements IFormElement {
91
+ /**
92
+ * Defines whether the component is disabled.
93
+ * <br><br>
94
+ * <b>Note:</b> A disabled component is completely noninteractive.
95
+ *
96
+ * @type {boolean}
97
+ * @defaultvalue false
98
+ * @name sap.ui.webc.main.RadioButton.prototype.disabled
99
+ * @public
100
+ */
101
+ @property({ type: Boolean })
102
+ disabled!: boolean;
103
+
104
+ /**
105
+ * Defines whether the component is read-only.
106
+ * <br><br>
107
+ * <b>Note:</b> A read-only component is not editable,
108
+ * but still provides visual feedback upon user interaction.
109
+ *
110
+ * @type {boolean}
111
+ * @defaultvalue false
112
+ * @name sap.ui.webc.main.RadioButton.prototype.readonly
113
+ * @public
114
+ */
115
+ @property({ type: Boolean })
116
+ readonly!: boolean;
117
+
118
+ /**
119
+ * Defines whether the component is required.
120
+ *
121
+ * @type {boolean}
122
+ * @defaultvalue false
123
+ * @name sap.ui.webc.main.RadioButton.prototype.required
124
+ * @public
125
+ * @since 1.9.0
126
+ */
127
+ @property({ type: Boolean })
128
+ required!: boolean;
129
+
130
+ /**
131
+ * Defines whether the component is checked or not.
132
+ * <br><br>
133
+ * <b>Note:</b> The property value can be changed with user interaction,
134
+ * either by clicking/tapping on the component,
135
+ * or by using the Space or Enter key.
136
+ *
137
+ * @type {boolean}
138
+ * @defaultvalue false
139
+ * @formEvents change
140
+ * @formProperty
141
+ * @name sap.ui.webc.main.RadioButton.prototype.checked
142
+ * @public
143
+ * @since 1.0.0-rc.15
144
+ */
145
+ @property({ type: Boolean })
146
+ checked!: boolean;
147
+
148
+ /**
149
+ * Defines the text of the component.
150
+ *
151
+ * @type {string}
152
+ * @defaultvalue ""
153
+ * @name sap.ui.webc.main.RadioButton.prototype.text
154
+ * @public
155
+ */
156
+ @property()
157
+ text!: string;
158
+
159
+ /**
160
+ * Defines the value state of the component.
161
+ * <br><br>
162
+ * Available options are:
163
+ * <ul>
164
+ * <li><code>None</code></li>
165
+ * <li><code>Error</code></li>
166
+ * <li><code>Warning</code></li>
167
+ * <li><code>Success</code></li>
168
+ * <li><code>Information</code></li>
169
+ * </ul>
170
+ *
171
+ * @type {sap.ui.webc.base.types.ValueState}
172
+ * @defaultvalue "None"
173
+ * @name sap.ui.webc.main.RadioButton.prototype.valueState
174
+ * @public
175
+ */
176
+ @property({ type: ValueState, defaultValue: ValueState.None })
177
+ valueState!: ValueState;
178
+
179
+ /**
180
+ * Defines the name of the component.
181
+ * Radio buttons with the same <code>name</code> will form a radio button group.
182
+ *
183
+ * <br><br>
184
+ * <b>Note:</b>
185
+ * The selection can be changed with <code>ARROW_UP/DOWN</code> and <code>ARROW_LEFT/RIGHT</code> keys between radio buttons in same group.
186
+ *
187
+ * <br><br>
188
+ * <b>Note:</b>
189
+ * Only one radio button can be selected per group.
190
+ *
191
+ * <br><br>
192
+ * <b>Important:</b> For the <code>name</code> property to have effect when submitting forms, you must add the following import to your project:
193
+ * <code>import "@ui5/webcomponents/dist/features/InputElementsFormSupport.js";</code>
194
+ *
195
+ * <br><br>
196
+ * <b>Note:</b> When set, a native <code>input</code> HTML element
197
+ * will be created inside the component so that it can be submitted as
198
+ * part of an HTML form.
199
+ *
200
+ * @type {string}
201
+ * @defaultvalue ""
202
+ * @name sap.ui.webc.main.RadioButton.prototype.name
203
+ * @public
204
+ */
205
+ @property()
206
+ name!: string;
207
+
208
+ /**
209
+ * Defines the form value of the component.
210
+ * When a form with a radio button group is submitted, the group's value
211
+ * will be the value of the currently selected radio button.
212
+ * <br>
213
+ * <b>Important:</b> For the <code>value</code> property to have effect, you must add the following import to your project:
214
+ * <code>import "@ui5/webcomponents/dist/features/InputElementsFormSupport.js";</code>
215
+ *
216
+ * @type {string}
217
+ * @defaultvalue ""
218
+ * @name sap.ui.webc.main.RadioButton.prototype.value
219
+ * @public
220
+ */
221
+ @property()
222
+ value!: string;
223
+
224
+ /**
225
+ * Defines whether the component text wraps when there is not enough space.
226
+ * <br><br>
227
+ * Available options are:
228
+ * <ul>
229
+ * <li><code>None</code> - The text will be truncated with an ellipsis.</li>
230
+ * <li><code>Normal</code> - The text will wrap. The words will not be broken based on hyphenation.</li>
231
+ * </ul>
232
+ *
233
+ * @type {sap.ui.webc.main.types.WrappingType}
234
+ * @defaultvalue "None"
235
+ * @name sap.ui.webc.main.RadioButton.prototype.wrappingType
236
+ * @public
237
+ */
238
+ @property({ type: WrappingType, defaultValue: WrappingType.None })
239
+ wrappingType!: WrappingType;
240
+
241
+ /**
242
+ * Defines the accessible ARIA name of the component.
243
+ *
244
+ * @type {string}
245
+ * @defaultvalue ""
246
+ * @name sap.ui.webc.main.RadioButton.prototype.accessibleName
247
+ * @public
248
+ * @since 1.6.0
249
+ */
250
+ @property()
251
+ accessibleName!: string;
252
+
253
+ /**
254
+ * Defines the IDs of the elements that label the component.
255
+ *
256
+ * @type {string}
257
+ * @defaultvalue ""
258
+ * @name sap.ui.webc.main.RadioButton.prototype.accessibleNameRef
259
+ * @public
260
+ * @since 1.1.0
261
+ */
262
+ @property()
263
+ accessibleNameRef!: string;
264
+
265
+ @property({ defaultValue: "-1", noAttribute: true })
266
+ _tabIndex!: string;
267
+
268
+ /**
269
+ * Defines the active state (pressed or not) of the component.
270
+ * @defaultvalue false
271
+ * @private
272
+ */
273
+ @property({ type: Boolean })
274
+ active!: boolean;
275
+
276
+ /**
277
+ * The slot is used to render native <code>input</code> HTML element within Light DOM to enable form submit,
278
+ * when <code>name</code> property is set.
279
+ * @type {HTMLElement[]}
280
+ * @slot
281
+ * @private
282
+ */
283
+ @slot()
284
+ formSupport!: Array<HTMLElement>;
285
+
286
+ _deactivate: () => void;
287
+ _name!: string;
288
+ _checked!: boolean;
289
+
290
+ static i18nBundle: I18nBundle;
291
+
292
+ constructor() {
293
+ super();
294
+
295
+ this._deactivate = () => {
296
+ if (activeRadio) {
297
+ activeRadio.active = false;
298
+ }
299
+ };
300
+
301
+ if (!isGlobalHandlerAttached) {
302
+ document.addEventListener("mouseup", this._deactivate);
303
+ isGlobalHandlerAttached = true;
304
+ }
305
+ }
306
+
307
+ static get render() {
308
+ return litRender;
309
+ }
310
+
311
+ static get template() {
312
+ return RadioButtonTemplate;
313
+ }
314
+
315
+ static get styles() {
316
+ return radioButtonCss;
317
+ }
318
+
319
+ static get dependencies() {
320
+ return [Label];
321
+ }
322
+
323
+ static async onDefine() {
324
+ RadioButton.i18nBundle = await getI18nBundle("@ui5/webcomponents");
325
+ }
326
+
327
+ onBeforeRendering() {
328
+ this.syncGroup();
329
+
330
+ this._enableFormSupport();
331
+ }
332
+
333
+ onExitDOM() {
334
+ this.syncGroup(true);
335
+ }
336
+
337
+ syncGroup(forceRemove?: boolean) {
338
+ const oldGroup = this._name;
339
+ const currentGroup = this.name;
340
+ const oldChecked = this._checked;
341
+ const currentChecked = this.checked;
342
+
343
+ if (forceRemove) {
344
+ RadioButtonGroup.removeFromGroup(this, oldGroup);
345
+ }
346
+
347
+ if (currentGroup !== oldGroup) {
348
+ if (oldGroup) {
349
+ // remove the control from the previous group
350
+ RadioButtonGroup.removeFromGroup(this, oldGroup);
351
+ }
352
+
353
+ if (currentGroup) {
354
+ // add the control to the existing group
355
+ RadioButtonGroup.addToGroup(this, currentGroup);
356
+ }
357
+ } else if (currentGroup) {
358
+ RadioButtonGroup.enforceSingleSelection(this, currentGroup);
359
+ }
360
+
361
+ if (this.name && currentChecked !== oldChecked) {
362
+ RadioButtonGroup.updateTabOrder(this.name);
363
+ }
364
+
365
+ this._name = this.name;
366
+ this._checked = this.checked;
367
+ }
368
+
369
+ _enableFormSupport() {
370
+ const formSupport = getFeature<typeof FormSupport>("FormSupport");
371
+ if (formSupport) {
372
+ formSupport.syncNativeHiddenInput(this, (element: IFormElement, nativeInput: HTMLInputElement) => {
373
+ nativeInput.value = element.value as string;
374
+ nativeInput.type = "radio";
375
+ nativeInput.checked = element.checked!;
376
+ });
377
+ } else if (this.value) {
378
+ console.warn(`In order for the "value" property to have effect, you should also: import "@ui5/webcomponents/dist/features/InputElementsFormSupport.js";`); // eslint-disable-line
379
+ }
380
+ }
381
+
382
+ _onclick() {
383
+ return this.toggle();
384
+ }
385
+
386
+ _handleDown(e: KeyboardEvent) {
387
+ const currentGroup = this.name;
388
+
389
+ if (!currentGroup) {
390
+ return;
391
+ }
392
+
393
+ e.preventDefault();
394
+ RadioButtonGroup.selectNextItem(this, currentGroup);
395
+ }
396
+
397
+ _handleUp(e: KeyboardEvent) {
398
+ const currentGroup = this.name;
399
+
400
+ if (!currentGroup) {
401
+ return;
402
+ }
403
+
404
+ e.preventDefault();
405
+ RadioButtonGroup.selectPreviousItem(this, currentGroup);
406
+ }
407
+
408
+ _onkeydown(e: KeyboardEvent) {
409
+ if (isSpace(e)) {
410
+ this.active = true;
411
+ return e.preventDefault();
412
+ }
413
+
414
+ if (isEnter(e)) {
415
+ this.active = true;
416
+ return this.toggle();
417
+ }
418
+
419
+ const isRTL = this.effectiveDir === "rtl";
420
+
421
+ if (isDown(e) || (!isRTL && isRight(e)) || (isRTL && isLeft(e))) {
422
+ this._handleDown(e);
423
+ }
424
+
425
+ if (isUp(e) || (!isRTL && isLeft(e)) || (isRTL && isRight(e))) {
426
+ this._handleUp(e);
427
+ }
428
+ }
429
+
430
+ _onkeyup(e: KeyboardEvent) {
431
+ if (isSpace(e)) {
432
+ this.toggle();
433
+ }
434
+
435
+ this.active = false;
436
+ }
437
+
438
+ _onmousedown() {
439
+ this.active = true;
440
+ activeRadio = this; // eslint-disable-line
441
+ }
442
+
443
+ _onmouseup() {
444
+ this.active = false;
445
+ }
446
+
447
+ _onfocusout() {
448
+ this.active = false;
449
+ }
450
+
451
+ toggle() {
452
+ if (!this.canToggle()) {
453
+ return this;
454
+ }
455
+
456
+ if (!this.name) {
457
+ this.checked = !this.checked;
458
+ this.fireEvent("change");
459
+ return this;
460
+ }
461
+
462
+ RadioButtonGroup.selectItem(this, this.name);
463
+ return this;
464
+ }
465
+
466
+ canToggle() {
467
+ return !(this.disabled || this.readonly || this.checked);
468
+ }
469
+
470
+ get classes() {
471
+ return {
472
+ inner: {
473
+ "ui5-radio-inner--hoverable": !this.disabled && !this.readonly && isDesktop(),
474
+ },
475
+ };
476
+ }
477
+
478
+ get effectiveAriaDisabled() {
479
+ return this.disabled ? "true" : null;
480
+ }
481
+
482
+ get ariaLabelText() {
483
+ return [getEffectiveAriaLabelText(this), this.text].filter(Boolean).join(" ");
484
+ }
485
+
486
+ get effectiveAriaDescribedBy() {
487
+ return this.hasValueState ? `${this._id}-descr` : undefined;
488
+ }
489
+
490
+ get hasValueState() {
491
+ return this.valueState !== ValueState.None;
492
+ }
493
+
494
+ get valueStateText() {
495
+ switch (this.valueState) {
496
+ case ValueState.Error:
497
+ return RadioButton.i18nBundle.getText(VALUE_STATE_ERROR);
498
+ case ValueState.Warning:
499
+ return RadioButton.i18nBundle.getText(VALUE_STATE_WARNING);
500
+ case ValueState.Success:
501
+ return RadioButton.i18nBundle.getText(VALUE_STATE_SUCCESS);
502
+ case ValueState.Information:
503
+ return RadioButton.i18nBundle.getText(VALUE_STATE_INFORMATION);
504
+ default:
505
+ return "";
506
+ }
507
+ }
508
+
509
+ get effectiveTabIndex() {
510
+ const tabindex = this.getAttribute("tabindex");
511
+
512
+ if (this.disabled) {
513
+ return "-1";
514
+ }
515
+
516
+ if (this.name) {
517
+ return this._tabIndex;
518
+ }
519
+
520
+ return tabindex || "0";
521
+ }
522
+
523
+ get strokeWidth() {
524
+ return this.valueState === "None" ? "1" : "2";
525
+ }
526
+ }
527
+
528
+ RadioButton.define();
529
+
530
+ export default RadioButton;