@ui5/webcomponents 2.0.0-rc.2 → 2.0.0-rc.3

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 (1111) hide show
  1. package/CHANGELOG.md +657 -0
  2. package/README.md +3 -8
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/Avatar.d.ts +16 -7
  5. package/dist/Avatar.js +5 -4
  6. package/dist/Avatar.js.map +1 -1
  7. package/dist/AvatarGroup.d.ts +15 -10
  8. package/dist/AvatarGroup.js +3 -6
  9. package/dist/AvatarGroup.js.map +1 -1
  10. package/dist/Breadcrumbs.d.ts +2 -1
  11. package/dist/Breadcrumbs.js +4 -5
  12. package/dist/Breadcrumbs.js.map +1 -1
  13. package/dist/Button.d.ts +15 -24
  14. package/dist/Button.js +4 -4
  15. package/dist/Button.js.map +1 -1
  16. package/dist/CalendarLegend.js +1 -1
  17. package/dist/CalendarLegend.js.map +1 -1
  18. package/dist/Carousel.d.ts +11 -16
  19. package/dist/Carousel.js +29 -16
  20. package/dist/Carousel.js.map +1 -1
  21. package/dist/CheckBox.d.ts +3 -3
  22. package/dist/CheckBox.js +3 -3
  23. package/dist/CheckBox.js.map +1 -1
  24. package/dist/ComboBox.d.ts +3 -2
  25. package/dist/ComboBox.js +20 -16
  26. package/dist/ComboBox.js.map +1 -1
  27. package/dist/ComboBoxGroupItem.d.ts +1 -0
  28. package/dist/ComboBoxGroupItem.js +3 -0
  29. package/dist/ComboBoxGroupItem.js.map +1 -1
  30. package/dist/ComboBoxItem.d.ts +1 -0
  31. package/dist/ComboBoxItem.js +3 -0
  32. package/dist/ComboBoxItem.js.map +1 -1
  33. package/dist/DatePicker.d.ts +12 -21
  34. package/dist/DatePicker.js +24 -50
  35. package/dist/DatePicker.js.map +1 -1
  36. package/dist/DateRangePicker.js +1 -1
  37. package/dist/DateRangePicker.js.map +1 -1
  38. package/dist/DateTimePicker.d.ts +3 -6
  39. package/dist/DateTimePicker.js +12 -13
  40. package/dist/DateTimePicker.js.map +1 -1
  41. package/dist/Dialog.d.ts +1 -1
  42. package/dist/Dialog.js +4 -4
  43. package/dist/Dialog.js.map +1 -1
  44. package/dist/FileUploader.d.ts +2 -0
  45. package/dist/FileUploader.js +26 -10
  46. package/dist/FileUploader.js.map +1 -1
  47. package/dist/Icon.d.ts +8 -22
  48. package/dist/Icon.js +15 -29
  49. package/dist/Icon.js.map +1 -1
  50. package/dist/Input.d.ts +45 -53
  51. package/dist/Input.js +133 -188
  52. package/dist/Input.js.map +1 -1
  53. package/dist/Link.d.ts +13 -21
  54. package/dist/Link.js +1 -2
  55. package/dist/Link.js.map +1 -1
  56. package/dist/List.d.ts +22 -13
  57. package/dist/List.js +59 -8
  58. package/dist/List.js.map +1 -1
  59. package/dist/ListItem.d.ts +17 -49
  60. package/dist/ListItem.js +8 -17
  61. package/dist/ListItem.js.map +1 -1
  62. package/dist/ListItemBase.d.ts +1 -1
  63. package/dist/ListItemBase.js +1 -1
  64. package/dist/ListItemBase.js.map +1 -1
  65. package/dist/ListItemGroup.d.ts +51 -0
  66. package/dist/ListItemGroup.js +80 -0
  67. package/dist/ListItemGroup.js.map +1 -0
  68. package/dist/{GroupHeaderListItem.d.ts → ListItemGroupHeader.d.ts} +4 -5
  69. package/dist/{GroupHeaderListItem.js → ListItemGroupHeader.js} +17 -17
  70. package/dist/ListItemGroupHeader.js.map +1 -0
  71. package/dist/Menu.d.ts +4 -4
  72. package/dist/Menu.js +10 -10
  73. package/dist/Menu.js.map +1 -1
  74. package/dist/MenuItem.d.ts +4 -4
  75. package/dist/MenuItem.js +3 -3
  76. package/dist/MenuItem.js.map +1 -1
  77. package/dist/MenuListItem.js +3 -3
  78. package/dist/MenuListItem.js.map +1 -1
  79. package/dist/MessageStrip.d.ts +4 -4
  80. package/dist/MessageStrip.js +4 -4
  81. package/dist/MessageStrip.js.map +1 -1
  82. package/dist/MultiComboBox.js +39 -48
  83. package/dist/MultiComboBox.js.map +1 -1
  84. package/dist/MultiComboBoxItem.d.ts +3 -1
  85. package/dist/MultiComboBoxItem.js +6 -2
  86. package/dist/MultiComboBoxItem.js.map +1 -1
  87. package/dist/MultiInput.d.ts +7 -11
  88. package/dist/MultiInput.js +32 -60
  89. package/dist/MultiInput.js.map +1 -1
  90. package/dist/Option.d.ts +4 -4
  91. package/dist/Option.js +1 -1
  92. package/dist/Option.js.map +1 -1
  93. package/dist/Popover.js +4 -0
  94. package/dist/Popover.js.map +1 -1
  95. package/dist/ProgressIndicator.js +6 -6
  96. package/dist/ProgressIndicator.js.map +1 -1
  97. package/dist/RadioButton.js +3 -3
  98. package/dist/RadioButton.js.map +1 -1
  99. package/dist/ResponsivePopover.js +1 -1
  100. package/dist/ResponsivePopover.js.map +1 -1
  101. package/dist/SegmentedButton.d.ts +4 -14
  102. package/dist/SegmentedButton.js +12 -31
  103. package/dist/SegmentedButton.js.map +1 -1
  104. package/dist/SegmentedButtonItem.d.ts +62 -26
  105. package/dist/SegmentedButtonItem.js +71 -20
  106. package/dist/SegmentedButtonItem.js.map +1 -1
  107. package/dist/Select.d.ts +7 -7
  108. package/dist/Select.js +14 -14
  109. package/dist/Select.js.map +1 -1
  110. package/dist/SelectMenu.js +6 -6
  111. package/dist/SelectMenu.js.map +1 -1
  112. package/dist/SelectMenuOption.d.ts +3 -2
  113. package/dist/SelectMenuOption.js.map +1 -1
  114. package/dist/SplitButton.d.ts +0 -20
  115. package/dist/SplitButton.js +0 -15
  116. package/dist/SplitButton.js.map +1 -1
  117. package/dist/StandardListItem.d.ts +1 -1
  118. package/dist/StandardListItem.js.map +1 -1
  119. package/dist/StepInput.d.ts +6 -1
  120. package/dist/StepInput.js +55 -14
  121. package/dist/StepInput.js.map +1 -1
  122. package/dist/SuggestionGroupItem.js +2 -2
  123. package/dist/SuggestionGroupItem.js.map +1 -1
  124. package/dist/Tab.d.ts +5 -3
  125. package/dist/Tab.js +11 -8
  126. package/dist/Tab.js.map +1 -1
  127. package/dist/TabContainer.d.ts +5 -3
  128. package/dist/TabContainer.js +30 -25
  129. package/dist/TabContainer.js.map +1 -1
  130. package/dist/TabSeparator.d.ts +5 -1
  131. package/dist/TabSeparator.js.map +1 -1
  132. package/dist/{Badge.d.ts → Tag.d.ts} +23 -17
  133. package/dist/{Badge.js → Tag.js} +53 -49
  134. package/dist/Tag.js.map +1 -0
  135. package/dist/Text.d.ts +1 -1
  136. package/dist/Text.js +1 -1
  137. package/dist/Text.js.map +1 -1
  138. package/dist/TextArea.d.ts +6 -6
  139. package/dist/TextArea.js +13 -13
  140. package/dist/TextArea.js.map +1 -1
  141. package/dist/TimePicker.d.ts +171 -13
  142. package/dist/TimePicker.js +462 -20
  143. package/dist/TimePicker.js.map +1 -1
  144. package/dist/TimePickerInternals.d.ts +1 -1
  145. package/dist/TimePickerInternals.js +3 -3
  146. package/dist/TimePickerInternals.js.map +1 -1
  147. package/dist/TimeSelectionClocks.js +2 -4
  148. package/dist/TimeSelectionClocks.js.map +1 -1
  149. package/dist/TimeSelectionInputs.js +0 -2
  150. package/dist/TimeSelectionInputs.js.map +1 -1
  151. package/dist/Title.d.ts +1 -2
  152. package/dist/Title.js +7 -10
  153. package/dist/Title.js.map +1 -1
  154. package/dist/Toast.d.ts +11 -8
  155. package/dist/Toast.js +36 -30
  156. package/dist/Toast.js.map +1 -1
  157. package/dist/ToggleSpinButton.d.ts +4 -0
  158. package/dist/ToggleSpinButton.js +6 -0
  159. package/dist/ToggleSpinButton.js.map +1 -1
  160. package/dist/Token.d.ts +8 -8
  161. package/dist/Token.js +11 -11
  162. package/dist/Token.js.map +1 -1
  163. package/dist/Tokenizer.d.ts +128 -47
  164. package/dist/Tokenizer.js +356 -172
  165. package/dist/Tokenizer.js.map +1 -1
  166. package/dist/Toolbar.js +6 -5
  167. package/dist/Toolbar.js.map +1 -1
  168. package/dist/ToolbarButton.d.ts +14 -17
  169. package/dist/ToolbarButton.js.map +1 -1
  170. package/dist/Tree.d.ts +2 -8
  171. package/dist/Tree.js +2 -4
  172. package/dist/Tree.js.map +1 -1
  173. package/dist/TreeItemBase.d.ts +3 -3
  174. package/dist/TreeItemBase.js +2 -2
  175. package/dist/TreeItemBase.js.map +1 -1
  176. package/dist/bundle.common.bootstrap.js +3 -0
  177. package/dist/bundle.esm.d.ts +1 -0
  178. package/dist/bundle.esm.js +284 -0
  179. package/dist/bundle.esm.js.map +1 -1
  180. package/dist/bundle.scoped.esm.js +8 -0
  181. package/dist/css/themes/Avatar.css +1 -1
  182. package/dist/css/themes/AvatarGroup.css +1 -1
  183. package/dist/css/themes/Bar.css +1 -1
  184. package/dist/css/themes/Breadcrumbs.css +1 -1
  185. package/dist/css/themes/BusyIndicator.css +1 -1
  186. package/dist/css/themes/Button.css +1 -1
  187. package/dist/css/themes/Calendar.css +1 -1
  188. package/dist/css/themes/CalendarHeader.css +1 -1
  189. package/dist/css/themes/CalendarLegend.css +1 -1
  190. package/dist/css/themes/CalendarLegendItem.css +1 -1
  191. package/dist/css/themes/Card.css +1 -1
  192. package/dist/css/themes/CardHeader.css +1 -1
  193. package/dist/css/themes/Carousel.css +1 -1
  194. package/dist/css/themes/CheckBox.css +1 -1
  195. package/dist/css/themes/ColorPalette.css +1 -1
  196. package/dist/css/themes/ColorPaletteItem.css +1 -1
  197. package/dist/css/themes/ColorPalettePopover.css +1 -1
  198. package/dist/css/themes/ColorPicker.css +1 -1
  199. package/dist/css/themes/ComboBox.css +1 -1
  200. package/dist/css/themes/CustomListItem.css +1 -1
  201. package/dist/css/themes/DatePicker.css +1 -1
  202. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  203. package/dist/css/themes/DayPicker.css +1 -1
  204. package/dist/css/themes/Dialog.css +1 -1
  205. package/dist/css/themes/FileUploader.css +1 -1
  206. package/dist/css/themes/GrowingButton.css +1 -1
  207. package/dist/css/themes/Icon.css +1 -1
  208. package/dist/css/themes/Input.css +1 -1
  209. package/dist/css/themes/InputIcon.css +1 -1
  210. package/dist/css/themes/InputSharedStyles.css +1 -1
  211. package/dist/css/themes/Link.css +1 -1
  212. package/dist/css/themes/List.css +1 -1
  213. package/dist/css/themes/ListItem.css +1 -1
  214. package/dist/css/themes/ListItemBase.css +1 -1
  215. package/dist/css/themes/ListItemGroup.css +1 -0
  216. package/dist/css/themes/{GroupHeaderListItem.css → ListItemGroupHeader.css} +1 -1
  217. package/dist/css/themes/Menu.css +1 -1
  218. package/dist/css/themes/MenuListItem.css +1 -1
  219. package/dist/css/themes/MessageStrip.css +1 -1
  220. package/dist/css/themes/MonthPicker.css +1 -1
  221. package/dist/css/themes/MultiComboBox.css +1 -1
  222. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  223. package/dist/css/themes/MultiInput.css +1 -1
  224. package/dist/css/themes/NavigationMenu.css +1 -1
  225. package/dist/css/themes/Panel.css +1 -1
  226. package/dist/css/themes/Popover.css +1 -1
  227. package/dist/css/themes/PopupsCommon.css +1 -1
  228. package/dist/css/themes/ProgressIndicator.css +1 -1
  229. package/dist/css/themes/RadioButton.css +1 -1
  230. package/dist/css/themes/RangeSlider.css +1 -1
  231. package/dist/css/themes/RatingIndicator.css +1 -1
  232. package/dist/css/themes/ResponsivePopover.css +1 -1
  233. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  234. package/dist/css/themes/SegmentedButton.css +1 -1
  235. package/dist/css/themes/SegmentedButtonItem.css +1 -0
  236. package/dist/css/themes/Select.css +1 -1
  237. package/dist/css/themes/SelectMenu.css +1 -1
  238. package/dist/css/themes/SelectPopover.css +1 -1
  239. package/dist/css/themes/SliderBase.css +1 -1
  240. package/dist/css/themes/SplitButton.css +1 -1
  241. package/dist/css/themes/StepInput.css +1 -1
  242. package/dist/css/themes/Switch.css +1 -1
  243. package/dist/css/themes/TabContainer.css +1 -1
  244. package/dist/css/themes/TabInOverflow.css +1 -1
  245. package/dist/css/themes/TabInStrip.css +1 -1
  246. package/dist/css/themes/TabSemanticIcon.css +1 -1
  247. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  248. package/dist/css/themes/Tag.css +1 -0
  249. package/dist/css/themes/Text.css +1 -1
  250. package/dist/css/themes/TextArea.css +1 -1
  251. package/dist/css/themes/TimePicker.css +1 -1
  252. package/dist/css/themes/Title.css +1 -1
  253. package/dist/css/themes/Toast.css +1 -1
  254. package/dist/css/themes/ToggleButton.css +1 -1
  255. package/dist/css/themes/Token.css +1 -1
  256. package/dist/css/themes/Tokenizer.css +1 -1
  257. package/dist/css/themes/TokenizerPopover.css +1 -1
  258. package/dist/css/themes/Toolbar.css +1 -1
  259. package/dist/css/themes/ToolbarPopover.css +1 -1
  260. package/dist/css/themes/TreeItem.css +1 -1
  261. package/dist/css/themes/ValueStateMessage.css +1 -1
  262. package/dist/css/themes/YearPicker.css +1 -1
  263. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  264. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  265. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  266. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  267. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  268. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  269. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  270. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  271. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  272. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  273. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  274. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  275. package/dist/custom-elements-internal.json +1918 -3358
  276. package/dist/custom-elements.json +1413 -2627
  277. package/dist/features/InputSuggestions.d.ts +14 -19
  278. package/dist/features/InputSuggestions.js +28 -72
  279. package/dist/features/InputSuggestions.js.map +1 -1
  280. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  281. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  282. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  283. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  284. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  285. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  286. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  287. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  288. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  289. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  290. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  291. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  292. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  293. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  294. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  295. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  296. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  297. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  298. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  299. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  300. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  301. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  302. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  303. package/dist/generated/assets/i18n/messagebundle_in.json +1 -1
  304. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  305. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  306. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  307. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  308. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  309. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  310. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  311. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  312. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  313. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  314. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  315. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  316. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  317. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  318. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  319. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  320. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  321. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  322. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  323. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  324. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  325. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  326. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  327. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  328. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  329. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  330. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  331. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  332. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  333. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  334. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  335. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  336. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  337. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  338. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  339. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  340. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  341. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  342. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  343. package/dist/generated/i18n/i18n-defaults.d.ts +9 -8
  344. package/dist/generated/i18n/i18n-defaults.js +11 -10
  345. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  346. package/dist/generated/json-imports/Themes.js +1 -4
  347. package/dist/generated/json-imports/Themes.js.map +1 -1
  348. package/dist/generated/templates/AvatarGroupTemplate.lit.js +1 -1
  349. package/dist/generated/templates/AvatarGroupTemplate.lit.js.map +1 -1
  350. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
  351. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  352. package/dist/generated/templates/ButtonTemplate.lit.js +1 -1
  353. package/dist/generated/templates/ButtonTemplate.lit.js.map +1 -1
  354. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +1 -1
  355. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js.map +1 -1
  356. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +2 -2
  357. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  358. package/dist/generated/templates/ComboBoxTemplate.lit.js +2 -2
  359. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  360. package/dist/generated/templates/CustomListItemTemplate.lit.js +1 -1
  361. package/dist/generated/templates/CustomListItemTemplate.lit.js.map +1 -1
  362. package/dist/generated/templates/DatePickerInputTemplate.lit.js +1 -1
  363. package/dist/generated/templates/DatePickerInputTemplate.lit.js.map +1 -1
  364. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +2 -2
  365. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
  366. package/dist/generated/templates/DatePickerTemplate.lit.js +3 -3
  367. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  368. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
  369. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
  370. package/dist/generated/templates/DateTimePickerTemplate.lit.js +2 -2
  371. package/dist/generated/templates/DateTimePickerTemplate.lit.js.map +1 -1
  372. package/dist/generated/templates/FileUploaderTemplate.lit.js +1 -1
  373. package/dist/generated/templates/FileUploaderTemplate.lit.js.map +1 -1
  374. package/dist/generated/templates/InputPopoverTemplate.lit.js +16 -16
  375. package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -1
  376. package/dist/generated/templates/InputTemplate.lit.js +20 -20
  377. package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
  378. package/dist/generated/templates/{GroupHeaderListItemTemplate.lit.d.ts → ListItemGroupHeaderTemplate.lit.d.ts} +2 -2
  379. package/dist/generated/templates/{GroupHeaderListItemTemplate.lit.js → ListItemGroupHeaderTemplate.lit.js} +1 -1
  380. package/dist/generated/templates/{GroupHeaderListItemTemplate.lit.js.map → ListItemGroupHeaderTemplate.lit.js.map} +1 -1
  381. package/dist/generated/templates/{TimeSelectionTemplate.lit.d.ts → ListItemGroupTemplate.lit.d.ts} +2 -2
  382. package/dist/generated/templates/ListItemGroupTemplate.lit.js +8 -0
  383. package/dist/generated/templates/ListItemGroupTemplate.lit.js.map +1 -0
  384. package/dist/generated/templates/ListItemTemplate.lit.js +1 -1
  385. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  386. package/dist/generated/templates/ListTemplate.lit.js +1 -1
  387. package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
  388. package/dist/generated/templates/MenuListItemTemplate.lit.js +1 -1
  389. package/dist/generated/templates/MenuListItemTemplate.lit.js.map +1 -1
  390. package/dist/generated/templates/MenuTemplate.lit.js +6 -6
  391. package/dist/generated/templates/MenuTemplate.lit.js.map +1 -1
  392. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +2 -2
  393. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  394. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +3 -3
  395. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  396. package/dist/generated/templates/MultiInputTemplate.lit.js +27 -30
  397. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
  398. package/dist/generated/templates/NavigationMenuTemplate.lit.js +7 -7
  399. package/dist/generated/templates/NavigationMenuTemplate.lit.js.map +1 -1
  400. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +2 -2
  401. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js.map +1 -1
  402. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +2 -2
  403. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js.map +1 -1
  404. package/dist/generated/templates/SelectPopoverTemplate.lit.js +1 -1
  405. package/dist/generated/templates/SelectPopoverTemplate.lit.js.map +1 -1
  406. package/dist/generated/templates/SelectTemplate.lit.js +2 -2
  407. package/dist/generated/templates/SelectTemplate.lit.js.map +1 -1
  408. package/dist/generated/templates/SplitButtonTemplate.lit.js +1 -1
  409. package/dist/generated/templates/SplitButtonTemplate.lit.js.map +1 -1
  410. package/dist/generated/templates/StandardListItemTemplate.lit.js +3 -3
  411. package/dist/generated/templates/StandardListItemTemplate.lit.js.map +1 -1
  412. package/dist/generated/templates/StepInputTemplate.lit.js +1 -1
  413. package/dist/generated/templates/StepInputTemplate.lit.js.map +1 -1
  414. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +3 -3
  415. package/dist/generated/templates/SuggestionListItemTemplate.lit.js.map +1 -1
  416. package/dist/generated/templates/TabContainerTemplate.lit.js +2 -2
  417. package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -1
  418. package/dist/generated/templates/TabInStripTemplate.lit.js +1 -1
  419. package/dist/generated/templates/TabInStripTemplate.lit.js.map +1 -1
  420. package/dist/generated/templates/TagTemplate.lit.d.ts +4 -0
  421. package/dist/generated/templates/TagTemplate.lit.js +11 -0
  422. package/dist/generated/templates/TagTemplate.lit.js.map +1 -0
  423. package/dist/generated/templates/TimeSelectionClocksTemplate.lit.js +1 -1
  424. package/dist/generated/templates/TimeSelectionClocksTemplate.lit.js.map +1 -1
  425. package/dist/generated/templates/TimeSelectionInputsTemplate.lit.js +1 -1
  426. package/dist/generated/templates/TimeSelectionInputsTemplate.lit.js.map +1 -1
  427. package/dist/generated/templates/ToggleButtonTemplate.lit.js +1 -1
  428. package/dist/generated/templates/ToggleButtonTemplate.lit.js.map +1 -1
  429. package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js +2 -2
  430. package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js.map +1 -1
  431. package/dist/generated/templates/TokenTemplate.lit.js +2 -2
  432. package/dist/generated/templates/TokenTemplate.lit.js.map +1 -1
  433. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +5 -10
  434. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js.map +1 -1
  435. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -11
  436. package/dist/generated/templates/TokenizerTemplate.lit.js.map +1 -1
  437. package/dist/generated/templates/TreeItemBaseTemplate.lit.js +1 -1
  438. package/dist/generated/templates/TreeItemBaseTemplate.lit.js.map +1 -1
  439. package/dist/generated/templates/TreeItemCustomTemplate.lit.js +1 -1
  440. package/dist/generated/templates/TreeItemCustomTemplate.lit.js.map +1 -1
  441. package/dist/generated/templates/TreeItemTemplate.lit.js +1 -1
  442. package/dist/generated/templates/TreeItemTemplate.lit.js.map +1 -1
  443. package/dist/generated/templates/TreeTemplate.lit.js +1 -1
  444. package/dist/generated/templates/TreeTemplate.lit.js.map +1 -1
  445. package/dist/generated/themes/Avatar.css.js +1 -1
  446. package/dist/generated/themes/Avatar.css.js.map +1 -1
  447. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  448. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  449. package/dist/generated/themes/Bar.css.js +1 -1
  450. package/dist/generated/themes/Bar.css.js.map +1 -1
  451. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  452. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  453. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  454. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  455. package/dist/generated/themes/Button.css.js +1 -1
  456. package/dist/generated/themes/Button.css.js.map +1 -1
  457. package/dist/generated/themes/Calendar.css.js +1 -1
  458. package/dist/generated/themes/Calendar.css.js.map +1 -1
  459. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  460. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  461. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  462. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  463. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  464. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  465. package/dist/generated/themes/Card.css.js +1 -1
  466. package/dist/generated/themes/Card.css.js.map +1 -1
  467. package/dist/generated/themes/CardHeader.css.js +1 -1
  468. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  469. package/dist/generated/themes/Carousel.css.js +1 -1
  470. package/dist/generated/themes/Carousel.css.js.map +1 -1
  471. package/dist/generated/themes/CheckBox.css.js +1 -1
  472. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  473. package/dist/generated/themes/ColorPalette.css.js +1 -1
  474. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  475. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  476. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  477. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  478. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  479. package/dist/generated/themes/ColorPicker.css.js +1 -1
  480. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  481. package/dist/generated/themes/ComboBox.css.js +1 -1
  482. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  483. package/dist/generated/themes/CustomListItem.css.js +1 -1
  484. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  485. package/dist/generated/themes/DatePicker.css.js +1 -1
  486. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  487. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  488. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  489. package/dist/generated/themes/DayPicker.css.js +1 -1
  490. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  491. package/dist/generated/themes/Dialog.css.js +1 -1
  492. package/dist/generated/themes/Dialog.css.js.map +1 -1
  493. package/dist/generated/themes/FileUploader.css.js +1 -1
  494. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  495. package/dist/generated/themes/GrowingButton.css.js +1 -1
  496. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  497. package/dist/generated/themes/Icon.css.js +1 -1
  498. package/dist/generated/themes/Icon.css.js.map +1 -1
  499. package/dist/generated/themes/Input.css.js +1 -1
  500. package/dist/generated/themes/Input.css.js.map +1 -1
  501. package/dist/generated/themes/InputIcon.css.js +1 -1
  502. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  503. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  504. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  505. package/dist/generated/themes/Link.css.js +1 -1
  506. package/dist/generated/themes/Link.css.js.map +1 -1
  507. package/dist/generated/themes/List.css.js +1 -1
  508. package/dist/generated/themes/List.css.js.map +1 -1
  509. package/dist/generated/themes/ListItem.css.js +1 -1
  510. package/dist/generated/themes/ListItem.css.js.map +1 -1
  511. package/dist/generated/themes/ListItemBase.css.js +1 -1
  512. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  513. package/dist/generated/themes/{TableCell.css.js → ListItemGroup.css.js} +2 -2
  514. package/dist/generated/themes/{TimeSelection.css.js.map → ListItemGroup.css.js.map} +1 -1
  515. package/dist/generated/themes/{GroupHeaderListItem.css.js → ListItemGroupHeader.css.js} +2 -2
  516. package/dist/generated/themes/{GroupHeaderListItem.css.js.map → ListItemGroupHeader.css.js.map} +1 -1
  517. package/dist/generated/themes/Menu.css.js +1 -1
  518. package/dist/generated/themes/Menu.css.js.map +1 -1
  519. package/dist/generated/themes/MenuListItem.css.js +1 -1
  520. package/dist/generated/themes/MenuListItem.css.js.map +1 -1
  521. package/dist/generated/themes/MessageStrip.css.js +1 -1
  522. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  523. package/dist/generated/themes/MonthPicker.css.js +1 -1
  524. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  525. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  526. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  527. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  528. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  529. package/dist/generated/themes/MultiInput.css.js +1 -1
  530. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  531. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  532. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  533. package/dist/generated/themes/Panel.css.js +1 -1
  534. package/dist/generated/themes/Panel.css.js.map +1 -1
  535. package/dist/generated/themes/Popover.css.js +1 -1
  536. package/dist/generated/themes/Popover.css.js.map +1 -1
  537. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  538. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  539. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  540. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  541. package/dist/generated/themes/RadioButton.css.js +1 -1
  542. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  543. package/dist/generated/themes/RangeSlider.css.js +1 -1
  544. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  545. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  546. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  547. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  548. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  549. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  550. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  551. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  552. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  553. package/dist/generated/themes/SegmentedButtonItem.css.js +9 -0
  554. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -0
  555. package/dist/generated/themes/Select.css.js +1 -1
  556. package/dist/generated/themes/Select.css.js.map +1 -1
  557. package/dist/generated/themes/SelectMenu.css.js +1 -1
  558. package/dist/generated/themes/SelectMenu.css.js.map +1 -1
  559. package/dist/generated/themes/SelectPopover.css.js +1 -1
  560. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  561. package/dist/generated/themes/SliderBase.css.js +1 -1
  562. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  563. package/dist/generated/themes/SplitButton.css.js +1 -1
  564. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  565. package/dist/generated/themes/StepInput.css.js +1 -1
  566. package/dist/generated/themes/StepInput.css.js.map +1 -1
  567. package/dist/generated/themes/Switch.css.js +1 -1
  568. package/dist/generated/themes/Switch.css.js.map +1 -1
  569. package/dist/generated/themes/TabContainer.css.js +1 -1
  570. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  571. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  572. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  573. package/dist/generated/themes/TabInStrip.css.js +1 -1
  574. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  575. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  576. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  577. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  578. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  579. package/dist/generated/themes/Tag.css.js +9 -0
  580. package/dist/generated/themes/Tag.css.js.map +1 -0
  581. package/dist/generated/themes/Text.css.js +1 -1
  582. package/dist/generated/themes/Text.css.js.map +1 -1
  583. package/dist/generated/themes/TextArea.css.js +1 -1
  584. package/dist/generated/themes/TextArea.css.js.map +1 -1
  585. package/dist/generated/themes/TimePicker.css.js +1 -1
  586. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  587. package/dist/generated/themes/Title.css.js +1 -1
  588. package/dist/generated/themes/Title.css.js.map +1 -1
  589. package/dist/generated/themes/Toast.css.js +1 -1
  590. package/dist/generated/themes/Toast.css.js.map +1 -1
  591. package/dist/generated/themes/ToggleButton.css.js +1 -1
  592. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  593. package/dist/generated/themes/Token.css.js +1 -1
  594. package/dist/generated/themes/Token.css.js.map +1 -1
  595. package/dist/generated/themes/Tokenizer.css.js +1 -1
  596. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  597. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  598. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  599. package/dist/generated/themes/Toolbar.css.js +1 -1
  600. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  601. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  602. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  603. package/dist/generated/themes/TreeItem.css.js +1 -1
  604. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  605. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  606. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  607. package/dist/generated/themes/YearPicker.css.js +1 -1
  608. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  609. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  610. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  611. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  612. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  613. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  614. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  615. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  616. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  617. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  618. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  619. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  620. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  621. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  622. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  623. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  624. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  625. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  626. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  627. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  628. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  629. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  630. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  631. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  632. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  633. package/dist/types/HighlightTypes.d.ts +3 -3
  634. package/dist/types/HighlightTypes.js +3 -3
  635. package/dist/types/HighlightTypes.js.map +1 -1
  636. package/dist/types/IconMode.d.ts +28 -0
  637. package/dist/types/IconMode.js +30 -0
  638. package/dist/types/IconMode.js.map +1 -0
  639. package/dist/types/ListAccessibleRole.d.ts +28 -0
  640. package/dist/types/ListAccessibleRole.js +30 -0
  641. package/dist/types/ListAccessibleRole.js.map +1 -0
  642. package/dist/types/ListItemAccessibleRole.d.ts +33 -0
  643. package/dist/types/ListItemAccessibleRole.js +35 -0
  644. package/dist/types/ListItemAccessibleRole.js.map +1 -0
  645. package/dist/types/MessageStripDesign.d.ts +1 -1
  646. package/dist/types/MessageStripDesign.js +1 -1
  647. package/dist/types/MessageStripDesign.js.map +1 -1
  648. package/dist/types/{SegmentedButtonMode.d.ts → SegmentedButtonSelectionMode.d.ts} +5 -5
  649. package/dist/types/SegmentedButtonSelectionMode.js +19 -0
  650. package/dist/types/SegmentedButtonSelectionMode.js.map +1 -0
  651. package/dist/types/{BadgeDesign.d.ts → TagDesign.d.ts} +3 -3
  652. package/dist/types/{BadgeDesign.js → TagDesign.js} +14 -14
  653. package/dist/types/TagDesign.js.map +1 -0
  654. package/dist/types/TagSize.d.ts +17 -0
  655. package/dist/types/TagSize.js +19 -0
  656. package/dist/types/TagSize.js.map +1 -0
  657. package/dist/vscode.html-custom-data.json +300 -469
  658. package/dist/web-types.json +498 -815
  659. package/package.json +10 -10
  660. package/src/AvatarGroup.hbs +1 -1
  661. package/src/Breadcrumbs.hbs +2 -2
  662. package/src/Button.hbs +1 -1
  663. package/src/ColorPalettePopover.hbs +1 -0
  664. package/src/ComboBoxPopover.hbs +2 -1
  665. package/src/DatePickerInput.hbs +4 -4
  666. package/src/DatePickerPopover.hbs +4 -1
  667. package/src/FileUploader.hbs +2 -0
  668. package/src/Input.hbs +7 -6
  669. package/src/InputPopover.hbs +31 -11
  670. package/src/List.hbs +1 -2
  671. package/src/ListItem.hbs +0 -1
  672. package/src/ListItemGroup.hbs +12 -0
  673. package/src/Menu.hbs +10 -10
  674. package/src/MultiComboBox.hbs +2 -2
  675. package/src/MultiComboBoxPopover.hbs +2 -2
  676. package/src/MultiInput.hbs +4 -15
  677. package/src/NavigationMenu.hbs +11 -11
  678. package/src/ResponsivePopover.hbs +8 -2
  679. package/src/SegmentedButtonItem.hbs +5 -15
  680. package/src/Select.hbs +1 -1
  681. package/src/SelectPopover.hbs +1 -1
  682. package/src/SplitButton.hbs +1 -3
  683. package/src/StandardListItem.hbs +2 -2
  684. package/src/StepInput.hbs +1 -1
  685. package/src/TabContainer.hbs +2 -2
  686. package/src/TabInStrip.hbs +1 -1
  687. package/src/{Badge.hbs → Tag.hbs} +5 -5
  688. package/src/TimeSelectionClocks.hbs +1 -1
  689. package/src/TimeSelectionInputs.hbs +1 -1
  690. package/src/ToggleSpinButton.hbs +0 -1
  691. package/src/Token.hbs +3 -1
  692. package/src/Tokenizer.hbs +11 -6
  693. package/src/TokenizerPopover.hbs +25 -38
  694. package/src/Tree.hbs +0 -1
  695. package/src/i18n/messagebundle.properties +17 -14
  696. package/src/i18n/messagebundle_ar.properties +9 -7
  697. package/src/i18n/messagebundle_bg.properties +9 -7
  698. package/src/i18n/messagebundle_ca.properties +9 -7
  699. package/src/i18n/messagebundle_cnr.properties +9 -7
  700. package/src/i18n/messagebundle_cs.properties +9 -7
  701. package/src/i18n/messagebundle_cy.properties +9 -7
  702. package/src/i18n/messagebundle_da.properties +9 -7
  703. package/src/i18n/messagebundle_de.properties +9 -7
  704. package/src/i18n/messagebundle_el.properties +9 -7
  705. package/src/i18n/messagebundle_en.properties +9 -7
  706. package/src/i18n/messagebundle_en_GB.properties +9 -7
  707. package/src/i18n/messagebundle_en_US_sappsd.properties +1 -1
  708. package/src/i18n/messagebundle_en_US_saprigi.properties +9 -7
  709. package/src/i18n/messagebundle_en_US_saptrc.properties +1 -1
  710. package/src/i18n/messagebundle_es.properties +9 -7
  711. package/src/i18n/messagebundle_es_MX.properties +9 -7
  712. package/src/i18n/messagebundle_et.properties +9 -7
  713. package/src/i18n/messagebundle_fi.properties +9 -7
  714. package/src/i18n/messagebundle_fr.properties +9 -7
  715. package/src/i18n/messagebundle_fr_CA.properties +9 -7
  716. package/src/i18n/messagebundle_hi.properties +9 -7
  717. package/src/i18n/messagebundle_hr.properties +9 -7
  718. package/src/i18n/messagebundle_hu.properties +9 -7
  719. package/src/i18n/messagebundle_id.properties +9 -7
  720. package/src/i18n/messagebundle_in.properties +1 -1
  721. package/src/i18n/messagebundle_it.properties +9 -7
  722. package/src/i18n/messagebundle_iw.properties +9 -7
  723. package/src/i18n/messagebundle_ja.properties +9 -7
  724. package/src/i18n/messagebundle_kk.properties +9 -7
  725. package/src/i18n/messagebundle_ko.properties +9 -7
  726. package/src/i18n/messagebundle_lt.properties +9 -7
  727. package/src/i18n/messagebundle_lv.properties +9 -7
  728. package/src/i18n/messagebundle_mk.properties +9 -7
  729. package/src/i18n/messagebundle_ms.properties +9 -7
  730. package/src/i18n/messagebundle_nl.properties +9 -7
  731. package/src/i18n/messagebundle_no.properties +9 -7
  732. package/src/i18n/messagebundle_pl.properties +9 -7
  733. package/src/i18n/messagebundle_pt.properties +9 -7
  734. package/src/i18n/messagebundle_pt_PT.properties +9 -7
  735. package/src/i18n/messagebundle_ro.properties +9 -7
  736. package/src/i18n/messagebundle_ru.properties +9 -7
  737. package/src/i18n/messagebundle_sh.properties +32 -30
  738. package/src/i18n/messagebundle_sk.properties +9 -7
  739. package/src/i18n/messagebundle_sl.properties +9 -7
  740. package/src/i18n/messagebundle_sr.properties +9 -7
  741. package/src/i18n/messagebundle_sv.properties +9 -7
  742. package/src/i18n/messagebundle_th.properties +9 -7
  743. package/src/i18n/messagebundle_tr.properties +9 -7
  744. package/src/i18n/messagebundle_uk.properties +9 -7
  745. package/src/i18n/messagebundle_vi.properties +9 -7
  746. package/src/i18n/messagebundle_zh_CN.properties +9 -7
  747. package/src/i18n/messagebundle_zh_TW.properties +9 -7
  748. package/src/themes/Avatar.css +9 -9
  749. package/src/themes/CheckBox.css +12 -12
  750. package/src/themes/Dialog.css +11 -6
  751. package/src/themes/FileUploader.css +3 -3
  752. package/src/themes/Icon.css +3 -3
  753. package/src/themes/Input.css +51 -51
  754. package/src/themes/InputSharedStyles.css +14 -14
  755. package/src/themes/Link.css +2 -2
  756. package/src/themes/ListItem.css +6 -6
  757. package/src/themes/ListItemGroup.css +13 -0
  758. package/src/themes/{GroupHeaderListItem.css → ListItemGroupHeader.css} +4 -0
  759. package/src/themes/MessageStrip.css +2 -2
  760. package/src/themes/MultiComboBox.css +4 -0
  761. package/src/themes/PopupsCommon.css +1 -1
  762. package/src/themes/ProgressIndicator.css +18 -19
  763. package/src/themes/RadioButton.css +18 -18
  764. package/src/themes/ResponsivePopoverCommon.css +17 -17
  765. package/src/themes/SegmentedButton.css +2 -2
  766. package/src/themes/SegmentedButtonItem.css +158 -0
  767. package/src/themes/SplitButton.css +2 -1
  768. package/src/themes/StepInput.css +20 -20
  769. package/src/themes/Tag.css +616 -0
  770. package/src/themes/TextArea.css +34 -34
  771. package/src/themes/TimePicker.css +1 -1
  772. package/src/themes/Title.css +10 -3
  773. package/src/themes/Token.css +10 -15
  774. package/src/themes/Tokenizer.css +24 -10
  775. package/src/themes/TokenizerPopover.css +14 -2
  776. package/src/themes/base/Link-parameters.css +1 -2
  777. package/src/themes/base/SegmentedButtonItem-parameters.css +1 -0
  778. package/src/themes/base/Tag-parameters.css +170 -0
  779. package/src/themes/base/sizes-parameters.css +0 -24
  780. package/src/themes/sap_fiori_3/SegmentedButtonItem-parameters.css +1 -0
  781. package/src/themes/sap_fiori_3/parameters-bundle.css +3 -7
  782. package/src/themes/sap_fiori_3_dark/SegmentedButtonItem-parameters.css +1 -0
  783. package/src/themes/sap_fiori_3_dark/Tag-parameters.css +5 -0
  784. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +3 -7
  785. package/src/themes/sap_fiori_3_hcb/Link-parameters.css +1 -2
  786. package/src/themes/sap_fiori_3_hcb/SegmentedButtonItem-parameters.css +1 -0
  787. package/src/themes/sap_fiori_3_hcb/Tag-parameters.css +46 -0
  788. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +3 -7
  789. package/src/themes/sap_fiori_3_hcw/Link-parameters.css +1 -2
  790. package/src/themes/sap_fiori_3_hcw/SegmentedButtonItem-parameters.css +1 -0
  791. package/src/themes/sap_fiori_3_hcw/Tag-parameters.css +46 -0
  792. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +3 -7
  793. package/src/themes/sap_horizon/Link-parameters.css +1 -2
  794. package/src/themes/sap_horizon/SegmentedButtonItem-parameters.css +1 -0
  795. package/src/themes/sap_horizon/Tag-parameters.css +46 -0
  796. package/src/themes/sap_horizon/parameters-bundle.css +3 -9
  797. package/src/themes/sap_horizon_dark/Link-parameters.css +1 -2
  798. package/src/themes/sap_horizon_dark/SegmentedButtonItem-parameters.css +1 -0
  799. package/src/themes/sap_horizon_dark/Tag-parameters.css +46 -0
  800. package/src/themes/sap_horizon_dark/parameters-bundle.css +4 -10
  801. package/src/themes/sap_horizon_dark_exp/Link-parameters.css +1 -2
  802. package/src/themes/sap_horizon_dark_exp/Tag-parameters.css +43 -0
  803. package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +2 -9
  804. package/src/themes/sap_horizon_exp/Link-parameters.css +1 -2
  805. package/src/themes/sap_horizon_exp/Tag-parameters.css +43 -0
  806. package/src/themes/sap_horizon_exp/parameters-bundle.css +2 -9
  807. package/src/themes/sap_horizon_hcb/Link-parameters.css +1 -2
  808. package/src/themes/sap_horizon_hcb/SegmentedButtonItem-parameters.css +1 -0
  809. package/src/themes/sap_horizon_hcb/Tag-parameters.css +151 -0
  810. package/src/themes/sap_horizon_hcb/parameters-bundle.css +3 -7
  811. package/src/themes/sap_horizon_hcb_exp/Link-parameters.css +1 -2
  812. package/src/themes/sap_horizon_hcb_exp/Tag-parameters.css +43 -0
  813. package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +2 -7
  814. package/src/themes/sap_horizon_hcw/Link-parameters.css +1 -2
  815. package/src/themes/sap_horizon_hcw/SegmentedButtonItem-parameters.css +1 -0
  816. package/src/themes/sap_horizon_hcw/Tag-parameters.css +154 -0
  817. package/src/themes/sap_horizon_hcw/parameters-bundle.css +3 -7
  818. package/src/themes/sap_horizon_hcw_exp/Link-parameters.css +1 -2
  819. package/src/themes/sap_horizon_hcw_exp/Tag-parameters.css +43 -0
  820. package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +2 -7
  821. package/.eslintrc.cjs +0 -3
  822. package/config/wdio.conf.cjs +0 -15
  823. package/customI18n.js +0 -50
  824. package/dist/Badge.js.map +0 -1
  825. package/dist/GroupHeaderListItem.js.map +0 -1
  826. package/dist/Table.d.ts +0 -362
  827. package/dist/Table.js +0 -868
  828. package/dist/Table.js.map +0 -1
  829. package/dist/TableCell.d.ts +0 -37
  830. package/dist/TableCell.js +0 -63
  831. package/dist/TableCell.js.map +0 -1
  832. package/dist/TableColumn.d.ts +0 -63
  833. package/dist/TableColumn.js +0 -59
  834. package/dist/TableColumn.js.map +0 -1
  835. package/dist/TableGroupRow.d.ts +0 -44
  836. package/dist/TableGroupRow.js +0 -102
  837. package/dist/TableGroupRow.js.map +0 -1
  838. package/dist/TableRow.d.ts +0 -120
  839. package/dist/TableRow.js +0 -323
  840. package/dist/TableRow.js.map +0 -1
  841. package/dist/TimePickerBase.d.ts +0 -174
  842. package/dist/TimePickerBase.js +0 -476
  843. package/dist/TimePickerBase.js.map +0 -1
  844. package/dist/TimeSelection.d.ts +0 -144
  845. package/dist/TimeSelection.js +0 -376
  846. package/dist/TimeSelection.js.map +0 -1
  847. package/dist/WheelSlider.d.ts +0 -101
  848. package/dist/WheelSlider.js +0 -338
  849. package/dist/WheelSlider.js.map +0 -1
  850. package/dist/css/themes/Badge.css +0 -1
  851. package/dist/css/themes/Table.css +0 -1
  852. package/dist/css/themes/TableCell.css +0 -1
  853. package/dist/css/themes/TableColumn.css +0 -1
  854. package/dist/css/themes/TableGroupRow.css +0 -1
  855. package/dist/css/themes/TableRow.css +0 -1
  856. package/dist/css/themes/TimeSelection.css +0 -1
  857. package/dist/css/themes/WheelSlider.css +0 -1
  858. package/dist/css/themes/sap_belize/parameters-bundle.css +0 -1
  859. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +0 -1
  860. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +0 -1
  861. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +0 -1
  862. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +0 -1
  863. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +0 -1
  864. package/dist/generated/templates/BadgeTemplate.lit.d.ts +0 -4
  865. package/dist/generated/templates/BadgeTemplate.lit.js +0 -11
  866. package/dist/generated/templates/BadgeTemplate.lit.js.map +0 -1
  867. package/dist/generated/templates/TableCellTemplate.lit.d.ts +0 -4
  868. package/dist/generated/templates/TableCellTemplate.lit.js +0 -5
  869. package/dist/generated/templates/TableCellTemplate.lit.js.map +0 -1
  870. package/dist/generated/templates/TableColumnTemplate.lit.d.ts +0 -4
  871. package/dist/generated/templates/TableColumnTemplate.lit.js +0 -5
  872. package/dist/generated/templates/TableColumnTemplate.lit.js.map +0 -1
  873. package/dist/generated/templates/TableGroupRowTemplate.lit.d.ts +0 -4
  874. package/dist/generated/templates/TableGroupRowTemplate.lit.js +0 -5
  875. package/dist/generated/templates/TableGroupRowTemplate.lit.js.map +0 -1
  876. package/dist/generated/templates/TableRowTemplate.lit.d.ts +0 -4
  877. package/dist/generated/templates/TableRowTemplate.lit.js +0 -16
  878. package/dist/generated/templates/TableRowTemplate.lit.js.map +0 -1
  879. package/dist/generated/templates/TableTemplate.lit.d.ts +0 -4
  880. package/dist/generated/templates/TableTemplate.lit.js +0 -15
  881. package/dist/generated/templates/TableTemplate.lit.js.map +0 -1
  882. package/dist/generated/templates/TimeSelectionTemplate.lit.js +0 -9
  883. package/dist/generated/templates/TimeSelectionTemplate.lit.js.map +0 -1
  884. package/dist/generated/templates/WheelSliderTemplate.lit.d.ts +0 -4
  885. package/dist/generated/templates/WheelSliderTemplate.lit.js +0 -8
  886. package/dist/generated/templates/WheelSliderTemplate.lit.js.map +0 -1
  887. package/dist/generated/themes/Badge.css.js +0 -9
  888. package/dist/generated/themes/Badge.css.js.map +0 -1
  889. package/dist/generated/themes/Table.css.js +0 -9
  890. package/dist/generated/themes/Table.css.js.map +0 -1
  891. package/dist/generated/themes/TableCell.css.js.map +0 -1
  892. package/dist/generated/themes/TableColumn.css.d.ts +0 -3
  893. package/dist/generated/themes/TableColumn.css.js +0 -9
  894. package/dist/generated/themes/TableColumn.css.js.map +0 -1
  895. package/dist/generated/themes/TableGroupRow.css.d.ts +0 -3
  896. package/dist/generated/themes/TableGroupRow.css.js +0 -9
  897. package/dist/generated/themes/TableGroupRow.css.js.map +0 -1
  898. package/dist/generated/themes/TableRow.css.d.ts +0 -3
  899. package/dist/generated/themes/TableRow.css.js +0 -9
  900. package/dist/generated/themes/TableRow.css.js.map +0 -1
  901. package/dist/generated/themes/TimeSelection.css.d.ts +0 -3
  902. package/dist/generated/themes/TimeSelection.css.js +0 -9
  903. package/dist/generated/themes/WheelSlider.css.d.ts +0 -3
  904. package/dist/generated/themes/WheelSlider.css.js +0 -9
  905. package/dist/generated/themes/WheelSlider.css.js.map +0 -1
  906. package/dist/generated/themes/sap_belize/parameters-bundle.css.d.ts +0 -3
  907. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +0 -4
  908. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +0 -1
  909. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.d.ts +0 -3
  910. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +0 -4
  911. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +0 -1
  912. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.d.ts +0 -3
  913. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +0 -4
  914. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +0 -1
  915. package/dist/types/BadgeDesign.js.map +0 -1
  916. package/dist/types/HasPopup.d.ts +0 -32
  917. package/dist/types/HasPopup.js +0 -34
  918. package/dist/types/HasPopup.js.map +0 -1
  919. package/dist/types/SegmentedButtonMode.js +0 -19
  920. package/dist/types/SegmentedButtonMode.js.map +0 -1
  921. package/dist/types/TableColumnPopinDisplay.d.ts +0 -17
  922. package/dist/types/TableColumnPopinDisplay.js +0 -19
  923. package/dist/types/TableColumnPopinDisplay.js.map +0 -1
  924. package/dist/types/TableGrowingMode.d.ts +0 -23
  925. package/dist/types/TableGrowingMode.js +0 -25
  926. package/dist/types/TableGrowingMode.js.map +0 -1
  927. package/dist/types/TableMode.d.ts +0 -22
  928. package/dist/types/TableMode.js +0 -24
  929. package/dist/types/TableMode.js.map +0 -1
  930. package/dist/types/TableRowType.d.ts +0 -17
  931. package/dist/types/TableRowType.js +0 -19
  932. package/dist/types/TableRowType.js.map +0 -1
  933. package/src/Table.hbs +0 -121
  934. package/src/TableCell.hbs +0 -7
  935. package/src/TableColumn.hbs +0 -7
  936. package/src/TableGroupRow.hbs +0 -11
  937. package/src/TableRow.hbs +0 -85
  938. package/src/TimeSelection.hbs +0 -64
  939. package/src/WheelSlider.hbs +0 -49
  940. package/src/themes/Badge.css +0 -594
  941. package/src/themes/Table.css +0 -106
  942. package/src/themes/TableCell.css +0 -27
  943. package/src/themes/TableColumn.css +0 -25
  944. package/src/themes/TableGroupRow.css +0 -32
  945. package/src/themes/TableRow.css +0 -130
  946. package/src/themes/TimeSelection.css +0 -27
  947. package/src/themes/WheelSlider.css +0 -203
  948. package/src/themes/base/Badge-parameters.css +0 -160
  949. package/src/themes/base/Table-parameters.css +0 -10
  950. package/src/themes/base/TableColumn-parameters.css +0 -3
  951. package/src/themes/base/TableGroupRow-parameters.css +0 -4
  952. package/src/themes/base/TableRow-parameters.css +0 -4
  953. package/src/themes/base/WheelSlider-parameters.css +0 -15
  954. package/src/themes/sap_belize/BrowserScrollbar-parameters.css +0 -4
  955. package/src/themes/sap_belize/BusyIndicator-parameters.css +0 -5
  956. package/src/themes/sap_belize/Button-parameters.css +0 -9
  957. package/src/themes/sap_belize/Card-parameters.css +0 -5
  958. package/src/themes/sap_belize/Carousel-parameters.css +0 -9
  959. package/src/themes/sap_belize/DayPicker-parameters.css +0 -25
  960. package/src/themes/sap_belize/Dialog-parameters.css +0 -5
  961. package/src/themes/sap_belize/Input-parameters.css +0 -22
  962. package/src/themes/sap_belize/InputIcon-parameters.css +0 -5
  963. package/src/themes/sap_belize/Panel-parameters.css +0 -14
  964. package/src/themes/sap_belize/PopupsCommon-parameters.css +0 -8
  965. package/src/themes/sap_belize/ProgressIndicator-parameters.css +0 -8
  966. package/src/themes/sap_belize/SliderBase-parameters.css +0 -23
  967. package/src/themes/sap_belize/SplitButton-parameters.css +0 -6
  968. package/src/themes/sap_belize/TabContainer-parameters.css +0 -10
  969. package/src/themes/sap_belize/Table-parameters.css +0 -7
  970. package/src/themes/sap_belize/TableRow-parameters.css +0 -6
  971. package/src/themes/sap_belize/TextArea-parameters.css +0 -23
  972. package/src/themes/sap_belize/TimePicker-parameters.css +0 -5
  973. package/src/themes/sap_belize/ToggleButton-parameters.css +0 -5
  974. package/src/themes/sap_belize/Token-parameters.css +0 -8
  975. package/src/themes/sap_belize/Tokenizer-parameters.css +0 -5
  976. package/src/themes/sap_belize/WheelSlider-parameters.css +0 -17
  977. package/src/themes/sap_belize/parameters-bundle.css +0 -62
  978. package/src/themes/sap_belize/sizes-parameters.css +0 -17
  979. package/src/themes/sap_belize_hcb/Avatar-parameters.css +0 -20
  980. package/src/themes/sap_belize_hcb/Badge-parameters.css +0 -43
  981. package/src/themes/sap_belize_hcb/BrowserScrollbar-parameters.css +0 -4
  982. package/src/themes/sap_belize_hcb/Button-parameters.css +0 -12
  983. package/src/themes/sap_belize_hcb/CalendarHeader-parameters.css +0 -11
  984. package/src/themes/sap_belize_hcb/Card-parameters.css +0 -7
  985. package/src/themes/sap_belize_hcb/Carousel-parameters.css +0 -9
  986. package/src/themes/sap_belize_hcb/CheckBox-parameters.css +0 -12
  987. package/src/themes/sap_belize_hcb/DatePicker-parameters.css +0 -6
  988. package/src/themes/sap_belize_hcb/DayPicker-parameters.css +0 -23
  989. package/src/themes/sap_belize_hcb/FileUploader-parameters.css +0 -5
  990. package/src/themes/sap_belize_hcb/GrowingButton-parameters.css +0 -8
  991. package/src/themes/sap_belize_hcb/Input-parameters.css +0 -37
  992. package/src/themes/sap_belize_hcb/InputIcon-parameters.css +0 -5
  993. package/src/themes/sap_belize_hcb/Link-parameters.css +0 -8
  994. package/src/themes/sap_belize_hcb/MessageStrip-parameters.css +0 -31
  995. package/src/themes/sap_belize_hcb/MonthPicker-parameters.css +0 -10
  996. package/src/themes/sap_belize_hcb/Panel-parameters.css +0 -13
  997. package/src/themes/sap_belize_hcb/PopupsCommon-parameters.css +0 -5
  998. package/src/themes/sap_belize_hcb/ProgressIndicator-parameters.css +0 -11
  999. package/src/themes/sap_belize_hcb/RadioButton-parameters.css +0 -14
  1000. package/src/themes/sap_belize_hcb/Select-parameters.css +0 -10
  1001. package/src/themes/sap_belize_hcb/SliderBase-parameters.css +0 -17
  1002. package/src/themes/sap_belize_hcb/SplitButton-parameters.css +0 -13
  1003. package/src/themes/sap_belize_hcb/Switch-parameters.css +0 -16
  1004. package/src/themes/sap_belize_hcb/TabContainer-parameters.css +0 -44
  1005. package/src/themes/sap_belize_hcb/Table-parameters.css +0 -7
  1006. package/src/themes/sap_belize_hcb/TableRow-parameters.css +0 -7
  1007. package/src/themes/sap_belize_hcb/TextArea-parameters.css +0 -39
  1008. package/src/themes/sap_belize_hcb/ToggleButton-parameters.css +0 -7
  1009. package/src/themes/sap_belize_hcb/Token-parameters.css +0 -10
  1010. package/src/themes/sap_belize_hcb/ValueStateMessage-parameters.css +0 -10
  1011. package/src/themes/sap_belize_hcb/WheelSlider-parameters.css +0 -17
  1012. package/src/themes/sap_belize_hcb/YearPicker-parameters.css +0 -10
  1013. package/src/themes/sap_belize_hcb/parameters-bundle.css +0 -60
  1014. package/src/themes/sap_belize_hcb/sizes-parameters.css +0 -15
  1015. package/src/themes/sap_belize_hcw/Avatar-parameters.css +0 -20
  1016. package/src/themes/sap_belize_hcw/Badge-parameters.css +0 -43
  1017. package/src/themes/sap_belize_hcw/BrowserScrollbar-parameters.css +0 -4
  1018. package/src/themes/sap_belize_hcw/Button-parameters.css +0 -12
  1019. package/src/themes/sap_belize_hcw/CalendarHeader-parameters.css +0 -11
  1020. package/src/themes/sap_belize_hcw/Card-parameters.css +0 -7
  1021. package/src/themes/sap_belize_hcw/Carousel-parameters.css +0 -9
  1022. package/src/themes/sap_belize_hcw/CheckBox-parameters.css +0 -12
  1023. package/src/themes/sap_belize_hcw/DatePicker-parameters.css +0 -5
  1024. package/src/themes/sap_belize_hcw/DayPicker-parameters.css +0 -24
  1025. package/src/themes/sap_belize_hcw/FileUploader-parameters.css +0 -5
  1026. package/src/themes/sap_belize_hcw/GrowingButton-parameters.css +0 -8
  1027. package/src/themes/sap_belize_hcw/Input-parameters.css +0 -37
  1028. package/src/themes/sap_belize_hcw/InputIcon-parameters.css +0 -5
  1029. package/src/themes/sap_belize_hcw/Link-parameters.css +0 -8
  1030. package/src/themes/sap_belize_hcw/MessageStrip-parameters.css +0 -31
  1031. package/src/themes/sap_belize_hcw/MonthPicker-parameters.css +0 -10
  1032. package/src/themes/sap_belize_hcw/Panel-parameters.css +0 -13
  1033. package/src/themes/sap_belize_hcw/PopupsCommon-parameters.css +0 -5
  1034. package/src/themes/sap_belize_hcw/ProgressIndicator-parameters.css +0 -11
  1035. package/src/themes/sap_belize_hcw/RadioButton-parameters.css +0 -14
  1036. package/src/themes/sap_belize_hcw/Select-parameters.css +0 -10
  1037. package/src/themes/sap_belize_hcw/SliderBase-parameters.css +0 -17
  1038. package/src/themes/sap_belize_hcw/SplitButton-parameters.css +0 -13
  1039. package/src/themes/sap_belize_hcw/Switch-parameters.css +0 -16
  1040. package/src/themes/sap_belize_hcw/TabContainer-parameters.css +0 -44
  1041. package/src/themes/sap_belize_hcw/Table-parameters.css +0 -7
  1042. package/src/themes/sap_belize_hcw/TableRow-parameters.css +0 -7
  1043. package/src/themes/sap_belize_hcw/TextArea-parameters.css +0 -39
  1044. package/src/themes/sap_belize_hcw/ToggleButton-parameters.css +0 -6
  1045. package/src/themes/sap_belize_hcw/Token-parameters.css +0 -10
  1046. package/src/themes/sap_belize_hcw/ValueStateMessage-parameters.css +0 -10
  1047. package/src/themes/sap_belize_hcw/WheelSlider-parameters.css +0 -17
  1048. package/src/themes/sap_belize_hcw/YearPicker-parameters.css +0 -10
  1049. package/src/themes/sap_belize_hcw/parameters-bundle.css +0 -60
  1050. package/src/themes/sap_belize_hcw/sizes-parameters.css +0 -15
  1051. package/src/themes/sap_fiori_3/WheelSlider-parameters.css +0 -16
  1052. package/src/themes/sap_fiori_3_dark/Badge-parameters.css +0 -5
  1053. package/src/themes/sap_fiori_3_dark/WheelSlider-parameters.css +0 -15
  1054. package/src/themes/sap_fiori_3_hcb/Badge-parameters.css +0 -46
  1055. package/src/themes/sap_fiori_3_hcb/Table-parameters.css +0 -5
  1056. package/src/themes/sap_fiori_3_hcb/TableRow-parameters.css +0 -5
  1057. package/src/themes/sap_fiori_3_hcb/WheelSlider-parameters.css +0 -17
  1058. package/src/themes/sap_fiori_3_hcw/Badge-parameters.css +0 -46
  1059. package/src/themes/sap_fiori_3_hcw/Table-parameters.css +0 -5
  1060. package/src/themes/sap_fiori_3_hcw/TableRow-parameters.css +0 -5
  1061. package/src/themes/sap_fiori_3_hcw/WheelSlider-parameters.css +0 -17
  1062. package/src/themes/sap_horizon/Badge-parameters.css +0 -46
  1063. package/src/themes/sap_horizon/Table-parameters.css +0 -9
  1064. package/src/themes/sap_horizon/TableColumn-parameters.css +0 -5
  1065. package/src/themes/sap_horizon/TableGroupRow-parameters.css +0 -7
  1066. package/src/themes/sap_horizon/TableRow-parameters.css +0 -5
  1067. package/src/themes/sap_horizon/WheelSlider-parameters.css +0 -19
  1068. package/src/themes/sap_horizon_dark/Badge-parameters.css +0 -46
  1069. package/src/themes/sap_horizon_dark/Table-parameters.css +0 -9
  1070. package/src/themes/sap_horizon_dark/TableColumn-parameters.css +0 -5
  1071. package/src/themes/sap_horizon_dark/TableGroupRow-parameters.css +0 -7
  1072. package/src/themes/sap_horizon_dark/TableRow-parameters.css +0 -5
  1073. package/src/themes/sap_horizon_dark/WheelSlider-parameters.css +0 -19
  1074. package/src/themes/sap_horizon_dark_exp/Badge-parameters.css +0 -43
  1075. package/src/themes/sap_horizon_dark_exp/Table-parameters.css +0 -8
  1076. package/src/themes/sap_horizon_dark_exp/TableColumn-parameters.css +0 -5
  1077. package/src/themes/sap_horizon_dark_exp/TableGroupRow-parameters.css +0 -7
  1078. package/src/themes/sap_horizon_dark_exp/TableRow-parameters.css +0 -5
  1079. package/src/themes/sap_horizon_dark_exp/WheelSlider-parameters.css +0 -19
  1080. package/src/themes/sap_horizon_exp/Badge-parameters.css +0 -43
  1081. package/src/themes/sap_horizon_exp/Table-parameters.css +0 -8
  1082. package/src/themes/sap_horizon_exp/TableColumn-parameters.css +0 -5
  1083. package/src/themes/sap_horizon_exp/TableGroupRow-parameters.css +0 -7
  1084. package/src/themes/sap_horizon_exp/TableRow-parameters.css +0 -5
  1085. package/src/themes/sap_horizon_exp/WheelSlider-parameters.css +0 -19
  1086. package/src/themes/sap_horizon_hcb/Badge-parameters.css +0 -151
  1087. package/src/themes/sap_horizon_hcb/Table-parameters.css +0 -10
  1088. package/src/themes/sap_horizon_hcb/TableGroupRow-parameters.css +0 -7
  1089. package/src/themes/sap_horizon_hcb/TableRow-parameters.css +0 -5
  1090. package/src/themes/sap_horizon_hcb/WheelSlider-parameters.css +0 -17
  1091. package/src/themes/sap_horizon_hcb_exp/Badge-parameters.css +0 -43
  1092. package/src/themes/sap_horizon_hcb_exp/Table-parameters.css +0 -9
  1093. package/src/themes/sap_horizon_hcb_exp/TableGroupRow-parameters.css +0 -7
  1094. package/src/themes/sap_horizon_hcb_exp/TableRow-parameters.css +0 -5
  1095. package/src/themes/sap_horizon_hcb_exp/WheelSlider-parameters.css +0 -17
  1096. package/src/themes/sap_horizon_hcw/Badge-parameters.css +0 -154
  1097. package/src/themes/sap_horizon_hcw/Table-parameters.css +0 -10
  1098. package/src/themes/sap_horizon_hcw/TableGroupRow-parameters.css +0 -7
  1099. package/src/themes/sap_horizon_hcw/TableRow-parameters.css +0 -5
  1100. package/src/themes/sap_horizon_hcw/WheelSlider-parameters.css +0 -17
  1101. package/src/themes/sap_horizon_hcw_exp/Badge-parameters.css +0 -43
  1102. package/src/themes/sap_horizon_hcw_exp/Table-parameters.css +0 -9
  1103. package/src/themes/sap_horizon_hcw_exp/TableGroupRow-parameters.css +0 -7
  1104. package/src/themes/sap_horizon_hcw_exp/TableRow-parameters.css +0 -5
  1105. package/src/themes/sap_horizon_hcw_exp/WheelSlider-parameters.css +0 -17
  1106. /package/dist/generated/themes/{Badge.css.d.ts → ListItemGroup.css.d.ts} +0 -0
  1107. /package/dist/generated/themes/{GroupHeaderListItem.css.d.ts → ListItemGroupHeader.css.d.ts} +0 -0
  1108. /package/dist/generated/themes/{Table.css.d.ts → SegmentedButtonItem.css.d.ts} +0 -0
  1109. /package/dist/generated/themes/{TableCell.css.d.ts → Tag.css.d.ts} +0 -0
  1110. /package/src/{GroupHeaderListItem.hbs → ListItemGroupHeader.hbs} +0 -0
  1111. /package/src/themes/base/{GroupHeaderListItem-parameters.css → ListItemGroupHeader-parameters.css} +0 -0
