@ui5/webcomponents 1.22.0-rc.0 → 1.22.0-rc.2

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 (565) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/AvatarGroup.js.map +1 -1
  4. package/dist/Breadcrumbs.js.map +1 -1
  5. package/dist/Calendar.js +1 -0
  6. package/dist/Calendar.js.map +1 -1
  7. package/dist/Card.d.ts +2 -0
  8. package/dist/Card.js +2 -0
  9. package/dist/Card.js.map +1 -1
  10. package/dist/Carousel.js.map +1 -1
  11. package/dist/CheckBox.d.ts +17 -0
  12. package/dist/CheckBox.js +22 -3
  13. package/dist/CheckBox.js.map +1 -1
  14. package/dist/ColorPalette.d.ts +2 -1
  15. package/dist/ColorPalette.js +5 -2
  16. package/dist/ColorPalette.js.map +1 -1
  17. package/dist/ColorPalettePopover.js.map +1 -1
  18. package/dist/ComboBox.d.ts +14 -0
  19. package/dist/ComboBox.js +57 -17
  20. package/dist/ComboBox.js.map +1 -1
  21. package/dist/CustomListItem.js.map +1 -1
  22. package/dist/DatePicker.js.map +1 -1
  23. package/dist/DateTimePicker.d.ts +1 -0
  24. package/dist/DateTimePicker.js +4 -0
  25. package/dist/DateTimePicker.js.map +1 -1
  26. package/dist/FileUploader.js.map +1 -1
  27. package/dist/Input.d.ts +3 -3
  28. package/dist/Input.js +6 -5
  29. package/dist/Input.js.map +1 -1
  30. package/dist/Interfaces.d.ts +5 -0
  31. package/dist/Interfaces.js.map +1 -1
  32. package/dist/Link.js.map +1 -1
  33. package/dist/List.js +13 -1
  34. package/dist/List.js.map +1 -1
  35. package/dist/ListItem.d.ts +2 -7
  36. package/dist/ListItem.js +1 -8
  37. package/dist/ListItem.js.map +1 -1
  38. package/dist/Menu.js.map +1 -1
  39. package/dist/MultiComboBox.d.ts +31 -6
  40. package/dist/MultiComboBox.js +173 -35
  41. package/dist/MultiComboBox.js.map +1 -1
  42. package/dist/MultiComboBoxGroupItem.d.ts +1 -0
  43. package/dist/MultiComboBoxGroupItem.js +1 -0
  44. package/dist/MultiComboBoxGroupItem.js.map +1 -1
  45. package/dist/MultiComboBoxItem.js.map +1 -1
  46. package/dist/MultiInput.js.map +1 -1
  47. package/dist/NavigationMenu.d.ts +12 -7
  48. package/dist/NavigationMenu.js +7 -10
  49. package/dist/NavigationMenu.js.map +1 -1
  50. package/dist/NavigationMenuItem.d.ts +4 -12
  51. package/dist/NavigationMenuItem.js +2 -6
  52. package/dist/NavigationMenuItem.js.map +1 -1
  53. package/dist/Panel.d.ts +0 -2
  54. package/dist/Panel.js.map +1 -1
  55. package/dist/Popup.js.map +1 -1
  56. package/dist/SegmentedButton.js.map +1 -1
  57. package/dist/SegmentedButtonItem.js.map +1 -1
  58. package/dist/Select.js.map +1 -1
  59. package/dist/SelectMenu.js.map +1 -1
  60. package/dist/SelectMenuOption.js.map +1 -1
  61. package/dist/StandardListItem.js.map +1 -1
  62. package/dist/SuggestionItem.d.ts +0 -2
  63. package/dist/SuggestionItem.js.map +1 -1
  64. package/dist/Switch.js +1 -0
  65. package/dist/Switch.js.map +1 -1
  66. package/dist/TabContainer.js.map +1 -1
  67. package/dist/Table.js.map +1 -1
  68. package/dist/TableGroupRow.d.ts +1 -9
  69. package/dist/TableGroupRow.js +1 -0
  70. package/dist/TableGroupRow.js.map +1 -1
  71. package/dist/TableRow.d.ts +2 -8
  72. package/dist/TableRow.js.map +1 -1
  73. package/dist/TimePickerBase.js.map +1 -1
  74. package/dist/TimePickerClock.js.map +1 -1
  75. package/dist/TimePickerInternals.js.map +1 -1
  76. package/dist/TimeSelection.d.ts +1 -0
  77. package/dist/TimeSelection.js +3 -0
  78. package/dist/TimeSelection.js.map +1 -1
  79. package/dist/Token.js.map +1 -1
  80. package/dist/Tokenizer.d.ts +1 -1
  81. package/dist/Tokenizer.js +5 -4
  82. package/dist/Tokenizer.js.map +1 -1
  83. package/dist/ToolbarSelect.js.map +1 -1
  84. package/dist/Tree.d.ts +1 -1
  85. package/dist/Tree.js.map +1 -1
  86. package/dist/TreeItem.d.ts +0 -10
  87. package/dist/TreeItem.js +0 -4
  88. package/dist/TreeItem.js.map +1 -1
  89. package/dist/TreeItemBase.d.ts +0 -14
  90. package/dist/TreeItemBase.js +0 -7
  91. package/dist/TreeItemBase.js.map +1 -1
  92. package/dist/WheelSlider.d.ts +1 -0
  93. package/dist/WheelSlider.js +4 -2
  94. package/dist/WheelSlider.js.map +1 -1
  95. package/dist/css/themes/Avatar.css +1 -1
  96. package/dist/css/themes/AvatarGroup.css +1 -1
  97. package/dist/css/themes/Badge.css +1 -1
  98. package/dist/css/themes/Breadcrumbs.css +1 -1
  99. package/dist/css/themes/BusyIndicator.css +1 -1
  100. package/dist/css/themes/Button.css +1 -1
  101. package/dist/css/themes/Calendar.css +1 -1
  102. package/dist/css/themes/CalendarHeader.css +1 -1
  103. package/dist/css/themes/Card.css +1 -1
  104. package/dist/css/themes/CardHeader.css +1 -1
  105. package/dist/css/themes/Carousel.css +1 -1
  106. package/dist/css/themes/CheckBox.css +1 -1
  107. package/dist/css/themes/ColorPalette.css +1 -1
  108. package/dist/css/themes/ColorPaletteItem.css +1 -1
  109. package/dist/css/themes/ColorPalettePopover.css +1 -1
  110. package/dist/css/themes/ColorPicker.css +1 -1
  111. package/dist/css/themes/ComboBox.css +1 -1
  112. package/dist/css/themes/CustomListItem.css +1 -1
  113. package/dist/css/themes/DatePicker.css +1 -1
  114. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  115. package/dist/css/themes/DayPicker.css +1 -1
  116. package/dist/css/themes/Dialog.css +1 -1
  117. package/dist/css/themes/FileUploader.css +1 -1
  118. package/dist/css/themes/GroupHeaderListItem.css +1 -1
  119. package/dist/css/themes/GrowingButton.css +1 -1
  120. package/dist/css/themes/Icon.css +1 -1
  121. package/dist/css/themes/Input.css +1 -1
  122. package/dist/css/themes/InputIcon.css +1 -1
  123. package/dist/css/themes/InputSharedStyles.css +1 -1
  124. package/dist/css/themes/Link.css +1 -1
  125. package/dist/css/themes/List.css +1 -1
  126. package/dist/css/themes/ListItem.css +1 -1
  127. package/dist/css/themes/ListItemBase.css +1 -1
  128. package/dist/css/themes/Menu.css +1 -1
  129. package/dist/css/themes/MessageStrip.css +1 -1
  130. package/dist/css/themes/MonthPicker.css +1 -1
  131. package/dist/css/themes/MultiComboBox.css +1 -1
  132. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  133. package/dist/css/themes/MultiInput.css +1 -1
  134. package/dist/css/themes/NavigationMenu.css +1 -1
  135. package/dist/css/themes/Panel.css +1 -1
  136. package/dist/css/themes/Popover.css +1 -1
  137. package/dist/css/themes/PopupsCommon.css +1 -1
  138. package/dist/css/themes/ProgressIndicator.css +1 -1
  139. package/dist/css/themes/RadioButton.css +1 -1
  140. package/dist/css/themes/RangeSlider.css +1 -1
  141. package/dist/css/themes/RatingIndicator.css +1 -1
  142. package/dist/css/themes/ResponsivePopover.css +1 -1
  143. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  144. package/dist/css/themes/SegmentedButton.css +1 -1
  145. package/dist/css/themes/Select.css +1 -1
  146. package/dist/css/themes/SelectMenu.css +1 -1
  147. package/dist/css/themes/SelectPopover.css +1 -1
  148. package/dist/css/themes/SliderBase.css +1 -1
  149. package/dist/css/themes/SplitButton.css +1 -1
  150. package/dist/css/themes/StepInput.css +1 -1
  151. package/dist/css/themes/Switch.css +1 -1
  152. package/dist/css/themes/TabContainer.css +1 -1
  153. package/dist/css/themes/TabInOverflow.css +1 -1
  154. package/dist/css/themes/TabInStrip.css +1 -1
  155. package/dist/css/themes/TabSemanticIcon.css +1 -1
  156. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  157. package/dist/css/themes/Table.css +1 -1
  158. package/dist/css/themes/TableCell.css +1 -1
  159. package/dist/css/themes/TableColumn.css +1 -1
  160. package/dist/css/themes/TableGroupRow.css +1 -1
  161. package/dist/css/themes/TableRow.css +1 -1
  162. package/dist/css/themes/TextArea.css +1 -1
  163. package/dist/css/themes/TimePicker.css +1 -1
  164. package/dist/css/themes/Toast.css +1 -1
  165. package/dist/css/themes/ToggleButton.css +1 -1
  166. package/dist/css/themes/Token.css +1 -1
  167. package/dist/css/themes/Tokenizer.css +1 -1
  168. package/dist/css/themes/TokenizerPopover.css +1 -1
  169. package/dist/css/themes/Toolbar.css +1 -1
  170. package/dist/css/themes/ToolbarPopover.css +1 -1
  171. package/dist/css/themes/TreeItem.css +1 -1
  172. package/dist/css/themes/ValueStateMessage.css +1 -1
  173. package/dist/css/themes/WheelSlider.css +1 -1
  174. package/dist/css/themes/YearPicker.css +1 -1
  175. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  176. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  177. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  178. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  179. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  180. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  181. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  182. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  183. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  184. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  185. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  186. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  187. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  188. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  189. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  190. package/dist/custom-elements-internal.json +799 -1612
  191. package/dist/custom-elements.json +768 -1505
  192. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  193. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  194. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  195. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  196. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  197. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  198. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  199. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  200. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  211. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  213. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  214. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  216. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  217. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  220. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  224. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  233. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  234. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  235. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  236. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  237. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  238. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  239. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  240. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  241. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  242. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  243. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  244. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  245. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  246. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  247. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  248. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  249. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  250. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  251. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  252. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  253. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  254. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  255. package/dist/generated/i18n/i18n-defaults.d.ts +4 -1
  256. package/dist/generated/i18n/i18n-defaults.js +4 -1
  257. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  258. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
  259. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  260. package/dist/generated/templates/CardTemplate.lit.js +1 -1
  261. package/dist/generated/templates/CardTemplate.lit.js.map +1 -1
  262. package/dist/generated/templates/CheckBoxTemplate.lit.js +6 -4
  263. package/dist/generated/templates/CheckBoxTemplate.lit.js.map +1 -1
  264. package/dist/generated/templates/ColorPaletteTemplate.lit.js +2 -2
  265. package/dist/generated/templates/ColorPaletteTemplate.lit.js.map +1 -1
  266. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -19
  267. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  268. package/dist/generated/templates/ComboBoxTemplate.lit.js +4 -3
  269. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  270. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
  271. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
  272. package/dist/generated/templates/InputTemplate.lit.js +1 -1
  273. package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
  274. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +27 -24
  275. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  276. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +4 -3
  277. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  278. package/dist/generated/templates/MultiInputTemplate.lit.js +1 -1
  279. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
  280. package/dist/generated/templates/SplitButtonTemplate.lit.js +1 -1
  281. package/dist/generated/templates/SplitButtonTemplate.lit.js.map +1 -1
  282. package/dist/generated/templates/TimeSelectionTemplate.lit.js +4 -4
  283. package/dist/generated/templates/TimeSelectionTemplate.lit.js.map +1 -1
  284. package/dist/generated/templates/WheelSliderTemplate.lit.js +1 -1
  285. package/dist/generated/templates/WheelSliderTemplate.lit.js.map +1 -1
  286. package/dist/generated/themes/Avatar.css.js +1 -1
  287. package/dist/generated/themes/Avatar.css.js.map +1 -1
  288. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  289. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  290. package/dist/generated/themes/Badge.css.js +1 -1
  291. package/dist/generated/themes/Badge.css.js.map +1 -1
  292. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  293. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  294. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  295. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  296. package/dist/generated/themes/Button.css.js +1 -1
  297. package/dist/generated/themes/Button.css.js.map +1 -1
  298. package/dist/generated/themes/Calendar.css.js +1 -1
  299. package/dist/generated/themes/Calendar.css.js.map +1 -1
  300. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  301. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  302. package/dist/generated/themes/Card.css.js +1 -1
  303. package/dist/generated/themes/Card.css.js.map +1 -1
  304. package/dist/generated/themes/CardHeader.css.js +1 -1
  305. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  306. package/dist/generated/themes/Carousel.css.js +1 -1
  307. package/dist/generated/themes/Carousel.css.js.map +1 -1
  308. package/dist/generated/themes/CheckBox.css.js +1 -1
  309. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  310. package/dist/generated/themes/ColorPalette.css.js +1 -1
  311. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  312. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  313. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  314. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  315. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  316. package/dist/generated/themes/ColorPicker.css.js +1 -1
  317. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  318. package/dist/generated/themes/ComboBox.css.js +1 -1
  319. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  320. package/dist/generated/themes/CustomListItem.css.js +1 -1
  321. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  322. package/dist/generated/themes/DatePicker.css.js +1 -1
  323. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  324. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  325. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  326. package/dist/generated/themes/DayPicker.css.js +1 -1
  327. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  328. package/dist/generated/themes/Dialog.css.js +1 -1
  329. package/dist/generated/themes/Dialog.css.js.map +1 -1
  330. package/dist/generated/themes/FileUploader.css.js +1 -1
  331. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  332. package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
  333. package/dist/generated/themes/GroupHeaderListItem.css.js.map +1 -1
  334. package/dist/generated/themes/GrowingButton.css.js +1 -1
  335. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  336. package/dist/generated/themes/Icon.css.js +1 -1
  337. package/dist/generated/themes/Icon.css.js.map +1 -1
  338. package/dist/generated/themes/Input.css.js +1 -1
  339. package/dist/generated/themes/Input.css.js.map +1 -1
  340. package/dist/generated/themes/InputIcon.css.js +1 -1
  341. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  342. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  343. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  344. package/dist/generated/themes/Link.css.js +1 -1
  345. package/dist/generated/themes/Link.css.js.map +1 -1
  346. package/dist/generated/themes/List.css.js +1 -1
  347. package/dist/generated/themes/List.css.js.map +1 -1
  348. package/dist/generated/themes/ListItem.css.js +1 -1
  349. package/dist/generated/themes/ListItem.css.js.map +1 -1
  350. package/dist/generated/themes/ListItemBase.css.js +1 -1
  351. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  352. package/dist/generated/themes/Menu.css.js +1 -1
  353. package/dist/generated/themes/Menu.css.js.map +1 -1
  354. package/dist/generated/themes/MessageStrip.css.js +1 -1
  355. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  356. package/dist/generated/themes/MonthPicker.css.js +1 -1
  357. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  358. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  359. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  360. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  361. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  362. package/dist/generated/themes/MultiInput.css.js +1 -1
  363. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  364. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  365. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  366. package/dist/generated/themes/Panel.css.js +1 -1
  367. package/dist/generated/themes/Panel.css.js.map +1 -1
  368. package/dist/generated/themes/Popover.css.js +1 -1
  369. package/dist/generated/themes/Popover.css.js.map +1 -1
  370. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  371. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  372. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  373. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  374. package/dist/generated/themes/RadioButton.css.js +1 -1
  375. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  376. package/dist/generated/themes/RangeSlider.css.js +1 -1
  377. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  378. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  379. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  380. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  381. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  382. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  383. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  384. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  385. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  386. package/dist/generated/themes/Select.css.js +1 -1
  387. package/dist/generated/themes/Select.css.js.map +1 -1
  388. package/dist/generated/themes/SelectMenu.css.js +1 -1
  389. package/dist/generated/themes/SelectMenu.css.js.map +1 -1
  390. package/dist/generated/themes/SelectPopover.css.js +1 -1
  391. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  392. package/dist/generated/themes/SliderBase.css.js +1 -1
  393. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  394. package/dist/generated/themes/SplitButton.css.js +1 -1
  395. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  396. package/dist/generated/themes/StepInput.css.js +1 -1
  397. package/dist/generated/themes/StepInput.css.js.map +1 -1
  398. package/dist/generated/themes/Switch.css.js +1 -1
  399. package/dist/generated/themes/Switch.css.js.map +1 -1
  400. package/dist/generated/themes/TabContainer.css.js +1 -1
  401. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  402. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  403. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  404. package/dist/generated/themes/TabInStrip.css.js +1 -1
  405. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  406. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  407. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  408. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  409. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  410. package/dist/generated/themes/Table.css.js +1 -1
  411. package/dist/generated/themes/Table.css.js.map +1 -1
  412. package/dist/generated/themes/TableCell.css.js +1 -1
  413. package/dist/generated/themes/TableCell.css.js.map +1 -1
  414. package/dist/generated/themes/TableColumn.css.js +1 -1
  415. package/dist/generated/themes/TableColumn.css.js.map +1 -1
  416. package/dist/generated/themes/TableGroupRow.css.js +1 -1
  417. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  418. package/dist/generated/themes/TableRow.css.js +1 -1
  419. package/dist/generated/themes/TableRow.css.js.map +1 -1
  420. package/dist/generated/themes/TextArea.css.js +1 -1
  421. package/dist/generated/themes/TextArea.css.js.map +1 -1
  422. package/dist/generated/themes/TimePicker.css.js +1 -1
  423. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  424. package/dist/generated/themes/Toast.css.js +1 -1
  425. package/dist/generated/themes/Toast.css.js.map +1 -1
  426. package/dist/generated/themes/ToggleButton.css.js +1 -1
  427. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  428. package/dist/generated/themes/Token.css.js +1 -1
  429. package/dist/generated/themes/Token.css.js.map +1 -1
  430. package/dist/generated/themes/Tokenizer.css.js +1 -1
  431. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  432. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  433. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  434. package/dist/generated/themes/Toolbar.css.js +1 -1
  435. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  436. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  437. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  438. package/dist/generated/themes/TreeItem.css.js +1 -1
  439. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  440. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  441. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  442. package/dist/generated/themes/WheelSlider.css.js +1 -1
  443. package/dist/generated/themes/WheelSlider.css.js.map +1 -1
  444. package/dist/generated/themes/YearPicker.css.js +1 -1
  445. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  446. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  447. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
  448. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  449. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
  450. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  451. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
  452. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  453. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  454. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  455. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  456. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  457. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  458. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  459. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  460. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  461. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  462. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  463. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  464. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  465. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  466. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  467. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  468. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  469. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  470. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  471. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  472. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  473. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  474. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  475. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  476. package/package-scripts.cjs +1 -0
  477. package/package.json +9 -9
  478. package/src/Breadcrumbs.hbs +2 -0
  479. package/src/Card.hbs +3 -2
  480. package/src/CheckBox.hbs +25 -18
  481. package/src/ColorPalette.hbs +2 -2
  482. package/src/ComboBox.hbs +6 -0
  483. package/src/ComboBoxPopover.hbs +11 -15
  484. package/src/DateTimePickerPopover.hbs +1 -0
  485. package/src/Input.hbs +1 -1
  486. package/src/MultiComboBox.hbs +6 -0
  487. package/src/MultiComboBoxPopover.hbs +26 -17
  488. package/src/SplitButton.hbs +1 -7
  489. package/src/TimeSelection.hbs +4 -0
  490. package/src/WheelSlider.hbs +1 -0
  491. package/src/i18n/messagebundle.properties +10 -1
  492. package/src/i18n/messagebundle_ar.properties +17 -1
  493. package/src/i18n/messagebundle_bg.properties +17 -1
  494. package/src/i18n/messagebundle_ca.properties +17 -1
  495. package/src/i18n/messagebundle_cnr.properties +17 -1
  496. package/src/i18n/messagebundle_cs.properties +17 -1
  497. package/src/i18n/messagebundle_cy.properties +17 -1
  498. package/src/i18n/messagebundle_da.properties +17 -1
  499. package/src/i18n/messagebundle_de.properties +17 -1
  500. package/src/i18n/messagebundle_el.properties +17 -1
  501. package/src/i18n/messagebundle_en.properties +17 -1
  502. package/src/i18n/messagebundle_en_GB.properties +17 -1
  503. package/src/i18n/messagebundle_en_US_saprigi.properties +17 -1
  504. package/src/i18n/messagebundle_es.properties +17 -1
  505. package/src/i18n/messagebundle_es_MX.properties +17 -1
  506. package/src/i18n/messagebundle_et.properties +17 -1
  507. package/src/i18n/messagebundle_fi.properties +17 -1
  508. package/src/i18n/messagebundle_fr.properties +17 -1
  509. package/src/i18n/messagebundle_fr_CA.properties +17 -1
  510. package/src/i18n/messagebundle_hi.properties +17 -1
  511. package/src/i18n/messagebundle_hr.properties +17 -1
  512. package/src/i18n/messagebundle_hu.properties +17 -1
  513. package/src/i18n/messagebundle_id.properties +17 -1
  514. package/src/i18n/messagebundle_it.properties +17 -1
  515. package/src/i18n/messagebundle_iw.properties +17 -1
  516. package/src/i18n/messagebundle_ja.properties +17 -1
  517. package/src/i18n/messagebundle_kk.properties +17 -1
  518. package/src/i18n/messagebundle_ko.properties +19 -3
  519. package/src/i18n/messagebundle_lt.properties +17 -1
  520. package/src/i18n/messagebundle_lv.properties +17 -1
  521. package/src/i18n/messagebundle_mk.properties +17 -1
  522. package/src/i18n/messagebundle_ms.properties +17 -1
  523. package/src/i18n/messagebundle_nl.properties +17 -1
  524. package/src/i18n/messagebundle_no.properties +20 -4
  525. package/src/i18n/messagebundle_pl.properties +17 -1
  526. package/src/i18n/messagebundle_pt.properties +17 -1
  527. package/src/i18n/messagebundle_pt_PT.properties +17 -1
  528. package/src/i18n/messagebundle_ro.properties +17 -1
  529. package/src/i18n/messagebundle_ru.properties +23 -7
  530. package/src/i18n/messagebundle_sh.properties +17 -1
  531. package/src/i18n/messagebundle_sk.properties +17 -1
  532. package/src/i18n/messagebundle_sl.properties +17 -1
  533. package/src/i18n/messagebundle_sr.properties +17 -1
  534. package/src/i18n/messagebundle_sv.properties +17 -1
  535. package/src/i18n/messagebundle_th.properties +17 -1
  536. package/src/i18n/messagebundle_tr.properties +17 -1
  537. package/src/i18n/messagebundle_uk.properties +17 -1
  538. package/src/i18n/messagebundle_vi.properties +17 -1
  539. package/src/i18n/messagebundle_zh_CN.properties +17 -1
  540. package/src/i18n/messagebundle_zh_TW.properties +17 -1
  541. package/src/themes/Breadcrumbs.css +22 -22
  542. package/src/themes/CheckBox.css +18 -1
  543. package/src/themes/List.css +5 -0
  544. package/src/themes/MultiComboBoxPopover.css +31 -0
  545. package/src/themes/SplitButton.css +62 -162
  546. package/src/themes/TextArea.css +1 -0
  547. package/src/themes/ValueStateMessage.css +1 -1
  548. package/src/themes/base/SplitButton-parameters.css +3 -24
  549. package/src/themes/base/rtl-parameters.css +0 -14
  550. package/src/themes/base/sizes-parameters.css +1 -2
  551. package/src/themes/sap_fiori_3_dark/Badge-parameters.css +5 -0
  552. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  553. package/src/themes/sap_fiori_3_hcb/Badge-parameters.css +3 -0
  554. package/src/themes/sap_fiori_3_hcb/SplitButton-parameters.css +10 -11
  555. package/src/themes/sap_fiori_3_hcw/Badge-parameters.css +3 -0
  556. package/src/themes/sap_fiori_3_hcw/SplitButton-parameters.css +10 -10
  557. package/src/themes/sap_horizon/SplitButton-parameters.css +1 -14
  558. package/src/themes/sap_horizon_dark/SplitButton-parameters.css +1 -15
  559. package/src/themes/sap_horizon_dark_exp/SplitButton-parameters.css +0 -15
  560. package/src/themes/sap_horizon_exp/SplitButton-parameters.css +0 -15
  561. package/src/themes/sap_horizon_hcb/SplitButton-parameters.css +10 -10
  562. package/src/themes/sap_horizon_hcb_exp/SplitButton-parameters.css +10 -10
  563. package/src/themes/sap_horizon_hcw/SplitButton-parameters.css +10 -10
  564. package/src/themes/sap_horizon_hcw_exp/SplitButton-parameters.css +10 -10
  565. package/tsconfig.json +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedButton.js","sourceRoot":"","sources":["../src/SegmentedButton.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 ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport {\n\tisSpace,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { SEGMENTEDBUTTON_ARIA_DESCRIPTION, SEGMENTEDBUTTON_ARIA_DESCRIBEDBY } from \"./generated/i18n/i18n-defaults.js\";\nimport SegmentedButtonItem from \"./SegmentedButtonItem.js\";\nimport SegmentedButtonMode from \"./types/SegmentedButtonMode.js\";\nimport type { ISegmentedButtonItem } from \"./Interfaces.js\";\n\n// Template\nimport SegmentedButtonTemplate from \"./generated/templates/SegmentedButtonTemplate.lit.js\";\n\n// Styles\nimport SegmentedButtonCss from \"./generated/themes/SegmentedButton.css.js\";\n\ntype SegmentedButtonSelectionChangeEventDetail = {\n\tselectedItem: ISegmentedButtonItem,\n\tselectedItems: Array<ISegmentedButtonItem>,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-segmented-button</code> shows a group of items. When the user clicks or taps\n * one of the items, it stays in a pressed state. It automatically resizes the items\n * to fit proportionally within the component. When no width is set, the component uses the available width.\n * <br><br>\n * <b>Note:</b> There can be just one selected <code>item</code> at a time.\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/SegmentedButton\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.6\n * @public\n */\n@customElement({\n\ttag: \"ui5-segmented-button\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: SegmentedButtonTemplate,\n\tstyles: SegmentedButtonCss,\n\tdependencies: [SegmentedButtonItem],\n})\n/**\n * Fired when the selected item changes.\n *\n * @param {ISegmentedButtonItem} selectedItem the pressed item.\n * @param {Array<ISegmentedButtonItem>} selectedItems an array of selected items.\n * @public\n */\n@event(\"selection-change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t * @deprecated deprecated since 1.14.0 and will be removed in the next major release, use the <code>selectedItems</code> parameter instead.\n\t\t */\n\t\tselectedItem: { type: HTMLElement },\n\t\t/**\n\t\t * @public\n\t\t * @since 1.14.0\n\t\t */\n\t\tselectedItems: { type: Array },\n\t},\n})\n\nclass SegmentedButton extends UI5Element {\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @default undefined\n\t * @public\n\t * @since 1.0.3\n\t */\n\t@property({ defaultValue: undefined })\n\taccessibleName?: string;\n\n\t/**\n\t * Defines the component selection mode.\n\t *\n\t * <br><br>\n\t * <b>The available values are:</b>\n\t *\n\t * <ul>\n\t * <li><code>SingleSelect</code></li>\n\t * <li><code>MultiSelect</code></li>\n\t * </ul>\n\t *\n\t * @default \"SingleSelect\"\n\t * @public\n\t * @since 1.14.0\n\t */\n\t@property({ type: SegmentedButtonMode, defaultValue: SegmentedButtonMode.SingleSelect })\n\tmode!: `${SegmentedButtonMode}`;\n\n\t/**\n\t * Defines the items of <code>ui5-segmented-button</code>.\n\t * <br><br>\n\t * <b>Note:</b> Multiple items are allowed.\n\t * <br><br>\n\t * <b>Note:</b> Use the <code>ui5-segmented-button-item</code> for the intended design.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<ISegmentedButtonItem>;\n\n\tstatic i18nBundle: I18nBundle;\n\n\t_itemNavigation: ItemNavigation;\n\n\thasPreviouslyFocusedItem: boolean;\n\n\t_selectedItem?: ISegmentedButtonItem;\n\n\tstatic async onDefine() {\n\t\tSegmentedButton.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => this.getSlottedNodes<SegmentedButtonItem>(\"items\"),\n\t\t});\n\t\tthis.hasPreviouslyFocusedItem = false;\n\t}\n\n\tonBeforeRendering() {\n\t\tconst items = this.getSlottedNodes<SegmentedButtonItem>(\"items\");\n\n\t\titems.forEach((item, index, arr) => {\n\t\t\titem.posInSet = index + 1;\n\t\t\titem.sizeOfSet = arr.length;\n\t\t});\n\n\t\tthis.normalizeSelection();\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5_segmented_btn_items_count\"), `${items.length}`);\n\t}\n\n\tnormalizeSelection() {\n\t\tif (!this.items.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (this.mode) {\n\t\tcase SegmentedButtonMode.SingleSelect: {\n\t\t\tconst selectedItems = this.selectedItems;\n\t\t\tconst selectedItemIndex = this._selectedItem ? selectedItems.indexOf(this._selectedItem) : -1;\n\t\t\tif (this._selectedItem && selectedItems.length > 1) {\n\t\t\t\tselectedItems.splice(selectedItemIndex, 1);\n\t\t\t}\n\t\t\tconst selectedItem = selectedItems.pop() || this.items[0];\n\t\t\tthis._applySingleSelection(selectedItem);\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t}\n\t}\n\n\t_selectItem(e: MouseEvent | KeyboardEvent) {\n\t\tconst target = e.target as SegmentedButtonItem;\n\t\tconst isTargetSegmentedButtonItem = target.hasAttribute(\"ui5-segmented-button-item\");\n\n\t\tif (target.disabled || target === this.getDomRef() || !isTargetSegmentedButtonItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (this.mode) {\n\t\tcase SegmentedButtonMode.MultiSelect:\n\t\t\tif (e instanceof KeyboardEvent) {\n\t\t\t\ttarget.pressed = !target.pressed;\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthis._applySingleSelection(target);\n\t\t}\n\n\t\tthis.fireEvent<SegmentedButtonSelectionChangeEventDetail>(\"selection-change\", {\n\t\t\tselectedItem: target,\n\t\t\tselectedItems: this.selectedItems,\n\t\t});\n\n\t\tthis._itemNavigation.setCurrentItem(target);\n\t\ttarget.focus();\n\n\t\treturn this;\n\t}\n\n\t_applySingleSelection(item: ISegmentedButtonItem) {\n\t\tthis.items.forEach(currentItem => {\n\t\t\tcurrentItem.pressed = false;\n\t\t});\n\t\titem.pressed = true;\n\t\tthis._selectedItem = item;\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tthis._selectItem(e);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e)) {\n\t\t\tthis._selectItem(e);\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._selectItem(e);\n\t\t}\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tconst eventTarget = e.target as SegmentedButtonItem;\n\t\tconst isTargetSegmentedButtonItem = eventTarget.hasAttribute(\"ui5-segmented-button-item\");\n\n\t\tif (isTargetSegmentedButtonItem) {\n\t\t\teventTarget.focus();\n\t\t\tthis._itemNavigation.setCurrentItem(eventTarget);\n\t\t\tthis.hasPreviouslyFocusedItem = true;\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\t// If the component was previously focused,\n\t\t// update the ItemNavigation to sync the button's tabindex values\n\t\tif (this.hasPreviouslyFocusedItem) {\n\t\t\tthis._itemNavigation.setCurrentItem(e.target as SegmentedButtonItem);\n\t\t\treturn;\n\t\t}\n\n\t\t// If the component is focused for the first time\n\t\t// focus the selected item if such is present\n\t\tif (this.selectedItems.length) {\n\t\t\tthis.selectedItems[0].focus();\n\t\t\tthis._itemNavigation.setCurrentItem(this.selectedItems[0]);\n\t\t\tthis.hasPreviouslyFocusedItem = true;\n\t\t}\n\t}\n\n\t/**\n\t * Currently selected item.\n\t *\n\t * @deprecated since 1.14.0. This method will be removed in the next major release.\n\t * Please use the <code>selectedItems</code> property instead.\n\t * @public\n\t * @default undefined\n\t */\n\tget selectedItem(): ISegmentedButtonItem | undefined {\n\t\treturn this._selectedItem;\n\t}\n\n\t/**\n\t * Returns an array of the currently selected items.\n\t * @since 1.14.0\n\t * @public\n\t * @default []\n\t */\n\tget selectedItems(): Array<ISegmentedButtonItem> {\n\t\treturn this.items.filter(item => item.pressed);\n\t}\n\n\tget ariaDescribedBy() {\n\t\treturn SegmentedButton.i18nBundle.getText(SEGMENTEDBUTTON_ARIA_DESCRIBEDBY);\n\t}\n\n\tget ariaDescription() {\n\t\treturn SegmentedButton.i18nBundle.getText(SEGMENTEDBUTTON_ARIA_DESCRIPTION);\n\t}\n}\n\nSegmentedButton.define();\n\nexport default SegmentedButton;\nexport type {\n\tSegmentedButtonSelectionChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"SegmentedButton.js","sourceRoot":"","sources":["../src/SegmentedButton.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 ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport {\n\tisSpace,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { SEGMENTEDBUTTON_ARIA_DESCRIPTION, SEGMENTEDBUTTON_ARIA_DESCRIBEDBY } from \"./generated/i18n/i18n-defaults.js\";\nimport SegmentedButtonItem from \"./SegmentedButtonItem.js\";\nimport SegmentedButtonMode from \"./types/SegmentedButtonMode.js\";\nimport type { ISegmentedButtonItem } from \"./Interfaces.js\";\n\n// Template\nimport SegmentedButtonTemplate from \"./generated/templates/SegmentedButtonTemplate.lit.js\";\n\n// Styles\nimport SegmentedButtonCss from \"./generated/themes/SegmentedButton.css.js\";\n\ntype SegmentedButtonSelectionChangeEventDetail = {\n\tselectedItem: ISegmentedButtonItem,\n\tselectedItems: Array<ISegmentedButtonItem>,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-segmented-button</code> shows a group of items. When the user clicks or taps\n * one of the items, it stays in a pressed state. It automatically resizes the items\n * to fit proportionally within the component. When no width is set, the component uses the available width.\n * <br><br>\n * <b>Note:</b> There can be just one selected <code>item</code> at a time.\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/SegmentedButton\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.6\n * @public\n */\n@customElement({\n\ttag: \"ui5-segmented-button\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: SegmentedButtonTemplate,\n\tstyles: SegmentedButtonCss,\n\tdependencies: [SegmentedButtonItem],\n})\n/**\n * Fired when the selected item changes.\n *\n * @param {ISegmentedButtonItem} selectedItem the pressed item.\n * @param {Array<ISegmentedButtonItem>} selectedItems an array of selected items.\n * @public\n */\n@event<SegmentedButtonSelectionChangeEventDetail>(\"selection-change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t * @deprecated deprecated since 1.14.0 and will be removed in the next major release, use the <code>selectedItems</code> parameter instead.\n\t\t */\n\t\tselectedItem: { type: HTMLElement },\n\t\t/**\n\t\t * @public\n\t\t * @since 1.14.0\n\t\t */\n\t\tselectedItems: { type: Array },\n\t},\n})\n\nclass SegmentedButton extends UI5Element {\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @default undefined\n\t * @public\n\t * @since 1.0.3\n\t */\n\t@property({ defaultValue: undefined })\n\taccessibleName?: string;\n\n\t/**\n\t * Defines the component selection mode.\n\t *\n\t * <br><br>\n\t * <b>The available values are:</b>\n\t *\n\t * <ul>\n\t * <li><code>SingleSelect</code></li>\n\t * <li><code>MultiSelect</code></li>\n\t * </ul>\n\t *\n\t * @default \"SingleSelect\"\n\t * @public\n\t * @since 1.14.0\n\t */\n\t@property({ type: SegmentedButtonMode, defaultValue: SegmentedButtonMode.SingleSelect })\n\tmode!: `${SegmentedButtonMode}`;\n\n\t/**\n\t * Defines the items of <code>ui5-segmented-button</code>.\n\t * <br><br>\n\t * <b>Note:</b> Multiple items are allowed.\n\t * <br><br>\n\t * <b>Note:</b> Use the <code>ui5-segmented-button-item</code> for the intended design.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<ISegmentedButtonItem>;\n\n\tstatic i18nBundle: I18nBundle;\n\n\t_itemNavigation: ItemNavigation;\n\n\thasPreviouslyFocusedItem: boolean;\n\n\t_selectedItem?: ISegmentedButtonItem;\n\n\tstatic async onDefine() {\n\t\tSegmentedButton.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tgetItemsCallback: () => this.getSlottedNodes<SegmentedButtonItem>(\"items\"),\n\t\t});\n\t\tthis.hasPreviouslyFocusedItem = false;\n\t}\n\n\tonBeforeRendering() {\n\t\tconst items = this.getSlottedNodes<SegmentedButtonItem>(\"items\");\n\n\t\titems.forEach((item, index, arr) => {\n\t\t\titem.posInSet = index + 1;\n\t\t\titem.sizeOfSet = arr.length;\n\t\t});\n\n\t\tthis.normalizeSelection();\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5_segmented_btn_items_count\"), `${items.length}`);\n\t}\n\n\tnormalizeSelection() {\n\t\tif (!this.items.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (this.mode) {\n\t\tcase SegmentedButtonMode.SingleSelect: {\n\t\t\tconst selectedItems = this.selectedItems;\n\t\t\tconst selectedItemIndex = this._selectedItem ? selectedItems.indexOf(this._selectedItem) : -1;\n\t\t\tif (this._selectedItem && selectedItems.length > 1) {\n\t\t\t\tselectedItems.splice(selectedItemIndex, 1);\n\t\t\t}\n\t\t\tconst selectedItem = selectedItems.pop() || this.items[0];\n\t\t\tthis._applySingleSelection(selectedItem);\n\t\t\tbreak;\n\t\t}\n\t\tdefault:\n\t\t}\n\t}\n\n\t_selectItem(e: MouseEvent | KeyboardEvent) {\n\t\tconst target = e.target as SegmentedButtonItem;\n\t\tconst isTargetSegmentedButtonItem = target.hasAttribute(\"ui5-segmented-button-item\");\n\n\t\tif (target.disabled || target === this.getDomRef() || !isTargetSegmentedButtonItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (this.mode) {\n\t\tcase SegmentedButtonMode.MultiSelect:\n\t\t\tif (e instanceof KeyboardEvent) {\n\t\t\t\ttarget.pressed = !target.pressed;\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthis._applySingleSelection(target);\n\t\t}\n\n\t\tthis.fireEvent<SegmentedButtonSelectionChangeEventDetail>(\"selection-change\", {\n\t\t\tselectedItem: target,\n\t\t\tselectedItems: this.selectedItems,\n\t\t});\n\n\t\tthis._itemNavigation.setCurrentItem(target);\n\t\ttarget.focus();\n\n\t\treturn this;\n\t}\n\n\t_applySingleSelection(item: ISegmentedButtonItem) {\n\t\tthis.items.forEach(currentItem => {\n\t\t\tcurrentItem.pressed = false;\n\t\t});\n\t\titem.pressed = true;\n\t\tthis._selectedItem = item;\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tthis._selectItem(e);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e)) {\n\t\t\tthis._selectItem(e);\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._selectItem(e);\n\t\t}\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tconst eventTarget = e.target as SegmentedButtonItem;\n\t\tconst isTargetSegmentedButtonItem = eventTarget.hasAttribute(\"ui5-segmented-button-item\");\n\n\t\tif (isTargetSegmentedButtonItem) {\n\t\t\teventTarget.focus();\n\t\t\tthis._itemNavigation.setCurrentItem(eventTarget);\n\t\t\tthis.hasPreviouslyFocusedItem = true;\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\t// If the component was previously focused,\n\t\t// update the ItemNavigation to sync the button's tabindex values\n\t\tif (this.hasPreviouslyFocusedItem) {\n\t\t\tthis._itemNavigation.setCurrentItem(e.target as SegmentedButtonItem);\n\t\t\treturn;\n\t\t}\n\n\t\t// If the component is focused for the first time\n\t\t// focus the selected item if such is present\n\t\tif (this.selectedItems.length) {\n\t\t\tthis.selectedItems[0].focus();\n\t\t\tthis._itemNavigation.setCurrentItem(this.selectedItems[0]);\n\t\t\tthis.hasPreviouslyFocusedItem = true;\n\t\t}\n\t}\n\n\t/**\n\t * Currently selected item.\n\t *\n\t * @deprecated since 1.14.0. This method will be removed in the next major release.\n\t * Please use the <code>selectedItems</code> property instead.\n\t * @public\n\t * @default undefined\n\t */\n\tget selectedItem(): ISegmentedButtonItem | undefined {\n\t\treturn this._selectedItem;\n\t}\n\n\t/**\n\t * Returns an array of the currently selected items.\n\t * @since 1.14.0\n\t * @public\n\t * @default []\n\t */\n\tget selectedItems(): Array<ISegmentedButtonItem> {\n\t\treturn this.items.filter(item => item.pressed);\n\t}\n\n\tget ariaDescribedBy() {\n\t\treturn SegmentedButton.i18nBundle.getText(SEGMENTEDBUTTON_ARIA_DESCRIBEDBY);\n\t}\n\n\tget ariaDescription() {\n\t\treturn SegmentedButton.i18nBundle.getText(SEGMENTEDBUTTON_ARIA_DESCRIPTION);\n\t}\n}\n\nSegmentedButton.define();\n\nexport default SegmentedButton;\nexport type {\n\tSegmentedButtonSelectionChangeEventDetail,\n};\n"]}