@@ -7,15 +7,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var SegmentedButtonItem_1;
8
8
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
9
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
11
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
12
+ import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
13
+ import { isSpaceShift } from "@ui5/webcomponents-base/dist/Keys.js";
14
+ import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
15
+ import willShowContent from "@ui5/webcomponents-base/dist/util/willShowContent.js";
16
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
17
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
10
18
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
19
+ import { SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION } from "./generated/i18n/i18n-defaults.js";
11
20
  import SegmentedButtonItemTemplate from "./generated/templates/SegmentedButtonItemTemplate.lit.js";
12
- import ToggleButton from "./ToggleButton.js";
13
- import ButtonDesign from "./types/ButtonDesign.js";
14
- import ButtonType from "./types/ButtonType.js";
15
- import ButtonAccessibleRole from "./types/ButtonAccessibleRole.js";
16
21
  import "./Button.js";
17
22
  import Icon from "./Icon.js";
18
- import { SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION } from "./generated/i18n/i18n-defaults.js";
23
+ import segmentedButtonItemCss from "./generated/themes/SegmentedButtonItem.css.js";
19
24
  /**
20
25
  * @class
21
26
  *
@@ -23,7 +28,7 @@ import { SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION } from "./generated/i18n/i18n-defa
23
28
  *
24
29
  * Users can use the `ui5-segmented-button-item` as part of a `ui5-segmented-button`.
25
30
  *
26
- * Clicking or tapping on a `ui5-segmented-button-item` changes its state to `pressed`.
31
+ * Clicking or tapping on a `ui5-segmented-button-item` changes its state to `selected`.
27
32
  * The item returns to its initial state when the user clicks or taps on it again.
28
33
  * By applying additional custom CSS-styling classes, apps can give a different style to any
29
34
  * `ui5-segmented-button-item`.
@@ -32,43 +37,89 @@ import { SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION } from "./generated/i18n/i18n-defa
32
37
  *
33
38
  * `import "@ui5/webcomponents/dist/SegmentedButtonItem.js";`
34
39
  * @constructor
35
- * @extends ToggleButton
36
- * @implements { ISegmentedButtonItem }
40
+ * @extends UI5Element
41
+ * @implements { ISegmentedButtonItem, IButton }
37
42
  * @public
38
43
  */
39
- let SegmentedButtonItem = SegmentedButtonItem_1 = class SegmentedButtonItem extends ToggleButton {
44
+ let SegmentedButtonItem = SegmentedButtonItem_1 = class SegmentedButtonItem extends UI5Element {
40
45
  get ariaDescription() {
41
46
  return SegmentedButtonItem_1.i18nBundle.getText(SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION);
42
47
  }
48
+ constructor() {
49
+ super();
50
+ }
51
+ _onclick() {
52
+ this.selected = !this.selected;
53
+ }
54
+ onEnterDOM() {
55
+ if (isDesktop()) {
56
+ this.setAttribute("desktop", "");
57
+ }
58
+ }
59
+ _onkeyup(e) {
60
+ if (isSpaceShift(e)) {
61
+ e.preventDefault();
62
+ }
63
+ }
64
+ get isIconOnly() {
65
+ return !willShowContent(this.text);
66
+ }
67
+ get tabIndexValue() {
68
+ const tabindex = this.getAttribute("tabindex");
69
+ if (tabindex) {
70
+ return tabindex;
71
+ }
72
+ return this.forcedTabIndex;
73
+ }
74
+ get ariaLabelText() {
75
+ return getEffectiveAriaLabelText(this);
76
+ }
77
+ get showIconTooltip() {
78
+ return this.isIconOnly && !this.tooltip;
79
+ }
80
+ static async onDefine() {
81
+ SegmentedButtonItem_1.i18nBundle = await getI18nBundle("@ui5/webcomponents");
82
+ }
43
83
  };
44
- __decorate([
45
- property({ type: ButtonDesign, defaultValue: ButtonDesign.Default })
46
- ], SegmentedButtonItem.prototype, "design", void 0);
47
84
  __decorate([
48
85
  property({ type: Boolean })
49
- ], SegmentedButtonItem.prototype, "iconEnd", void 0);
86
+ ], SegmentedButtonItem.prototype, "disabled", void 0);
50
87
  __decorate([
51
88
  property({ type: Boolean })
52
- ], SegmentedButtonItem.prototype, "submits", void 0);
89
+ ], SegmentedButtonItem.prototype, "selected", void 0);
90
+ __decorate([
91
+ property()
92
+ ], SegmentedButtonItem.prototype, "tooltip", void 0);
53
93
  __decorate([
54
- property({ type: Object })
55
- ], SegmentedButtonItem.prototype, "accessibilityAttributes", void 0);
94
+ property({ defaultValue: undefined })
95
+ ], SegmentedButtonItem.prototype, "accessibleName", void 0);
56
96
  __decorate([
57
- property({ type: ButtonType, defaultValue: ButtonType.Button })
58
- ], SegmentedButtonItem.prototype, "type", void 0);
97
+ property({ defaultValue: "" })
98
+ ], SegmentedButtonItem.prototype, "accessibleNameRef", void 0);
59
99
  __decorate([
60
- property({ type: ButtonAccessibleRole, defaultValue: ButtonAccessibleRole.Button })
61
- ], SegmentedButtonItem.prototype, "accessibleRole", void 0);
100
+ property()
101
+ ], SegmentedButtonItem.prototype, "icon", void 0);
102
+ __decorate([
103
+ property({ type: Boolean })
104
+ ], SegmentedButtonItem.prototype, "nonInteractive", void 0);
105
+ __decorate([
106
+ property({ type: String, defaultValue: "0", noAttribute: true })
107
+ ], SegmentedButtonItem.prototype, "forcedTabIndex", void 0);
62
108
  __decorate([
63
109
  property({ validator: Integer, defaultValue: 0 })
64
110
  ], SegmentedButtonItem.prototype, "posInSet", void 0);