@@ -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,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,oCAAoC,EAAE,MAAM,mCAAmC,CAAC;AAEzF;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,IAAM,mBAAmB,2BAAzB,MAAM,mBAAoB,SAAQ,YAAY;IA8C7C,IAAI,eAAe;QAClB,OAAO,qBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;IACrF,CAAC;CACD,CAAA;AAzCA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC;mDAC1C;AAS3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACV;AASlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACV;AASlB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;qDAChC;AASlB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;sDAC/B;AA5Cd,mBAAmB;IALxB,aAAa,CAAC;QACd,GAAG,EAAE,2BAA2B;QAChC,QAAQ,EAAE,2BAA2B;QACrC,YAAY,EAAE,CAAC,IAAI,CAAC;KACpB,CAAC;GACI,mBAAmB,CAiDxB;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 \"./Interfaces.js\";\nimport SegmentedButtonItemTemplate from \"./generated/templates/SegmentedButtonItemTemplate.lit.js\";\n\nimport ToggleButton from \"./ToggleButton.js\";\nimport ButtonDesign from \"./types/ButtonDesign.js\";\nimport Icon from \"./Icon.js\";\n\nimport { SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION } from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * Users can use the <code>ui5-segmented-button-item</code> as part of a <code>ui5-segmented-button</code>.\n * <br><br>\n * Clicking or tapping on a <code>ui5-segmented-button-item</code> changes its state to <code>pressed</code>.\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 * <code>ui5-segmented-button-item</code>.\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/SegmentedButtonItem\";</code>\n *\n * @constructor\n * @extends ToggleButton\n * @implements { ISegmentedButtonItem }\n * @abstract\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 * <b>Note:</b> The property is inherited and not supported. If set, it won't take any effect.\n\t *\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property({ type: ButtonDesign, defaultValue: ButtonDesign.Default })\n\tdesign!: `${ButtonDesign}`;\n\n\t/**\n\t * <b>Note:</b> The property is inherited and not supported. If set, it won't take any effect.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\ticonEnd!: boolean;\n\n\t/**\n\t * <b>Note:</b> The property is inherited and not supported. If set, it won't take any effect.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tsubmits!: boolean;\n\n\t/**\n\t * Defines the index of the item inside of the SegmentedButton.\n\t *\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 *\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":";;;;;;;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,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,oCAAoC,EAAE,MAAM,mCAAmC,CAAC;AAEzF;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,IAAM,mBAAmB,2BAAzB,MAAM,mBAAoB,SAAQ,YAAY;IA8C7C,IAAI,eAAe;QAClB,OAAO,qBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;IACrF,CAAC;CACD,CAAA;AAzCQ;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC;mDACnC;AAS1B;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACH;AASjB;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACH;AASzB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;qDAChC;AASlB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;sDAC/B;AA5Cd,mBAAmB;IALxB,aAAa,CAAC;QACd,GAAG,EAAE,2BAA2B;QAChC,QAAQ,EAAE,2BAA2B;QACrC,YAAY,EAAE,CAAC,IAAI,CAAC;KACpB,CAAC;GACI,mBAAmB,CAiDxB;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 \"./Interfaces.js\";\nimport SegmentedButtonItemTemplate from \"./generated/templates/SegmentedButtonItemTemplate.lit.js\";\n\nimport ToggleButton from \"./ToggleButton.js\";\nimport ButtonDesign from \"./types/ButtonDesign.js\";\nimport Icon from \"./Icon.js\";\n\nimport { SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION } from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * Users can use the <code>ui5-segmented-button-item</code> as part of a <code>ui5-segmented-button</code>.\n * <br><br>\n * Clicking or tapping on a <code>ui5-segmented-button-item</code> changes its state to <code>pressed</code>.\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 * <code>ui5-segmented-button-item</code>.\n *\n * <h3>ES6 Module Import</h3>\n *\n * <code>import \"@ui5/webcomponents/dist/SegmentedButtonItem\";</code>\n *\n * @constructor\n * @extends ToggleButton\n * @implements { ISegmentedButtonItem }\n * @abstract\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 * <b>Note:</b> The property is inherited and not supported. If set, it won't take any effect.\n\t *\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 * <b>Note:</b> The property is inherited and not supported. If set, it won't take any effect.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdeclare iconEnd: boolean;\n\n\t/**\n\t * <b>Note:</b> The property is inherited and not supported. If set, it won't take any effect.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdeclare submits: boolean;\n\n\t/**\n\t * Defines the index of the item inside of the SegmentedButton.\n\t *\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 *\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 +1 @@
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\";\nimport SelectPopoverTemplate from \"./generated/templates/SelectPopoverTemplate.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\";\nimport { IOption } from \"./Interfaces.js\";\n\ntype SelectChangeEventDetail = {\n\tselectedOption: IOption,\n}\ntype SelectLiveChangeEventDetail = {\n\tselectedOption: IOption,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-select</code> component is used to create a drop-down list.\n *\n * <h3>Usage</h3>\n *\n * There are two main usages of the <code>ui5-select></code>.\n *\n * 1. With Option (<code>ui5-option</code>) web component:\n * <br>\n * The available options of the Select are defined by using the Option component.\n * The Option comes with predefined design and layout, including <code>icon</code>, <code>text</code> and <code>additional-text</code>.\n * <br><br>\n *\n * 2. With SelectMenu (<code>ui5-select-menu</code>) and SelectMenuOption (<code>ui5-select-menu-option</code>) web components:\n * <br>\n * The SelectMenu can be used as alternative to define the Select's dropdown\n * and can be used via the <code>menu</code> 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 * <b>Note:</b> 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 * <h3>Keyboard Handling</h3>\n * The <code>ui5-select</code> provides advanced keyboard handling.\n * <br>\n * <ul>\n * <li>[F4, ALT+UP, ALT+DOWN, SPACE, ENTER] - Opens/closes the drop-down.</li>\n * <li>[UP, 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.</li>\n * <li>[SPACE, ENTER] - If the drop-down is opened - selects the focused option.</li>\n * <li>[ESC] - Closes the drop-down without changing the selection.</li>\n * <li>[HOME] - Navigates to first option</li>\n * <li>[END] - Navigates to the last option</li>\n * </ul>\n * <br>\n *\n * <h3>ES6 Module Import</h3>\n * <code>import \"@ui5/webcomponents/dist/Select\";</code>\n * <br>\n * <code>import \"@ui5/webcomponents/dist/Option\";</code> (comes with <code>ui5-select</code>)\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\tstaticAreaTemplate: SelectPopoverTemplate,\n\tstyles: selectCss,\n\tstaticAreaStyles: [\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 *\n * @allowPreventDefault\n * @param {IOption} selectedOption the selected option.\n * @public\n */\n@event(\"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 *\n * @param {IOption} selectedOption the selected option.\n * @public\n * @since 1.17.0\n */\n@event(\"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 *\n * @public\n */\n@event(\"open\")\n/**\n * Fired after the component's dropdown menu closes.\n *\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 * <br><br>\n\t * <b>Note:</b> Usage of <code>ui5-select-menu</code> is recommended.\n\t *\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 * <br><br>\n\t * <b>Note:</b> A disabled component is noninteractive.\n\t *\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 <code>ui5-option</code>.\n\t *\n\t * <br><br>\n\t * <b>Important:</b> For the <code>name</code> property to have effect, you must add the following import to your project:\n\t * <code>import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";</code>\n\t *\n\t * <br><br>\n\t * <b>Note:</b> When set, a native <code>input</code> HTML element\n\t * will be created inside the <code>ui5-select</code> 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 *\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 *\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 *\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 * <br><br>\n\t * <b>Note:</b> A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t *\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 *\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 *\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 * <br><br>\n\t * <b>Note:</b> 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 * <br><br>\n\t * <b>Note:</b> Use the <code>ui5-option</code> 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 <code>input</code> HTML element within Light DOM to enable form submit,\n\t * when <code>name</code> 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 * <br><br>\n\t *\n\t * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.\n\t * <br><br>\n\t * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,\n\t * when the component is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.\n\t * <br><br>\n\t * <b>Note:</b> If the component has <code>suggestionItems</code>,\n\t * the <code>valueStateMessage</code> 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 * <br><br>\n\t *\n\t * <b>Note:</b> If not specified and <code>ui5-select-menu-option</code> is used,\n\t * either the option's <code>display-text</code> or its textContent will be displayed.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> If not specified and <code>ui5-option</code> is used,\n\t * the option's textContent will be displayed.\n\t *\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.opened;\n\t}\n\n\tasync _respPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\t/**\n\t * Defines the value of the component:\n\t * <br>\n\t * - when get - returns the value of the component, e.g. the <code>value</code> property of the selected option or its text content.\n\t * <br>\n\t * - when set - selects the option with matching <code>value</code> property or text content.\n\t * <br><br>\n\t * <b>Note:</b> If the given value does not match any existing option,\n\t * the first option will get selected.\n\t *\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).filter(option => !option.getAttribute(\"disabled\")) 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 <code>ui5-option</code> 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\tasync _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 = await 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\tasync _attachRealDomRefs() {\n\t\tthis.responsivePopover = await 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._filteredItems;\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\t_focused: 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\t\tpreviousOption.focused = false;\n\n\t\tconst nextOption = options[newIndex];\n\t\tnextOption.selected = true;\n\t\tnextOption._focused = 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._filteredItems;\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.opened) ? \"-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._filteredItems.length && this._listWidth === 0 ? \"none\" : \"inline-block\",\n\t\t\t\t\"width\": `${this._filteredItems.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\tget _filteredItems() {\n\t\treturn this.options.filter(option => !option.disabled);\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\tasync openValueStatePopover() {\n\t\tthis.valueStatePopover = await 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\tasync _getPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.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\";\nimport SelectPopoverTemplate from \"./generated/templates/SelectPopoverTemplate.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\";\nimport { IOption } from \"./Interfaces.js\";\n\ntype SelectChangeEventDetail = {\n\tselectedOption: IOption,\n}\ntype SelectLiveChangeEventDetail = {\n\tselectedOption: IOption,\n}\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-select</code> component is used to create a drop-down list.\n *\n * <h3>Usage</h3>\n *\n * There are two main usages of the <code>ui5-select></code>.\n *\n * 1. With Option (<code>ui5-option</code>) web component:\n * <br>\n * The available options of the Select are defined by using the Option component.\n * The Option comes with predefined design and layout, including <code>icon</code>, <code>text</code> and <code>additional-text</code>.\n * <br><br>\n *\n * 2. With SelectMenu (<code>ui5-select-menu</code>) and SelectMenuOption (<code>ui5-select-menu-option</code>) web components:\n * <br>\n * The SelectMenu can be used as alternative to define the Select's dropdown\n * and can be used via the <code>menu</code> 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 * <b>Note:</b> 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 * <h3>Keyboard Handling</h3>\n * The <code>ui5-select</code> provides advanced keyboard handling.\n * <br>\n * <ul>\n * <li>[F4, ALT+UP, ALT+DOWN, SPACE, ENTER] - Opens/closes the drop-down.</li>\n * <li>[UP, 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.</li>\n * <li>[SPACE, ENTER] - If the drop-down is opened - selects the focused option.</li>\n * <li>[ESC] - Closes the drop-down without changing the selection.</li>\n * <li>[HOME] - Navigates to first option</li>\n * <li>[END] - Navigates to the last option</li>\n * </ul>\n * <br>\n *\n * <h3>ES6 Module Import</h3>\n * <code>import \"@ui5/webcomponents/dist/Select\";</code>\n * <br>\n * <code>import \"@ui5/webcomponents/dist/Option\";</code> (comes with <code>ui5-select</code>)\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\tstaticAreaTemplate: SelectPopoverTemplate,\n\tstyles: selectCss,\n\tstaticAreaStyles: [\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 *\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 *\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 *\n * @public\n */\n@event(\"open\")\n/**\n * Fired after the component's dropdown menu closes.\n *\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 * <br><br>\n\t * <b>Note:</b> Usage of <code>ui5-select-menu</code> is recommended.\n\t *\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 * <br><br>\n\t * <b>Note:</b> A disabled component is noninteractive.\n\t *\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 <code>ui5-option</code>.\n\t *\n\t * <br><br>\n\t * <b>Important:</b> For the <code>name</code> property to have effect, you must add the following import to your project:\n\t * <code>import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";</code>\n\t *\n\t * <br><br>\n\t * <b>Note:</b> When set, a native <code>input</code> HTML element\n\t * will be created inside the <code>ui5-select</code> 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 *\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 *\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 *\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 * <br><br>\n\t * <b>Note:</b> A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t *\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 *\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 *\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 * <br><br>\n\t * <b>Note:</b> 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 * <br><br>\n\t * <b>Note:</b> Use the <code>ui5-option</code> 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 <code>input</code> HTML element within Light DOM to enable form submit,\n\t * when <code>name</code> 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 * <br><br>\n\t *\n\t * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.\n\t * <br><br>\n\t * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,\n\t * when the component is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.\n\t * <br><br>\n\t * <b>Note:</b> If the component has <code>suggestionItems</code>,\n\t * the <code>valueStateMessage</code> 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 * <br><br>\n\t *\n\t * <b>Note:</b> If not specified and <code>ui5-select-menu-option</code> is used,\n\t * either the option's <code>display-text</code> or its textContent will be displayed.\n\t * <br><br>\n\t *\n\t * <b>Note:</b> If not specified and <code>ui5-option</code> is used,\n\t * the option's textContent will be displayed.\n\t *\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.opened;\n\t}\n\n\tasync _respPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\t/**\n\t * Defines the value of the component:\n\t * <br>\n\t * - when get - returns the value of the component, e.g. the <code>value</code> property of the selected option or its text content.\n\t * <br>\n\t * - when set - selects the option with matching <code>value</code> property or text content.\n\t * <br><br>\n\t * <b>Note:</b> If the given value does not match any existing option,\n\t * the first option will get selected.\n\t *\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).filter(option => !option.getAttribute(\"disabled\")) 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 <code>ui5-option</code> 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\tasync _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 = await 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\tasync _attachRealDomRefs() {\n\t\tthis.responsivePopover = await 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._filteredItems;\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\t_focused: 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\t\tpreviousOption.focused = false;\n\n\t\tconst nextOption = options[newIndex];\n\t\tnextOption.selected = true;\n\t\tnextOption._focused = 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._filteredItems;\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.opened) ? \"-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._filteredItems.length && this._listWidth === 0 ? \"none\" : \"inline-block\",\n\t\t\t\t\"width\": `${this._filteredItems.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\tget _filteredItems() {\n\t\treturn this.options.filter(option => !option.disabled);\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\tasync openValueStatePopover() {\n\t\tthis.valueStatePopover = await 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\tasync _getPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.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 +1 @@
1
- {"version":3,"file":"SelectMenu.js","sourceRoot":"","sources":["../src/SelectMenu.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 Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\n\n// Template\nimport SelectMenuTemplate from \"./generated/templates/SelectMenuTemplate.lit.js\";\n\n// Styles\nimport SelectMenuCss from \"./generated/themes/SelectMenu.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\n\n// Deps\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport List from \"./List.js\";\nimport Button from \"./Button.js\";\n\n// Types\nimport type Select from \"./Select.js\";\nimport type SelectMenuOption from \"./SelectMenuOption.js\";\nimport { IOption } from \"./Interfaces.js\";\n\ntype SelectMenuOptionClick = {\n\toption: SelectMenuOption,\n\toptionIndex: number,\n};\n\ntype SelectMenuChange = {\n\ttext: string,\n\tselectedIndex: number,\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-select-menu</code> is meant to be used together with the <code>ui5-select</code> component as alternative\n * to define the select's dropdown. It acts as a popover on desktop and tablet, and as a Dialog on phone.\n * </br></br>\n * The component gives the possibility to the user to customize the <code>ui5-select</code>'s dropdown\n * by slotting custom options and adding custom styles.\n *\n * <h3>Usage</h3>\n *\n * To use <code>ui5-select</code> with a <code>ui5-select-menu</code>,\n * you need to set the <code>ui5-select</code> <code>menu</code> property to reference <code>ui5-select-menu</code> either by ID or DOM reference.\n * </br></br>\n *\n * For the <code>ui5-select-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import @ui5/webcomponents/dist/SelectMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-select-menu\",\n\trenderer: litRender,\n\tstyles: [SelectMenuCss, ValueStateMessageCss, ResponsivePopoverCommonCss],\n\ttemplate: SelectMenuTemplate,\n\tdependencies: [\n\t\tResponsivePopover,\n\t\tList,\n\t\tButton,\n\t],\n})\n@event(\"option-click\", {\n\tdetail: {\n\t\toption: { type: HTMLElement },\n\t\toptionIndex: { type: Integer },\n\t},\n})\n@event(\"before-open\")\n@event(\"after-open\")\n@event(\"after-close\")\n@event(\"menu-change\", {\n\tdetail: {\n\t\ttext: { type: String },\n\t\tselectedIndex: { type: Integer },\n\t},\n})\nclass SelectMenu extends UI5Element {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.valueStateMessageText = [];\n\t}\n\n\t/**\n\t * Defines the options of the component.\n\t *\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: true,\n\t})\n\toptions!: Array<IOption>;\n\n\t/**\n\t * Defines the width of the component.\n\t *\n\t * @private\n\t */\n\t@property({ validator: Integer })\n\tselectWidth?: number;\n\n\t@property({ type: Boolean })\n\thasValueState!: boolean;\n\n\t@property({ type: Boolean })\n\thasValueStateSlot!: boolean;\n\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t@property()\n\tvalueStateText!: string;\n\n\t@property({ type: String, noAttribute: true })\n\tvalue!: string;\n\n\t@property({ type: String, noAttribute: true })\n\tselectId?: string;\n\n\tvalueStateMessageText: Array<Node>;\n\n\t_headerTitleText?: string;\n\n\tselect?: Select;\n\n\t/**\n\t * Shows the dropdown at the given element.\n\t */\n\tshowAt(opener: Select, openerWidth: number) {\n\t\tthis.selectWidth = openerWidth;\n\t\tthis.respPopover.open = true;\n\t\tthis.respPopover.opener = opener;\n\t\tthis.hasValueState = !!opener.hasValueState;\n\t\tthis.hasValueStateSlot = opener.valueStateMessageText.length > 0;\n\t\tthis.valueStateText = opener.valueStateText;\n\t\tthis.valueStateMessageText = opener.valueStateMessageText;\n\t\tthis.valueState = opener.valueState;\n\n\t\tthis._headerTitleText = opener._headerTitleText;\n\t}\n\n\t/**\n\t * Closes the dropdown.\n\t */\n\tclose(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false) {\n\t\tthis.respPopover.close(escPressed, preventRegistryUpdate, preventFocusRestore);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._syncSelection();\n\t}\n\n\t_syncSelection() {\n\t\tlet lastSelectedOptionIndex = -1,\n\t\t\tfirstEnabledOptionIndex = -1,\n\t\t\ttext,\n\t\t\tselectedIndex;\n\t\tconst options = this.options;\n\t\toptions.forEach((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\t\t\treturn opt;\n\t\t});\n\n\t\tif (lastSelectedOptionIndex > -1) {\n\t\t\tconst lastSelectedOption = options[lastSelectedOptionIndex];\n\t\t\tlastSelectedOption.selected = true;\n\t\t\tlastSelectedOption.focused = true;\n\t\t\ttext = lastSelectedOption.displayText || String(lastSelectedOption.textContent);\n\t\t\tselectedIndex = lastSelectedOptionIndex;\n\t\t} else {\n\t\t\ttext = \"\";\n\t\t\tselectedIndex = -1;\n\t\t\tconst firstSelectedOption = options[firstEnabledOptionIndex];\n\t\t\tif (firstSelectedOption) {\n\t\t\t\tfirstSelectedOption.selected = true;\n\t\t\t\tfirstSelectedOption.focused = true;\n\t\t\t\tselectedIndex = firstEnabledOptionIndex;\n\t\t\t\ttext = firstSelectedOption.displayText || String(firstSelectedOption.textContent);\n\t\t\t}\n\t\t}\n\n\t\tthis.fireEvent<SelectMenuChange>(\"menu-change\", {\n\t\t\ttext,\n\t\t\tselectedIndex,\n\t\t});\n\t}\n\n\t_onOptionClick(e: CustomEvent) {\n\t\tconst option = e.detail.item;\n\t\tconst optionIndex = this.options.findIndex(_option => option.__id === _option.__id);\n\n\t\tthis.fireEvent<SelectMenuOptionClick>(\"option-click\", {\n\t\t\toption,\n\t\t\toptionIndex,\n\t\t});\n\t}\n\n\t_onBeforeOpen() {\n\t\tthis.fireEvent<CustomEvent>(\"before-open\");\n\t}\n\n\t_onAfterOpen() {\n\t\tthis.fireEvent<CustomEvent>(\"after-open\");\n\t}\n\n\t_onAfterClose() {\n\t\tthis.fireEvent<CustomEvent>(\"after-close\");\n\t}\n\n\t_onCloseBtnClick() {\n\t\tthis.close();\n\t}\n\n\tget open() {\n\t\treturn !!this.respPopover?.open;\n\t}\n\n\tget respPopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\".ui5-select-menu\")!;\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\tvalueStatePopover: {\n\t\t\t\t\"width\": `${this.selectWidth!}px`,\n\t\t\t},\n\t\t\tresponsivePopover: {\n\t\t\t\t\"min-width\": `${this.selectWidth!}px`,\n\t\t\t},\n\t\t};\n\t}\n\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 _isPhone() {\n\t\treturn isPhone();\n\t}\n}\n\nSelectMenu.define();\n\nexport default SelectMenu;\nexport type {\n\tSelectMenuOptionClick,\n\tSelectMenuChange,\n};\n"]}
1
+ {"version":3,"file":"SelectMenu.js","sourceRoot":"","sources":["../src/SelectMenu.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,OAAO,MAAM,+CAA+C,CAAC;AACpE,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,UAAU,MAAM,kDAAkD,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAEjE,WAAW;AACX,OAAO,kBAAkB,MAAM,iDAAiD,CAAC;AAEjF,SAAS;AACT,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,oBAAoB,MAAM,6CAA6C,CAAC;AAC/E,OAAO,0BAA0B,MAAM,mDAAmD,CAAC;AAE3F,OAAO;AACP,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AAKjC,OAAwB,iBAAiB,CAAC;AAY1C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AA2BH,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;IAClC;QACC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;IACjC,CAAC;IA8CD;;OAEG;IACH,MAAM,CAAC,MAAc,EAAE,WAAmB;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAEpC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,GAAG,KAAK,EAAE,qBAAqB,GAAG,KAAK,EAAE,mBAAmB,GAAG,KAAK;QACnF,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;IAChF,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAED,cAAc;QACb,IAAI,uBAAuB,GAAG,CAAC,CAAC,EAC/B,uBAAuB,GAAG,CAAC,CAAC,EAC5B,IAAI,EACJ,aAAa,CAAC;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC9B,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;YACpB,OAAO,GAAG,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,IAAI,uBAAuB,GAAG,CAAC,CAAC,EAAE;YACjC,MAAM,kBAAkB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;YAC5D,kBAAkB,CAAC,QAAQ,GAAG,IAAI,CAAC;YACnC,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;YAClC,IAAI,GAAG,kBAAkB,CAAC,WAAW,IAAI,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAChF,aAAa,GAAG,uBAAuB,CAAC;SACxC;aAAM;YACN,IAAI,GAAG,EAAE,CAAC;YACV,aAAa,GAAG,CAAC,CAAC,CAAC;YACnB,MAAM,mBAAmB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;YAC7D,IAAI,mBAAmB,EAAE;gBACxB,mBAAmB,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACpC,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;gBACnC,aAAa,GAAG,uBAAuB,CAAC;gBACxC,IAAI,GAAG,mBAAmB,CAAC,WAAW,IAAI,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;aAClF;SACD;QAED,IAAI,CAAC,SAAS,CAAmB,aAAa,EAAE;YAC/C,IAAI;YACJ,aAAa;SACb,CAAC,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,CAAc;QAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAEpF,IAAI,CAAC,SAAS,CAAwB,cAAc,EAAE;YACrD,MAAM;YACN,WAAW;SACX,CAAC,CAAC;IACJ,CAAC;IAED,aAAa;QACZ,IAAI,CAAC,SAAS,CAAc,aAAa,CAAC,CAAC;IAC5C,CAAC;IAED,YAAY;QACX,IAAI,CAAC,SAAS,CAAc,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa;QACZ,IAAI,CAAC,SAAS,CAAc,aAAa,CAAC,CAAC;IAC5C,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED,IAAI,IAAI;QACP,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;IACjC,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAoB,kBAAkB,CAAE,CAAC;IAC/E,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,iBAAiB,EAAE;gBAClB,OAAO,EAAE,GAAG,IAAI,CAAC,WAAY,IAAI;aACjC;YACD,iBAAiB,EAAE;gBAClB,WAAW,EAAE,GAAG,IAAI,CAAC,WAAY,IAAI;aACrC;SACD,CAAC;IACH,CAAC;IAED,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,QAAQ;QACX,OAAO,OAAO,EAAE,CAAC;IAClB,CAAC;CACD,CAAA;AAlLA;IALC,IAAI,CAAC;QACL,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,WAAW;QACjB,uBAAuB,EAAE,IAAI;KAC7B,CAAC;2CACuB;AAQzB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;+CACZ;AAGrB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACJ;AAGxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACA;AAG5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;8CACjC;AAG7B;IADC,QAAQ,EAAE;kDACa;AAGxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;yCAC/B;AAGf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;4CAC5B;AA3Cb,UAAU;IA1Bf,aAAa,CAAC;QACd,GAAG,EAAE,iBAAiB;QACtB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,CAAC,aAAa,EAAE,oBAAoB,EAAE,0BAA0B,CAAC;QACzE,QAAQ,EAAE,kBAAkB;QAC5B,YAAY,EAAE;YACb,iBAAiB;YACjB,IAAI;YACJ,MAAM;SACN;KACD,CAAC;IACD,KAAK,CAAwB,cAAc,EAAE;QAC7C,MAAM,EAAE;YACP,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;YAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC9B;KACD,CAAC;IACD,KAAK,CAAC,aAAa,CAAC;IACpB,KAAK,CAAC,YAAY,CAAC;IACnB,KAAK,CAAC,aAAa,CAAC;IACpB,KAAK,CAAmB,aAAa,EAAE;QACvC,MAAM,EAAE;YACP,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACtB,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAChC;KACD,CAAC;GACI,UAAU,CAmMf;AAED,UAAU,CAAC,MAAM,EAAE,CAAC;AAEpB,eAAe,UAAU,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\n\n// Template\nimport SelectMenuTemplate from \"./generated/templates/SelectMenuTemplate.lit.js\";\n\n// Styles\nimport SelectMenuCss from \"./generated/themes/SelectMenu.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\n\n// Deps\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport List from \"./List.js\";\nimport Button from \"./Button.js\";\n\n// Types\nimport type Select from \"./Select.js\";\nimport type SelectMenuOption from \"./SelectMenuOption.js\";\nimport { IOption } from \"./Interfaces.js\";\n\ntype SelectMenuOptionClick = {\n\toption: SelectMenuOption,\n\toptionIndex: number,\n};\n\ntype SelectMenuChange = {\n\ttext: string,\n\tselectedIndex: number,\n};\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n * The <code>ui5-select-menu</code> is meant to be used together with the <code>ui5-select</code> component as alternative\n * to define the select's dropdown. It acts as a popover on desktop and tablet, and as a Dialog on phone.\n * </br></br>\n * The component gives the possibility to the user to customize the <code>ui5-select</code>'s dropdown\n * by slotting custom options and adding custom styles.\n *\n * <h3>Usage</h3>\n *\n * To use <code>ui5-select</code> with a <code>ui5-select-menu</code>,\n * you need to set the <code>ui5-select</code> <code>menu</code> property to reference <code>ui5-select-menu</code> either by ID or DOM reference.\n * </br></br>\n *\n * For the <code>ui5-select-menu</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import @ui5/webcomponents/dist/SelectMenu.js\";</code>\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-select-menu\",\n\trenderer: litRender,\n\tstyles: [SelectMenuCss, ValueStateMessageCss, ResponsivePopoverCommonCss],\n\ttemplate: SelectMenuTemplate,\n\tdependencies: [\n\t\tResponsivePopover,\n\t\tList,\n\t\tButton,\n\t],\n})\n@event<SelectMenuOptionClick>(\"option-click\", {\n\tdetail: {\n\t\toption: { type: HTMLElement },\n\t\toptionIndex: { type: Integer },\n\t},\n})\n@event(\"before-open\")\n@event(\"after-open\")\n@event(\"after-close\")\n@event<SelectMenuChange>(\"menu-change\", {\n\tdetail: {\n\t\ttext: { type: String },\n\t\tselectedIndex: { type: Integer },\n\t},\n})\nclass SelectMenu extends UI5Element {\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.valueStateMessageText = [];\n\t}\n\n\t/**\n\t * Defines the options of the component.\n\t *\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: true,\n\t})\n\toptions!: Array<IOption>;\n\n\t/**\n\t * Defines the width of the component.\n\t *\n\t * @private\n\t */\n\t@property({ validator: Integer })\n\tselectWidth?: number;\n\n\t@property({ type: Boolean })\n\thasValueState!: boolean;\n\n\t@property({ type: Boolean })\n\thasValueStateSlot!: boolean;\n\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t@property()\n\tvalueStateText!: string;\n\n\t@property({ type: String, noAttribute: true })\n\tvalue!: string;\n\n\t@property({ type: String, noAttribute: true })\n\tselectId?: string;\n\n\tvalueStateMessageText: Array<Node>;\n\n\t_headerTitleText?: string;\n\n\tselect?: Select;\n\n\t/**\n\t * Shows the dropdown at the given element.\n\t */\n\tshowAt(opener: Select, openerWidth: number) {\n\t\tthis.selectWidth = openerWidth;\n\t\tthis.respPopover.open = true;\n\t\tthis.respPopover.opener = opener;\n\t\tthis.hasValueState = !!opener.hasValueState;\n\t\tthis.hasValueStateSlot = opener.valueStateMessageText.length > 0;\n\t\tthis.valueStateText = opener.valueStateText;\n\t\tthis.valueStateMessageText = opener.valueStateMessageText;\n\t\tthis.valueState = opener.valueState;\n\n\t\tthis._headerTitleText = opener._headerTitleText;\n\t}\n\n\t/**\n\t * Closes the dropdown.\n\t */\n\tclose(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false) {\n\t\tthis.respPopover.close(escPressed, preventRegistryUpdate, preventFocusRestore);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._syncSelection();\n\t}\n\n\t_syncSelection() {\n\t\tlet lastSelectedOptionIndex = -1,\n\t\t\tfirstEnabledOptionIndex = -1,\n\t\t\ttext,\n\t\t\tselectedIndex;\n\t\tconst options = this.options;\n\t\toptions.forEach((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\t\t\treturn opt;\n\t\t});\n\n\t\tif (lastSelectedOptionIndex > -1) {\n\t\t\tconst lastSelectedOption = options[lastSelectedOptionIndex];\n\t\t\tlastSelectedOption.selected = true;\n\t\t\tlastSelectedOption.focused = true;\n\t\t\ttext = lastSelectedOption.displayText || String(lastSelectedOption.textContent);\n\t\t\tselectedIndex = lastSelectedOptionIndex;\n\t\t} else {\n\t\t\ttext = \"\";\n\t\t\tselectedIndex = -1;\n\t\t\tconst firstSelectedOption = options[firstEnabledOptionIndex];\n\t\t\tif (firstSelectedOption) {\n\t\t\t\tfirstSelectedOption.selected = true;\n\t\t\t\tfirstSelectedOption.focused = true;\n\t\t\t\tselectedIndex = firstEnabledOptionIndex;\n\t\t\t\ttext = firstSelectedOption.displayText || String(firstSelectedOption.textContent);\n\t\t\t}\n\t\t}\n\n\t\tthis.fireEvent<SelectMenuChange>(\"menu-change\", {\n\t\t\ttext,\n\t\t\tselectedIndex,\n\t\t});\n\t}\n\n\t_onOptionClick(e: CustomEvent) {\n\t\tconst option = e.detail.item;\n\t\tconst optionIndex = this.options.findIndex(_option => option.__id === _option.__id);\n\n\t\tthis.fireEvent<SelectMenuOptionClick>(\"option-click\", {\n\t\t\toption,\n\t\t\toptionIndex,\n\t\t});\n\t}\n\n\t_onBeforeOpen() {\n\t\tthis.fireEvent<CustomEvent>(\"before-open\");\n\t}\n\n\t_onAfterOpen() {\n\t\tthis.fireEvent<CustomEvent>(\"after-open\");\n\t}\n\n\t_onAfterClose() {\n\t\tthis.fireEvent<CustomEvent>(\"after-close\");\n\t}\n\n\t_onCloseBtnClick() {\n\t\tthis.close();\n\t}\n\n\tget open() {\n\t\treturn !!this.respPopover?.open;\n\t}\n\n\tget respPopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\".ui5-select-menu\")!;\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\tvalueStatePopover: {\n\t\t\t\t\"width\": `${this.selectWidth!}px`,\n\t\t\t},\n\t\t\tresponsivePopover: {\n\t\t\t\t\"min-width\": `${this.selectWidth!}px`,\n\t\t\t},\n\t\t};\n\t}\n\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 _isPhone() {\n\t\treturn isPhone();\n\t}\n}\n\nSelectMenu.define();\n\nexport default SelectMenu;\nexport type {\n\tSelectMenuOptionClick,\n\tSelectMenuChange,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectMenuOption.js","sourceRoot":"","sources":["../src/SelectMenuOption.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,WAAW;AACX,OAAO,sBAAsB,MAAM,qDAAqD,CAAC;AAEzF,SAAS;AACT,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAEnD,OAAiC,iBAAiB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;GAmBG;AAQH,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,cAAc;IAsE5C,IAAI,YAAY;QACf,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,QAAQ;QACX,MAAM,eAAe,GAAG;YACvB,YAAY,EAAE,IAAI,CAAC,QAAQ;SAC3B,CAAC;QACF,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAC;IAClD,CAAC;CACD,CAAA;AAvEA;IADC,QAAQ,EAAE;qDACU;AAUrB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDACT;AAUnB;IADC,QAAQ,EAAE;+CACI;AAUf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC;8CAC3C;AAUzB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iEACuB;AAUlD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDACR;AASpB;IADC,IAAI,EAAE;sDACuB;AApEzB,gBAAgB;IAPrB,aAAa,CAAC;QACd,GAAG,EAAE,wBAAwB;QAC7B,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,QAAQ,EAAE,sBAAsB;QAChC,YAAY,EAAE,EAAE;KAChB,CAAC;GACI,gBAAgB,CAgFrB;AAED,gBAAgB,CAAC,MAAM,EAAE,CAAC;AAE1B,eAAe,gBAAgB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\n\n// Template\nimport CustomListItemTemplate from \"./generated/templates/CustomListItemTemplate.lit.js\";\n\n// Styles\nimport CustomListItem from \"./CustomListItem.js\";\nimport ListItemType from \"./types/ListItemType.js\";\nimport type { AccessibilityAttributes } from \"./ListItem.js\";\nimport { IButton, IOption } from \"./Interfaces.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n * The <code>ui5-select-menu-option</code> component represents an option in the <code>ui5-select-menu</code>.\n *\n * <h3>Usage</h3>\n *\n * For the <code>ui5-select-menu-option</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import @ui5/webcomponents/dist/SelectMenuOption.js\";</code>\n *\n * @constructor\n * @extends CustomListItem\n * @implements {IOption}\n * @public\n * @since 1.17.0\n * @slot {Array<Node>} default Defines the content of the component.\n */\n@customElement({\n\ttag: \"ui5-select-menu-option\",\n\trenderer: litRender,\n\tstyles: CustomListItem.styles,\n\ttemplate: CustomListItemTemplate,\n\tdependencies: [],\n})\nclass SelectMenuOption extends CustomListItem implements IOption {\n\t/**\n\t * Defines the text, displayed inside the <code>ui5-select</code> input filed\n\t * when the option gets selected.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tdisplayText!: string;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t * <br><br>\n\t * <b>Note:</b> A disabled component is hidden.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the value of the <code>ui5-select</code> inside an HTML Form element when this component is selected.\n\t * For more information on HTML Form support, see the <code>name</code> property of <code>ui5-select</code>.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tvalue!: string;\n\n\t/**\n\t * <b>Note:</b> The property is inherited and not supported. If set, it won't take any effect.\n\t *\n\t * @default \"Active\"\n\t * @public\n\t * @deprecated\n\t */\n\t@property({ type: ListItemType, defaultValue: ListItemType.Active })\n\ttype!: `${ListItemType}`;\n\n\t/**\n\t * <b>Note:</b> The property is inherited and not supported. If set, it won't take any effect.\n\t *\n\t * @default {}\n\t * @public\n\t * @deprecated\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes!: AccessibilityAttributes;\n\n\t/**\n\t * <b>Note:</b> The property is inherited and not supported. If set, it won't take any effect.\n\t *\n\t * @default false\n\t * @public\n\t * @deprecated\n\t */\n\t@property({ type: Boolean })\n\tnavigated!: boolean;\n\n\t/**\n\t * <b>Note:</b> The slot is inherited and not supported. If set, it won't take any effect.\n\t *\n\t * @public\n\t * @deprecated\n\t */\n\t@slot()\n\tdeleteButton!: Array<IButton>;\n\n\tget stableDomRef() {\n\t\treturn \"\";\n\t}\n\n\tget _accInfo() {\n\t\tconst accInfoSettings = {\n\t\t\tariaSelected: this.selected,\n\t\t};\n\t\treturn { ...super._accInfo, ...accInfoSettings };\n\t}\n}\n\nSelectMenuOption.define();\n\nexport default SelectMenuOption;\n"]}
1
+ {"version":3,"file":"SelectMenuOption.js","sourceRoot":"","sources":["../src/SelectMenuOption.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAEnE,WAAW;AACX,OAAO,sBAAsB,MAAM,qDAAqD,CAAC;AAEzF,SAAS;AACT,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAEnD,OAAiC,iBAAiB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;GAmBG;AAQH,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,cAAc;IAsE5C,IAAI,YAAY;QACf,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,QAAQ;QACX,MAAM,eAAe,GAAG;YACvB,YAAY,EAAE,IAAI,CAAC,QAAQ;SAC3B,CAAC;QACF,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAC;IAClD,CAAC;CACD,CAAA;AAvEA;IADC,QAAQ,EAAE;qDACU;AAUb;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDACF;AAU1B;IADC,QAAQ,EAAE;+CACI;AAUP;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC;8CACpC;AAUxB;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iEAC8B;AAUjD;IADP,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDACD;AASnB;IADP,IAAI,EAAE;sDAC8B;AApEhC,gBAAgB;IAPrB,aAAa,CAAC;QACd,GAAG,EAAE,wBAAwB;QAC7B,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,QAAQ,EAAE,sBAAsB;QAChC,YAAY,EAAE,EAAE;KAChB,CAAC;GACI,gBAAgB,CAgFrB;AAED,gBAAgB,CAAC,MAAM,EAAE,CAAC;AAE1B,eAAe,gBAAgB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\n\n// Template\nimport CustomListItemTemplate from \"./generated/templates/CustomListItemTemplate.lit.js\";\n\n// Styles\nimport CustomListItem from \"./CustomListItem.js\";\nimport ListItemType from \"./types/ListItemType.js\";\nimport type { AccessibilityAttributes } from \"./ListItem.js\";\nimport { IButton, IOption } from \"./Interfaces.js\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n * The <code>ui5-select-menu-option</code> component represents an option in the <code>ui5-select-menu</code>.\n *\n * <h3>Usage</h3>\n *\n * For the <code>ui5-select-menu-option</code>\n * <h3>ES6 Module Import</h3>\n *\n * <code>import @ui5/webcomponents/dist/SelectMenuOption.js\";</code>\n *\n * @constructor\n * @extends CustomListItem\n * @implements {IOption}\n * @public\n * @since 1.17.0\n * @slot {Array<Node>} default Defines the content of the component.\n */\n@customElement({\n\ttag: \"ui5-select-menu-option\",\n\trenderer: litRender,\n\tstyles: CustomListItem.styles,\n\ttemplate: CustomListItemTemplate,\n\tdependencies: [],\n})\nclass SelectMenuOption extends CustomListItem implements IOption {\n\t/**\n\t * Defines the text, displayed inside the <code>ui5-select</code> input filed\n\t * when the option gets selected.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tdisplayText!: string;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t * <br><br>\n\t * <b>Note:</b> A disabled component is hidden.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdeclare disabled: boolean;\n\n\t/**\n\t * Defines the value of the <code>ui5-select</code> inside an HTML Form element when this component is selected.\n\t * For more information on HTML Form support, see the <code>name</code> property of <code>ui5-select</code>.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tvalue!: string;\n\n\t/**\n\t * <b>Note:</b> The property is inherited and not supported. If set, it won't take any effect.\n\t *\n\t * @default \"Active\"\n\t * @public\n\t * @deprecated\n\t */\n\t@property({ type: ListItemType, defaultValue: ListItemType.Active })\n\tdeclare type: `${ListItemType}`;\n\n\t/**\n\t * <b>Note:</b> The property is inherited and not supported. If set, it won't take any effect.\n\t *\n\t * @default {}\n\t * @public\n\t * @deprecated\n\t */\n\t@property({ type: Object })\n\tdeclare accessibilityAttributes: AccessibilityAttributes;\n\n\t/**\n\t * <b>Note:</b> The property is inherited and not supported. If set, it won't take any effect.\n\t *\n\t * @default false\n\t * @public\n\t * @deprecated\n\t */\n\t@property({ type: Boolean })\n\tdeclare navigated: boolean;\n\n\t/**\n\t * <b>Note:</b> The slot is inherited and not supported. If set, it won't take any effect.\n\t *\n\t * @public\n\t * @deprecated\n\t */\n\t@slot()\n\tdeclare deleteButton: Array<IButton>;\n\n\tget stableDomRef() {\n\t\treturn \"\";\n\t}\n\n\tget _accInfo() {\n\t\tconst accInfoSettings = {\n\t\t\tariaSelected: this.selected,\n\t\t};\n\t\treturn { ...super._accInfo, ...accInfoSettings };\n\t}\n}\n\nSelectMenuOption.define();\n\nexport default SelectMenuOption;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"StandardListItem.js","sourceRoot":"","sources":["../src/StandardListItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,UAAU,MAAM,kDAAkD,CAAC;AAC1E,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,wBAAwB,MAAM,uDAAuD,CAAC;AAE7F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAUH,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,QAAQ;IA6GtC,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC;IAC9C,CAAC;IAED,IAAI,YAAY;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IACnC,CAAC;CACD,CAAA;AA1HA;IADC,QAAQ,EAAE;qDACU;AAarB;IADC,QAAQ,EAAE;8CACG;AAWd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACV;AAWlB;IADC,QAAQ,EAAE;+CACI;AASf;IADC,QAAQ,EAAE;wDACa;AAWxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;6DACxB;AAWtC;IADC,QAAQ,EAAE;wDACa;AAYxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC;sDACjC;AAOjC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDACT;AAGnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0DACD;AAW3B;IADC,IAAI,EAAE;sDAC2B;AA3G7B,gBAAgB;IATrB,aAAa,CAAC;QACd,GAAG,EAAE,QAAQ;QACb,QAAQ,EAAE,wBAAwB;QAClC,YAAY,EAAE;YACb,GAAG,QAAQ,CAAC,YAAY;YACxB,IAAI;YACJ,MAAM;SACN;KACD,CAAC;GACI,gBAAgB,CAkIrB;AAED,gBAAgB,CAAC,MAAM,EAAE,CAAC;AAE1B,eAAe,gBAAgB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport ListItem from \"./ListItem.js\";\nimport type { IAccessibleListItem } from \"./ListItem.js\";\nimport Icon from \"./Icon.js\";\nimport Avatar from \"./Avatar.js\";\nimport WrappingType from \"./types/WrappingType.js\";\nimport StandardListItemTemplate from \"./generated/templates/StandardListItemTemplate.lit.js\";\n\n/**\n * @class\n * The <code>ui5-li</code> represents the simplest type of item for a <code>ui5-list</code>.\n *\n * This is a list item,\n * providing the most common use cases such as <code>text</code>,\n * <code>image</code> and <code>icon</code>.\n\n * @csspart title - Used to style the title of the list item\n * @csspart description - Used to style the description of the list item\n * @csspart additional-text - Used to style the additionalText of the list item\n * @csspart icon - Used to style the icon of the list item\n * @csspart native-li - Used to style the main li tag of the list item\n * @csspart content - Used to style the content area of the list item\n * @csspart detail-button - Used to style the button rendered when the list item is of type detail\n * @csspart delete-button - Used to style the button rendered when the list item is in delete mode\n * @csspart radio - Used to style the radio button rendered when the list item is in single selection mode\n * @csspart checkbox - Used to style the checkbox rendered when the list item is in multiple selection mode\n *\n * @slot {Node[]} default - Defines the text of the component.\n * <br><br>\n * <b>Note:</b> Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n *\n * @constructor\n * @extends ListItem\n * @public\n */\n@customElement({\n\ttag: \"ui5-li\",\n\ttemplate: StandardListItemTemplate,\n\tdependencies: [\n\t\t...ListItem.dependencies,\n\t\tIcon,\n\t\tAvatar,\n\t],\n})\nclass StandardListItem extends ListItem implements IAccessibleListItem {\n\t/**\n\t * Defines the description displayed right under the item text, if such is present.\n\t * @default \"\"\n\t * @public\n\t * @since 0.8.0\n\t */\n\t@property()\n\tdescription!: string;\n\n\t/**\n\t * Defines the <code>icon</code> source URI.\n\t * <br><br>\n\t * <b>Note:</b>\n\t * SAP-icons font provides numerous built-in icons. To find all the available icons, see the\n\t * <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html\">Icon Explorer</ui5-link>.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines whether the <code>icon</code> should be displayed in the beginning of the list item or in the end.\n\t * <br><br>\n\t * <b>Note:</b> If <code>image</code> is set, the <code>icon</code> would be displayed after the <code>image</code>.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\ticonEnd!: boolean;\n\n\t/**\n\t * Defines the <code>image</code> source URI.\n\t * <br><br>\n\t * <b>Note:</b> The <code>image</code> would be displayed in the beginning of the list item.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\timage!: string;\n\n\t/**\n\t * Defines the <code>additionalText</code>, displayed in the end of the list item.\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\tadditionalText!: string;\n\n\t/**\n\t * Defines the state of the <code>additionalText</code>.\n\t * <br>\n\t * Available options are: <code>\"None\"</code> (by default), <code>\"Success\"</code>, <code>\"Warning\"</code>, <code>\"Information\"</code> and <code>\"Error\"</code>.\n\t * @default \"None\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tadditionalTextState!: `${ValueState}`;\n\n\t/**\n\t * Defines the text alternative of the component.\n\t * Note: If not provided a default text alternative will be set, if present.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * Defines if the text of the component should wrap, they truncate by default.\n\t *\n\t * <br><br>\n\t * <b>Note:</b> this property takes affect only if text node is provided to default slot of the component\n\t * @default \"None\"\n\t * @private\n\t * @since 1.5.0\n\t */\n\t@property({ type: WrappingType, defaultValue: WrappingType.None })\n\twrappingType!: `${WrappingType}`;\n\n\t/**\n\t * Indicates if the list item has text content.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thasTitle!: boolean;\n\n\t@property({ type: Boolean })\n\t_hasImageContent!: boolean;\n\n\t/**\n\t * <b>Note:</b> While the slot allows option for setting custom avatar, to match the\n\t * design guidelines, please use the <code>ui5-avatar</code> with it`s default size - S.\n\t * <b>Note:</b> If bigger <code>ui5-avatar</code> needs to be used, then the size of the\n\t * <code>ui5-li</code> should be customized in order to fit.\n\t * @since 1.10.0\n\t * @public\n\t */\n\t@slot()\n\timageContent!: Array<HTMLElement>;\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\tthis.hasTitle = !!this.textContent;\n\t\tthis._hasImageContent = this.hasImageContent;\n\t}\n\n\tget displayImage(): boolean {\n\t\treturn !!this.image;\n\t}\n\n\tget displayIconBegin(): boolean {\n\t\treturn !!(this.icon && !this.iconEnd);\n\t}\n\n\tget displayIconEnd(): boolean {\n\t\treturn !!(this.icon && this.iconEnd);\n\t}\n\n\tget hasImageContent(): boolean {\n\t\treturn !!this.imageContent.length;\n\t}\n}\n\nStandardListItem.define();\n\nexport default StandardListItem;\n"]}
1
+ {"version":3,"file":"StandardListItem.js","sourceRoot":"","sources":["../src/StandardListItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,UAAU,MAAM,kDAAkD,CAAC;AAC1E,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,wBAAwB,MAAM,uDAAuD,CAAC;AAE7F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAUH,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,QAAQ;IA6GtC,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC;IAC9C,CAAC;IAED,IAAI,YAAY;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IACnC,CAAC;CACD,CAAA;AA1HA;IADC,QAAQ,EAAE;qDACU;AAarB;IADC,QAAQ,EAAE;8CACG;AAWd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACV;AAWlB;IADC,QAAQ,EAAE;+CACI;AASf;IADC,QAAQ,EAAE;wDACa;AAWxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;6DACxB;AAW9B;IADP,QAAQ,EAAE;wDACoB;AAY/B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC;sDACjC;AAOjC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDACT;AAGnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0DACD;AAW3B;IADC,IAAI,EAAE;sDAC2B;AA3G7B,gBAAgB;IATrB,aAAa,CAAC;QACd,GAAG,EAAE,QAAQ;QACb,QAAQ,EAAE,wBAAwB;QAClC,YAAY,EAAE;YACb,GAAG,QAAQ,CAAC,YAAY;YACxB,IAAI;YACJ,MAAM;SACN;KACD,CAAC;GACI,gBAAgB,CAkIrB;AAED,gBAAgB,CAAC,MAAM,EAAE,CAAC;AAE1B,eAAe,gBAAgB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport ListItem from \"./ListItem.js\";\nimport type { IAccessibleListItem } from \"./ListItem.js\";\nimport Icon from \"./Icon.js\";\nimport Avatar from \"./Avatar.js\";\nimport WrappingType from \"./types/WrappingType.js\";\nimport StandardListItemTemplate from \"./generated/templates/StandardListItemTemplate.lit.js\";\n\n/**\n * @class\n * The <code>ui5-li</code> represents the simplest type of item for a <code>ui5-list</code>.\n *\n * This is a list item,\n * providing the most common use cases such as <code>text</code>,\n * <code>image</code> and <code>icon</code>.\n\n * @csspart title - Used to style the title of the list item\n * @csspart description - Used to style the description of the list item\n * @csspart additional-text - Used to style the additionalText of the list item\n * @csspart icon - Used to style the icon of the list item\n * @csspart native-li - Used to style the main li tag of the list item\n * @csspart content - Used to style the content area of the list item\n * @csspart detail-button - Used to style the button rendered when the list item is of type detail\n * @csspart delete-button - Used to style the button rendered when the list item is in delete mode\n * @csspart radio - Used to style the radio button rendered when the list item is in single selection mode\n * @csspart checkbox - Used to style the checkbox rendered when the list item is in multiple selection mode\n *\n * @slot {Node[]} default - Defines the text of the component.\n * <br><br>\n * <b>Note:</b> Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n *\n * @constructor\n * @extends ListItem\n * @public\n */\n@customElement({\n\ttag: \"ui5-li\",\n\ttemplate: StandardListItemTemplate,\n\tdependencies: [\n\t\t...ListItem.dependencies,\n\t\tIcon,\n\t\tAvatar,\n\t],\n})\nclass StandardListItem extends ListItem implements IAccessibleListItem {\n\t/**\n\t * Defines the description displayed right under the item text, if such is present.\n\t * @default \"\"\n\t * @public\n\t * @since 0.8.0\n\t */\n\t@property()\n\tdescription!: string;\n\n\t/**\n\t * Defines the <code>icon</code> source URI.\n\t * <br><br>\n\t * <b>Note:</b>\n\t * SAP-icons font provides numerous built-in icons. To find all the available icons, see the\n\t * <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html\">Icon Explorer</ui5-link>.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines whether the <code>icon</code> should be displayed in the beginning of the list item or in the end.\n\t * <br><br>\n\t * <b>Note:</b> If <code>image</code> is set, the <code>icon</code> would be displayed after the <code>image</code>.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\ticonEnd!: boolean;\n\n\t/**\n\t * Defines the <code>image</code> source URI.\n\t * <br><br>\n\t * <b>Note:</b> The <code>image</code> would be displayed in the beginning of the list item.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\timage!: string;\n\n\t/**\n\t * Defines the <code>additionalText</code>, displayed in the end of the list item.\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\tadditionalText!: string;\n\n\t/**\n\t * Defines the state of the <code>additionalText</code>.\n\t * <br>\n\t * Available options are: <code>\"None\"</code> (by default), <code>\"Success\"</code>, <code>\"Warning\"</code>, <code>\"Information\"</code> and <code>\"Error\"</code>.\n\t * @default \"None\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tadditionalTextState!: `${ValueState}`;\n\n\t/**\n\t * Defines the text alternative of the component.\n\t * Note: If not provided a default text alternative will be set, if present.\n\t *\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\tdeclare accessibleName: string;\n\n\t/**\n\t * Defines if the text of the component should wrap, they truncate by default.\n\t *\n\t * <br><br>\n\t * <b>Note:</b> this property takes affect only if text node is provided to default slot of the component\n\t * @default \"None\"\n\t * @private\n\t * @since 1.5.0\n\t */\n\t@property({ type: WrappingType, defaultValue: WrappingType.None })\n\twrappingType!: `${WrappingType}`;\n\n\t/**\n\t * Indicates if the list item has text content.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thasTitle!: boolean;\n\n\t@property({ type: Boolean })\n\t_hasImageContent!: boolean;\n\n\t/**\n\t * <b>Note:</b> While the slot allows option for setting custom avatar, to match the\n\t * design guidelines, please use the <code>ui5-avatar</code> with it`s default size - S.\n\t * <b>Note:</b> If bigger <code>ui5-avatar</code> needs to be used, then the size of the\n\t * <code>ui5-li</code> should be customized in order to fit.\n\t * @since 1.10.0\n\t * @public\n\t */\n\t@slot()\n\timageContent!: Array<HTMLElement>;\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\t\tthis.hasTitle = !!this.textContent;\n\t\tthis._hasImageContent = this.hasImageContent;\n\t}\n\n\tget displayImage(): boolean {\n\t\treturn !!this.image;\n\t}\n\n\tget displayIconBegin(): boolean {\n\t\treturn !!(this.icon && !this.iconEnd);\n\t}\n\n\tget displayIconEnd(): boolean {\n\t\treturn !!(this.icon && this.iconEnd);\n\t}\n\n\tget hasImageContent(): boolean {\n\t\treturn !!this.imageContent.length;\n\t}\n}\n\nStandardListItem.define();\n\nexport default StandardListItem;\n"]}
@@ -78,8 +78,6 @@ declare class SuggestionItem extends UI5Element implements IInputSuggestionItem
78
78
  additionalText: string;
79
79
  /**
80
80
  * Defines the state of the <code>additionalText</code>.
81
- * <br><br>
82
- * Available options are: <code>"None"</code> (by default), <code>"Success"</code>, <code>"Information"</code>, <code>"Warning"</code> and <code>"Error"</code>.
83
81
  *
84
82
  * @default "None"
85
83
  * @since 1.0.0-rc.15
@@ -1 +1 @@
1
- {"version":3,"file":"SuggestionItem.js","sourceRoot":"","sources":["../src/SuggestionItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,OAAO,UAAU,MAAM,kDAAkD,CAAC;AAC1E,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAGnD;;;;;;;;;GASG;AAKH,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU;IAyFtC,IAAI,SAAS;QACZ,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAA;AApFA;IADC,QAAQ,EAAE;4CACE;AAcb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC;4CAC5C;AASxB;IADC,QAAQ,EAAE;mDACS;AAapB;IADC,QAAQ,EAAE;4CACE;AAWb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACV;AAUlB;IADC,QAAQ,EAAE;6CACG;AAUd;IADC,QAAQ,EAAE;sDACY;AAYvB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;2DACzB;AAvFhC,cAAc;IAJnB,aAAa,CAAC;QACd,GAAG,EAAE,qBAAqB;QAC1B,YAAY,EAAE,CAAC,kBAAkB,CAAC;KAClC,CAAC;GACI,cAAc,CA4FnB;AAED,cAAc,CAAC,MAAM,EAAE,CAAC;AAExB,eAAe,cAAc,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\";\n\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport SuggestionListItem from \"./SuggestionListItem.js\";\nimport ListItemType from \"./types/ListItemType.js\";\nimport type { IInputSuggestionItem } from \"./Interfaces.js\";\n\n/**\n * @class\n * The <code>ui5-suggestion-item</code> represents the suggestion item of the <code>ui5-input</code>.\n *\n * @constructor\n * @extends UI5Element\n * @abstract\n * @implements { IInputSuggestionItem }\n * @public\n */\n@customElement({\n\ttag: \"ui5-suggestion-item\",\n\tdependencies: [SuggestionListItem],\n})\nclass SuggestionItem extends UI5Element implements IInputSuggestionItem {\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ttext!: string\n\n\t/**\n\t * Defines the visual indication and behavior of the item.\n\t * Available options are <code>Active</code> (by default), <code>Inactive</code> and <code>Detail</code>.\n\t * <br><br>\n\t * <b>Note:</b> When set to <code>Active</code>, the item will provide visual response upon press and hover,\n\t * while when <code>Inactive</code> or <code>Detail</code> - will not.\n\t *\n\t * @default \"Active\"\n\t * @public\n\t * @since 1.0.0-rc.8\n\t*/\n\t@property({ type: ListItemType, defaultValue: ListItemType.Active })\n\ttype!: `${ListItemType}`\n\n\t/**\n\t * Defines the description displayed right under the item text, if such is present.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tdescription!: string\n\n\t/**\n\t * Defines the <code>icon</code> source URI.\n\t * <br><br>\n\t * <b>Note:</b>\n\t * SAP-icons font provides numerous built-in icons. To find all the available icons, see the\n\t * <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html\">Icon Explorer</ui5-link>.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string\n\n\t/**\n\t * Defines whether the <code>icon</code> should be displayed in the beginning of the item or in the end.\n\t * <br><br>\n\t * <b>Note:</b> If <code>image</code> is set, the <code>icon</code> would be displayed after the <code>image</code>.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\ticonEnd!: boolean;\n\t/**\n\t * Defines the <code>image</code> source URI.\n\t * <br><br>\n\t * <b>Note:</b> The <code>image</code> would be displayed in the beginning of the item.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\timage!: string\n\n\t/**\n\t * Defines the <code>additionalText</code>, displayed in the end of the item.\n\t *\n\t * @default \"\"\n\t * @since 1.0.0-rc.15\n\t * @public\n\t */\n\t@property()\n\tadditionalText!: string\n\n\t/**\n\t * Defines the state of the <code>additionalText</code>.\n\t * <br><br>\n\t * Available options are: <code>\"None\"</code> (by default), <code>\"Success\"</code>, <code>\"Information\"</code>, <code>\"Warning\"</code> and <code>\"Error\"</code>.\n\t *\n\t * @default \"None\"\n\t * @since 1.0.0-rc.15\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tadditionalTextState!: `${ValueState}`\n\n\tget groupItem() {\n\t\treturn false;\n\t}\n}\n\nSuggestionItem.define();\n\nexport default SuggestionItem;\n"]}
1
+ {"version":3,"file":"SuggestionItem.js","sourceRoot":"","sources":["../src/SuggestionItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E,OAAO,UAAU,MAAM,kDAAkD,CAAC;AAC1E,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAGnD;;;;;;;;;GASG;AAKH,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU;IAuFtC,IAAI,SAAS;QACZ,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAA;AAlFA;IADC,QAAQ,EAAE;4CACE;AAcb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC;4CAC5C;AASxB;IADC,QAAQ,EAAE;mDACS;AAapB;IADC,QAAQ,EAAE;4CACE;AAWb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACV;AAUlB;IADC,QAAQ,EAAE;6CACG;AAUd;IADC,QAAQ,EAAE;sDACY;AAUvB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;2DACzB;AArFhC,cAAc;IAJnB,aAAa,CAAC;QACd,GAAG,EAAE,qBAAqB;QAC1B,YAAY,EAAE,CAAC,kBAAkB,CAAC;KAClC,CAAC;GACI,cAAc,CA0FnB;AAED,cAAc,CAAC,MAAM,EAAE,CAAC;AAExB,eAAe,cAAc,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\";\n\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport SuggestionListItem from \"./SuggestionListItem.js\";\nimport ListItemType from \"./types/ListItemType.js\";\nimport type { IInputSuggestionItem } from \"./Interfaces.js\";\n\n/**\n * @class\n * The <code>ui5-suggestion-item</code> represents the suggestion item of the <code>ui5-input</code>.\n *\n * @constructor\n * @extends UI5Element\n * @abstract\n * @implements { IInputSuggestionItem }\n * @public\n */\n@customElement({\n\ttag: \"ui5-suggestion-item\",\n\tdependencies: [SuggestionListItem],\n})\nclass SuggestionItem extends UI5Element implements IInputSuggestionItem {\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ttext!: string\n\n\t/**\n\t * Defines the visual indication and behavior of the item.\n\t * Available options are <code>Active</code> (by default), <code>Inactive</code> and <code>Detail</code>.\n\t * <br><br>\n\t * <b>Note:</b> When set to <code>Active</code>, the item will provide visual response upon press and hover,\n\t * while when <code>Inactive</code> or <code>Detail</code> - will not.\n\t *\n\t * @default \"Active\"\n\t * @public\n\t * @since 1.0.0-rc.8\n\t*/\n\t@property({ type: ListItemType, defaultValue: ListItemType.Active })\n\ttype!: `${ListItemType}`\n\n\t/**\n\t * Defines the description displayed right under the item text, if such is present.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tdescription!: string\n\n\t/**\n\t * Defines the <code>icon</code> source URI.\n\t * <br><br>\n\t * <b>Note:</b>\n\t * SAP-icons font provides numerous built-in icons. To find all the available icons, see the\n\t * <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html\">Icon Explorer</ui5-link>.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ticon!: string\n\n\t/**\n\t * Defines whether the <code>icon</code> should be displayed in the beginning of the item or in the end.\n\t * <br><br>\n\t * <b>Note:</b> If <code>image</code> is set, the <code>icon</code> would be displayed after the <code>image</code>.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\ticonEnd!: boolean;\n\t/**\n\t * Defines the <code>image</code> source URI.\n\t * <br><br>\n\t * <b>Note:</b> The <code>image</code> would be displayed in the beginning of the item.\n\t *\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\timage!: string\n\n\t/**\n\t * Defines the <code>additionalText</code>, displayed in the end of the item.\n\t *\n\t * @default \"\"\n\t * @since 1.0.0-rc.15\n\t * @public\n\t */\n\t@property()\n\tadditionalText!: string\n\n\t/**\n\t * Defines the state of the <code>additionalText</code>.\n\t *\n\t * @default \"None\"\n\t * @since 1.0.0-rc.15\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tadditionalTextState!: `${ValueState}`\n\n\tget groupItem() {\n\t\treturn false;\n\t}\n}\n\nSuggestionItem.define();\n\nexport default SuggestionItem;\n"]}
package/dist/Switch.js CHANGED
@@ -195,6 +195,7 @@ Switch = Switch_1 = __decorate([
195
195
  * Fired when the component checked state changes.
196
196
  *
197
197
  * @public
198
+ * @allowPreventDefault
198
199
  */
199
200
  ,
200
201
  event("change")