65
111
  __decorate([
66
112
  property({ validator: Integer, defaultValue: 0 })
67
113
  ], SegmentedButtonItem.prototype, "sizeOfSet", void 0);
114
+ __decorate([
115
+ slot({ type: Node, "default": true })
116
+ ], SegmentedButtonItem.prototype, "text", void 0);
68
117
  SegmentedButtonItem = SegmentedButtonItem_1 = __decorate([
69
118
  customElement({
70
119
  tag: "ui5-segmented-button-item",
120
+ renderer: litRender,
71
121
  template: SegmentedButtonItemTemplate,
122
+ styles: segmentedButtonItemCss,
72
123
  dependencies: [Icon],
73
124
  })
74
125
  ], SegmentedButtonItem);
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedButtonItem.js","sourceRoot":"","sources":["../src/SegmentedButtonItem.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,OAAO,OAAO,MAAM,+CAA+C,CAAC;AAEpE,OAAO,2BAA2B,MAAM,0DAA0D,CAAC;AAEnG,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAwC,aAAa,CAAC;AACtD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,oCAAoC,EAAE,MAAM,mCAAmC,CAAC;AAEzF;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,IAAM,mBAAmB,2BAAzB,MAAM,mBAAoB,SAAQ,YAAY;IAiE7C,IAAI,eAAe;QAClB,OAAO,qBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;IACrF,CAAC;CACD,CAAA;AA7DQ;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC;mDACnC;AAQ1B;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACH;AAQjB;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACH;AAQd;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oEAC8B;AAQpD;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;iDAClC;AAQtB;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE,oBAAoB,CAAC,MAAM,EAAE,CAAC;2DAClC;AAQlD;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;qDAChC;AAQlB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;sDAC/B;AA/Dd,mBAAmB;IALxB,aAAa,CAAC;QACd,GAAG,EAAE,2BAA2B;QAChC,QAAQ,EAAE,2BAA2B;QACrC,YAAY,EAAE,CAAC,IAAI,CAAC;KACpB,CAAC;GACI,mBAAmB,CAoExB;AAED,mBAAmB,CAAC,MAAM,EAAE,CAAC;AAE7B,eAAe,mBAAmB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\n\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport type { ISegmentedButtonItem } from \"./SegmentedButton.js\";\nimport SegmentedButtonItemTemplate from \"./generated/templates/SegmentedButtonItemTemplate.lit.js\";\n\nimport ToggleButton from \"./ToggleButton.js\";\nimport ButtonDesign from \"./types/ButtonDesign.js\";\nimport ButtonType from \"./types/ButtonType.js\";\nimport ButtonAccessibleRole from \"./types/ButtonAccessibleRole.js\";\nimport { AccessibilityAttributes } from \"./Button.js\";\nimport Icon from \"./Icon.js\";\n\nimport { SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION } from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * Users can use the `ui5-segmented-button-item` as part of a `ui5-segmented-button`.\n *\n * Clicking or tapping on a `ui5-segmented-button-item` changes its state to `pressed`.\n * The item returns to its initial state when the user clicks or taps on it again.\n * By applying additional custom CSS-styling classes, apps can give a different style to any\n * `ui5-segmented-button-item`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/SegmentedButtonItem.js\";`\n * @constructor\n * @extends ToggleButton\n * @implements { ISegmentedButtonItem }\n * @public\n */\n@customElement({\n\ttag: \"ui5-segmented-button-item\",\n\ttemplate: SegmentedButtonItemTemplate,\n\tdependencies: [Icon],\n})\nclass SegmentedButtonItem extends ToggleButton implements ISegmentedButtonItem {\n\t/**\n\t * **Note:** The property is inherited and not supported. If set, it won't take any effect.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property({ type: ButtonDesign, defaultValue: ButtonDesign.Default })\n\tdeclare design: `${ButtonDesign}`;\n\n\t/**\n\t * **Note:** The property is inherited and not supported. If set, it won't take any effect.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdeclare iconEnd: boolean;\n\n\t/**\n\t * **Note:** The property is inherited and not supported. If set, it won't take any effect.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdeclare submits: boolean;\n\n\t/**\n\t * **Note:** The property is inherited and not supported. If set, it won't take any effect.\n\t * @default {}\n\t * @public\n\t */\n @property({ type: Object })\n declare accessibilityAttributes: AccessibilityAttributes;\n\n\t/**\n\t * **Note:** The property is inherited and not supported. If set, it won't take any effect.\n\t * @default \"Button\"\n\t * @public\n\t */\n\t@property({ type: ButtonType, defaultValue: ButtonType.Button })\n\tdeclare type: `${ButtonType}`;\n\n\t/**\n\t * **Note:** The property is inherited and not supported. If set, it won't take any effect.\n\t * @default \"Button\"\n\t * @public\n\t */\n\t@property({ type: ButtonAccessibleRole, defaultValue: ButtonAccessibleRole.Button })\n\tdeclare accessibleRole: `${ButtonAccessibleRole}`;\n\n\t/**\n\t * Defines the index of the item inside of the SegmentedButton.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0 })\n\tposInSet!: number;\n\n\t/**\n\t * Defines how many items are inside of the SegmentedButton.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0 })\n\tsizeOfSet!: number;\n\n\tget ariaDescription() {\n\t\treturn SegmentedButtonItem.i18nBundle.getText(SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION);\n\t}\n}\n\nSegmentedButtonItem.define();\n\nexport default SegmentedButtonItem;\n"]}
1
+ {"version":3,"file":"SegmentedButtonItem.js","sourceRoot":"","sources":["../src/SegmentedButtonItem.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport I18nBundle, { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { isSpaceShift } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\n\nimport { SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION } from \"./generated/i18n/i18n-defaults.js\";\nimport type { ISegmentedButtonItem } from \"./SegmentedButton.js\";\nimport SegmentedButtonItemTemplate from \"./generated/templates/SegmentedButtonItemTemplate.lit.js\";\n\nimport { IButton } from \"./Button.js\";\nimport Icon from \"./Icon.js\";\n\nimport segmentedButtonItemCss from \"./generated/themes/SegmentedButtonItem.css.js\";\n/**\n * @class\n *\n * ### Overview\n *\n * Users can use the `ui5-segmented-button-item` as part of a `ui5-segmented-button`.\n *\n * Clicking or tapping on a `ui5-segmented-button-item` changes its state to `selected`.\n * The item returns to its initial state when the user clicks or taps on it again.\n * By applying additional custom CSS-styling classes, apps can give a different style to any\n * `ui5-segmented-button-item`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/SegmentedButtonItem.js\";`\n * @constructor\n * @extends UI5Element\n * @implements { ISegmentedButtonItem, IButton }\n * @public\n */\n@customElement({\n\ttag: \"ui5-segmented-button-item\",\n\trenderer: litRender,\n\ttemplate: SegmentedButtonItemTemplate,\n\tstyles: segmentedButtonItemCss,\n\tdependencies: [Icon],\n})\nclass SegmentedButtonItem extends UI5Element implements IButton, ISegmentedButtonItem {\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be selected or\n\t * focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Determines whether the component is displayed as selected.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected!: boolean;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t *\n\t * **Note:** A tooltip attribute should be provided for icon-only buttons, in order to represent their exact meaning/function.\n\t * @default \"\"\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property()\n\ttooltip!: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ defaultValue: undefined })\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component.\n\t * @default \"\"\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property({ defaultValue: \"\" })\n\taccessibleNameRef!: string;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * Example:\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Indicates if the element is focusable\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tnonInteractive!: boolean;\n\n\t/**\n\t * Defines the tabIndex of the component.\n\t * @private\n\t */\n\t@property({ type: String, defaultValue: \"0\", noAttribute: true })\n\tforcedTabIndex!: string;\n\n\t/**\n\t * Defines the index of the item inside of the SegmentedButton.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0 })\n\tposInSet!: number;\n\n\t/**\n\t * Defines how many items are inside of the SegmentedButton.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0 })\n\tsizeOfSet!: number;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\ttext!: Array<Node>;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tget ariaDescription() {\n\t\treturn SegmentedButtonItem.i18nBundle.getText(SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION);\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t_onclick() {\n\t\tthis.selected = !this.selected;\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpaceShift(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\tget isIconOnly() {\n\t\treturn !willShowContent(this.text);\n\t}\n\n\tget tabIndexValue() {\n\t\tconst tabindex = this.getAttribute(\"tabindex\");\n\n\t\tif (tabindex) {\n\t\t\treturn tabindex;\n\t\t}\n\n\t\treturn this.forcedTabIndex;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget showIconTooltip() {\n\t\treturn this.isIconOnly && !this.tooltip;\n\t}\n\n\tstatic async onDefine() {\n\t\tSegmentedButtonItem.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nSegmentedButtonItem.define();\n\nexport default SegmentedButtonItem;\n"]}
package/dist/Select.d.ts CHANGED
@@ -21,7 +21,7 @@ import type { SelectMenuOptionClick, SelectMenuChange } from "./SelectMenu.js";
21
21
  */
22
22
  interface IOption extends UI5Element {
23
23
  selected: boolean;
24
- title: string;
24
+ tooltip: string;
25
25
  icon?: string | null;
26
26
  value: string;
27
27
  additionalText?: string;
@@ -312,16 +312,16 @@ declare class Select extends UI5Element implements IFormElement {
312
312
  get hasCustomLabel(): boolean;
313
313
  _fireChangeEvent(selectedOption: IOption): void;
314
314
  get valueStateTextMappings(): {
315
- Success: string;
315
+ Positive: string;
316
316
  Information: string;
317
- Error: string;
318
- Warning: string;
317
+ Negative: string;
318
+ Critical: string;
319
319
  };
320
320
  get valueStateTypeMappings(): {
321
- Success: string;
321
+ Positive: string;
322
322
  Information: string;
323
- Error: string;
324
- Warning: string;
323
+ Negative: string;
324
+ Critical: string;
325
325
  };
326
326
  get valueStateText(): string;
327
327
  get valueStateDefaultText(): string;
package/dist/Select.js CHANGED
@@ -256,7 +256,7 @@ let Select = Select_1 = class Select extends UI5Element {
256
256
  icon: opt.icon,
257
257
  value: opt.value,
258
258
  textContent: opt.textContent,
259
- title: opt.title,
259
+ tooltip: opt.tooltip,
260
260
  additionalText: opt.additionalText,
261
261
  id: opt._id,
262
262
  stableDomRef: opt.stableDomRef,
@@ -559,18 +559,18 @@ let Select = Select_1 = class Select extends UI5Element {
559
559
  }
560
560
  get valueStateTextMappings() {
561
561
  return {
562
- [ValueState.Success]: Select_1.i18nBundle.getText(VALUE_STATE_SUCCESS),
562
+ [ValueState.Positive]: Select_1.i18nBundle.getText(VALUE_STATE_SUCCESS),
563
563
  [ValueState.Information]: Select_1.i18nBundle.getText(VALUE_STATE_INFORMATION),
564
- [ValueState.Error]: Select_1.i18nBundle.getText(VALUE_STATE_ERROR),
565
- [ValueState.Warning]: Select_1.i18nBundle.getText(VALUE_STATE_WARNING),
564
+ [ValueState.Negative]: Select_1.i18nBundle.getText(VALUE_STATE_ERROR),
565
+ [ValueState.Critical]: Select_1.i18nBundle.getText(VALUE_STATE_WARNING),
566
566
  };
567
567
  }
568
568
  get valueStateTypeMappings() {
569
569
  return {
570
- [ValueState.Success]: Select_1.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),
570
+ [ValueState.Positive]: Select_1.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),
571
571
  [ValueState.Information]: Select_1.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),
572
- [ValueState.Error]: Select_1.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),
573
- [ValueState.Warning]: Select_1.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),
572
+ [ValueState.Negative]: Select_1.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),
573
+ [ValueState.Critical]: Select_1.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),
574
574
  };
575
575
  }
576
576
  get valueStateText() {
@@ -614,9 +614,9 @@ let Select = Select_1 = class Select extends UI5Element {
614
614
  */
615
615
  get _valueStateMessageInputIcon() {
616
616
  const iconPerValueState = {
617
- Error: "error",
618
- Warning: "alert",
619
- Success: "sys-enter-2",
617
+ Negative: "error",
618
+ Critical: "alert",
619
+ Positive: "sys-enter-2",
620
620
  Information: "information",
621
621
  };
622
622
  return this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : "";
@@ -628,9 +628,9 @@ let Select = Select_1 = class Select extends UI5Element {
628
628
  return {
629
629
  popoverValueState: {
630
630
  "ui5-valuestatemessage-root": true,
631
- "ui5-valuestatemessage--success": this.valueState === ValueState.Success,
632
- "ui5-valuestatemessage--error": this.valueState === ValueState.Error,
633
- "ui5-valuestatemessage--warning": this.valueState === ValueState.Warning,
631
+ "ui5-valuestatemessage--success": this.valueState === ValueState.Positive,
632
+ "ui5-valuestatemessage--error": this.valueState === ValueState.Negative,
633
+ "ui5-valuestatemessage--warning": this.valueState === ValueState.Critical,
634
634
  "ui5-valuestatemessage--information": this.valueState === ValueState.Information,
635
635
  },
636
636
  popover: {
@@ -662,7 +662,7 @@ let Select = Select_1 = class Select extends UI5Element {
662
662
  return !this.valueStateMessageText.length && this.hasValueStateText;
663
663
  }
664
664
  get hasValueStateText() {
665
- return this.hasValueState && this.valueState !== ValueState.Success;
665
+ return this.hasValueState && this.valueState !== ValueState.Positive;
666
666
  }
667
667
  get shouldOpenValueStateMessagePopover() {
668
668
  return this.focused && this.hasValueStateText && !this._iconPressed
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["../src/Select.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,kBAAkB,MAAM,oDAAoD,CAAC;AACpF,OAAO,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,OAAO,EACP,QAAQ,EACR,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,aAAa,GACb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,YAAY,MAAM,oDAAoD,CAAC;AAC9E,OAAO,QAAQ,MAAM,uDAAuD,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAC;AACjG,OAAO,UAAU,MAAM,kDAAkD,CAAC;AAC1E,OAAO,kDAAkD,CAAC;AAC1D,OAAO,wCAAwC,CAAC;AAChD,OAAO,wCAAwC,CAAC;AAChD,OAAO,8CAA8C,CAAC;AACtD,OAAO,8CAA8C,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,0CAA0C,CAAC;AAElD,OAAO,OAAO,MAAM,+CAA+C,CAAC;AACpE,OAAO,oBAAoB,MAAM,4DAA4D,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AACvF,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACN,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,GACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,YAAY;AACZ,OAAO,cAAc,MAAM,6CAA6C,CAAC;AAEzE,SAAS;AACT,OAAO,SAAS,MAAM,kCAAkC,CAAC;AACzD,OAAO,0BAA0B,MAAM,mDAAmD,CAAC;AAC3F,OAAO,oBAAoB,MAAM,6CAA6C,CAAC;AAC/E,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AA8BvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AA8DH,IAAM,MAAM,cAAZ,MAAM,MAAO,SAAQ,UAAU;IAkM9B;QACC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,iBAAiB;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEnC,IAAI,IAAI,EAAE;YACT,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,iHAAiH;YACjH,uCAAuC;YACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;SAC1B;aAAM;YACN,IAAI,CAAC,cAAc,EAAE,CAAC;SACtB;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAEtE,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;aACrD;SACD;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,CAAC;IAED,UAAU;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,WAAW;QACV,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,aAAa;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEnC,IAAI,IAAI,EAAE;YACT,OAAO,IAAI,CAAC,IAAI,CAAC;SACjB;QAED,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;IAChE,CAAC;IAED,YAAY;QACX,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAoB,0BAA0B,CAAE,CAAC;IACvF,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAI,KAAK,CAAC,QAAgB;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAmB,CAAC;QAEzF,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC9B,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,WAAW,IAAI,EAAE,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACH,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,WAAW,CAAC,CAAqC;QAChD,MAAM,WAAW,GAAW,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;QACjD,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC;IAED,UAAU;QACT,IAAI,CAAC,UAAU,EAAE,CAAC;IACnB,CAAC;IAED,WAAW;QACV,IAAI,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC;IAED,YAAY,CAAC,CAAgC;QAC5C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;IAC9C,CAAC;IAED,iBAAiB;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEnC,IAAI,CAAC,IAAI,EAAE;YACV,OAAO;SACP;QAED,IAAI,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,KAAK,EAAE,CAAC;SACb;aAAM;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SACpC;IACF,CAAC;IAED,SAAS;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,IAAI,EAAE;YACT,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;SAChC;IACF,CAAC;IAED,kBAAkB;QACjB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;YACnC,OAAO;SACP;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,IAAI,EAAE;YACT,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO;SACP;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;SAC/B;aAAM;YACN,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACpC;IACF,CAAC;IAED,kBAAkB;QACjB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAE7C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC7B,MAAM,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAc,qBAAqB,MAAM,CAAC,YAAY,GAAG,CAAE,CAAC;QAC/H,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,cAAc;QACb,IAAI,uBAAuB,GAAG,CAAC,CAAC,EAC/B,uBAAuB,GAAG,CAAC,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC3C,IAAI,GAAG,CAAC,QAAQ,EAAE;gBACjB,uBAAuB,GAAG,KAAK,CAAC;aAChC;YACD,IAAI,uBAAuB,KAAK,CAAC,CAAC,EAAE;gBACnC,uBAAuB,GAAG,KAAK,CAAC;aAChC;YAED,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;YACrB,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;YAEpB,OAAO;gBACN,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,cAAc,EAAE,GAAG,CAAC,cAAc;gBAClC,EAAE,EAAE,GAAG,CAAC,GAAG;gBACX,YAAY,EAAE,GAAG,CAAC,YAAY;aAC9B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,uBAAuB,GAAG,CAAC,CAAC,EAAE;YACjC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YAClD,QAAQ,CAAC,uBAAuB,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;YACjD,OAAO,CAAC,uBAAuB,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YACjD,OAAO,CAAC,uBAAuB,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;YAChD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,uBAAuB,CAAC,CAAC,WAAW,CAAC;YAC3D,IAAI,CAAC,cAAc,GAAG,uBAAuB,CAAC;SAC9C;aAAM;YACN,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,QAAQ,CAAC,uBAAuB,CAAC,EAAE;gBACtC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAClD,QAAQ,CAAC,uBAAuB,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;gBACjD,OAAO,CAAC,uBAAuB,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACjD,OAAO,CAAC,uBAAuB,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;gBAChD,IAAI,CAAC,cAAc,GAAG,uBAAuB,CAAC;gBAC9C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC,WAAW,CAAC;aAC1D;SACD;QAED,IAAI,CAAC,cAAc,GAAG,QAA0B,CAAC;IAClD,CAAC;IAED,cAAc;QACb,OAAO,kBAAkB,CAAC;YACzB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,IAAI,CAAC,oBAAoB;YACpC,YAAY,EAAE,IAAI,CAAC,oBAAoB;SACvC,CAAe,CAAC;IAClB,CAAC;IAED,mBAAmB,CAAC,IAAiB;QACpC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjE,aAAa;QACb,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7D,aAAa;QACb,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC;IAED,mBAAmB,CAAC,IAAiB;QACpC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACpE,aAAa;QACb,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAChE,aAAa;QACb,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACjE,CAAC;IAED,kBAAkB;QACjB,MAAM,WAAW,GAAG,UAAU,CAAqB,aAAa,CAAC,CAAC;QAClE,IAAI,WAAW,EAAE;YAChB,WAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,OAAqB,EAAE,WAA8B,EAAE,EAAE;gBACjG,MAAM,aAAa,GAAI,OAAkB,CAAC;gBAC1C,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC1C,WAAW,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;YACzC,CAAC,CAAC,CAAC;SACH;aAAM,IAAI,IAAI,CAAC,IAAI,EAAE;YACrB,OAAO,CAAC,IAAI,CAAC,0IAA0I,CAAC,CAAC,CAAC,sBAAsB;SAChL;IACF,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjD,IAAI,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACnC,IAAI,IAAI,EAAE;gBACT,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;aACzD;iBAAM;gBACN,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;aAC/B;SACD;aAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YACrB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC1B;aAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACtB,CAAC,CAAC,cAAc,EAAE,CAAC;SACnB;aAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC3B;aAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;SACvB;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SACtB;aAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACtB,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC9B;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YAChC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;SAC/B;IACF,CAAC;IAED,yBAAyB,CAAC,CAAgB;QACzC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChC,OAAO;SACP;QAED,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAE3C,IAAI,CAAC,WAAW,IAAI,cAAc,CAAC;QAEnC,sFAAsF;QACtF,sFAAsF;QACtF,0BAA0B;QAE1B,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QAEtF,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEpC,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;YACvC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAC5B,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,gBAAgB,CAAC,IAAY;QAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAEtD,IAAI,YAAY,EAAE;YACjB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAE3D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAEzD,IAAI,YAAY,KAAK,IAAI,CAAC,cAAc,EAAE;gBACzC,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC7B;SACD;IACF,CAAC;IAED,qBAAqB,CAAC,IAAY;QACjC,IAAI,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,oBAAoB,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;QACzH,MAAM,qBAAqB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAElF,cAAc,GAAG,oBAAoB,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAEpE,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACvH,CAAC;IAED,cAAc,CAAC,CAAgB;QAC9B,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO;SACP;QAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,aAAa,CAAC,CAAgB;QAC7B,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO;SACP;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ,CAAC,CAAgB;QACxB,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,IAAI,IAAI,CAAC,aAAa,EAAE;gBACvB,IAAI,CAAC,sBAAsB,EAAE,CAAC;aAC9B;iBAAM;gBACN,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC1B;SACD;IACF,CAAC;IAED,qBAAqB,CAAC,IAAkB;QACvC,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,CAAC,KAAa;QACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEzD,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE;YAClC,IAAI,CAAC,SAAS,CAA8B,aAAa,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SAC1G;QAED,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,CAAwC;QACxD,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAC3B,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAE3D,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,cAAc,CAAC,CAAa;QAC3B,gCAAgC;QAChC,CAAC,CAAC,cAAc,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ;QACP,IAAI,CAAC,cAAc,EAAG,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,sBAAsB,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc;QACjD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,CAAC;IAED,mBAAmB;QAClB,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,EAAE,SAAS,EAAE,CAAC;YAC3D,IAAI,OAAO,EAAE;gBACZ,OAAO,CAAC,cAAc,CAAC;oBACtB,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,SAAS;iBACjB,CAAC,CAAC;aACH;SACD;IACF,CAAC;IAED,sBAAsB,CAAC,CAAgB;QACtC,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO;SACP;QAED,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;QACnB,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,SAAS,EAAE;YACd,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;SACvC;aAAM;YACN,SAAS,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAC3C;QAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAEzD,IAAI,YAAY,KAAK,IAAI,CAAC,cAAc,EAAE;YACzC,8CAA8C;YAC9C,sDAAsD;YACtD,wDAAwD;YACxD,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC3B;IACF,CAAC;IAED,mBAAmB,CAAC,QAAgB,EAAE,QAAgB;QACrD,MAAM,OAAO,GAAmB,IAAI,CAAC,aAAa,CAAC;QAEnD,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC;QAChC,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;QAE/B,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC3B,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAE1B,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAE/B,IAAI,CAAC,SAAS,CAA8B,aAAa,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,CAAC;QAE3F,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACxB,uDAAuD;YACvD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;SAClC;IACF,CAAC;IAED,mBAAmB;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,IAAI,EAAE;YACT,OAAO,IAAI,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;SAC3G;QACD,OAAO,IAAI,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IAC5G,CAAC;IAED,uBAAuB;QACtB,OAAO,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,WAAW;QACV,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,cAAc,CAAC;QACpD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACpE,CAAC;IAED,UAAU;QACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,CAAc,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,WAAW;QACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QAEpB,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC5C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC5B;aAAM,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YAChF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACnE;QACD,IAAI,CAAC,SAAS,CAAc,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,aAAa;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,IAAI,EAAE;YACT,OAAO,IAAI,CAAC,OAAO,CAAC;SACpB;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,gBAAgB,CAAC,cAAuB;QACvC,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,SAAS,CAA0B,QAAQ,EAAE,EAAE,cAAc,EAAE,EAAE,IAAI,CAAC,CAAC;QAErG,gCAAgC;QAChC,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,WAAW,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAExC,IAAI,eAAe,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAoB,CAAC,WAAW,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SAC5C;IACF,CAAC;IAED,IAAI,sBAAsB;QACzB,OAAO;YACN,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,QAAM,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACpE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,QAAM,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC;YAC5E,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,QAAM,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC;YAChE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,QAAM,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC;SACpE,CAAC;IACH,CAAC;IAED,IAAI,sBAAsB;QACzB,OAAO;YACN,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,QAAM,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC;YACzE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,QAAM,CAAC,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC;YACjF,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,QAAM,CAAC,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC;YACrE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,QAAM,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC;SACzE,CAAC;IACH,CAAC;IAED,IAAI,cAAc;QACjB,IAAI,cAAc,CAAC;QAEnB,IAAI,IAAI,CAAC,qCAAqC,EAAE;YAC/C,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC;SAC5C;aAAM;YACN,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChF;QAED,OAAO,GAAG,IAAI,CAAC,kBAAkB,IAAI,cAAc,EAAE,CAAC;IACvD,CAAC;IAED,IAAI,qBAAqB;QACxB,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChG,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChG,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,CAAC;IAC5C,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC;IACnC,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,QAAM,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,wBAAwB;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,IAAI,CAAC,QAAQ;eACjB,CAAC,IAAI,CAAC,iBAAiB,CAAC,8DAA8D;mBACtF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9C,CAAC;IAEA;;MAEE;IACH,IAAI,2BAA2B;QAC9B,MAAM,iBAAiB,GAAG;YACzB,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,aAAa;SAC1B,CAAC;QAEF,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,OAAO;QACV,OAAO;YACN,iBAAiB,EAAE;gBAClB,4BAA4B,EAAE,IAAI;gBAClC,gCAAgC,EAAE,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,OAAO;gBACxE,8BAA8B,EAAE,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,KAAK;gBACpE,gCAAgC,EAAE,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,OAAO;gBACxE,oCAAoC,EAAE,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,WAAW;aAChF;YACD,OAAO,EAAE;gBACR,+BAA+B,EAAE,IAAI,CAAC,aAAa;aACnD;SACD,CAAC;IACH,CAAC;IAED,IAAI,MAAM;QACT,OAAO;YACN,aAAa,EAAE;gBACd,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI;aACpC;YACD,uBAAuB,EAAE;gBACxB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc;gBACjF,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI;aACxE;YACD,iBAAiB,EAAE;gBAClB,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI;aACpC;SACD,CAAC;IACH,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,qBAAqB;QACxB,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,qCAAqC;QACxC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC;IACrE,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,OAAO,CAAC;IACrE,CAAC;IAED,IAAI,kCAAkC;QACrC,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,YAAY;eAC/D,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC3C,CAAC;IAED,IAAI,oBAAoB;QACvB,OAAO,QAAM,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,OAAO,EAAE,CAAC;IAClB,CAAC;IAED,qBAAqB;QACpB,IAAI,IAAI,CAAC;QACT,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAC/C,MAAM,gBAAgB,GAAG,QAAM,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;QAE9G,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAClD,IAAI,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,WAAqB,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAE9G,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;SAC5C;IACF,CAAC;IAED,qBAAqB;QACpB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,EAAa,CAAC;QACvD,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACpC;IACF,CAAC;IAED,sBAAsB;QACrB,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IAC1D,CAAC;IAED,uBAAuB,CAAC,IAAa;QACpC,IAAI,IAAI,EAAE;YACT,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC7B;aAAM;YACN,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC9B;IACF,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;IACxD,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAU,eAAe,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ;QACpB,QAAM,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC/D,CAAC;CACD,CAAA;AAt5BA;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;oCACV;AAU5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCACT;AAgBnB;IADC,QAAQ,EAAE;oCACG;AAQd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;0CACjC;AAS7B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCACT;AAYnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCACT;AASnB;IADC,QAAQ,EAAE;8CACa;AASxB;IADC,QAAQ,EAAE;iDACgB;AAM3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;qCACxB;AAMtB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;4CACxB;AAMvB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sCACX;AAMjB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;0CACjD;AAMpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uCACV;AAMlB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;8CAC9C;AAwBxB;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;uCACnD;AAQzB;IADC,IAAI,EAAE;2CAC0B;AAejC;IADC,IAAI,EAAE;iDACgC;AAevC;IADC,IAAI,EAAE;qCACoB;AAxLtB,MAAM;IA7DX,aAAa,CAAC;QACd,GAAG,EAAE,YAAY;QACjB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,cAAc;QACxB,MAAM,EAAE;YACP,SAAS;YACT,0BAA0B;YAC1B,oBAAoB;YACpB,gBAAgB;SAChB;QACD,YAAY,EAAE;YACb,MAAM;YACN,KAAK;YACL,iBAAiB;YACjB,OAAO;YACP,IAAI;YACJ,gBAAgB;YAChB,IAAI;YACJ,MAAM;SACN;KACD,CAAC;IACF;;;;;OAKG;;IACF,KAAK,CAA0B,QAAQ,EAAE;QACzC,MAAM,EAAE;YACP;;cAEE;YACF,cAAc,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SACrC;KACD,CAAC;IACF;;;;;;OAMG;;IACF,KAAK,CAA8B,aAAa,EAAE;QAClD,MAAM,EAAE;YACP;;cAEE;YACF,cAAc,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SACrC;KACD,CAAC;IACF;;;OAGG;;IACF,KAAK,CAAC,MAAM,CAAC;IACd;;;OAGG;;IACF,KAAK,CAAC,OAAO,CAAC;GACT,MAAM,CAm6BX;AAED,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,eAAe,MAAM,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport connectToComponent from \"@ui5/webcomponents-base/dist/connectToComponent.js\";\nimport {\n\tisSpace,\n\tisUp,\n\tisDown,\n\tisEnter,\n\tisEscape,\n\tisHome,\n\tisEnd,\n\tisShow,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport type { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport List from \"./List.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport {\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_TYPE_SUCCESS,\n\tVALUE_STATE_TYPE_INFORMATION,\n\tVALUE_STATE_TYPE_ERROR,\n\tVALUE_STATE_TYPE_WARNING,\n\tINPUT_SUGGESTIONS_TITLE,\n\tLIST_ITEM_POSITION,\n\tSELECT_ROLE_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Option from \"./Option.js\";\nimport Label from \"./Label.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport Popover from \"./Popover.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\n\n// Templates\nimport SelectTemplate from \"./generated/templates/SelectTemplate.lit.js\";\n\n// Styles\nimport selectCss from \"./generated/themes/Select.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport SelectPopoverCss from \"./generated/themes/SelectPopover.css.js\";\nimport type FormSupport from \"./features/InputElementsFormSupport.js\";\nimport type { IFormElement, NativeFormElement } from \"./features/InputElementsFormSupport.js\";\nimport type ListItemBase from \"./ListItemBase.js\";\nimport type SelectMenu from \"./SelectMenu.js\";\nimport type { SelectMenuOptionClick, SelectMenuChange } from \"./SelectMenu.js\";\n\n/**\n * Interface for components that may be slotted inside `ui5-select` as options\n * @public\n */\ninterface IOption extends UI5Element {\n\tselected: boolean,\n\ttitle: string,\n\ticon?: string | null,\n\tvalue: string,\n\tadditionalText?: string,\n\tfocused?: boolean,\n\ttext?: Array<Node>,\n\tstableDomRef: string,\n\tdisplayText?: string,\n}\n\ntype SelectChangeEventDetail = {\n\tselectedOption: IOption,\n}\ntype SelectLiveChangeEventDetail = {\n\tselectedOption: IOption,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-select` component is used to create a drop-down list.\n *\n * ### Usage\n *\n * There are two main usages of the `ui5-select>`.\n *\n * 1. With Option (`ui5-option`) web component:\n *\n * The available options of the Select are defined by using the Option component.\n * The Option comes with predefined design and layout, including `icon`, `text` and `additional-text`.\n *\n * 2. With SelectMenu (`ui5-select-menu`) and SelectMenuOption (`ui5-select-menu-option`) web components:\n *\n * The SelectMenu can be used as alternative to define the Select's dropdown\n * and can be used via the `menu` property of the Select to reference SelectMenu by its ID.\n * The component gives the possibility to customize the Select's dropdown\n * by slotting entirely custom options (via the SelectMenuOption component) and adding custom styles.\n *\n * **Note:** SelectMenu is a popover and placing it top-level in the HTML page is recommended,\n * because some page styles (for example transitions) can misplace the SelectMenu.\n *\n * ### Keyboard Handling\n * The `ui5-select` provides advanced keyboard handling.\n *\n * - [F4] / [Alt] + [Up] / [Alt] + [Down] / [Space] or [Enter] - Opens/closes the drop-down.\n * - [Up] or [Down] - If the drop-down is closed - changes selection to the next or the previous option. If the drop-down is opened - moves focus to the next or the previous option.\n * - [Space], [Enter] - If the drop-down is opened - selects the focused option.\n * - [Escape] - Closes the drop-down without changing the selection.\n * - [Home] - Navigates to first option\n * - [End] - Navigates to the last option\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/Select\";`\n *\n * `import \"@ui5/webcomponents/dist/Option\";` (comes with `ui5-select`)\n * @constructor\n * @extends UI5Element\n * @public\n * @since 0.8.0\n */\n@customElement({\n\ttag: \"ui5-select\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: SelectTemplate,\n\tstyles: [\n\t\tselectCss,\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t\tSelectPopoverCss,\n\t],\n\tdependencies: [\n\t\tOption,\n\t\tLabel,\n\t\tResponsivePopover,\n\t\tPopover,\n\t\tList,\n\t\tStandardListItem,\n\t\tIcon,\n\t\tButton,\n\t],\n})\n/**\n * Fired when the selected option changes.\n * @allowPreventDefault\n * @param {IOption} selectedOption the selected option.\n * @public\n */\n@event<SelectChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\tselectedOption: { type: HTMLElement },\n\t},\n})\n/**\n * Fired when the user navigates through the options, but the selection is not finalized,\n * or when pressing the ESC key to revert the current selection.\n * @param {IOption} selectedOption the selected option.\n * @public\n * @since 1.17.0\n */\n@event<SelectLiveChangeEventDetail>(\"live-change\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\tselectedOption: { type: HTMLElement },\n\t},\n})\n/**\n * Fired after the component's dropdown menu opens.\n * @public\n */\n@event(\"open\")\n/**\n * Fired after the component's dropdown menu closes.\n * @public\n */\n@event(\"close\")\nclass Select extends UI5Element implements IFormElement {\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * Defines a reference (ID or DOM element) of component's menu of options\n\t * as alternative to define the select's dropdown.\n\t *\n\t * **Note:** Usage of `ui5-select-menu` is recommended.\n\t * @default undefined\n\t * @public\n\t * @since 1.17.0\n\t */\n\t@property({ validator: DOMReference })\n\tmenu?: HTMLElement | string;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Determines the name with which the component will be submitted in an HTML form.\n\t * The value of the component will be the value of the currently selected `ui5-option`.\n\t *\n\t * **Important:** For the `name` property to have effect, you must add the following import to your project:\n\t * `import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`\n\t *\n\t * **Note:** When set, a native `input` HTML element\n\t * will be created inside the `ui5-select` so that it can be submitted as\n\t * part of an HTML form. Do not use this property unless you need to submit a form.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t/**\n\t * Defines whether the component is required.\n\t * @since 1.0.0-rc.9\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired!: boolean;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t *\n\t * **Note:** A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t * @default false\n\t * @since 1.21.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @since 1.0.0-rc.9\n\t * @public\n\t * @default \"\"\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the select.\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: String, noAttribute: true })\n\t_text?: string | null;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_iconPressed!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\topened!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\t_listWidth!: number;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: -1, noAttribute: true })\n\t_selectedIndex!: number;\n\n\t_syncedOptions: Array<IOption>;\n\t_selectedIndexBeforeOpen: number;\n\t_escapePressed: boolean;\n\t_lastSelectedOption: IOption | null;\n\t_typedChars: string;\n\t_typingTimeoutID?: Timeout | number;\n\tresponsivePopover!: ResponsivePopover;\n\tselectedItem?: string | null;\n\tvalueStatePopover?: Popover;\n\n\tselectMenu?: SelectMenu;\n\n\t/**\n\t * Defines the component options.\n\t *\n\t * **Note:** Only one selected option is allowed.\n\t * If more than one option is defined as selected, the last one would be considered as the selected one.\n\t *\n\t * **Note:** Use the `ui5-option` component to define the desired options.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\toptions!: Array<IOption>;\n\n\t/**\n\t * The slot is used to render native `input` HTML element within Light DOM to enable form submit,\n\t * when `name` property is set.\n\t * @private\n\t */\n\t@slot()\n\tformSupport!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the component is in `Information`, `Warning` or `Error` value state.\n\t *\n\t * **Note:** If the component has `suggestionItems`,\n\t * the `valueStateMessage` would be displayed as part of the same popover, if used on desktop, or dialog - on phone.\n\t * @public\n\t*/\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the HTML element that will be displayed in the component input part,\n\t * representing the selected option.\n\t *\n\t * **Note:** If not specified and `ui5-select-menu-option` is used,\n\t * either the option's `display-text` or its textContent will be displayed.\n\t *\n\t * **Note:** If not specified and `ui5-option` is used,\n\t * the option's textContent will be displayed.\n\t * @public\n\t * @since 1.17.0\n\t*/\n\t@slot()\n\tlabel!: Array<HTMLElement>;\n\n\t_onMenuClick: (e: CustomEvent<SelectMenuOptionClick>) => void;\n\t_onMenuClose: () => void;\n\t_onMenuOpen: () => void;\n\t_onMenuBeforeOpen: () => void;\n\t_onMenuChange: (e: CustomEvent<SelectMenuChange>) => void;\n\t_attachMenuListeners: (menu: HTMLElement) => void;\n\t_detachMenuListeners: (menu: HTMLElement) => void;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._syncedOptions = [];\n\t\tthis._selectedIndexBeforeOpen = -1;\n\t\tthis._escapePressed = false;\n\t\tthis._lastSelectedOption = null;\n\t\tthis._typedChars = \"\";\n\n\t\tthis._onMenuClick = this.onMenuClick.bind(this);\n\t\tthis._onMenuClose = this.onMenuClose.bind(this);\n\t\tthis._onMenuOpen = this.onMenuOpen.bind(this);\n\t\tthis._onMenuBeforeOpen = this.onMenuBeforeOpen.bind(this);\n\t\tthis._onMenuChange = this.onMenuChange.bind(this);\n\t\tthis._attachMenuListeners = this.attachMenuListeners.bind(this);\n\t\tthis._detachMenuListeners = this.detachMenuListeners.bind(this);\n\n\t\tthis._upgradeProperty(\"value\");\n\t}\n\n\tonBeforeRendering() {\n\t\tconst menu = this._getSelectMenu();\n\n\t\tif (menu) {\n\t\t\tmenu.value = this.value;\n\t\t\t// To cause invalidation when the menu is used for another Select that could have the same value as the previous.\n\t\t\t// Otherwise, the menu won't re-render.\n\t\t\tmenu.selectId = this.__id;\n\t\t} else {\n\t\t\tthis._syncSelection();\n\t\t}\n\n\t\tthis._enableFormSupport();\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\t}\n\n\tonAfterRendering() {\n\t\tthis.toggleValueStatePopover(this.shouldOpenValueStateMessagePopover);\n\n\t\tif (this._isPickerOpen) {\n\t\t\tif (!this._listWidth) {\n\t\t\t\tthis._listWidth = this.responsivePopover.offsetWidth;\n\t\t\t}\n\t\t}\n\n\t\tthis._attachRealDomRefs();\n\t}\n\n\t_onfocusin() {\n\t\tthis.focused = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\tget _isPickerOpen() {\n\t\tconst menu = this._getSelectMenu();\n\n\t\tif (menu) {\n\t\t\treturn menu.open;\n\t\t}\n\n\t\treturn !!this.responsivePopover && this.responsivePopover.open;\n\t}\n\n\t_respPopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\t/**\n\t * Defines the value of the component:\n\t *\n\t * - when get - returns the value of the component, e.g. the `value` property of the selected option or its text content.\n\t *\n\t * - when set - selects the option with matching `value` property or text content.\n\t *\n\t * **Note:** If the given value does not match any existing option,\n\t * the first option will get selected.\n\t * @public\n\t * @default \"\"\n\t * @since 1.20.0\n\t * @formProperty\n\t * @formEvents change liveChange\n\t */\n\tset value(newValue: string) {\n\t\tconst menu = this._getSelectMenu();\n\t\tconst selectOptions = Array.from(menu ? menu.children : this.children) as Array<IOption>;\n\n\t\tselectOptions.forEach(option => {\n\t\t\toption.selected = !!((option.getAttribute(\"value\") || option.textContent) === newValue);\n\t\t});\n\t}\n\n\tget value(): string {\n\t\treturn this.selectedOption?.value || this.selectedOption?.textContent || \"\";\n\t}\n\n\t/**\n\t * Currently selected `ui5-option` element.\n\t * @public\n\t * @default undefined\n\t */\n\tget selectedOption(): IOption | undefined {\n\t\treturn this.selectOptions.find(option => option.selected);\n\t}\n\n\tonMenuClick(e: CustomEvent<SelectMenuOptionClick>) {\n\t\tconst optionIndex: number = e.detail.optionIndex;\n\t\tthis._handleSelectionChange(optionIndex);\n\t}\n\n\tonMenuBeforeOpen() {\n\t\tthis._beforeOpen();\n\t}\n\n\tonMenuOpen() {\n\t\tthis._afterOpen();\n\t}\n\n\tonMenuClose() {\n\t\tthis._afterClose();\n\t}\n\n\tonMenuChange(e: CustomEvent<SelectMenuChange>) {\n\t\tthis._text = e.detail.text;\n\t\tthis._selectedIndex = e.detail.selectedIndex;\n\t}\n\n\t_toggleSelectMenu() {\n\t\tconst menu = this._getSelectMenu();\n\n\t\tif (!menu) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (menu.open) {\n\t\t\tmenu.close();\n\t\t} else {\n\t\t\tmenu.showAt(this, this.offsetWidth);\n\t\t}\n\t}\n\n\tonExitDOM(): void {\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\tthis._detachMenuListeners(menu);\n\t\t}\n\t}\n\n\t_toggleRespPopover() {\n\t\tif (this.disabled || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._iconPressed = true;\n\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\tthis._toggleSelectMenu();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.responsivePopover = this._respPopover();\n\t\tif (this._isPickerOpen) {\n\t\t\tthis.responsivePopover.close();\n\t\t} else {\n\t\t\tthis.responsivePopover.showAt(this);\n\t\t}\n\t}\n\n\t_attachRealDomRefs() {\n\t\tthis.responsivePopover = this._respPopover();\n\n\t\tthis.options.forEach(option => {\n\t\t\toption._getRealDomRef = () => this.responsivePopover.querySelector<HTMLElement>(`*[data-ui5-stable=${option.stableDomRef}]`)!;\n\t\t});\n\t}\n\n\t_syncSelection() {\n\t\tlet lastSelectedOptionIndex = -1,\n\t\t\tfirstEnabledOptionIndex = -1;\n\t\tconst options = this.options;\n\t\tconst syncOpts = options.map((opt, index) => {\n\t\t\tif (opt.selected) {\n\t\t\t\tlastSelectedOptionIndex = index;\n\t\t\t}\n\t\t\tif (firstEnabledOptionIndex === -1) {\n\t\t\t\tfirstEnabledOptionIndex = index;\n\t\t\t}\n\n\t\t\topt.selected = false;\n\t\t\topt.focused = false;\n\n\t\t\treturn {\n\t\t\t\tselected: false,\n\t\t\t\tfocused: false,\n\t\t\t\ticon: opt.icon,\n\t\t\t\tvalue: opt.value,\n\t\t\t\ttextContent: opt.textContent,\n\t\t\t\ttitle: opt.title,\n\t\t\t\tadditionalText: opt.additionalText,\n\t\t\t\tid: opt._id,\n\t\t\t\tstableDomRef: opt.stableDomRef,\n\t\t\t};\n\t\t});\n\n\t\tif (lastSelectedOptionIndex > -1) {\n\t\t\tsyncOpts[lastSelectedOptionIndex].selected = true;\n\t\t\tsyncOpts[lastSelectedOptionIndex].focused = true;\n\t\t\toptions[lastSelectedOptionIndex].selected = true;\n\t\t\toptions[lastSelectedOptionIndex].focused = true;\n\t\t\tthis._text = syncOpts[lastSelectedOptionIndex].textContent;\n\t\t\tthis._selectedIndex = lastSelectedOptionIndex;\n\t\t} else {\n\t\t\tthis._text = \"\";\n\t\t\tthis._selectedIndex = -1;\n\t\t\tif (syncOpts[firstEnabledOptionIndex]) {\n\t\t\t\tsyncOpts[firstEnabledOptionIndex].selected = true;\n\t\t\t\tsyncOpts[firstEnabledOptionIndex].focused = true;\n\t\t\t\toptions[firstEnabledOptionIndex].selected = true;\n\t\t\t\toptions[firstEnabledOptionIndex].focused = true;\n\t\t\t\tthis._selectedIndex = firstEnabledOptionIndex;\n\t\t\t\tthis._text = options[firstEnabledOptionIndex].textContent;\n\t\t\t}\n\t\t}\n\n\t\tthis._syncedOptions = syncOpts as Array<IOption>;\n\t}\n\n\t_getSelectMenu(): SelectMenu | undefined {\n\t\treturn connectToComponent({\n\t\t\thost: this,\n\t\t\tpropName: \"menu\",\n\t\t\tonConnect: this._attachMenuListeners,\n\t\t\tonDisconnect: this._detachMenuListeners,\n\t\t}) as SelectMenu;\n\t}\n\n\tattachMenuListeners(menu: HTMLElement) {\n\t\tmenu.addEventListener(\"ui5-after-close\", this._onMenuClose);\n\t\tmenu.addEventListener(\"ui5-after-open\", this._onMenuOpen);\n\t\tmenu.addEventListener(\"ui5-before-open\", this._onMenuBeforeOpen);\n\t\t// @ts-ignore\n\t\tmenu.addEventListener(\"ui5-option-click\", this._onMenuClick);\n\t\t// @ts-ignore\n\t\tmenu.addEventListener(\"ui5-menu-change\", this._onMenuChange);\n\t}\n\n\tdetachMenuListeners(menu: HTMLElement) {\n\t\tmenu.removeEventListener(\"ui5-after-close\", this._onMenuClose);\n\t\tmenu.removeEventListener(\"ui5-after-open\", this._onMenuOpen);\n\t\tmenu.removeEventListener(\"ui5-before-open\", this._onMenuBeforeOpen);\n\t\t// @ts-ignore\n\t\tmenu.removeEventListener(\"ui5-option-click\", this._onMenuClick);\n\t\t// @ts-ignore\n\t\tmenu.removeEventListener(\"ui5-menu-change\", this._onMenuChange);\n\t}\n\n\t_enableFormSupport() {\n\t\tconst formSupport = getFeature<typeof FormSupport>(\"FormSupport\");\n\t\tif (formSupport) {\n\t\t\tformSupport.syncNativeHiddenInput(this, (element: IFormElement, nativeInput: NativeFormElement) => {\n\t\t\t\tconst selectElement = (element as Select);\n\t\t\t\tnativeInput.disabled = !!element.disabled;\n\t\t\t\tnativeInput.value = selectElement.value;\n\t\t\t});\n\t\t} else if (this.name) {\n\t\t\tconsole.warn(`In order for the \"name\" property to have effect, you should also: import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`); // eslint-disable-line\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isTab = (isTabNext(e) || isTabPrevious(e));\n\n\t\tif (isTab && this._isPickerOpen) {\n\t\t\tconst menu = this._getSelectMenu();\n\t\t\tif (menu) {\n\t\t\t\tmenu.close(false, false, true /* preventFocusRestore */);\n\t\t\t} else {\n\t\t\t\tthis.responsivePopover.close();\n\t\t\t}\n\t\t} else if (isShow(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._toggleRespPopover();\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t} else if (isEscape(e) && this._isPickerOpen) {\n\t\t\tthis._escapePressed = true;\n\t\t} else if (isHome(e)) {\n\t\t\tthis._handleHomeKey(e);\n\t\t} else if (isEnd(e)) {\n\t\t\tthis._handleEndKey(e);\n\t\t} else if (isEnter(e)) {\n\t\t\tthis._handleSelectionChange();\n\t\t} else if (isUp(e) || isDown(e)) {\n\t\t\tthis._handleArrowNavigation(e);\n\t\t}\n\t}\n\n\t_handleKeyboardNavigation(e: KeyboardEvent) {\n\t\tif (isEnter(e) || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst typedCharacter = e.key.toLowerCase();\n\n\t\tthis._typedChars += typedCharacter;\n\n\t\t// We check if we have more than one characters and they are all duplicate, we set the\n\t\t// text to be the last input character (typedCharacter). If not, we set the text to be\n\t\t// the whole input string.\n\n\t\tconst text = (/^(.)\\1+$/i).test(this._typedChars) ? typedCharacter : this._typedChars;\n\n\t\tclearTimeout(this._typingTimeoutID);\n\n\t\tthis._typingTimeoutID = setTimeout(() => {\n\t\t\tthis._typedChars = \"\";\n\t\t\tthis._typingTimeoutID = -1;\n\t\t}, 1000);\n\n\t\tthis._selectTypedItem(text);\n\t}\n\n\t_selectTypedItem(text: string) {\n\t\tconst currentIndex = this._selectedIndex;\n\t\tconst itemToSelect = this._searchNextItemByText(text);\n\n\t\tif (itemToSelect) {\n\t\t\tconst nextIndex = this.selectOptions.indexOf(itemToSelect);\n\n\t\t\tthis._changeSelectedItem(this._selectedIndex, nextIndex);\n\n\t\t\tif (currentIndex !== this._selectedIndex) {\n\t\t\t\tthis.itemSelectionAnnounce();\n\t\t\t}\n\t\t}\n\t}\n\n\t_searchNextItemByText(text: string) {\n\t\tlet orderedOptions = this.selectOptions.slice(0);\n\t\tconst optionsAfterSelected = orderedOptions.splice(this._selectedIndex + 1, orderedOptions.length - this._selectedIndex);\n\t\tconst optionsBeforeSelected = orderedOptions.splice(0, orderedOptions.length - 1);\n\n\t\torderedOptions = optionsAfterSelected.concat(optionsBeforeSelected);\n\n\t\treturn orderedOptions.find(option => (option.displayText || option.textContent || \"\").toLowerCase().startsWith(text));\n\t}\n\n\t_handleHomeKey(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._changeSelectedItem(this._selectedIndex, 0);\n\t}\n\n\t_handleEndKey(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst lastIndex = this.selectOptions.length - 1;\n\t\tthis._changeSelectedItem(this._selectedIndex, lastIndex);\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tif (this._isPickerOpen) {\n\t\t\t\tthis._handleSelectionChange();\n\t\t\t} else {\n\t\t\t\tthis._toggleRespPopover();\n\t\t\t}\n\t\t}\n\t}\n\n\t_getSelectedItemIndex(item: ListItemBase) {\n\t\treturn this.selectOptions.findIndex(option => `${option._id}-li` === item.id);\n\t}\n\n\t_select(index: number) {\n\t\tthis.selectOptions[this._selectedIndex].selected = false;\n\n\t\tif (this._selectedIndex !== index) {\n\t\t\tthis.fireEvent<SelectLiveChangeEventDetail>(\"live-change\", { selectedOption: this.selectOptions[index] });\n\t\t}\n\n\t\tthis._selectedIndex = index;\n\t\tthis.selectOptions[index].selected = true;\n\t}\n\n\t/**\n\t * The user clicked on an item from the list\n\t * @private\n\t */\n\t_handleItemPress(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item;\n\t\tconst selectedItemIndex = this._getSelectedItemIndex(item);\n\n\t\tthis._handleSelectionChange(selectedItemIndex);\n\t}\n\n\t_itemMousedown(e: MouseEvent) {\n\t\t// prevent actual focus of items\n\t\te.preventDefault();\n\t}\n\n\t_onclick() {\n\t\tthis.getFocusDomRef()!.focus();\n\t\tthis._toggleRespPopover();\n\t}\n\n\t/**\n\t * The user selected an item with Enter or Space\n\t * @private\n\t */\n\t_handleSelectionChange(index = this._selectedIndex) {\n\t\tthis._select(index);\n\n\t\tthis._toggleRespPopover();\n\t}\n\n\t_scrollSelectedItem() {\n\t\tif (this._isPickerOpen) {\n\t\t\tconst itemRef = this._currentlySelectedOption?.getDomRef();\n\t\t\tif (itemRef) {\n\t\t\t\titemRef.scrollIntoView({\n\t\t\t\t\tbehavior: \"auto\",\n\t\t\t\t\tblock: \"nearest\",\n\t\t\t\t\tinline: \"nearest\",\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleArrowNavigation(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet nextIndex = -1;\n\t\tconst currentIndex = this._selectedIndex;\n\t\tconst isDownKey = isDown(e);\n\n\t\tif (isDownKey) {\n\t\t\tnextIndex = this._getNextOptionIndex();\n\t\t} else {\n\t\t\tnextIndex = this._getPreviousOptionIndex();\n\t\t}\n\n\t\tthis._changeSelectedItem(this._selectedIndex, nextIndex);\n\n\t\tif (currentIndex !== this._selectedIndex) {\n\t\t\t// Announce new item even if picker is opened.\n\t\t\t// The aria-activedescendents attribute can't be used,\n\t\t\t// because listitem elements are in different shadow dom\n\t\t\tthis.itemSelectionAnnounce();\n\t\t\tthis._scrollSelectedItem();\n\t\t}\n\t}\n\n\t_changeSelectedItem(oldIndex: number, newIndex: number) {\n\t\tconst options: Array<IOption> = this.selectOptions;\n\n\t\tconst previousOption = options[oldIndex];\n\t\tpreviousOption.selected = false;\n\t\tpreviousOption.focused = false;\n\n\t\tconst nextOption = options[newIndex];\n\t\tnextOption.selected = true;\n\t\tnextOption.focused = true;\n\n\t\tthis._selectedIndex = newIndex;\n\n\t\tthis.fireEvent<SelectLiveChangeEventDetail>(\"live-change\", { selectedOption: nextOption });\n\n\t\tif (!this._isPickerOpen) {\n\t\t\t// arrow pressed on closed picker - do selection change\n\t\t\tthis._fireChangeEvent(nextOption);\n\t\t}\n\t}\n\n\t_getNextOptionIndex() {\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\treturn this._selectedIndex === (menu.options.length - 1) ? this._selectedIndex : (this._selectedIndex + 1);\n\t\t}\n\t\treturn this._selectedIndex === (this.options.length - 1) ? this._selectedIndex : (this._selectedIndex + 1);\n\t}\n\n\t_getPreviousOptionIndex() {\n\t\treturn this._selectedIndex === 0 ? this._selectedIndex : (this._selectedIndex - 1);\n\t}\n\n\t_beforeOpen() {\n\t\tthis._selectedIndexBeforeOpen = this._selectedIndex;\n\t\tthis._lastSelectedOption = this.selectOptions[this._selectedIndex];\n\t}\n\n\t_afterOpen() {\n\t\tthis.opened = true;\n\t\tthis.fireEvent<CustomEvent>(\"open\");\n\t\tthis.itemSelectionAnnounce();\n\t\tthis._scrollSelectedItem();\n\t}\n\n\t_afterClose() {\n\t\tthis.opened = false;\n\t\tthis._iconPressed = false;\n\t\tthis._listWidth = 0;\n\n\t\tif (this._escapePressed) {\n\t\t\tthis._select(this._selectedIndexBeforeOpen);\n\t\t\tthis._escapePressed = false;\n\t\t} else if (this._lastSelectedOption !== this.selectOptions[this._selectedIndex]) {\n\t\t\tthis._fireChangeEvent(this.selectOptions[this._selectedIndex]);\n\t\t\tthis._lastSelectedOption = this.selectOptions[this._selectedIndex];\n\t\t}\n\t\tthis.fireEvent<CustomEvent>(\"close\");\n\t}\n\n\tget selectOptions(): Array<IOption> {\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\treturn menu.options;\n\t\t}\n\t\treturn this.options;\n\t}\n\n\tget hasCustomLabel() {\n\t\treturn !!this.label.length;\n\t}\n\n\t_fireChangeEvent(selectedOption: IOption) {\n\t\tconst changePrevented = !this.fireEvent<SelectChangeEventDetail>(\"change\", { selectedOption }, true);\n\n\t\t// Angular two way data binding\n\t\tthis.selectedItem = selectedOption.textContent;\n\t\tthis.fireEvent(\"selected-item-changed\");\n\n\t\tif (changePrevented) {\n\t\t\tthis.selectedItem = this._lastSelectedOption!.textContent;\n\t\t\tthis._select(this._selectedIndexBeforeOpen);\n\t\t}\n\t}\n\n\tget valueStateTextMappings() {\n\t\treturn {\n\t\t\t[ValueState.Success]: Select.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t[ValueState.Information]: Select.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t\t[ValueState.Error]: Select.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t[ValueState.Warning]: Select.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateTypeMappings() {\n\t\treturn {\n\t\t\t[ValueState.Success]: Select.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n\t\t\t[ValueState.Information]: Select.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),\n\t\t\t[ValueState.Error]: Select.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t[ValueState.Warning]: Select.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateText() {\n\t\tlet valueStateText;\n\n\t\tif (this.shouldDisplayDefaultValueStateMessage) {\n\t\t\tvalueStateText = this.valueStateDefaultText;\n\t\t} else {\n\t\t\tvalueStateText = this.valueStateMessageText.map(el => el.textContent).join(\" \");\n\t\t}\n\n\t\treturn `${this.valueStateTypeText} ${valueStateText}`;\n\t}\n\n\tget valueStateDefaultText() {\n\t\treturn this.valueState !== ValueState.None ? this.valueStateTextMappings[this.valueState] : \"\";\n\t}\n\n\tget valueStateTypeText() {\n\t\treturn this.valueState !== ValueState.None ? this.valueStateTypeMappings[this.valueState] : \"\";\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget valueStateTextId() {\n\t\treturn this.hasValueState ? `${this._id}-valueStateDesc` : undefined;\n\t}\n\n\tget isDisabled() {\n\t\treturn this.disabled || undefined;\n\t}\n\n\tget _headerTitleText() {\n\t\treturn Select.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget _currentlySelectedOption() {\n\t\treturn this.selectOptions[this._selectedIndex];\n\t}\n\n\tget _effectiveTabIndex() {\n\t\treturn this.disabled\n\t\t|| (this.responsivePopover // Handles focus on Tab/Shift + Tab when the popover is opened\n\t\t&& this.responsivePopover.open) ? \"-1\" : \"0\";\n\t}\n\n\t /**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateMessageInputIcon() {\n\t\tconst iconPerValueState = {\n\t\t\tError: \"error\",\n\t\t\tWarning: \"alert\",\n\t\t\tSuccess: \"sys-enter-2\",\n\t\t\tInformation: \"information\",\n\t\t};\n\n\t\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n\t}\n\n\tget iconsCount(): number {\n\t\treturn this.selectedOptionIcon ? 2 : 1;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tpopoverValueState: {\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Success,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Error,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Warning,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\t\"ui5-select-popover-valuestate\": this.hasValueState,\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tpopoverHeader: {\n\t\t\t\t\"max-width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t\tresponsivePopoverHeader: {\n\t\t\t\t\"display\": this.options.length && this._listWidth === 0 ? \"none\" : \"inline-block\",\n\t\t\t\t\"width\": `${this.options.length ? this._listWidth : this.offsetWidth}px`,\n\t\t\t},\n\t\t\tresponsivePopover: {\n\t\t\t\t\"min-width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget valueStateMessageText() {\n\t\treturn this.getSlottedNodes(\"valueStateMessage\").map(el => el.cloneNode(true));\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage() {\n\t\treturn !this.valueStateMessageText.length && this.hasValueStateText;\n\t}\n\n\tget hasValueStateText() {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Success;\n\t}\n\n\tget shouldOpenValueStateMessagePopover() {\n\t\treturn this.focused && this.hasValueStateText && !this._iconPressed\n\t\t\t&& !this._isPickerOpen && !this._isPhone;\n\t}\n\n\tget _ariaRoleDescription() {\n\t\treturn Select.i18nBundle.getText(SELECT_ROLE_DESCRIPTION);\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\titemSelectionAnnounce() {\n\t\tlet text;\n\t\tconst optionsCount = this.selectOptions.length;\n\t\tconst itemPositionText = Select.i18nBundle.getText(LIST_ITEM_POSITION, this._selectedIndex + 1, optionsCount);\n\n\t\tif (this.focused && this._currentlySelectedOption) {\n\t\t\ttext = `${this._currentlySelectedOption.textContent as string} ${this._isPickerOpen ? itemPositionText : \"\"}`;\n\n\t\t\tannounce(text, InvisibleMessageMode.Polite);\n\t\t}\n\t}\n\n\topenValueStatePopover() {\n\t\tthis.valueStatePopover = this._getPopover() as Popover;\n\t\tif (this.valueStatePopover) {\n\t\t\tthis.valueStatePopover.showAt(this);\n\t\t}\n\t}\n\n\tcloseValueStatePopover() {\n\t\tthis.valueStatePopover && this.valueStatePopover.close();\n\t}\n\n\ttoggleValueStatePopover(open: boolean) {\n\t\tif (open) {\n\t\t\tthis.openValueStatePopover();\n\t\t} else {\n\t\t\tthis.closeValueStatePopover();\n\t\t}\n\t}\n\n\tget selectedOptionIcon() {\n\t\treturn this.selectedOption && this.selectedOption.icon;\n\t}\n\n\t_getPopover() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\");\n\t}\n\n\tstatic async onDefine() {\n\t\tSelect.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nSelect.define();\n\nexport default Select;\nexport type {\n\tSelectChangeEventDetail,\n\tSelectLiveChangeEventDetail,\n\tIOption,\n};\n"]}
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../src/Select.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport connectToComponent from \"@ui5/webcomponents-base/dist/connectToComponent.js\";\nimport {\n\tisSpace,\n\tisUp,\n\tisDown,\n\tisEnter,\n\tisEscape,\n\tisHome,\n\tisEnd,\n\tisShow,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport type { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport List from \"./List.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport {\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_TYPE_SUCCESS,\n\tVALUE_STATE_TYPE_INFORMATION,\n\tVALUE_STATE_TYPE_ERROR,\n\tVALUE_STATE_TYPE_WARNING,\n\tINPUT_SUGGESTIONS_TITLE,\n\tLIST_ITEM_POSITION,\n\tSELECT_ROLE_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Option from \"./Option.js\";\nimport Label from \"./Label.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport Popover from \"./Popover.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\n\n// Templates\nimport SelectTemplate from \"./generated/templates/SelectTemplate.lit.js\";\n\n// Styles\nimport selectCss from \"./generated/themes/Select.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport SelectPopoverCss from \"./generated/themes/SelectPopover.css.js\";\nimport type FormSupport from \"./features/InputElementsFormSupport.js\";\nimport type { IFormElement, NativeFormElement } from \"./features/InputElementsFormSupport.js\";\nimport type ListItemBase from \"./ListItemBase.js\";\nimport type SelectMenu from \"./SelectMenu.js\";\nimport type { SelectMenuOptionClick, SelectMenuChange } from \"./SelectMenu.js\";\n\n/**\n * Interface for components that may be slotted inside `ui5-select` as options\n * @public\n */\ninterface IOption extends UI5Element {\n\tselected: boolean,\n\ttooltip: string,\n\ticon?: string | null,\n\tvalue: string,\n\tadditionalText?: string,\n\tfocused?: boolean,\n\ttext?: Array<Node>,\n\tstableDomRef: string,\n\tdisplayText?: string,\n}\n\ntype SelectChangeEventDetail = {\n\tselectedOption: IOption,\n}\ntype SelectLiveChangeEventDetail = {\n\tselectedOption: IOption,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-select` component is used to create a drop-down list.\n *\n * ### Usage\n *\n * There are two main usages of the `ui5-select>`.\n *\n * 1. With Option (`ui5-option`) web component:\n *\n * The available options of the Select are defined by using the Option component.\n * The Option comes with predefined design and layout, including `icon`, `text` and `additional-text`.\n *\n * 2. With SelectMenu (`ui5-select-menu`) and SelectMenuOption (`ui5-select-menu-option`) web components:\n *\n * The SelectMenu can be used as alternative to define the Select's dropdown\n * and can be used via the `menu` property of the Select to reference SelectMenu by its ID.\n * The component gives the possibility to customize the Select's dropdown\n * by slotting entirely custom options (via the SelectMenuOption component) and adding custom styles.\n *\n * **Note:** SelectMenu is a popover and placing it top-level in the HTML page is recommended,\n * because some page styles (for example transitions) can misplace the SelectMenu.\n *\n * ### Keyboard Handling\n * The `ui5-select` provides advanced keyboard handling.\n *\n * - [F4] / [Alt] + [Up] / [Alt] + [Down] / [Space] or [Enter] - Opens/closes the drop-down.\n * - [Up] or [Down] - If the drop-down is closed - changes selection to the next or the previous option. If the drop-down is opened - moves focus to the next or the previous option.\n * - [Space], [Enter] - If the drop-down is opened - selects the focused option.\n * - [Escape] - Closes the drop-down without changing the selection.\n * - [Home] - Navigates to first option\n * - [End] - Navigates to the last option\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/Select\";`\n *\n * `import \"@ui5/webcomponents/dist/Option\";` (comes with `ui5-select`)\n * @constructor\n * @extends UI5Element\n * @public\n * @since 0.8.0\n */\n@customElement({\n\ttag: \"ui5-select\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: SelectTemplate,\n\tstyles: [\n\t\tselectCss,\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t\tSelectPopoverCss,\n\t],\n\tdependencies: [\n\t\tOption,\n\t\tLabel,\n\t\tResponsivePopover,\n\t\tPopover,\n\t\tList,\n\t\tStandardListItem,\n\t\tIcon,\n\t\tButton,\n\t],\n})\n/**\n * Fired when the selected option changes.\n * @allowPreventDefault\n * @param {IOption} selectedOption the selected option.\n * @public\n */\n@event<SelectChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\tselectedOption: { type: HTMLElement },\n\t},\n})\n/**\n * Fired when the user navigates through the options, but the selection is not finalized,\n * or when pressing the ESC key to revert the current selection.\n * @param {IOption} selectedOption the selected option.\n * @public\n * @since 1.17.0\n */\n@event<SelectLiveChangeEventDetail>(\"live-change\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\tselectedOption: { type: HTMLElement },\n\t},\n})\n/**\n * Fired after the component's dropdown menu opens.\n * @public\n */\n@event(\"open\")\n/**\n * Fired after the component's dropdown menu closes.\n * @public\n */\n@event(\"close\")\nclass Select extends UI5Element implements IFormElement {\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * Defines a reference (ID or DOM element) of component's menu of options\n\t * as alternative to define the select's dropdown.\n\t *\n\t * **Note:** Usage of `ui5-select-menu` is recommended.\n\t * @default undefined\n\t * @public\n\t * @since 1.17.0\n\t */\n\t@property({ validator: DOMReference })\n\tmenu?: HTMLElement | string;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Determines the name with which the component will be submitted in an HTML form.\n\t * The value of the component will be the value of the currently selected `ui5-option`.\n\t *\n\t * **Important:** For the `name` property to have effect, you must add the following import to your project:\n\t * `import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`\n\t *\n\t * **Note:** When set, a native `input` HTML element\n\t * will be created inside the `ui5-select` so that it can be submitted as\n\t * part of an HTML form. Do not use this property unless you need to submit a form.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t/**\n\t * Defines whether the component is required.\n\t * @since 1.0.0-rc.9\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired!: boolean;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t *\n\t * **Note:** A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t * @default false\n\t * @since 1.21.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @since 1.0.0-rc.9\n\t * @public\n\t * @default \"\"\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the select.\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: String, noAttribute: true })\n\t_text?: string | null;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_iconPressed!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\topened!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\t_listWidth!: number;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: -1, noAttribute: true })\n\t_selectedIndex!: number;\n\n\t_syncedOptions: Array<IOption>;\n\t_selectedIndexBeforeOpen: number;\n\t_escapePressed: boolean;\n\t_lastSelectedOption: IOption | null;\n\t_typedChars: string;\n\t_typingTimeoutID?: Timeout | number;\n\tresponsivePopover!: ResponsivePopover;\n\tselectedItem?: string | null;\n\tvalueStatePopover?: Popover;\n\n\tselectMenu?: SelectMenu;\n\n\t/**\n\t * Defines the component options.\n\t *\n\t * **Note:** Only one selected option is allowed.\n\t * If more than one option is defined as selected, the last one would be considered as the selected one.\n\t *\n\t * **Note:** Use the `ui5-option` component to define the desired options.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\toptions!: Array<IOption>;\n\n\t/**\n\t * The slot is used to render native `input` HTML element within Light DOM to enable form submit,\n\t * when `name` property is set.\n\t * @private\n\t */\n\t@slot()\n\tformSupport!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the component is in `Information`, `Warning` or `Error` value state.\n\t *\n\t * **Note:** If the component has `suggestionItems`,\n\t * the `valueStateMessage` would be displayed as part of the same popover, if used on desktop, or dialog - on phone.\n\t * @public\n\t*/\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the HTML element that will be displayed in the component input part,\n\t * representing the selected option.\n\t *\n\t * **Note:** If not specified and `ui5-select-menu-option` is used,\n\t * either the option's `display-text` or its textContent will be displayed.\n\t *\n\t * **Note:** If not specified and `ui5-option` is used,\n\t * the option's textContent will be displayed.\n\t * @public\n\t * @since 1.17.0\n\t*/\n\t@slot()\n\tlabel!: Array<HTMLElement>;\n\n\t_onMenuClick: (e: CustomEvent<SelectMenuOptionClick>) => void;\n\t_onMenuClose: () => void;\n\t_onMenuOpen: () => void;\n\t_onMenuBeforeOpen: () => void;\n\t_onMenuChange: (e: CustomEvent<SelectMenuChange>) => void;\n\t_attachMenuListeners: (menu: HTMLElement) => void;\n\t_detachMenuListeners: (menu: HTMLElement) => void;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._syncedOptions = [];\n\t\tthis._selectedIndexBeforeOpen = -1;\n\t\tthis._escapePressed = false;\n\t\tthis._lastSelectedOption = null;\n\t\tthis._typedChars = \"\";\n\n\t\tthis._onMenuClick = this.onMenuClick.bind(this);\n\t\tthis._onMenuClose = this.onMenuClose.bind(this);\n\t\tthis._onMenuOpen = this.onMenuOpen.bind(this);\n\t\tthis._onMenuBeforeOpen = this.onMenuBeforeOpen.bind(this);\n\t\tthis._onMenuChange = this.onMenuChange.bind(this);\n\t\tthis._attachMenuListeners = this.attachMenuListeners.bind(this);\n\t\tthis._detachMenuListeners = this.detachMenuListeners.bind(this);\n\n\t\tthis._upgradeProperty(\"value\");\n\t}\n\n\tonBeforeRendering() {\n\t\tconst menu = this._getSelectMenu();\n\n\t\tif (menu) {\n\t\t\tmenu.value = this.value;\n\t\t\t// To cause invalidation when the menu is used for another Select that could have the same value as the previous.\n\t\t\t// Otherwise, the menu won't re-render.\n\t\t\tmenu.selectId = this.__id;\n\t\t} else {\n\t\t\tthis._syncSelection();\n\t\t}\n\n\t\tthis._enableFormSupport();\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\t}\n\n\tonAfterRendering() {\n\t\tthis.toggleValueStatePopover(this.shouldOpenValueStateMessagePopover);\n\n\t\tif (this._isPickerOpen) {\n\t\t\tif (!this._listWidth) {\n\t\t\t\tthis._listWidth = this.responsivePopover.offsetWidth;\n\t\t\t}\n\t\t}\n\n\t\tthis._attachRealDomRefs();\n\t}\n\n\t_onfocusin() {\n\t\tthis.focused = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\tget _isPickerOpen() {\n\t\tconst menu = this._getSelectMenu();\n\n\t\tif (menu) {\n\t\t\treturn menu.open;\n\t\t}\n\n\t\treturn !!this.responsivePopover && this.responsivePopover.open;\n\t}\n\n\t_respPopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\t/**\n\t * Defines the value of the component:\n\t *\n\t * - when get - returns the value of the component, e.g. the `value` property of the selected option or its text content.\n\t *\n\t * - when set - selects the option with matching `value` property or text content.\n\t *\n\t * **Note:** If the given value does not match any existing option,\n\t * the first option will get selected.\n\t * @public\n\t * @default \"\"\n\t * @since 1.20.0\n\t * @formProperty\n\t * @formEvents change liveChange\n\t */\n\tset value(newValue: string) {\n\t\tconst menu = this._getSelectMenu();\n\t\tconst selectOptions = Array.from(menu ? menu.children : this.children) as Array<IOption>;\n\n\t\tselectOptions.forEach(option => {\n\t\t\toption.selected = !!((option.getAttribute(\"value\") || option.textContent) === newValue);\n\t\t});\n\t}\n\n\tget value(): string {\n\t\treturn this.selectedOption?.value || this.selectedOption?.textContent || \"\";\n\t}\n\n\t/**\n\t * Currently selected `ui5-option` element.\n\t * @public\n\t * @default undefined\n\t */\n\tget selectedOption(): IOption | undefined {\n\t\treturn this.selectOptions.find(option => option.selected);\n\t}\n\n\tonMenuClick(e: CustomEvent<SelectMenuOptionClick>) {\n\t\tconst optionIndex: number = e.detail.optionIndex;\n\t\tthis._handleSelectionChange(optionIndex);\n\t}\n\n\tonMenuBeforeOpen() {\n\t\tthis._beforeOpen();\n\t}\n\n\tonMenuOpen() {\n\t\tthis._afterOpen();\n\t}\n\n\tonMenuClose() {\n\t\tthis._afterClose();\n\t}\n\n\tonMenuChange(e: CustomEvent<SelectMenuChange>) {\n\t\tthis._text = e.detail.text;\n\t\tthis._selectedIndex = e.detail.selectedIndex;\n\t}\n\n\t_toggleSelectMenu() {\n\t\tconst menu = this._getSelectMenu();\n\n\t\tif (!menu) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (menu.open) {\n\t\t\tmenu.close();\n\t\t} else {\n\t\t\tmenu.showAt(this, this.offsetWidth);\n\t\t}\n\t}\n\n\tonExitDOM(): void {\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\tthis._detachMenuListeners(menu);\n\t\t}\n\t}\n\n\t_toggleRespPopover() {\n\t\tif (this.disabled || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._iconPressed = true;\n\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\tthis._toggleSelectMenu();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.responsivePopover = this._respPopover();\n\t\tif (this._isPickerOpen) {\n\t\t\tthis.responsivePopover.close();\n\t\t} else {\n\t\t\tthis.responsivePopover.showAt(this);\n\t\t}\n\t}\n\n\t_attachRealDomRefs() {\n\t\tthis.responsivePopover = this._respPopover();\n\n\t\tthis.options.forEach(option => {\n\t\t\toption._getRealDomRef = () => this.responsivePopover.querySelector<HTMLElement>(`*[data-ui5-stable=${option.stableDomRef}]`)!;\n\t\t});\n\t}\n\n\t_syncSelection() {\n\t\tlet lastSelectedOptionIndex = -1,\n\t\t\tfirstEnabledOptionIndex = -1;\n\t\tconst options = this.options;\n\t\tconst syncOpts = options.map((opt, index) => {\n\t\t\tif (opt.selected) {\n\t\t\t\tlastSelectedOptionIndex = index;\n\t\t\t}\n\t\t\tif (firstEnabledOptionIndex === -1) {\n\t\t\t\tfirstEnabledOptionIndex = index;\n\t\t\t}\n\n\t\t\topt.selected = false;\n\t\t\topt.focused = false;\n\n\t\t\treturn {\n\t\t\t\tselected: false,\n\t\t\t\tfocused: false,\n\t\t\t\ticon: opt.icon,\n\t\t\t\tvalue: opt.value,\n\t\t\t\ttextContent: opt.textContent,\n\t\t\t\ttooltip: opt.tooltip,\n\t\t\t\tadditionalText: opt.additionalText,\n\t\t\t\tid: opt._id,\n\t\t\t\tstableDomRef: opt.stableDomRef,\n\t\t\t};\n\t\t});\n\n\t\tif (lastSelectedOptionIndex > -1) {\n\t\t\tsyncOpts[lastSelectedOptionIndex].selected = true;\n\t\t\tsyncOpts[lastSelectedOptionIndex].focused = true;\n\t\t\toptions[lastSelectedOptionIndex].selected = true;\n\t\t\toptions[lastSelectedOptionIndex].focused = true;\n\t\t\tthis._text = syncOpts[lastSelectedOptionIndex].textContent;\n\t\t\tthis._selectedIndex = lastSelectedOptionIndex;\n\t\t} else {\n\t\t\tthis._text = \"\";\n\t\t\tthis._selectedIndex = -1;\n\t\t\tif (syncOpts[firstEnabledOptionIndex]) {\n\t\t\t\tsyncOpts[firstEnabledOptionIndex].selected = true;\n\t\t\t\tsyncOpts[firstEnabledOptionIndex].focused = true;\n\t\t\t\toptions[firstEnabledOptionIndex].selected = true;\n\t\t\t\toptions[firstEnabledOptionIndex].focused = true;\n\t\t\t\tthis._selectedIndex = firstEnabledOptionIndex;\n\t\t\t\tthis._text = options[firstEnabledOptionIndex].textContent;\n\t\t\t}\n\t\t}\n\n\t\tthis._syncedOptions = syncOpts as Array<IOption>;\n\t}\n\n\t_getSelectMenu(): SelectMenu | undefined {\n\t\treturn connectToComponent({\n\t\t\thost: this,\n\t\t\tpropName: \"menu\",\n\t\t\tonConnect: this._attachMenuListeners,\n\t\t\tonDisconnect: this._detachMenuListeners,\n\t\t}) as SelectMenu;\n\t}\n\n\tattachMenuListeners(menu: HTMLElement) {\n\t\tmenu.addEventListener(\"ui5-after-close\", this._onMenuClose);\n\t\tmenu.addEventListener(\"ui5-after-open\", this._onMenuOpen);\n\t\tmenu.addEventListener(\"ui5-before-open\", this._onMenuBeforeOpen);\n\t\t// @ts-ignore\n\t\tmenu.addEventListener(\"ui5-option-click\", this._onMenuClick);\n\t\t// @ts-ignore\n\t\tmenu.addEventListener(\"ui5-menu-change\", this._onMenuChange);\n\t}\n\n\tdetachMenuListeners(menu: HTMLElement) {\n\t\tmenu.removeEventListener(\"ui5-after-close\", this._onMenuClose);\n\t\tmenu.removeEventListener(\"ui5-after-open\", this._onMenuOpen);\n\t\tmenu.removeEventListener(\"ui5-before-open\", this._onMenuBeforeOpen);\n\t\t// @ts-ignore\n\t\tmenu.removeEventListener(\"ui5-option-click\", this._onMenuClick);\n\t\t// @ts-ignore\n\t\tmenu.removeEventListener(\"ui5-menu-change\", this._onMenuChange);\n\t}\n\n\t_enableFormSupport() {\n\t\tconst formSupport = getFeature<typeof FormSupport>(\"FormSupport\");\n\t\tif (formSupport) {\n\t\t\tformSupport.syncNativeHiddenInput(this, (element: IFormElement, nativeInput: NativeFormElement) => {\n\t\t\t\tconst selectElement = (element as Select);\n\t\t\t\tnativeInput.disabled = !!element.disabled;\n\t\t\t\tnativeInput.value = selectElement.value;\n\t\t\t});\n\t\t} else if (this.name) {\n\t\t\tconsole.warn(`In order for the \"name\" property to have effect, you should also: import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`); // eslint-disable-line\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isTab = (isTabNext(e) || isTabPrevious(e));\n\n\t\tif (isTab && this._isPickerOpen) {\n\t\t\tconst menu = this._getSelectMenu();\n\t\t\tif (menu) {\n\t\t\t\tmenu.close(false, false, true /* preventFocusRestore */);\n\t\t\t} else {\n\t\t\t\tthis.responsivePopover.close();\n\t\t\t}\n\t\t} else if (isShow(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._toggleRespPopover();\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t} else if (isEscape(e) && this._isPickerOpen) {\n\t\t\tthis._escapePressed = true;\n\t\t} else if (isHome(e)) {\n\t\t\tthis._handleHomeKey(e);\n\t\t} else if (isEnd(e)) {\n\t\t\tthis._handleEndKey(e);\n\t\t} else if (isEnter(e)) {\n\t\t\tthis._handleSelectionChange();\n\t\t} else if (isUp(e) || isDown(e)) {\n\t\t\tthis._handleArrowNavigation(e);\n\t\t}\n\t}\n\n\t_handleKeyboardNavigation(e: KeyboardEvent) {\n\t\tif (isEnter(e) || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst typedCharacter = e.key.toLowerCase();\n\n\t\tthis._typedChars += typedCharacter;\n\n\t\t// We check if we have more than one characters and they are all duplicate, we set the\n\t\t// text to be the last input character (typedCharacter). If not, we set the text to be\n\t\t// the whole input string.\n\n\t\tconst text = (/^(.)\\1+$/i).test(this._typedChars) ? typedCharacter : this._typedChars;\n\n\t\tclearTimeout(this._typingTimeoutID);\n\n\t\tthis._typingTimeoutID = setTimeout(() => {\n\t\t\tthis._typedChars = \"\";\n\t\t\tthis._typingTimeoutID = -1;\n\t\t}, 1000);\n\n\t\tthis._selectTypedItem(text);\n\t}\n\n\t_selectTypedItem(text: string) {\n\t\tconst currentIndex = this._selectedIndex;\n\t\tconst itemToSelect = this._searchNextItemByText(text);\n\n\t\tif (itemToSelect) {\n\t\t\tconst nextIndex = this.selectOptions.indexOf(itemToSelect);\n\n\t\t\tthis._changeSelectedItem(this._selectedIndex, nextIndex);\n\n\t\t\tif (currentIndex !== this._selectedIndex) {\n\t\t\t\tthis.itemSelectionAnnounce();\n\t\t\t}\n\t\t}\n\t}\n\n\t_searchNextItemByText(text: string) {\n\t\tlet orderedOptions = this.selectOptions.slice(0);\n\t\tconst optionsAfterSelected = orderedOptions.splice(this._selectedIndex + 1, orderedOptions.length - this._selectedIndex);\n\t\tconst optionsBeforeSelected = orderedOptions.splice(0, orderedOptions.length - 1);\n\n\t\torderedOptions = optionsAfterSelected.concat(optionsBeforeSelected);\n\n\t\treturn orderedOptions.find(option => (option.displayText || option.textContent || \"\").toLowerCase().startsWith(text));\n\t}\n\n\t_handleHomeKey(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._changeSelectedItem(this._selectedIndex, 0);\n\t}\n\n\t_handleEndKey(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst lastIndex = this.selectOptions.length - 1;\n\t\tthis._changeSelectedItem(this._selectedIndex, lastIndex);\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tif (this._isPickerOpen) {\n\t\t\t\tthis._handleSelectionChange();\n\t\t\t} else {\n\t\t\t\tthis._toggleRespPopover();\n\t\t\t}\n\t\t}\n\t}\n\n\t_getSelectedItemIndex(item: ListItemBase) {\n\t\treturn this.selectOptions.findIndex(option => `${option._id}-li` === item.id);\n\t}\n\n\t_select(index: number) {\n\t\tthis.selectOptions[this._selectedIndex].selected = false;\n\n\t\tif (this._selectedIndex !== index) {\n\t\t\tthis.fireEvent<SelectLiveChangeEventDetail>(\"live-change\", { selectedOption: this.selectOptions[index] });\n\t\t}\n\n\t\tthis._selectedIndex = index;\n\t\tthis.selectOptions[index].selected = true;\n\t}\n\n\t/**\n\t * The user clicked on an item from the list\n\t * @private\n\t */\n\t_handleItemPress(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst item = e.detail.item;\n\t\tconst selectedItemIndex = this._getSelectedItemIndex(item);\n\n\t\tthis._handleSelectionChange(selectedItemIndex);\n\t}\n\n\t_itemMousedown(e: MouseEvent) {\n\t\t// prevent actual focus of items\n\t\te.preventDefault();\n\t}\n\n\t_onclick() {\n\t\tthis.getFocusDomRef()!.focus();\n\t\tthis._toggleRespPopover();\n\t}\n\n\t/**\n\t * The user selected an item with Enter or Space\n\t * @private\n\t */\n\t_handleSelectionChange(index = this._selectedIndex) {\n\t\tthis._select(index);\n\n\t\tthis._toggleRespPopover();\n\t}\n\n\t_scrollSelectedItem() {\n\t\tif (this._isPickerOpen) {\n\t\t\tconst itemRef = this._currentlySelectedOption?.getDomRef();\n\t\t\tif (itemRef) {\n\t\t\t\titemRef.scrollIntoView({\n\t\t\t\t\tbehavior: \"auto\",\n\t\t\t\t\tblock: \"nearest\",\n\t\t\t\t\tinline: \"nearest\",\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleArrowNavigation(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet nextIndex = -1;\n\t\tconst currentIndex = this._selectedIndex;\n\t\tconst isDownKey = isDown(e);\n\n\t\tif (isDownKey) {\n\t\t\tnextIndex = this._getNextOptionIndex();\n\t\t} else {\n\t\t\tnextIndex = this._getPreviousOptionIndex();\n\t\t}\n\n\t\tthis._changeSelectedItem(this._selectedIndex, nextIndex);\n\n\t\tif (currentIndex !== this._selectedIndex) {\n\t\t\t// Announce new item even if picker is opened.\n\t\t\t// The aria-activedescendents attribute can't be used,\n\t\t\t// because listitem elements are in different shadow dom\n\t\t\tthis.itemSelectionAnnounce();\n\t\t\tthis._scrollSelectedItem();\n\t\t}\n\t}\n\n\t_changeSelectedItem(oldIndex: number, newIndex: number) {\n\t\tconst options: Array<IOption> = this.selectOptions;\n\n\t\tconst previousOption = options[oldIndex];\n\t\tpreviousOption.selected = false;\n\t\tpreviousOption.focused = false;\n\n\t\tconst nextOption = options[newIndex];\n\t\tnextOption.selected = true;\n\t\tnextOption.focused = true;\n\n\t\tthis._selectedIndex = newIndex;\n\n\t\tthis.fireEvent<SelectLiveChangeEventDetail>(\"live-change\", { selectedOption: nextOption });\n\n\t\tif (!this._isPickerOpen) {\n\t\t\t// arrow pressed on closed picker - do selection change\n\t\t\tthis._fireChangeEvent(nextOption);\n\t\t}\n\t}\n\n\t_getNextOptionIndex() {\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\treturn this._selectedIndex === (menu.options.length - 1) ? this._selectedIndex : (this._selectedIndex + 1);\n\t\t}\n\t\treturn this._selectedIndex === (this.options.length - 1) ? this._selectedIndex : (this._selectedIndex + 1);\n\t}\n\n\t_getPreviousOptionIndex() {\n\t\treturn this._selectedIndex === 0 ? this._selectedIndex : (this._selectedIndex - 1);\n\t}\n\n\t_beforeOpen() {\n\t\tthis._selectedIndexBeforeOpen = this._selectedIndex;\n\t\tthis._lastSelectedOption = this.selectOptions[this._selectedIndex];\n\t}\n\n\t_afterOpen() {\n\t\tthis.opened = true;\n\t\tthis.fireEvent<CustomEvent>(\"open\");\n\t\tthis.itemSelectionAnnounce();\n\t\tthis._scrollSelectedItem();\n\t}\n\n\t_afterClose() {\n\t\tthis.opened = false;\n\t\tthis._iconPressed = false;\n\t\tthis._listWidth = 0;\n\n\t\tif (this._escapePressed) {\n\t\t\tthis._select(this._selectedIndexBeforeOpen);\n\t\t\tthis._escapePressed = false;\n\t\t} else if (this._lastSelectedOption !== this.selectOptions[this._selectedIndex]) {\n\t\t\tthis._fireChangeEvent(this.selectOptions[this._selectedIndex]);\n\t\t\tthis._lastSelectedOption = this.selectOptions[this._selectedIndex];\n\t\t}\n\t\tthis.fireEvent<CustomEvent>(\"close\");\n\t}\n\n\tget selectOptions(): Array<IOption> {\n\t\tconst menu = this._getSelectMenu();\n\t\tif (menu) {\n\t\t\treturn menu.options;\n\t\t}\n\t\treturn this.options;\n\t}\n\n\tget hasCustomLabel() {\n\t\treturn !!this.label.length;\n\t}\n\n\t_fireChangeEvent(selectedOption: IOption) {\n\t\tconst changePrevented = !this.fireEvent<SelectChangeEventDetail>(\"change\", { selectedOption }, true);\n\n\t\t// Angular two way data binding\n\t\tthis.selectedItem = selectedOption.textContent;\n\t\tthis.fireEvent(\"selected-item-changed\");\n\n\t\tif (changePrevented) {\n\t\t\tthis.selectedItem = this._lastSelectedOption!.textContent;\n\t\t\tthis._select(this._selectedIndexBeforeOpen);\n\t\t}\n\t}\n\n\tget valueStateTextMappings() {\n\t\treturn {\n\t\t\t[ValueState.Positive]: Select.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t[ValueState.Information]: Select.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t\t[ValueState.Negative]: Select.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t[ValueState.Critical]: Select.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateTypeMappings() {\n\t\treturn {\n\t\t\t[ValueState.Positive]: Select.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n\t\t\t[ValueState.Information]: Select.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),\n\t\t\t[ValueState.Negative]: Select.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t[ValueState.Critical]: Select.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateText() {\n\t\tlet valueStateText;\n\n\t\tif (this.shouldDisplayDefaultValueStateMessage) {\n\t\t\tvalueStateText = this.valueStateDefaultText;\n\t\t} else {\n\t\t\tvalueStateText = this.valueStateMessageText.map(el => el.textContent).join(\" \");\n\t\t}\n\n\t\treturn `${this.valueStateTypeText} ${valueStateText}`;\n\t}\n\n\tget valueStateDefaultText() {\n\t\treturn this.valueState !== ValueState.None ? this.valueStateTextMappings[this.valueState] : \"\";\n\t}\n\n\tget valueStateTypeText() {\n\t\treturn this.valueState !== ValueState.None ? this.valueStateTypeMappings[this.valueState] : \"\";\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget valueStateTextId() {\n\t\treturn this.hasValueState ? `${this._id}-valueStateDesc` : undefined;\n\t}\n\n\tget isDisabled() {\n\t\treturn this.disabled || undefined;\n\t}\n\n\tget _headerTitleText() {\n\t\treturn Select.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget _currentlySelectedOption() {\n\t\treturn this.selectOptions[this._selectedIndex];\n\t}\n\n\tget _effectiveTabIndex() {\n\t\treturn this.disabled\n\t\t|| (this.responsivePopover // Handles focus on Tab/Shift + Tab when the popover is opened\n\t\t&& this.responsivePopover.open) ? \"-1\" : \"0\";\n\t}\n\n\t /**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateMessageInputIcon() {\n\t\tconst iconPerValueState = {\n\t\t\tNegative: \"error\",\n\t\t\tCritical: \"alert\",\n\t\t\tPositive: \"sys-enter-2\",\n\t\t\tInformation: \"information\",\n\t\t};\n\n\t\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n\t}\n\n\tget iconsCount(): number {\n\t\treturn this.selectedOptionIcon ? 2 : 1;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tpopoverValueState: {\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Positive,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Negative,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Critical,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\t\"ui5-select-popover-valuestate\": this.hasValueState,\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tpopoverHeader: {\n\t\t\t\t\"max-width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t\tresponsivePopoverHeader: {\n\t\t\t\t\"display\": this.options.length && this._listWidth === 0 ? \"none\" : \"inline-block\",\n\t\t\t\t\"width\": `${this.options.length ? this._listWidth : this.offsetWidth}px`,\n\t\t\t},\n\t\t\tresponsivePopover: {\n\t\t\t\t\"min-width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget valueStateMessageText() {\n\t\treturn this.getSlottedNodes(\"valueStateMessage\").map(el => el.cloneNode(true));\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage() {\n\t\treturn !this.valueStateMessageText.length && this.hasValueStateText;\n\t}\n\n\tget hasValueStateText() {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Positive;\n\t}\n\n\tget shouldOpenValueStateMessagePopover() {\n\t\treturn this.focused && this.hasValueStateText && !this._iconPressed\n\t\t\t&& !this._isPickerOpen && !this._isPhone;\n\t}\n\n\tget _ariaRoleDescription() {\n\t\treturn Select.i18nBundle.getText(SELECT_ROLE_DESCRIPTION);\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\titemSelectionAnnounce() {\n\t\tlet text;\n\t\tconst optionsCount = this.selectOptions.length;\n\t\tconst itemPositionText = Select.i18nBundle.getText(LIST_ITEM_POSITION, this._selectedIndex + 1, optionsCount);\n\n\t\tif (this.focused && this._currentlySelectedOption) {\n\t\t\ttext = `${this._currentlySelectedOption.textContent as string} ${this._isPickerOpen ? itemPositionText : \"\"}`;\n\n\t\t\tannounce(text, InvisibleMessageMode.Polite);\n\t\t}\n\t}\n\n\topenValueStatePopover() {\n\t\tthis.valueStatePopover = this._getPopover() as Popover;\n\t\tif (this.valueStatePopover) {\n\t\t\tthis.valueStatePopover.showAt(this);\n\t\t}\n\t}\n\n\tcloseValueStatePopover() {\n\t\tthis.valueStatePopover && this.valueStatePopover.close();\n\t}\n\n\ttoggleValueStatePopover(open: boolean) {\n\t\tif (open) {\n\t\t\tthis.openValueStatePopover();\n\t\t} else {\n\t\t\tthis.closeValueStatePopover();\n\t\t}\n\t}\n\n\tget selectedOptionIcon() {\n\t\treturn this.selectedOption && this.selectedOption.icon;\n\t}\n\n\t_getPopover() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\");\n\t}\n\n\tstatic async onDefine() {\n\t\tSelect.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nSelect.define();\n\nexport default Select;\nexport type {\n\tSelectChangeEventDetail,\n\tSelectLiveChangeEventDetail,\n\tIOption,\n};\n"]}
@@ -143,9 +143,9 @@ let SelectMenu = class SelectMenu extends UI5Element {
143
143
  return {
144
144
  popoverValueState: {
145
145
  "ui5-valuestatemessage-root": true,
146
- "ui5-valuestatemessage--success": this.valueState === ValueState.Success,
147
- "ui5-valuestatemessage--error": this.valueState === ValueState.Error,
148
- "ui5-valuestatemessage--warning": this.valueState === ValueState.Warning,
146
+ "ui5-valuestatemessage--success": this.valueState === ValueState.Positive,
147
+ "ui5-valuestatemessage--error": this.valueState === ValueState.Negative,
148
+ "ui5-valuestatemessage--warning": this.valueState === ValueState.Critical,
149
149
  "ui5-valuestatemessage--information": this.valueState === ValueState.Information,
150
150
  },
151
151
  popover: {
@@ -165,9 +165,9 @@ let SelectMenu = class SelectMenu extends UI5Element {
165
165
  }
166
166
  get _valueStateMessageInputIcon() {
167
167
  const iconPerValueState = {
168
- Error: "error",
169
- Warning: "alert",
170
- Success: "sys-enter-2",
168
+ Negative: "error",
169
+ Critical: "alert",
170
+ Positive: "sys-enter-2",
171
171
  Information: "information",
172
172
  };
173
173
  return this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : "";