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

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 (927) hide show
  1. package/.env.testing +4 -0
  2. package/CHANGELOG.md +273 -0
  3. package/README.md +1 -34
  4. package/dist/.tsbuildinfo +1 -1
  5. package/dist/Avatar.d.ts +2 -2
  6. package/dist/AvatarGroup.d.ts +4 -4
  7. package/dist/Breadcrumbs.d.ts +1 -1
  8. package/dist/Breadcrumbs.js +10 -5
  9. package/dist/Breadcrumbs.js.map +1 -1
  10. package/dist/Button.d.ts +27 -13
  11. package/dist/Button.js +38 -18
  12. package/dist/Button.js.map +1 -1
  13. package/dist/Calendar.d.ts +10 -5
  14. package/dist/Calendar.js +81 -26
  15. package/dist/Calendar.js.map +1 -1
  16. package/dist/CalendarDate.d.ts +2 -1
  17. package/dist/CalendarDate.js.map +1 -1
  18. package/dist/CalendarDateRange.d.ts +31 -0
  19. package/dist/CalendarDateRange.js +36 -0
  20. package/dist/CalendarDateRange.js.map +1 -0
  21. package/dist/CalendarHeader.js +8 -8
  22. package/dist/CalendarHeader.js.map +1 -1
  23. package/dist/CheckBox.d.ts +8 -17
  24. package/dist/CheckBox.js +14 -22
  25. package/dist/CheckBox.js.map +1 -1
  26. package/dist/ColorPalette.d.ts +19 -0
  27. package/dist/ColorPalette.js +112 -13
  28. package/dist/ColorPalette.js.map +1 -1
  29. package/dist/ColorPaletteItem.d.ts +16 -0
  30. package/dist/ColorPaletteItem.js +10 -0
  31. package/dist/ColorPaletteItem.js.map +1 -1
  32. package/dist/ColorPalettePopover.d.ts +5 -0
  33. package/dist/ColorPalettePopover.js +15 -0
  34. package/dist/ColorPalettePopover.js.map +1 -1
  35. package/dist/ColorPicker.d.ts +13 -1
  36. package/dist/ColorPicker.js +10 -0
  37. package/dist/ColorPicker.js.map +1 -1
  38. package/dist/ComboBox.d.ts +23 -11
  39. package/dist/ComboBox.js +156 -58
  40. package/dist/ComboBox.js.map +1 -1
  41. package/dist/ComboBoxItem.d.ts +5 -5
  42. package/dist/ComboBoxItem.js +3 -7
  43. package/dist/ComboBoxItem.js.map +1 -1
  44. package/dist/{ComboBoxGroupItem.d.ts → ComboBoxItemGroup.d.ts} +11 -3
  45. package/dist/{ComboBoxGroupItem.js → ComboBoxItemGroup.js} +24 -9
  46. package/dist/ComboBoxItemGroup.js.map +1 -0
  47. package/dist/CustomListItem.d.ts +7 -0
  48. package/dist/CustomListItem.js +7 -2
  49. package/dist/CustomListItem.js.map +1 -1
  50. package/dist/DatePicker.d.ts +9 -18
  51. package/dist/DatePicker.js +19 -15
  52. package/dist/DatePicker.js.map +1 -1
  53. package/dist/DateRangePicker.d.ts +5 -1
  54. package/dist/DateRangePicker.js +21 -0
  55. package/dist/DateRangePicker.js.map +1 -1
  56. package/dist/DateTimePicker.d.ts +4 -1
  57. package/dist/DateTimePicker.js +14 -0
  58. package/dist/DateTimePicker.js.map +1 -1
  59. package/dist/DayPicker.js +6 -4
  60. package/dist/DayPicker.js.map +1 -1
  61. package/dist/Dialog.d.ts +0 -16
  62. package/dist/Dialog.js +0 -21
  63. package/dist/Dialog.js.map +1 -1
  64. package/dist/FileUploader.d.ts +6 -23
  65. package/dist/FileUploader.js +15 -46
  66. package/dist/FileUploader.js.map +1 -1
  67. package/dist/Form.d.ts +199 -0
  68. package/dist/Form.js +359 -0
  69. package/dist/Form.js.map +1 -0
  70. package/dist/FormGroup.d.ts +64 -0
  71. package/dist/FormGroup.js +87 -0
  72. package/dist/FormGroup.js.map +1 -0
  73. package/dist/FormItem.d.ts +63 -0
  74. package/dist/FormItem.js +77 -0
  75. package/dist/FormItem.js.map +1 -0
  76. package/dist/Input.d.ts +17 -30
  77. package/dist/Input.js +46 -48
  78. package/dist/Input.js.map +1 -1
  79. package/dist/Label.d.ts +1 -1
  80. package/dist/Label.js +1 -1
  81. package/dist/Label.js.map +1 -1
  82. package/dist/Link.d.ts +6 -5
  83. package/dist/Link.js +3 -2
  84. package/dist/Link.js.map +1 -1
  85. package/dist/List.d.ts +3 -2
  86. package/dist/List.js +45 -0
  87. package/dist/List.js.map +1 -1
  88. package/dist/ListItem.d.ts +8 -15
  89. package/dist/ListItem.js +25 -34
  90. package/dist/ListItem.js.map +1 -1
  91. package/dist/ListItemBase.d.ts +24 -2
  92. package/dist/ListItemBase.js +54 -13
  93. package/dist/ListItemBase.js.map +1 -1
  94. package/dist/ListItemGroup.d.ts +6 -1
  95. package/dist/ListItemGroup.js +4 -1
  96. package/dist/ListItemGroup.js.map +1 -1
  97. package/dist/ListItemGroupHeader.d.ts +2 -0
  98. package/dist/ListItemGroupHeader.js +9 -0
  99. package/dist/ListItemGroupHeader.js.map +1 -1
  100. package/dist/Menu.d.ts +11 -90
  101. package/dist/Menu.js +65 -324
  102. package/dist/Menu.js.map +1 -1
  103. package/dist/MenuItem.d.ts +88 -23
  104. package/dist/MenuItem.js +111 -23
  105. package/dist/MenuItem.js.map +1 -1
  106. package/dist/MonthPicker.d.ts +1 -0
  107. package/dist/MonthPicker.js +10 -6
  108. package/dist/MonthPicker.js.map +1 -1
  109. package/dist/MultiComboBox.d.ts +17 -3
  110. package/dist/MultiComboBox.js +63 -25
  111. package/dist/MultiComboBox.js.map +1 -1
  112. package/dist/MultiInput.d.ts +18 -4
  113. package/dist/MultiInput.js +56 -31
  114. package/dist/MultiInput.js.map +1 -1
  115. package/dist/NavigationMenu.d.ts +1 -6
  116. package/dist/NavigationMenu.js +3 -47
  117. package/dist/NavigationMenu.js.map +1 -1
  118. package/dist/NavigationMenuItem.d.ts +22 -3
  119. package/dist/NavigationMenuItem.js +29 -4
  120. package/dist/NavigationMenuItem.js.map +1 -1
  121. package/dist/Option.d.ts +21 -33
  122. package/dist/Option.js +41 -19
  123. package/dist/Option.js.map +1 -1
  124. package/dist/OptionCustom.d.ts +52 -0
  125. package/dist/OptionCustom.js +69 -0
  126. package/dist/OptionCustom.js.map +1 -0
  127. package/dist/Panel.d.ts +1 -1
  128. package/dist/Popover.d.ts +8 -21
  129. package/dist/Popover.js +32 -44
  130. package/dist/Popover.js.map +1 -1
  131. package/dist/Popup.d.ts +23 -23
  132. package/dist/Popup.js +58 -66
  133. package/dist/Popup.js.map +1 -1
  134. package/dist/RadioButton.d.ts +17 -28
  135. package/dist/RadioButton.js +20 -32
  136. package/dist/RadioButton.js.map +1 -1
  137. package/dist/RadioButtonGroup.js +6 -5
  138. package/dist/RadioButtonGroup.js.map +1 -1
  139. package/dist/RangeSlider.d.ts +3 -1
  140. package/dist/RangeSlider.js +7 -0
  141. package/dist/RangeSlider.js.map +1 -1
  142. package/dist/ResponsivePopover.d.ts +4 -16
  143. package/dist/ResponsivePopover.js +17 -30
  144. package/dist/ResponsivePopover.js.map +1 -1
  145. package/dist/SegmentedButtonItem.d.ts +6 -1
  146. package/dist/SegmentedButtonItem.js +7 -4
  147. package/dist/SegmentedButtonItem.js.map +1 -1
  148. package/dist/Select.d.ts +28 -82
  149. package/dist/Select.js +84 -231
  150. package/dist/Select.js.map +1 -1
  151. package/dist/Slider.d.ts +3 -1
  152. package/dist/Slider.js +4 -0
  153. package/dist/Slider.js.map +1 -1
  154. package/dist/SliderBase.d.ts +11 -1
  155. package/dist/SliderBase.js +6 -0
  156. package/dist/SliderBase.js.map +1 -1
  157. package/dist/StandardListItem.d.ts +7 -0
  158. package/dist/StandardListItem.js +3 -0
  159. package/dist/StandardListItem.js.map +1 -1
  160. package/dist/StepInput.d.ts +6 -15
  161. package/dist/StepInput.js +7 -11
  162. package/dist/StepInput.js.map +1 -1
  163. package/dist/Switch.d.ts +8 -17
  164. package/dist/Switch.js +13 -21
  165. package/dist/Switch.js.map +1 -1
  166. package/dist/TabContainer.js +11 -5
  167. package/dist/TabContainer.js.map +1 -1
  168. package/dist/Tag.d.ts +1 -1
  169. package/dist/Tag.js.map +1 -1
  170. package/dist/TextArea.d.ts +9 -18
  171. package/dist/TextArea.js +22 -15
  172. package/dist/TextArea.js.map +1 -1
  173. package/dist/TimePicker.d.ts +24 -23
  174. package/dist/TimePicker.js +48 -57
  175. package/dist/TimePicker.js.map +1 -1
  176. package/dist/TimeSelectionClocks.js +2 -0
  177. package/dist/TimeSelectionClocks.js.map +1 -1
  178. package/dist/TimeSelectionInputs.js +2 -0
  179. package/dist/TimeSelectionInputs.js.map +1 -1
  180. package/dist/Toast.d.ts +1 -1
  181. package/dist/Toast.js +2 -2
  182. package/dist/Toast.js.map +1 -1
  183. package/dist/ToggleSpinButton.d.ts +1 -1
  184. package/dist/ToggleSpinButton.js +1 -1
  185. package/dist/ToggleSpinButton.js.map +1 -1
  186. package/dist/Token.d.ts +5 -0
  187. package/dist/Token.js +3 -0
  188. package/dist/Token.js.map +1 -1
  189. package/dist/Tokenizer.d.ts +11 -5
  190. package/dist/Tokenizer.js +93 -71
  191. package/dist/Tokenizer.js.map +1 -1
  192. package/dist/Toolbar.d.ts +5 -0
  193. package/dist/Toolbar.js +16 -4
  194. package/dist/Toolbar.js.map +1 -1
  195. package/dist/ToolbarButton.d.ts +11 -3
  196. package/dist/ToolbarButton.js +2 -2
  197. package/dist/ToolbarButton.js.map +1 -1
  198. package/dist/TreeItemBase.d.ts +8 -1
  199. package/dist/TreeItemBase.js +3 -1
  200. package/dist/TreeItemBase.js.map +1 -1
  201. package/dist/TreeItemCustom.js +4 -2
  202. package/dist/TreeItemCustom.js.map +1 -1
  203. package/dist/bundle.esm.d.ts +0 -1
  204. package/dist/bundle.esm.js +5 -3
  205. package/dist/bundle.esm.js.map +1 -1
  206. package/dist/css/themes/Avatar.css +1 -1
  207. package/dist/css/themes/AvatarGroup.css +1 -1
  208. package/dist/css/themes/Bar.css +1 -1
  209. package/dist/css/themes/Breadcrumbs.css +1 -1
  210. package/dist/css/themes/BusyIndicator.css +1 -1
  211. package/dist/css/themes/Button.css +1 -1
  212. package/dist/css/themes/Calendar.css +1 -1
  213. package/dist/css/themes/CalendarHeader.css +1 -1
  214. package/dist/css/themes/CalendarLegend.css +1 -1
  215. package/dist/css/themes/CalendarLegendItem.css +1 -1
  216. package/dist/css/themes/Card.css +1 -1
  217. package/dist/css/themes/CardHeader.css +1 -1
  218. package/dist/css/themes/Carousel.css +1 -1
  219. package/dist/css/themes/CheckBox.css +1 -1
  220. package/dist/css/themes/ColorPalette.css +1 -1
  221. package/dist/css/themes/ColorPaletteItem.css +1 -1
  222. package/dist/css/themes/ColorPalettePopover.css +1 -1
  223. package/dist/css/themes/ColorPicker.css +1 -1
  224. package/dist/css/themes/ComboBox.css +1 -1
  225. package/dist/css/themes/CustomListItem.css +1 -1
  226. package/dist/css/themes/DatePicker.css +1 -1
  227. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  228. package/dist/css/themes/DayPicker.css +1 -1
  229. package/dist/css/themes/Dialog.css +1 -1
  230. package/dist/css/themes/FileUploader.css +1 -1
  231. package/dist/css/themes/Form.css +1 -0
  232. package/dist/css/themes/FormItem.css +1 -0
  233. package/dist/css/themes/FormLabelSpan.css +1 -0
  234. package/dist/css/themes/FormLayout.css +1 -0
  235. package/dist/css/themes/GrowingButton.css +1 -1
  236. package/dist/css/themes/Icon.css +1 -1
  237. package/dist/css/themes/Input.css +1 -1
  238. package/dist/css/themes/InputIcon.css +1 -1
  239. package/dist/css/themes/InputSharedStyles.css +1 -1
  240. package/dist/css/themes/Label.css +1 -1
  241. package/dist/css/themes/Link.css +1 -1
  242. package/dist/css/themes/List.css +1 -1
  243. package/dist/css/themes/ListItem.css +1 -1
  244. package/dist/css/themes/ListItemAdditionalText.css +1 -0
  245. package/dist/css/themes/ListItemBase.css +1 -1
  246. package/dist/css/themes/ListItemGroup.css +1 -1
  247. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  248. package/dist/css/themes/ListItemIcon.css +1 -0
  249. package/dist/css/themes/Menu.css +1 -1
  250. package/dist/css/themes/MenuItem.css +1 -0
  251. package/dist/css/themes/MessageStrip.css +1 -1
  252. package/dist/css/themes/MonthPicker.css +1 -1
  253. package/dist/css/themes/MultiComboBox.css +1 -1
  254. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  255. package/dist/css/themes/MultiInput.css +1 -1
  256. package/dist/css/themes/NavigationMenu.css +1 -1
  257. package/dist/css/themes/NavigationMenuItem.css +1 -0
  258. package/dist/css/themes/OptionBase.css +1 -0
  259. package/dist/css/themes/Panel.css +1 -1
  260. package/dist/css/themes/Popover.css +1 -1
  261. package/dist/css/themes/Popup.css +1 -1
  262. package/dist/css/themes/PopupsCommon.css +1 -1
  263. package/dist/css/themes/ProgressIndicator.css +1 -1
  264. package/dist/css/themes/RadioButton.css +1 -1
  265. package/dist/css/themes/RangeSlider.css +1 -1
  266. package/dist/css/themes/RatingIndicator.css +1 -1
  267. package/dist/css/themes/ResponsivePopover.css +1 -1
  268. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  269. package/dist/css/themes/SegmentedButton.css +1 -1
  270. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  271. package/dist/css/themes/Select.css +1 -1
  272. package/dist/css/themes/SelectPopover.css +1 -1
  273. package/dist/css/themes/SliderBase.css +1 -1
  274. package/dist/css/themes/SplitButton.css +1 -1
  275. package/dist/css/themes/StepInput.css +1 -1
  276. package/dist/css/themes/Switch.css +1 -1
  277. package/dist/css/themes/TabContainer.css +1 -1
  278. package/dist/css/themes/TabInOverflow.css +1 -1
  279. package/dist/css/themes/TabInStrip.css +1 -1
  280. package/dist/css/themes/TabSemanticIcon.css +1 -1
  281. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  282. package/dist/css/themes/Tag.css +1 -1
  283. package/dist/css/themes/Text.css +1 -1
  284. package/dist/css/themes/TextArea.css +1 -1
  285. package/dist/css/themes/TimePicker.css +1 -1
  286. package/dist/css/themes/Toast.css +1 -1
  287. package/dist/css/themes/ToggleButton.css +1 -1
  288. package/dist/css/themes/Token.css +1 -1
  289. package/dist/css/themes/Tokenizer.css +1 -1
  290. package/dist/css/themes/TokenizerPopover.css +1 -1
  291. package/dist/css/themes/Toolbar.css +1 -1
  292. package/dist/css/themes/ToolbarPopover.css +1 -1
  293. package/dist/css/themes/TreeItem.css +1 -1
  294. package/dist/css/themes/ValueStateMessage.css +1 -1
  295. package/dist/css/themes/YearPicker.css +1 -1
  296. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  297. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  298. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  299. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  300. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  301. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  302. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  303. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  304. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  305. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  306. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  307. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  308. package/dist/custom-elements-internal.json +2425 -1770
  309. package/dist/custom-elements.json +1994 -1511
  310. package/dist/features/InputSuggestions.js +3 -1
  311. package/dist/features/InputSuggestions.js.map +1 -1
  312. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  313. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  314. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  315. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  316. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  317. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  318. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  319. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  320. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  321. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  322. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  323. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  324. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  325. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  326. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  327. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  328. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  329. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  330. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  331. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  332. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  333. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  334. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  335. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  336. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  337. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  338. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  339. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  340. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  341. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  342. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  343. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  344. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  345. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  346. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  347. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  348. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  349. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  350. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  351. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  352. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  353. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  354. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  355. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  356. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  357. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  358. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  359. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  360. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  361. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  362. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  363. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  364. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  365. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  366. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  367. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  368. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  369. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  370. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  371. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  372. package/dist/generated/i18n/i18n-defaults.d.ts +6 -2
  373. package/dist/generated/i18n/i18n-defaults.js +6 -2
  374. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  375. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +2 -2
  376. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  377. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +2 -2
  378. package/dist/generated/templates/BusyIndicatorTemplate.lit.js.map +1 -1
  379. package/dist/generated/templates/ButtonTemplate.lit.js +3 -2
  380. package/dist/generated/templates/ButtonTemplate.lit.js.map +1 -1
  381. package/dist/generated/templates/CalendarTemplate.lit.js +1 -1
  382. package/dist/generated/templates/CalendarTemplate.lit.js.map +1 -1
  383. package/dist/generated/templates/CheckBoxTemplate.lit.js +1 -1
  384. package/dist/generated/templates/CheckBoxTemplate.lit.js.map +1 -1
  385. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +2 -2
  386. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js.map +1 -1
  387. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +1 -1
  388. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js.map +1 -1
  389. package/dist/generated/templates/ColorPaletteTemplate.lit.js +1 -1
  390. package/dist/generated/templates/ColorPaletteTemplate.lit.js.map +1 -1
  391. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +12 -9
  392. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  393. package/dist/generated/templates/ComboBoxTemplate.lit.js +14 -11
  394. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  395. package/dist/generated/templates/DatePickerInputTemplate.lit.js +2 -2
  396. package/dist/generated/templates/DatePickerInputTemplate.lit.js.map +1 -1
  397. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +1 -1
  398. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
  399. package/dist/generated/templates/DatePickerTemplate.lit.js +2 -2
  400. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  401. package/dist/generated/templates/DateRangePickerTemplate.lit.d.ts +4 -0
  402. package/dist/generated/templates/DateRangePickerTemplate.lit.js +9 -0
  403. package/dist/generated/templates/DateRangePickerTemplate.lit.js.map +1 -0
  404. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
  405. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
  406. package/dist/generated/templates/DateTimePickerTemplate.lit.js +2 -2
  407. package/dist/generated/templates/DateTimePickerTemplate.lit.js.map +1 -1
  408. package/dist/generated/templates/DialogTemplate.lit.js +1 -1
  409. package/dist/generated/templates/DialogTemplate.lit.js.map +1 -1
  410. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +1 -1
  411. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js.map +1 -1
  412. package/dist/generated/templates/FileUploaderTemplate.lit.js +5 -7
  413. package/dist/generated/templates/FileUploaderTemplate.lit.js.map +1 -1
  414. package/dist/generated/templates/FormItemTemplate.lit.d.ts +4 -0
  415. package/dist/generated/templates/FormItemTemplate.lit.js +6 -0
  416. package/dist/generated/templates/FormItemTemplate.lit.js.map +1 -0
  417. package/dist/generated/templates/FormTemplate.lit.d.ts +4 -0
  418. package/dist/generated/templates/FormTemplate.lit.js +13 -0
  419. package/dist/generated/templates/FormTemplate.lit.js.map +1 -0
  420. package/dist/generated/templates/InputPopoverTemplate.lit.js +2 -2
  421. package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -1
  422. package/dist/generated/templates/InputTemplate.lit.js +4 -4
  423. package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
  424. package/dist/generated/templates/{MenuListItemTemplate.lit.d.ts → ListItemBaseTemplate.lit.d.ts} +2 -2
  425. package/dist/generated/templates/ListItemBaseTemplate.lit.js +5 -0
  426. package/dist/generated/templates/ListItemBaseTemplate.lit.js.map +1 -0
  427. package/dist/generated/templates/ListItemGroupHeaderTemplate.lit.js +1 -1
  428. package/dist/generated/templates/ListItemGroupHeaderTemplate.lit.js.map +1 -1
  429. package/dist/generated/templates/ListItemGroupTemplate.lit.js +1 -1
  430. package/dist/generated/templates/ListItemGroupTemplate.lit.js.map +1 -1
  431. package/dist/generated/templates/MenuItemTemplate.lit.d.ts +4 -0
  432. package/dist/generated/templates/{MenuListItemTemplate.lit.js → MenuItemTemplate.lit.js} +23 -15
  433. package/dist/generated/templates/MenuItemTemplate.lit.js.map +1 -0
  434. package/dist/generated/templates/MenuTemplate.lit.js +6 -8
  435. package/dist/generated/templates/MenuTemplate.lit.js.map +1 -1
  436. package/dist/generated/templates/MonthPickerTemplate.lit.js +1 -1
  437. package/dist/generated/templates/MonthPickerTemplate.lit.js.map +1 -1
  438. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +2 -2
  439. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  440. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +4 -4
  441. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  442. package/dist/generated/templates/MultiInputTemplate.lit.js +28 -27
  443. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
  444. package/dist/generated/templates/NavigationMenuItemTemplate.lit.d.ts +4 -0
  445. package/dist/generated/templates/NavigationMenuItemTemplate.lit.js +57 -0
  446. package/dist/generated/templates/NavigationMenuItemTemplate.lit.js.map +1 -0
  447. package/dist/generated/templates/NavigationMenuTemplate.lit.js +6 -19
  448. package/dist/generated/templates/NavigationMenuTemplate.lit.js.map +1 -1
  449. package/dist/generated/templates/OptionCustomTemplate.lit.d.ts +4 -0
  450. package/dist/generated/templates/OptionCustomTemplate.lit.js +5 -0
  451. package/dist/generated/templates/OptionCustomTemplate.lit.js.map +1 -0
  452. package/dist/generated/templates/OptionTemplate.lit.d.ts +4 -0
  453. package/dist/generated/templates/OptionTemplate.lit.js +7 -0
  454. package/dist/generated/templates/OptionTemplate.lit.js.map +1 -0
  455. package/dist/generated/templates/PopoverTemplate.lit.js +1 -1
  456. package/dist/generated/templates/PopoverTemplate.lit.js.map +1 -1
  457. package/dist/generated/templates/PopupTemplate.lit.js +1 -1
  458. package/dist/generated/templates/PopupTemplate.lit.js.map +1 -1
  459. package/dist/generated/templates/RadioButtonTemplate.lit.js +1 -1
  460. package/dist/generated/templates/RadioButtonTemplate.lit.js.map +1 -1
  461. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +3 -3
  462. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js.map +1 -1
  463. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +1 -1
  464. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js.map +1 -1
  465. package/dist/generated/templates/SelectPopoverTemplate.lit.js +6 -7
  466. package/dist/generated/templates/SelectPopoverTemplate.lit.js.map +1 -1
  467. package/dist/generated/templates/SelectTemplate.lit.js +8 -9
  468. package/dist/generated/templates/SelectTemplate.lit.js.map +1 -1
  469. package/dist/generated/templates/StepInputTemplate.lit.js +3 -3
  470. package/dist/generated/templates/StepInputTemplate.lit.js.map +1 -1
  471. package/dist/generated/templates/SwitchTemplate.lit.js +1 -1
  472. package/dist/generated/templates/SwitchTemplate.lit.js.map +1 -1
  473. package/dist/generated/templates/TabContainerTemplate.lit.js +2 -2
  474. package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -1
  475. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +1 -1
  476. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js.map +1 -1
  477. package/dist/generated/templates/TextAreaTemplate.lit.js +2 -2
  478. package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -1
  479. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +2 -2
  480. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js.map +1 -1
  481. package/dist/generated/templates/TimePickerTemplate.lit.js +3 -3
  482. package/dist/generated/templates/TimePickerTemplate.lit.js.map +1 -1
  483. package/dist/generated/templates/ToggleButtonTemplate.lit.js +3 -2
  484. package/dist/generated/templates/ToggleButtonTemplate.lit.js.map +1 -1
  485. package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js +3 -2
  486. package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js.map +1 -1
  487. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +4 -3
  488. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js.map +1 -1
  489. package/dist/generated/templates/TokenizerTemplate.lit.js +4 -3
  490. package/dist/generated/templates/TokenizerTemplate.lit.js.map +1 -1
  491. package/dist/generated/templates/ToolbarButtonTemplate.lit.js +1 -1
  492. package/dist/generated/templates/ToolbarButtonTemplate.lit.js.map +1 -1
  493. package/dist/generated/templates/ToolbarPopoverButtonTemplate.lit.js +1 -1
  494. package/dist/generated/templates/ToolbarPopoverButtonTemplate.lit.js.map +1 -1
  495. package/dist/generated/templates/ToolbarPopoverTemplate.lit.js +1 -1
  496. package/dist/generated/templates/ToolbarPopoverTemplate.lit.js.map +1 -1
  497. package/dist/generated/templates/ToolbarTemplate.lit.js +1 -1
  498. package/dist/generated/templates/ToolbarTemplate.lit.js.map +1 -1
  499. package/dist/generated/templates/YearPickerTemplate.lit.js +1 -1
  500. package/dist/generated/templates/YearPickerTemplate.lit.js.map +1 -1
  501. package/dist/generated/themes/Avatar.css.js +1 -1
  502. package/dist/generated/themes/Avatar.css.js.map +1 -1
  503. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  504. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  505. package/dist/generated/themes/Bar.css.js +1 -1
  506. package/dist/generated/themes/Bar.css.js.map +1 -1
  507. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  508. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  509. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  510. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  511. package/dist/generated/themes/Button.css.js +1 -1
  512. package/dist/generated/themes/Button.css.js.map +1 -1
  513. package/dist/generated/themes/Calendar.css.js +1 -1
  514. package/dist/generated/themes/Calendar.css.js.map +1 -1
  515. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  516. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  517. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  518. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  519. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  520. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  521. package/dist/generated/themes/Card.css.js +1 -1
  522. package/dist/generated/themes/Card.css.js.map +1 -1
  523. package/dist/generated/themes/CardHeader.css.js +1 -1
  524. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  525. package/dist/generated/themes/Carousel.css.js +1 -1
  526. package/dist/generated/themes/Carousel.css.js.map +1 -1
  527. package/dist/generated/themes/CheckBox.css.js +1 -1
  528. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  529. package/dist/generated/themes/ColorPalette.css.js +1 -1
  530. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  531. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  532. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  533. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  534. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  535. package/dist/generated/themes/ColorPicker.css.js +1 -1
  536. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  537. package/dist/generated/themes/ComboBox.css.js +1 -1
  538. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  539. package/dist/generated/themes/CustomListItem.css.js +1 -1
  540. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  541. package/dist/generated/themes/DatePicker.css.js +1 -1
  542. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  543. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  544. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  545. package/dist/generated/themes/DayPicker.css.js +1 -1
  546. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  547. package/dist/generated/themes/Dialog.css.js +1 -1
  548. package/dist/generated/themes/Dialog.css.js.map +1 -1
  549. package/dist/generated/themes/FileUploader.css.js +1 -1
  550. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  551. package/dist/generated/themes/Form.css.js +9 -0
  552. package/dist/generated/themes/Form.css.js.map +1 -0
  553. package/dist/generated/themes/FormItem.css.js +9 -0
  554. package/dist/generated/themes/FormItem.css.js.map +1 -0
  555. package/dist/generated/themes/FormLabelSpan.css.js +9 -0
  556. package/dist/generated/themes/FormLabelSpan.css.js.map +1 -0
  557. package/dist/generated/themes/FormLayout.css.d.ts +3 -0
  558. package/dist/generated/themes/FormLayout.css.js +9 -0
  559. package/dist/generated/themes/FormLayout.css.js.map +1 -0
  560. package/dist/generated/themes/GrowingButton.css.js +1 -1
  561. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  562. package/dist/generated/themes/Icon.css.js +1 -1
  563. package/dist/generated/themes/Icon.css.js.map +1 -1
  564. package/dist/generated/themes/Input.css.js +1 -1
  565. package/dist/generated/themes/Input.css.js.map +1 -1
  566. package/dist/generated/themes/InputIcon.css.js +1 -1
  567. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  568. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  569. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  570. package/dist/generated/themes/Label.css.js +1 -1
  571. package/dist/generated/themes/Label.css.js.map +1 -1
  572. package/dist/generated/themes/Link.css.js +1 -1
  573. package/dist/generated/themes/Link.css.js.map +1 -1
  574. package/dist/generated/themes/List.css.js +1 -1
  575. package/dist/generated/themes/List.css.js.map +1 -1
  576. package/dist/generated/themes/ListItem.css.js +1 -1
  577. package/dist/generated/themes/ListItem.css.js.map +1 -1
  578. package/dist/generated/themes/ListItemAdditionalText.css.d.ts +3 -0
  579. package/dist/generated/themes/{SelectMenu.css.js → ListItemAdditionalText.css.js} +2 -2
  580. package/dist/generated/themes/ListItemAdditionalText.css.js.map +1 -0
  581. package/dist/generated/themes/ListItemBase.css.js +1 -1
  582. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  583. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  584. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  585. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  586. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  587. package/dist/generated/themes/ListItemIcon.css.d.ts +3 -0
  588. package/dist/generated/themes/ListItemIcon.css.js +9 -0
  589. package/dist/generated/themes/ListItemIcon.css.js.map +1 -0
  590. package/dist/generated/themes/Menu.css.js +1 -1
  591. package/dist/generated/themes/Menu.css.js.map +1 -1
  592. package/dist/generated/themes/MenuItem.css.d.ts +3 -0
  593. package/dist/generated/themes/MenuItem.css.js +9 -0
  594. package/dist/generated/themes/MenuItem.css.js.map +1 -0
  595. package/dist/generated/themes/MessageStrip.css.js +1 -1
  596. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  597. package/dist/generated/themes/MonthPicker.css.js +1 -1
  598. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  599. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  600. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  601. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  602. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  603. package/dist/generated/themes/MultiInput.css.js +1 -1
  604. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  605. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  606. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  607. package/dist/generated/themes/NavigationMenuItem.css.d.ts +3 -0
  608. package/dist/generated/themes/NavigationMenuItem.css.js +9 -0
  609. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -0
  610. package/dist/generated/themes/OptionBase.css.d.ts +3 -0
  611. package/dist/generated/themes/{SelectMenuOption.css.js → OptionBase.css.js} +3 -2
  612. package/dist/generated/themes/{SelectMenu.css.js.map → OptionBase.css.js.map} +1 -1
  613. package/dist/generated/themes/Panel.css.js +1 -1
  614. package/dist/generated/themes/Panel.css.js.map +1 -1
  615. package/dist/generated/themes/Popover.css.js +1 -1
  616. package/dist/generated/themes/Popover.css.js.map +1 -1
  617. package/dist/generated/themes/Popup.css.js +1 -1
  618. package/dist/generated/themes/Popup.css.js.map +1 -1
  619. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  620. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  621. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  622. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  623. package/dist/generated/themes/RadioButton.css.js +1 -1
  624. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  625. package/dist/generated/themes/RangeSlider.css.js +1 -1
  626. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  627. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  628. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  629. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  630. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  631. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  632. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  633. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  634. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  635. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  636. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  637. package/dist/generated/themes/Select.css.js +1 -1
  638. package/dist/generated/themes/Select.css.js.map +1 -1
  639. package/dist/generated/themes/SelectPopover.css.js +1 -1
  640. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  641. package/dist/generated/themes/SliderBase.css.js +1 -1
  642. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  643. package/dist/generated/themes/SplitButton.css.js +1 -1
  644. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  645. package/dist/generated/themes/StepInput.css.js +1 -1
  646. package/dist/generated/themes/StepInput.css.js.map +1 -1
  647. package/dist/generated/themes/Switch.css.js +1 -1
  648. package/dist/generated/themes/Switch.css.js.map +1 -1
  649. package/dist/generated/themes/TabContainer.css.js +1 -1
  650. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  651. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  652. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  653. package/dist/generated/themes/TabInStrip.css.js +1 -1
  654. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  655. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  656. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  657. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  658. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  659. package/dist/generated/themes/Tag.css.js +1 -1
  660. package/dist/generated/themes/Tag.css.js.map +1 -1
  661. package/dist/generated/themes/Text.css.js +1 -1
  662. package/dist/generated/themes/Text.css.js.map +1 -1
  663. package/dist/generated/themes/TextArea.css.js +1 -1
  664. package/dist/generated/themes/TextArea.css.js.map +1 -1
  665. package/dist/generated/themes/TimePicker.css.js +1 -1
  666. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  667. package/dist/generated/themes/Toast.css.js +1 -1
  668. package/dist/generated/themes/Toast.css.js.map +1 -1
  669. package/dist/generated/themes/ToggleButton.css.js +1 -1
  670. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  671. package/dist/generated/themes/Token.css.js +1 -1
  672. package/dist/generated/themes/Token.css.js.map +1 -1
  673. package/dist/generated/themes/Tokenizer.css.js +1 -1
  674. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  675. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  676. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  677. package/dist/generated/themes/Toolbar.css.js +1 -1
  678. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  679. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  680. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  681. package/dist/generated/themes/TreeItem.css.js +1 -1
  682. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  683. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  684. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  685. package/dist/generated/themes/YearPicker.css.js +1 -1
  686. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  687. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  688. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  689. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  690. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  691. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  692. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  693. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  694. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  695. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  696. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  697. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  698. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  699. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  700. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  701. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  702. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  703. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  704. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  705. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  706. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  707. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  708. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  709. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  710. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  711. package/dist/popup-utils/OpenedPopupsRegistry.js +1 -1
  712. package/dist/popup-utils/OpenedPopupsRegistry.js.map +1 -1
  713. package/dist/popup-utils/PopoverRegistry.js +5 -4
  714. package/dist/popup-utils/PopoverRegistry.js.map +1 -1
  715. package/dist/styles/Icon.css +33 -0
  716. package/dist/styles/Icon.module.css +33 -0
  717. package/dist/types/FormItemSpacing.d.ts +19 -0
  718. package/dist/types/FormItemSpacing.js +21 -0
  719. package/dist/types/FormItemSpacing.js.map +1 -0
  720. package/dist/types/{HighlightTypes.d.ts → Highlight.d.ts} +3 -3
  721. package/dist/types/Highlight.js +30 -0
  722. package/dist/types/Highlight.js.map +1 -0
  723. package/dist/types/InputType.d.ts +7 -1
  724. package/dist/types/InputType.js +6 -0
  725. package/dist/types/InputType.js.map +1 -1
  726. package/dist/types/LinkAccessibleRole.d.ts +19 -0
  727. package/dist/types/LinkAccessibleRole.js +21 -0
  728. package/dist/types/LinkAccessibleRole.js.map +1 -0
  729. package/dist/vscode.html-custom-data.json +312 -163
  730. package/dist/web-types.json +736 -378
  731. package/package.json +10 -10
  732. package/src/Breadcrumbs.hbs +4 -2
  733. package/src/BusyIndicator.hbs +1 -1
  734. package/src/Button.hbs +12 -2
  735. package/src/Calendar.hbs +2 -2
  736. package/src/CheckBox.hbs +0 -2
  737. package/src/ColorPalette.hbs +3 -1
  738. package/src/ColorPaletteItem.hbs +1 -1
  739. package/src/ColorPalettePopover.hbs +2 -1
  740. package/src/ComboBox.hbs +3 -2
  741. package/src/ComboBoxPopover.hbs +15 -4
  742. package/src/DatePickerInput.hbs +1 -3
  743. package/src/DatePickerPopover.hbs +3 -3
  744. package/src/DateRangePicker.hbs +23 -0
  745. package/src/DateTimePickerPopover.hbs +2 -2
  746. package/src/FileUploader.hbs +10 -16
  747. package/src/FileUploaderPopover.hbs +1 -1
  748. package/src/Form.hbs +37 -0
  749. package/src/FormItem.hbs +14 -0
  750. package/src/Input.hbs +2 -3
  751. package/src/InputPopover.hbs +5 -5
  752. package/src/ListItemBase.hbs +21 -0
  753. package/src/ListItemGroup.hbs +12 -12
  754. package/src/ListItemGroupHeader.hbs +0 -1
  755. package/src/Menu.hbs +17 -49
  756. package/src/MenuItem.hbs +111 -0
  757. package/src/MonthPicker.hbs +2 -2
  758. package/src/MultiComboBox.hbs +3 -2
  759. package/src/MultiComboBoxPopover.hbs +4 -4
  760. package/src/MultiInput.hbs +4 -2
  761. package/src/NavigationMenu.hbs +14 -101
  762. package/src/NavigationMenuItem.hbs +124 -0
  763. package/src/Option.hbs +15 -0
  764. package/src/OptionCustom.hbs +5 -0
  765. package/src/Popup.hbs +1 -0
  766. package/src/RadioButton.hbs +0 -1
  767. package/src/ResponsivePopover.hbs +6 -5
  768. package/src/SegmentedButtonItem.hbs +1 -1
  769. package/src/Select.hbs +2 -3
  770. package/src/SelectPopover.hbs +9 -20
  771. package/src/StepInput.hbs +2 -4
  772. package/src/Switch.hbs +0 -1
  773. package/src/TabContainer.hbs +4 -4
  774. package/src/TextArea.hbs +0 -2
  775. package/src/TextAreaPopover.hbs +1 -1
  776. package/src/TimePicker.hbs +4 -5
  777. package/src/TimePickerPopover.hbs +7 -5
  778. package/src/TokenizerPopover.hbs +9 -7
  779. package/src/ToolbarButton.hbs +1 -1
  780. package/src/ToolbarPopover.hbs +2 -2
  781. package/src/ToolbarPopoverButton.hbs +1 -1
  782. package/src/YearPicker.hbs +1 -1
  783. package/src/i18n/messagebundle.properties +11 -3
  784. package/src/i18n/messagebundle_ar.properties +13 -3
  785. package/src/i18n/messagebundle_bg.properties +13 -3
  786. package/src/i18n/messagebundle_ca.properties +13 -3
  787. package/src/i18n/messagebundle_cnr.properties +13 -3
  788. package/src/i18n/messagebundle_cs.properties +13 -3
  789. package/src/i18n/messagebundle_cy.properties +13 -3
  790. package/src/i18n/messagebundle_da.properties +13 -3
  791. package/src/i18n/messagebundle_de.properties +13 -3
  792. package/src/i18n/messagebundle_el.properties +13 -3
  793. package/src/i18n/messagebundle_en.properties +13 -3
  794. package/src/i18n/messagebundle_en_GB.properties +13 -3
  795. package/src/i18n/messagebundle_en_US_saprigi.properties +13 -3
  796. package/src/i18n/messagebundle_es.properties +13 -3
  797. package/src/i18n/messagebundle_es_MX.properties +13 -3
  798. package/src/i18n/messagebundle_et.properties +13 -3
  799. package/src/i18n/messagebundle_fi.properties +13 -3
  800. package/src/i18n/messagebundle_fr.properties +13 -3
  801. package/src/i18n/messagebundle_fr_CA.properties +13 -3
  802. package/src/i18n/messagebundle_hi.properties +13 -3
  803. package/src/i18n/messagebundle_hr.properties +13 -3
  804. package/src/i18n/messagebundle_hu.properties +13 -3
  805. package/src/i18n/messagebundle_id.properties +13 -3
  806. package/src/i18n/messagebundle_it.properties +14 -4
  807. package/src/i18n/messagebundle_iw.properties +13 -3
  808. package/src/i18n/messagebundle_ja.properties +13 -3
  809. package/src/i18n/messagebundle_kk.properties +13 -3
  810. package/src/i18n/messagebundle_ko.properties +13 -3
  811. package/src/i18n/messagebundle_lt.properties +13 -3
  812. package/src/i18n/messagebundle_lv.properties +13 -3
  813. package/src/i18n/messagebundle_mk.properties +13 -3
  814. package/src/i18n/messagebundle_ms.properties +13 -3
  815. package/src/i18n/messagebundle_nl.properties +13 -3
  816. package/src/i18n/messagebundle_no.properties +13 -3
  817. package/src/i18n/messagebundle_pl.properties +13 -3
  818. package/src/i18n/messagebundle_pt.properties +13 -3
  819. package/src/i18n/messagebundle_pt_PT.properties +13 -3
  820. package/src/i18n/messagebundle_ro.properties +13 -3
  821. package/src/i18n/messagebundle_ru.properties +13 -3
  822. package/src/i18n/messagebundle_sh.properties +13 -3
  823. package/src/i18n/messagebundle_sk.properties +13 -3
  824. package/src/i18n/messagebundle_sl.properties +13 -3
  825. package/src/i18n/messagebundle_sr.properties +13 -3
  826. package/src/i18n/messagebundle_sv.properties +13 -3
  827. package/src/i18n/messagebundle_th.properties +13 -3
  828. package/src/i18n/messagebundle_tr.properties +13 -3
  829. package/src/i18n/messagebundle_uk.properties +17 -7
  830. package/src/i18n/messagebundle_vi.properties +13 -3
  831. package/src/i18n/messagebundle_zh_CN.properties +13 -3
  832. package/src/i18n/messagebundle_zh_TW.properties +13 -3
  833. package/src/styles/Icon.module.css +1 -0
  834. package/src/themes/Button.css +7 -10
  835. package/src/themes/Calendar.css +1 -0
  836. package/src/themes/CalendarLegendItem.css +4 -1
  837. package/src/themes/ColorPalette.css +11 -6
  838. package/src/themes/ColorPaletteItem.css +55 -27
  839. package/src/themes/Form.css +50 -0
  840. package/src/themes/FormItem.css +65 -0
  841. package/src/themes/FormLabelSpan.css +267 -0
  842. package/src/themes/FormLayout.css +159 -0
  843. package/src/themes/GrowingButton.css +1 -1
  844. package/src/themes/Input.css +20 -20
  845. package/src/themes/InputIcon.css +6 -13
  846. package/src/themes/InputSharedStyles.css +15 -16
  847. package/src/themes/Label.css +7 -4
  848. package/src/themes/Link.css +5 -5
  849. package/src/themes/ListItem.css +6 -57
  850. package/src/themes/ListItemAdditionalText.css +10 -0
  851. package/src/themes/ListItemBase.css +61 -46
  852. package/src/themes/ListItemIcon.css +6 -0
  853. package/src/themes/Menu.css +0 -10
  854. package/src/themes/{MenuListItem.css → MenuItem.css} +13 -1
  855. package/src/themes/MonthPicker.css +23 -0
  856. package/src/themes/NavigationMenu.css +7 -65
  857. package/src/themes/NavigationMenuItem.css +54 -0
  858. package/src/themes/OptionBase.css +3 -0
  859. package/src/themes/Popover.css +1 -1
  860. package/src/themes/Popup.css +1 -1
  861. package/src/themes/RadioButton.css +8 -8
  862. package/src/themes/ResponsivePopover.css +3 -3
  863. package/src/themes/ResponsivePopoverCommon.css +3 -3
  864. package/src/themes/SegmentedButton.css +2 -3
  865. package/src/themes/SegmentedButtonItem.css +0 -8
  866. package/src/themes/SelectPopover.css +1 -9
  867. package/src/themes/TimePicker.css +1 -24
  868. package/src/themes/base/ColorPalette-parameters.css +10 -4
  869. package/src/themes/base/Form-parameters.css +20 -0
  870. package/src/themes/base/sizes-parameters.css +25 -7
  871. package/src/themes/sap_fiori_3/parameters-bundle.css +2 -2
  872. package/src/themes/sap_fiori_3/sizes-parameters.css +6 -0
  873. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +2 -2
  874. package/src/themes/sap_fiori_3_dark/sizes-parameters.css +6 -0
  875. package/src/themes/sap_fiori_3_hcb/Tag-parameters.css +102 -0
  876. package/src/themes/sap_fiori_3_hcw/Tag-parameters.css +102 -0
  877. package/src/themes/sap_horizon/ColorPalette-parameters.css +7 -4
  878. package/src/themes/sap_horizon/parameters-bundle.css +1 -0
  879. package/src/themes/sap_horizon/sizes-parameters.css +4 -2
  880. package/src/themes/sap_horizon_dark/ColorPalette-parameters.css +7 -4
  881. package/src/themes/sap_horizon_dark/sizes-parameters.css +4 -2
  882. package/src/themes/sap_horizon_dark_exp/ColorPalette-parameters.css +5 -4
  883. package/src/themes/sap_horizon_dark_exp/sizes-parameters.css +1 -2
  884. package/src/themes/sap_horizon_exp/ColorPalette-parameters.css +5 -4
  885. package/src/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  886. package/src/themes/sap_horizon_exp/sizes-parameters.css +1 -2
  887. package/src/themes/sap_horizon_hcb/ColorPalette-parameters.css +8 -0
  888. package/src/themes/sap_horizon_hcb/Tag-parameters.css +9 -9
  889. package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  890. package/src/themes/sap_horizon_hcw/ColorPalette-parameters.css +8 -0
  891. package/src/themes/sap_horizon_hcw/Tag-parameters.css +9 -9
  892. package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  893. package/dist/ComboBoxGroupItem.js.map +0 -1
  894. package/dist/MenuListItem.d.ts +0 -61
  895. package/dist/MenuListItem.js +0 -71
  896. package/dist/MenuListItem.js.map +0 -1
  897. package/dist/SelectMenu.d.ts +0 -102
  898. package/dist/SelectMenu.js +0 -237
  899. package/dist/SelectMenu.js.map +0 -1
  900. package/dist/SelectMenuOption.d.ts +0 -94
  901. package/dist/SelectMenuOption.js +0 -78
  902. package/dist/SelectMenuOption.js.map +0 -1
  903. package/dist/css/themes/MenuListItem.css +0 -1
  904. package/dist/css/themes/SelectMenu.css +0 -1
  905. package/dist/css/themes/SelectMenuOption.css +0 -0
  906. package/dist/features/InputElementsFormSupport.d.ts +0 -41
  907. package/dist/features/InputElementsFormSupport.js +0 -134
  908. package/dist/features/InputElementsFormSupport.js.map +0 -1
  909. package/dist/generated/templates/MenuListItemTemplate.lit.js.map +0 -1
  910. package/dist/generated/templates/SelectMenuTemplate.lit.d.ts +0 -4
  911. package/dist/generated/templates/SelectMenuTemplate.lit.js +0 -15
  912. package/dist/generated/templates/SelectMenuTemplate.lit.js.map +0 -1
  913. package/dist/generated/themes/MenuListItem.css.js +0 -9
  914. package/dist/generated/themes/MenuListItem.css.js.map +0 -1
  915. package/dist/generated/themes/SelectMenuOption.css.js.map +0 -1
  916. package/dist/styles/Input.css +0 -0
  917. package/dist/styles/Input.module.css +0 -0
  918. package/dist/types/HighlightTypes.js +0 -30
  919. package/dist/types/HighlightTypes.js.map +0 -1
  920. package/src/MenuListItem.hbs +0 -35
  921. package/src/SelectMenu.hbs +0 -57
  922. package/src/styles/Input.module.css +0 -0
  923. package/src/themes/SelectMenu.css +0 -16
  924. package/src/themes/SelectMenuOption.css +0 -0
  925. /package/dist/generated/themes/{MenuListItem.css.d.ts → Form.css.d.ts} +0 -0
  926. /package/dist/generated/themes/{SelectMenu.css.d.ts → FormItem.css.d.ts} +0 -0
  927. /package/dist/generated/themes/{SelectMenuOption.css.d.ts → FormLabelSpan.css.d.ts} +0 -0
@@ -17,7 +17,7 @@ import Input from "./Input.js";
17
17
  import MultiInputTemplate from "./generated/templates/MultiInputTemplate.lit.js";
18
18
  import styles from "./generated/themes/MultiInput.css.js";
19
19
  import Token from "./Token.js";
20
- import Tokenizer from "./Tokenizer.js";
20
+ import Tokenizer, { getTokensCountText } from "./Tokenizer.js";
21
21
  import Icon from "./Icon.js";
22
22
  import "@ui5/webcomponents-icons/dist/value-help.js";
23
23
  /**
@@ -41,6 +41,22 @@ import "@ui5/webcomponents-icons/dist/value-help.js";
41
41
  * @public
42
42
  */
43
43
  let MultiInput = MultiInput_1 = class MultiInput extends Input {
44
+ get formValidity() {
45
+ const tokens = (this.tokens || []);
46
+ return { valueMissing: this.required && !this.value && !tokens.length };
47
+ }
48
+ get formFormattedValue() {
49
+ const tokens = (this.tokens || []);
50
+ if (tokens.length) {
51
+ const formData = new FormData();
52
+ formData.append(this.name, this.value);
53
+ for (let i = 0; i < tokens.length; i++) {
54
+ formData.append(this.name, tokens[i].text);
55
+ }
56
+ return formData;
57
+ }
58
+ return this.value;
59
+ }
44
60
  constructor() {
45
61
  super();
46
62
  // Prevent suggestions' opening.
@@ -52,25 +68,18 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
52
68
  this.fireEvent("value-help-trigger");
53
69
  }
54
70
  tokenDelete(e) {
55
- const focusedToken = e.detail.ref;
71
+ const deletedTokens = e.detail.tokens;
56
72
  const selectedTokens = this.tokens.filter(token => token.selected);
57
73
  const shouldFocusInput = this.tokens.length - 1 === 0 || this.tokens.length === selectedTokens.length;
58
74
  if (this._readonly) {
59
75
  return;
60
76
  }
61
- if (focusedToken) {
62
- this.fireEvent("token-delete", { token: focusedToken });
77
+ if (deletedTokens) {
78
+ this.fireEvent("token-delete", { tokens: deletedTokens });
63
79
  if (shouldFocusInput) {
64
80
  this.focus();
65
81
  }
66
- return;
67
- }
68
- if (selectedTokens.indexOf(focusedToken) === -1) {
69
- selectedTokens.push(focusedToken);
70
82
  }
71
- selectedTokens.forEach(token => {
72
- this.fireEvent("token-delete", { token });
73
- });
74
83
  }
75
84
  valueHelpMouseDown(e) {
76
85
  const target = e.target;
@@ -106,10 +115,14 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
106
115
  this._skipOpenSuggestions = true; // Prevent input focus when navigating through the tokens
107
116
  return this._focusFirstToken(e);
108
117
  }
109
- if (isLeft(e) || isBackSpace(e)) {
118
+ if (isLeft(e)) {
110
119
  this._skipOpenSuggestions = true;
111
120
  return this._handleLeft(e);
112
121
  }
122
+ if (isBackSpace(e)) {
123
+ this._skipOpenSuggestions = true;
124
+ return this._handleBackspace(e);
125
+ }
113
126
  this._skipOpenSuggestions = false;
114
127
  if (isShow(e)) {
115
128
  this.valueHelpPress();
@@ -138,6 +151,19 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
138
151
  this.tokenizer._itemNav.setCurrentItem(lastToken);
139
152
  }
140
153
  }
154
+ _handleBackspace(e) {
155
+ const cursorPosition = this.getDomRef().querySelector(`input`).selectionStart;
156
+ const selectionEnd = this.getDomRef().querySelector(`input`).selectionEnd;
157
+ const isValueSelected = cursorPosition === 0 && selectionEnd === this.value.length;
158
+ const tokens = this.tokens;
159
+ const lastToken = tokens.length && tokens[tokens.length - 1];
160
+ // selectionStart property applies only to inputs of types text, search, URL, tel, and password
161
+ if ((!this.value || (this.value && cursorPosition === 0 && !isValueSelected)) && lastToken) {
162
+ e.preventDefault();
163
+ lastToken.focus();
164
+ this.tokenizer._itemNav.setCurrentItem(lastToken);
165
+ }
166
+ }
141
167
  _focusFirstToken(e) {
142
168
  const tokens = this.tokens;
143
169
  const firstToken = tokens.length && tokens[0];
@@ -165,11 +191,6 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
165
191
  super._onfocusin(e);
166
192
  }
167
193
  }
168
- lastItemDeleted() {
169
- setTimeout(() => {
170
- this.focus();
171
- }, 0);
172
- }
173
194
  onBeforeRendering() {
174
195
  super.onBeforeRendering();
175
196
  this.style.setProperty(getScopedVarName("--_ui5-input-icons-count"), `${this.iconsCount}`);
@@ -195,10 +216,7 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
195
216
  return this.tokenizer && this.tokenizer.expanded;
196
217
  }
197
218
  get _tokensCountText() {
198
- if (!this.tokenizer) {
199
- return;
200
- }
201
- return this.tokenizer._tokensCountText();
219
+ return getTokensCountText(this.tokens.length);
202
220
  }
203
221
  get _tokensCountTextId() {
204
222
  return `hiddenText-nMore`;
@@ -243,20 +261,27 @@ __decorate([
243
261
  property({ type: Boolean })
244
262
  ], MultiInput.prototype, "tokenizerAvailable", void 0);
245
263
  __decorate([
246
- slot()
264
+ property()
265
+ ], MultiInput.prototype, "name", void 0);
266
+ __decorate([
267
+ slot({ type: HTMLElement, individualSlots: true })
247
268
  ], MultiInput.prototype, "tokens", void 0);
248
269
  MultiInput = MultiInput_1 = __decorate([
249
270
  customElement({
250
271
  tag: "ui5-multi-input",
251
272
  renderer: litRender,
273
+ formAssociated: true,
252
274
  template: MultiInputTemplate,
253
275
  styles: [Input.styles, styles],
254
- dependencies: [
255
- ...Input.dependencies,
256
- Tokenizer,
257
- Token,
258
- Icon,
259
- ],
276
+ get dependencies() {
277
+ return [
278
+ ...Input.dependencies,
279
+ Input,
280
+ Tokenizer,
281
+ Token,
282
+ Icon,
283
+ ];
284
+ },
260
285
  })
261
286
  /**
262
287
  * Fired when the value help icon is pressed
@@ -266,8 +291,8 @@ MultiInput = MultiInput_1 = __decorate([
266
291
  ,
267
292
  event("value-help-trigger")
268
293
  /**
269
- * Fired when a token is about to be deleted.
270
- * @param {HTMLElement} token deleted token.
294
+ * Fired when tokens are being deleted.
295
+ * @param {Array} tokens An array containing the deleted tokens.
271
296
  * @public
272
297
  */
273
298
  ,
@@ -276,7 +301,7 @@ MultiInput = MultiInput_1 = __decorate([
276
301
  /**
277
302
  * @public
278
303
  */
279
- token: { type: HTMLElement },
304
+ tokens: { type: Array },
280
305
  },
281
306
  })
282
307
  ], MultiInput);
@@ -1 +1 @@
1
- {"version":3,"file":"MultiInput.js","sourceRoot":"","sources":["../src/MultiInput.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport {\n\tisShow,\n\tisBackSpace,\n\tisLeft,\n\tisRight,\n\tisRightCtrl,\n\tisHome,\n\tisEnd,\n\tisDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport { MULTIINPUT_ROLEDESCRIPTION_TEXT } from \"./generated/i18n/i18n-defaults.js\";\nimport Input from \"./Input.js\";\nimport MultiInputTemplate from \"./generated/templates/MultiInputTemplate.lit.js\";\nimport styles from \"./generated/themes/MultiInput.css.js\";\nimport Token from \"./Token.js\";\nimport Tokenizer from \"./Tokenizer.js\";\nimport type { TokenizerTokenDeleteEventDetail } from \"./Tokenizer.js\";\nimport Icon from \"./Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/value-help.js\";\n\nimport type {\n\tInputSelectionChangeEventDetail as MultiInputSelectionChangeEventDetail,\n} from \"./Input.js\";\n\ninterface IToken extends HTMLElement, ITabbable {\n\ttext: string;\n\treadonly: boolean,\n\tselected: boolean,\n\tisTruncatable: boolean,\n}\n\ntype MultiInputTokenDeleteEventDetail = {\n\ttoken: IToken;\n}\n\n/**\n * @class\n * ### Overview\n * A `ui5-multi-input` field allows the user to enter multiple values, which are displayed as `ui5-token`.\n *\n * User can choose interaction for creating tokens.\n * Fiori Guidelines say that user should create tokens when:\n *\n * - Type a value in the input and press enter or focus out the input field (`change` event is fired)\n * - Move between suggestion items (`selection-change` event is fired)\n * - Clicking on a suggestion item (`selection-change` event is fired if the clicked item is different than the current value. Also `change` event is fired )\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/MultiInput.js\";`\n * @constructor\n * @extends Input\n * @since 1.0.0-rc.9\n * @public\n */\n@customElement({\n\ttag: \"ui5-multi-input\",\n\trenderer: litRender,\n\ttemplate: MultiInputTemplate,\n\tstyles: [Input.styles, styles],\n\tdependencies: [\n\t\t...Input.dependencies,\n\t\tTokenizer,\n\t\tToken,\n\t\tIcon,\n\t],\n})\n/**\n * Fired when the value help icon is pressed\n * and F4 or ALT/OPTION + ARROW_UP/ARROW_DOWN keyboard keys are used.\n * @public\n */\n@event(\"value-help-trigger\")\n\n/**\n * Fired when a token is about to be deleted.\n * @param {HTMLElement} token deleted token.\n * @public\n */\n@event<MultiInputTokenDeleteEventDetail>(\"token-delete\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttoken: { type: HTMLElement },\n\t},\n})\n\nclass MultiInput extends Input {\n\t/**\n\t * Determines whether a value help icon will be visualized in the end of the input.\n\t * Pressing the icon will fire `value-help-trigger` event.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowValueHelpIcon!: boolean;\n\n\t/**\n\t * Indicates whether the tokenizer has tokens\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ttokenizerAvailable!: boolean;\n\n\t/**\n\t * Defines the component tokens.\n\t * @public\n\t */\n\t@slot()\n\ttokens!: Array<IToken>;\n\n\t_skipOpenSuggestions: boolean;\n\t_valueHelpIconPressed: boolean;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// Prevent suggestions' opening.\n\t\tthis._skipOpenSuggestions = false;\n\t\tthis._valueHelpIconPressed = false;\n\t}\n\n\tvalueHelpPress() {\n\t\tthis.closeValueStatePopover();\n\t\tthis.fireEvent(\"value-help-trigger\");\n\t}\n\n\ttokenDelete(e: CustomEvent<TokenizerTokenDeleteEventDetail>) {\n\t\tconst focusedToken = e.detail.ref;\n\t\tconst selectedTokens = this.tokens.filter(token => token.selected);\n\t\tconst shouldFocusInput = this.tokens.length - 1 === 0 || this.tokens.length === selectedTokens.length;\n\n\t\tif (this._readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (focusedToken) {\n\t\t\tthis.fireEvent<MultiInputTokenDeleteEventDetail>(\"token-delete\", { token: focusedToken });\n\t\t\tif (shouldFocusInput) {\n\t\t\t\tthis.focus();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (selectedTokens.indexOf(focusedToken) === -1) {\n\t\t\tselectedTokens.push(focusedToken);\n\t\t}\n\n\t\tselectedTokens.forEach(token => {\n\t\t\tthis.fireEvent<MultiInputTokenDeleteEventDetail>(\"token-delete\", { token });\n\t\t});\n\t}\n\n\tvalueHelpMouseDown(e: MouseEvent) {\n\t\tconst target = e.target as Icon;\n\t\tthis.closeValueStatePopover();\n\t\tthis.tokenizer.open = false;\n\t\tthis._valueHelpIconPressed = true;\n\t\ttarget.focus();\n\t}\n\n\t_tokenizerFocusOut(e: FocusEvent) {\n\t\tif (!this.contains(e.relatedTarget as HTMLElement) && !this.shadowRoot!.contains(e.relatedTarget as HTMLElement)) {\n\t\t\tthis.tokenizer._tokens.forEach(token => { token.selected = false; });\n\t\t\tthis.tokenizer.scrollToStart();\n\t\t}\n\t}\n\n\tvalueHelpMouseUp() {\n\t\tsetTimeout(() => {\n\t\t\tthis._valueHelpIconPressed = false;\n\t\t}, 0);\n\t}\n\n\tinnerFocusIn() {\n\t\tthis.tokenizer.expanded = true;\n\t\tthis.focused = true;\n\t\tthis.tokenizer.scrollToEnd();\n\n\t\tthis.tokens.forEach(token => {\n\t\t\ttoken.selected = false;\n\t\t});\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tsuper._onkeydown(e);\n\n\t\tconst target = e.target as HTMLInputElement;\n\t\tconst isHomeInBeginning = isHome(e) && target.selectionStart === 0;\n\n\t\tif (isHomeInBeginning) {\n\t\t\tthis._skipOpenSuggestions = true; // Prevent input focus when navigating through the tokens\n\t\t\treturn this._focusFirstToken(e);\n\t\t}\n\n\t\tif (isLeft(e) || isBackSpace(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleLeft(e);\n\t\t}\n\n\t\tthis._skipOpenSuggestions = false;\n\n\t\tif (isShow(e)) {\n\t\t\tthis.valueHelpPress();\n\t\t}\n\t}\n\n\t_onTokenizerKeydown(e: KeyboardEvent) {\n\t\tconst rightCtrl = isRightCtrl(e);\n\t\tif (isRight(e) || isDown(e) || isEnd(e) || rightCtrl) {\n\t\t\te.preventDefault();\n\t\t\tconst lastTokenIndex = this.tokens.length - 1;\n\n\t\t\tif (e.target === this.tokens[lastTokenIndex] && this.tokens[lastTokenIndex] === document.activeElement) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.focus();\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleLeft(e: KeyboardEvent) {\n\t\tconst cursorPosition = this.getDomRef()!.querySelector(`input`)!.selectionStart;\n\t\tconst tokens = this.tokens;\n\t\tconst lastToken = tokens.length && tokens[tokens.length - 1];\n\n\t\t// selectionStart property applies only to inputs of types text, search, URL, tel, and password\n\t\tif (((cursorPosition === null && !this.value) || cursorPosition === 0) && lastToken) {\n\t\t\te.preventDefault();\n\t\t\tlastToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(lastToken);\n\t\t}\n\t}\n\n\t_focusFirstToken(e: KeyboardEvent) {\n\t\tconst tokens = this.tokens;\n\t\tconst firstToken = tokens.length && tokens[0];\n\n\t\tif (firstToken) {\n\t\t\te.preventDefault();\n\n\t\t\tfirstToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(firstToken);\n\t\t}\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\tsuper._onfocusout(e);\n\t\tconst relatedTarget = e.relatedTarget as HTMLElement;\n\t\tconst insideDOM = this.contains(relatedTarget);\n\t\tconst insideShadowDom = this.shadowRoot!.contains(relatedTarget);\n\n\t\tif (!insideDOM && !insideShadowDom) {\n\t\t\tthis.tokenizer.expanded = false;\n\t\t}\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_onfocusin(e: FocusEvent) {\n\t\tconst inputDomRef = this.getInputDOMRef();\n\n\t\tif (e.target === inputDomRef) {\n\t\t\tsuper._onfocusin(e);\n\t\t}\n\t}\n\n\tlastItemDeleted() {\n\t\tsetTimeout(() => {\n\t\t\tthis.focus();\n\t\t}, 0);\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\t\tthis.tokenizerAvailable = this.tokens && this.tokens.length > 0;\n\t}\n\n\tonAfterRendering() {\n\t\tsuper.onAfterRendering();\n\n\t\tthis.tokenizer.preventInitialFocus = true;\n\n\t\tif (this.tokenizer.expanded) {\n\t\t\tthis.tokenizer.scrollToEnd();\n\t\t} else {\n\t\t\tthis.tokenizer.scrollToStart();\n\t\t}\n\t}\n\n\tget iconsCount() {\n\t\treturn super.iconsCount + (this.showValueHelpIcon ? 1 : 0);\n\t}\n\n\tget tokenizer() {\n\t\treturn this.shadowRoot!.querySelector<Tokenizer>(\"[ui5-tokenizer]\")!;\n\t}\n\n\tget tokenizerExpanded() {\n\t\treturn this.tokenizer && this.tokenizer.expanded;\n\t}\n\n\tget _tokensCountText() {\n\t\tif (!this.tokenizer) {\n\t\t\treturn;\n\t\t}\n\t\treturn this.tokenizer._tokensCountText();\n\t}\n\n\tget _tokensCountTextId() {\n\t\treturn `hiddenText-nMore`;\n\t}\n\n\t/**\n\t * Returns the placeholder value when there are no tokens.\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\tif (this.tokens.length) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\treturn this.placeholder;\n\t}\n\n\tget accInfo() {\n\t\tconst ariaDescribedBy = `${this._tokensCountTextId} ${this.suggestionsTextId} ${this.valueStateTextId}`.trim();\n\t\treturn {\n\t\t\t\"input\": {\n\t\t\t\t...super.accInfo.input,\n\t\t\t\t\"ariaRoledescription\": this.ariaRoleDescription,\n\t\t\t\t\"ariaDescribedBy\": ariaDescribedBy,\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaRoleDescription() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_ROLEDESCRIPTION_TEXT);\n\t}\n\n\tget morePopoverOpener(): HTMLElement {\n\t\tif (this.tokens.length === 1 && this.tokens[0].isTruncatable) {\n\t\t\treturn this.tokens[0];\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tget shouldDisplayOnlyValueStateMessage() {\n\t\treturn this.hasValueStateMessage && !this.readonly && !this.open && this.focused && !this.tokenizer.open;\n\t}\n}\n\nMultiInput.define();\n\nexport default MultiInput;\nexport type {\n\tIToken,\n\tMultiInputTokenDeleteEventDetail,\n\tMultiInputSelectionChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"MultiInput.js","sourceRoot":"","sources":["../src/MultiInput.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport {\n\tisShow,\n\tisBackSpace,\n\tisLeft,\n\tisRight,\n\tisRightCtrl,\n\tisHome,\n\tisEnd,\n\tisDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport { MULTIINPUT_ROLEDESCRIPTION_TEXT } from \"./generated/i18n/i18n-defaults.js\";\nimport Input from \"./Input.js\";\nimport MultiInputTemplate from \"./generated/templates/MultiInputTemplate.lit.js\";\nimport styles from \"./generated/themes/MultiInput.css.js\";\nimport Token from \"./Token.js\";\nimport Tokenizer, { getTokensCountText } from \"./Tokenizer.js\";\nimport type { TokenizerTokenDeleteEventDetail } from \"./Tokenizer.js\";\nimport Icon from \"./Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/value-help.js\";\n\nimport type {\n\tInputSelectionChangeEventDetail as MultiInputSelectionChangeEventDetail,\n} from \"./Input.js\";\n\ninterface IToken extends HTMLElement, ITabbable {\n\ttext: string;\n\treadonly: boolean,\n\tselected: boolean,\n\tisTruncatable: boolean,\n}\n\ntype MultiInputTokenDeleteEventDetail = {\n\ttokens: Token[];\n}\n\n/**\n * @class\n * ### Overview\n * A `ui5-multi-input` field allows the user to enter multiple values, which are displayed as `ui5-token`.\n *\n * User can choose interaction for creating tokens.\n * Fiori Guidelines say that user should create tokens when:\n *\n * - Type a value in the input and press enter or focus out the input field (`change` event is fired)\n * - Move between suggestion items (`selection-change` event is fired)\n * - Clicking on a suggestion item (`selection-change` event is fired if the clicked item is different than the current value. Also `change` event is fired )\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/MultiInput.js\";`\n * @constructor\n * @extends Input\n * @since 1.0.0-rc.9\n * @public\n */\n@customElement({\n\ttag: \"ui5-multi-input\",\n\trenderer: litRender,\n\tformAssociated: true,\n\ttemplate: MultiInputTemplate,\n\tstyles: [Input.styles, styles],\n\tget dependencies() {\n\t\treturn [\n\t\t\t...Input.dependencies,\n\t\t\tInput,\n\t\t\tTokenizer,\n\t\t\tToken,\n\t\t\tIcon,\n\t\t];\n\t},\n})\n/**\n * Fired when the value help icon is pressed\n * and F4 or ALT/OPTION + ARROW_UP/ARROW_DOWN keyboard keys are used.\n * @public\n */\n@event(\"value-help-trigger\")\n\n/**\n * Fired when tokens are being deleted.\n * @param {Array} tokens An array containing the deleted tokens.\n * @public\n */\n@event<MultiInputTokenDeleteEventDetail>(\"token-delete\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttokens: { type: Array },\n\t},\n})\n\nclass MultiInput extends Input implements IFormInputElement {\n\t/**\n\t * Determines whether a value help icon will be visualized in the end of the input.\n\t * Pressing the icon will fire `value-help-trigger` event.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowValueHelpIcon!: boolean;\n\n\t/**\n\t * Indicates whether the tokenizer has tokens\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ttokenizerAvailable!: boolean;\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * **Note:** When the component is used inside a form element,\n\t * the value is sent as the first element in the form data, even if it's empty.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tdeclare name: string;\n\n\t/**\n\t * Defines the component tokens.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, individualSlots: true })\n\ttokens!: Array<IToken>;\n\n\t_skipOpenSuggestions: boolean;\n\t_valueHelpIconPressed: boolean;\n\n\tget formValidity(): ValidityStateFlags {\n\t\tconst tokens = (this.tokens || []);\n\n\t\treturn { valueMissing: this.required && !this.value && !tokens.length };\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\tconst tokens = (this.tokens || []);\n\n\t\tif (tokens.length) {\n\t\t\tconst formData = new FormData();\n\n\t\t\tformData.append(this.name, this.value);\n\n\t\t\tfor (let i = 0; i < tokens.length; i++) {\n\t\t\t\tformData.append(this.name, tokens[i].text);\n\t\t\t}\n\n\t\t\treturn formData;\n\t\t}\n\n\t\treturn this.value;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// Prevent suggestions' opening.\n\t\tthis._skipOpenSuggestions = false;\n\t\tthis._valueHelpIconPressed = false;\n\t}\n\n\tvalueHelpPress() {\n\t\tthis.closeValueStatePopover();\n\t\tthis.fireEvent(\"value-help-trigger\");\n\t}\n\n\ttokenDelete(e: CustomEvent<TokenizerTokenDeleteEventDetail>) {\n\t\tconst deletedTokens = e.detail.tokens;\n\t\tconst selectedTokens = this.tokens.filter(token => token.selected);\n\t\tconst shouldFocusInput = this.tokens.length - 1 === 0 || this.tokens.length === selectedTokens.length;\n\n\t\tif (this._readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (deletedTokens) {\n\t\t\tthis.fireEvent<MultiInputTokenDeleteEventDetail>(\"token-delete\", { tokens: deletedTokens });\n\n\t\t\tif (shouldFocusInput) {\n\t\t\t\tthis.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tvalueHelpMouseDown(e: MouseEvent) {\n\t\tconst target = e.target as Icon;\n\t\tthis.closeValueStatePopover();\n\t\tthis.tokenizer.open = false;\n\t\tthis._valueHelpIconPressed = true;\n\t\ttarget.focus();\n\t}\n\n\t_tokenizerFocusOut(e: FocusEvent) {\n\t\tif (!this.contains(e.relatedTarget as HTMLElement) && !this.shadowRoot!.contains(e.relatedTarget as HTMLElement)) {\n\t\t\tthis.tokenizer._tokens.forEach(token => { token.selected = false; });\n\t\t\tthis.tokenizer.scrollToStart();\n\t\t}\n\t}\n\n\tvalueHelpMouseUp() {\n\t\tsetTimeout(() => {\n\t\t\tthis._valueHelpIconPressed = false;\n\t\t}, 0);\n\t}\n\n\tinnerFocusIn() {\n\t\tthis.tokenizer.expanded = true;\n\t\tthis.focused = true;\n\t\tthis.tokenizer.scrollToEnd();\n\n\t\tthis.tokens.forEach(token => {\n\t\t\ttoken.selected = false;\n\t\t});\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tsuper._onkeydown(e);\n\n\t\tconst target = e.target as HTMLInputElement;\n\t\tconst isHomeInBeginning = isHome(e) && target.selectionStart === 0;\n\n\t\tif (isHomeInBeginning) {\n\t\t\tthis._skipOpenSuggestions = true; // Prevent input focus when navigating through the tokens\n\t\t\treturn this._focusFirstToken(e);\n\t\t}\n\n\t\tif (isLeft(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleLeft(e);\n\t\t}\n\n\t\tif (isBackSpace(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleBackspace(e);\n\t\t}\n\n\t\tthis._skipOpenSuggestions = false;\n\n\t\tif (isShow(e)) {\n\t\t\tthis.valueHelpPress();\n\t\t}\n\t}\n\n\t_onTokenizerKeydown(e: KeyboardEvent) {\n\t\tconst rightCtrl = isRightCtrl(e);\n\t\tif (isRight(e) || isDown(e) || isEnd(e) || rightCtrl) {\n\t\t\te.preventDefault();\n\t\t\tconst lastTokenIndex = this.tokens.length - 1;\n\n\t\t\tif (e.target === this.tokens[lastTokenIndex] && this.tokens[lastTokenIndex] === document.activeElement) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.focus();\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleLeft(e: KeyboardEvent) {\n\t\tconst cursorPosition = this.getDomRef()!.querySelector(`input`)!.selectionStart;\n\t\tconst tokens = this.tokens;\n\t\tconst lastToken = tokens.length && tokens[tokens.length - 1];\n\n\t\t// selectionStart property applies only to inputs of types text, search, URL, tel, and password\n\t\tif (((cursorPosition === null && !this.value) || cursorPosition === 0) && lastToken) {\n\t\t\te.preventDefault();\n\t\t\tlastToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(lastToken);\n\t\t}\n\t}\n\n\t_handleBackspace(e: KeyboardEvent) {\n\t\tconst cursorPosition = this.getDomRef()!.querySelector(`input`)!.selectionStart;\n\t\tconst selectionEnd = this.getDomRef()!.querySelector(`input`)!.selectionEnd;\n\t\tconst isValueSelected = cursorPosition === 0 && selectionEnd === this.value.length;\n\t\tconst tokens = this.tokens;\n\t\tconst lastToken = tokens.length && tokens[tokens.length - 1];\n\n\t\t// selectionStart property applies only to inputs of types text, search, URL, tel, and password\n\t\tif ((!this.value || (this.value && cursorPosition === 0 && !isValueSelected)) && lastToken) {\n\t\t\te.preventDefault();\n\t\t\tlastToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(lastToken);\n\t\t}\n\t}\n\n\t_focusFirstToken(e: KeyboardEvent) {\n\t\tconst tokens = this.tokens;\n\t\tconst firstToken = tokens.length && tokens[0];\n\n\t\tif (firstToken) {\n\t\t\te.preventDefault();\n\n\t\t\tfirstToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(firstToken);\n\t\t}\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\tsuper._onfocusout(e);\n\t\tconst relatedTarget = e.relatedTarget as HTMLElement;\n\t\tconst insideDOM = this.contains(relatedTarget);\n\t\tconst insideShadowDom = this.shadowRoot!.contains(relatedTarget);\n\n\t\tif (!insideDOM && !insideShadowDom) {\n\t\t\tthis.tokenizer.expanded = false;\n\t\t}\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_onfocusin(e: FocusEvent) {\n\t\tconst inputDomRef = this.getInputDOMRef();\n\n\t\tif (e.target === inputDomRef) {\n\t\t\tsuper._onfocusin(e);\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\t\tthis.tokenizerAvailable = this.tokens && this.tokens.length > 0;\n\t}\n\n\tonAfterRendering() {\n\t\tsuper.onAfterRendering();\n\n\t\tthis.tokenizer.preventInitialFocus = true;\n\n\t\tif (this.tokenizer.expanded) {\n\t\t\tthis.tokenizer.scrollToEnd();\n\t\t} else {\n\t\t\tthis.tokenizer.scrollToStart();\n\t\t}\n\t}\n\n\tget iconsCount() {\n\t\treturn super.iconsCount + (this.showValueHelpIcon ? 1 : 0);\n\t}\n\n\tget tokenizer() {\n\t\treturn this.shadowRoot!.querySelector<Tokenizer>(\"[ui5-tokenizer]\")!;\n\t}\n\n\tget tokenizerExpanded() {\n\t\treturn this.tokenizer && this.tokenizer.expanded;\n\t}\n\n\tget _tokensCountText() {\n\t\treturn getTokensCountText(this.tokens.length);\n\t}\n\n\tget _tokensCountTextId() {\n\t\treturn `hiddenText-nMore`;\n\t}\n\n\t/**\n\t * Returns the placeholder value when there are no tokens.\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\tif (this.tokens.length) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\treturn this.placeholder;\n\t}\n\n\tget accInfo() {\n\t\tconst ariaDescribedBy = `${this._tokensCountTextId} ${this.suggestionsTextId} ${this.valueStateTextId}`.trim();\n\t\treturn {\n\t\t\t\"input\": {\n\t\t\t\t...super.accInfo.input,\n\t\t\t\t\"ariaRoledescription\": this.ariaRoleDescription,\n\t\t\t\t\"ariaDescribedBy\": ariaDescribedBy,\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaRoleDescription() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_ROLEDESCRIPTION_TEXT);\n\t}\n\n\tget morePopoverOpener(): HTMLElement {\n\t\tif (this.tokens.length === 1 && this.tokens[0].isTruncatable) {\n\t\t\treturn this.tokens[0];\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tget shouldDisplayOnlyValueStateMessage() {\n\t\treturn this.hasValueStateMessage && !this.readonly && !this.open && this.focused && !this.tokenizer.open;\n\t}\n}\n\nMultiInput.define();\n\nexport default MultiInput;\nexport type {\n\tIToken,\n\tMultiInputTokenDeleteEventDetail,\n\tMultiInputSelectionChangeEventDetail,\n};\n"]}
@@ -1,7 +1,5 @@
1
- import type { ListItemClickEventDetail } from "./List.js";
2
1
  import Menu from "./Menu.js";
3
- import MenuItem from "./MenuItem.js";
4
- import type NavigationMenuItem from "./NavigationMenuItem.js";
2
+ import NavigationMenuItem from "./NavigationMenuItem.js";
5
3
  /**
6
4
  * @class
7
5
  *
@@ -30,10 +28,7 @@ declare class NavigationMenu extends Menu {
30
28
  * @public
31
29
  */
32
30
  items: Array<NavigationMenuItem>;
33
- _isMenu(element: HTMLElement): boolean;
34
31
  _itemMouseOver(e: MouseEvent): void;
35
- _clonedItemsFragment(item: MenuItem): DocumentFragment;
36
- _itemClick(e: CustomEvent<ListItemClickEventDetail>): void;
37
32
  get accSideNavigationPopoverHiddenText(): string;
38
33
  }
39
34
  export default NavigationMenu;
@@ -10,8 +10,8 @@ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
10
10
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
11
11
  import { isDesktop, } from "@ui5/webcomponents-base/dist/Device.js";
12
12
  import Menu from "./Menu.js";
13
- import "./StandardListItem.js";
14
13
  import "./MenuItem.js";
14
+ import "./NavigationMenuItem.js";
15
15
  import menuTemplate from "./generated/templates/NavigationMenuTemplate.lit.js";
16
16
  // Styles
17
17
  import navigationMenuCss from "./generated/themes/NavigationMenu.css.js";
@@ -38,57 +38,13 @@ import { NAVIGATION_MENU_POPOVER_HIDDEN_TEXT, } from "./generated/i18n/i18n-defa
38
38
  * @private
39
39
  */
40
40
  let NavigationMenu = NavigationMenu_1 = class NavigationMenu extends Menu {
41
- _isMenu(element) {
42
- return element.hasAttribute("ui5-navigation-menu");
43
- }
44
41
  _itemMouseOver(e) {
45
42
  if (isDesktop()) {
46
43
  // respect mouseover only on desktop
47
- const opener = e.target;
48
- let item = opener.associatedItem;
49
- if (!item) {
50
- // for nested <a>
51
- const test = opener.parentElement;
52
- if (opener.parentElement) {
53
- item = test.associatedItem;
54
- }
55
- }
44
+ const item = e.target;
56
45
  // Opens submenu with 300ms delay
57
- this._startOpenTimeout(item, opener);
58
- }
59
- }
60
- _clonedItemsFragment(item) {
61
- const fragment = document.createDocumentFragment();
62
- for (let i = 0; i < item.items.length; ++i) {
63
- const subItem = item.items[i];
64
- const clonedItem = item.items[i].cloneNode(true);
65
- if (subItem.associatedItem) {
66
- clonedItem.associatedItem = subItem.associatedItem;
67
- }
68
- fragment.appendChild(clonedItem);
69
- }
70
- return fragment;
71
- }
72
- _itemClick(e) {
73
- const opener = e.detail.item;
74
- const item = opener.associatedItem;
75
- const mainMenu = this._findMainMenu(item);
76
- const prevented = !mainMenu.fireEvent("item-click", {
77
- "item": item,
78
- "text": item.text,
79
- }, true, false);
80
- if (!prevented) {
81
- let openerMenuItem = item;
82
- let parentMenu = openerMenuItem.parentElement;
83
- do {
84
- openerMenuItem._preventSubMenuClose = false;
85
- this._closeItemSubMenu(openerMenuItem);
86
- parentMenu = openerMenuItem.parentElement;
87
- openerMenuItem = parentMenu._parentMenuItem;
88
- } while (parentMenu._parentMenuItem);
89
- mainMenu._popover.close();
46
+ this._startOpenTimeout(item);
90
47
  }
91
- this._prepareSubMenu(item, opener);
92
48
  }
93
49
  get accSideNavigationPopoverHiddenText() {
94
50
  return NavigationMenu_1.i18nBundle.getText(NAVIGATION_MENU_POPOVER_HIDDEN_TEXT);
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationMenu.js","sourceRoot":"","sources":["../src/NavigationMenu.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport {\n\tisDesktop,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport Menu from \"./Menu.js\";\nimport type { MenuItemClickEventDetail } from \"./Menu.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport MenuItem from \"./MenuItem.js\";\nimport type NavigationMenuItem from \"./NavigationMenuItem.js\";\nimport menuTemplate from \"./generated/templates/NavigationMenuTemplate.lit.js\";\n\n// Styles\nimport navigationMenuCss from \"./generated/themes/NavigationMenu.css.js\";\nimport menuCss from \"./generated/themes/Menu.css.js\";\n\nimport {\n\tNAVIGATION_MENU_POPOVER_HIDDEN_TEXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype OpenerStandardListItem = StandardListItem & { associatedItem: MenuItem };\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-navigation-menu` component represents a hierarchical menu structure, inherits all the functionality of `ui5-menu`.\n *\n * ### Usage\n *\n * `ui5-navigation-menu` contains `ui5-navigation-menu-item` components.\n * An arbitrary hierarchy structure can be represented by recursively nesting navigation menu items.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/NavigationMenu.js\";`\n * @constructor\n * @extends Menu\n * @since 1.22.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-navigation-menu\",\n\trenderer: litRender,\n\tstyles: [menuCss, navigationMenuCss],\n\ttemplate: menuTemplate,\n})\n\nclass NavigationMenu extends Menu {\n\t/**\n\t * Defines the items of this component.\n\t *\n\t * **Note:** Use `ui5-navigation-menu-item` for the intended design.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\tdeclare items: Array<NavigationMenuItem>;\n\n\t_isMenu(element: HTMLElement) {\n\t\treturn element.hasAttribute(\"ui5-navigation-menu\");\n\t}\n\n\t_itemMouseOver(e: MouseEvent) {\n\t\tif (isDesktop()) {\n\t\t\t// respect mouseover only on desktop\n\t\t\tconst opener = e.target as OpenerStandardListItem;\n\t\t\tlet item = opener.associatedItem;\n\n\t\t\tif (!item) {\n\t\t\t\t// for nested <a>\n\t\t\t\tconst test = opener.parentElement as any;\n\t\t\t\tif (opener.parentElement) {\n\t\t\t\t\titem = test.associatedItem;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Opens submenu with 300ms delay\n\t\t\tthis._startOpenTimeout(item, opener);\n\t\t}\n\t}\n\n\t_clonedItemsFragment(item: MenuItem) {\n\t\tconst fragment = document.createDocumentFragment();\n\n\t\tfor (let i = 0; i < item.items.length; ++i) {\n\t\t\tconst subItem = item.items[i] as any;\n\n\t\t\tconst clonedItem = item.items[i].cloneNode(true) as any;\n\t\t\tif (subItem.associatedItem) {\n\t\t\t\tclonedItem.associatedItem = subItem.associatedItem;\n\t\t\t}\n\t\t\tfragment.appendChild(clonedItem);\n\t\t}\n\n\t\treturn fragment;\n\t}\n\n\t_itemClick(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst opener = e.detail.item as OpenerStandardListItem;\n\t\tconst item = opener.associatedItem;\n\t\tconst mainMenu = this._findMainMenu(item);\n\t\tconst prevented = !mainMenu.fireEvent<MenuItemClickEventDetail>(\"item-click\", {\n\t\t\t\"item\": item,\n\t\t\t\"text\": item.text,\n\t\t}, true, false);\n\n\t\tif (!prevented) {\n\t\t\tlet openerMenuItem = item;\n\t\t\tlet parentMenu = openerMenuItem.parentElement as Menu;\n\t\t\tdo {\n\t\t\t\topenerMenuItem._preventSubMenuClose = false;\n\t\t\t\tthis._closeItemSubMenu(openerMenuItem);\n\t\t\t\tparentMenu = openerMenuItem.parentElement as Menu;\n\t\t\t\topenerMenuItem = parentMenu._parentMenuItem as MenuItem;\n\t\t\t} while (parentMenu._parentMenuItem);\n\n\t\t\tmainMenu._popover!.close();\n\t\t}\n\n\t\tthis._prepareSubMenu(item, opener);\n\t}\n\n\tget accSideNavigationPopoverHiddenText() {\n\t\treturn NavigationMenu.i18nBundle.getText(NAVIGATION_MENU_POPOVER_HIDDEN_TEXT);\n\t}\n}\n\nNavigationMenu.define();\n\nexport default NavigationMenu;\n"]}
1
+ {"version":3,"file":"NavigationMenu.js","sourceRoot":"","sources":["../src/NavigationMenu.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,EACN,SAAS,GACT,MAAM,wCAAwC,CAAC;AAChD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAqB,eAAe,CAAC;AACrC,OAA+B,yBAAyB,CAAC;AACzD,OAAO,YAAY,MAAM,qDAAqD,CAAC;AAE/E,SAAS;AACT,OAAO,iBAAiB,MAAM,0CAA0C,CAAC;AACzE,OAAO,OAAO,MAAM,gCAAgC,CAAC;AAErD,OAAO,EACN,mCAAmC,GACnC,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;GAmBG;AAQH,IAAM,cAAc,sBAApB,MAAM,cAAe,SAAQ,IAAI;IAUhC,cAAc,CAAC,CAAa;QAC3B,IAAI,SAAS,EAAE,EAAE;YAChB,oCAAoC;YACpC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAkB,CAAC;YAElC,iCAAiC;YACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC7B;IACF,CAAC;IAED,IAAI,kCAAkC;QACrC,OAAO,gBAAc,CAAC,UAAU,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAC/E,CAAC;CACD,CAAA;AAfQ;IADP,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;6CACnC;AARpC,cAAc;IAPnB,aAAa,CAAC;QACd,GAAG,EAAE,qBAAqB;QAC1B,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC;QACpC,QAAQ,EAAE,YAAY;KACtB,CAAC;GAEI,cAAc,CAuBnB;AAED,cAAc,CAAC,MAAM,EAAE,CAAC;AAExB,eAAe,cAAc,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport {\n\tisDesktop,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport Menu from \"./Menu.js\";\nimport MenuItem from \"./MenuItem.js\";\nimport NavigationMenuItem from \"./NavigationMenuItem.js\";\nimport menuTemplate from \"./generated/templates/NavigationMenuTemplate.lit.js\";\n\n// Styles\nimport navigationMenuCss from \"./generated/themes/NavigationMenu.css.js\";\nimport menuCss from \"./generated/themes/Menu.css.js\";\n\nimport {\n\tNAVIGATION_MENU_POPOVER_HIDDEN_TEXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-navigation-menu` component represents a hierarchical menu structure, inherits all the functionality of `ui5-menu`.\n *\n * ### Usage\n *\n * `ui5-navigation-menu` contains `ui5-navigation-menu-item` components.\n * An arbitrary hierarchy structure can be represented by recursively nesting navigation menu items.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/NavigationMenu.js\";`\n * @constructor\n * @extends Menu\n * @since 1.22.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-navigation-menu\",\n\trenderer: litRender,\n\tstyles: [menuCss, navigationMenuCss],\n\ttemplate: menuTemplate,\n})\n\nclass NavigationMenu extends Menu {\n\t/**\n\t * Defines the items of this component.\n\t *\n\t * **Note:** Use `ui5-navigation-menu-item` for the intended design.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\tdeclare items: Array<NavigationMenuItem>;\n\n\t_itemMouseOver(e: MouseEvent) {\n\t\tif (isDesktop()) {\n\t\t\t// respect mouseover only on desktop\n\t\t\tconst item = e.target as MenuItem;\n\n\t\t\t// Opens submenu with 300ms delay\n\t\t\tthis._startOpenTimeout(item);\n\t\t}\n\t}\n\n\tget accSideNavigationPopoverHiddenText() {\n\t\treturn NavigationMenu.i18nBundle.getText(NAVIGATION_MENU_POPOVER_HIDDEN_TEXT);\n\t}\n}\n\nNavigationMenu.define();\n\nexport default NavigationMenu;\n"]}
@@ -1,3 +1,4 @@
1
+ import type { ClassMap } from "@ui5/webcomponents-base/dist/types.js";
1
2
  import MenuItem from "./MenuItem.js";
2
3
  /**
3
4
  * @class
@@ -9,8 +10,8 @@ import MenuItem from "./MenuItem.js";
9
10
  *
10
11
  * ### Usage
11
12
  *
12
- * `ui5-navigation-menu-item` is an abstract element, representing a node in a `ui5-navigation-menu`. The navigation menu itself is rendered as a list,
13
- * and each `ui5-navigation-menu-item` is represented by a list item (`ui5-li`) in that list. Therefore, you should only use
13
+ * `ui5-navigation-menu-item` represents a node in a `ui5-navigation-menu`. The navigation menu itself is rendered as a list,
14
+ * and each `ui5-navigation-menu-item` is represented by a list item in that list. Therefore, you should only use
14
15
  * `ui5-navigation-menu-item` directly in your apps. The `ui5-li` list item is internal for the list, and not intended for public use.
15
16
  *
16
17
  * ### ES6 Module Import
@@ -18,7 +19,6 @@ import MenuItem from "./MenuItem.js";
18
19
  * `import "@ui5/webcomponents/dist/NavigationMenuItem.js";`
19
20
  * @constructor
20
21
  * @extends MenuItem
21
- * @abstract
22
22
  * @since 1.22.0
23
23
  * @private
24
24
  */
@@ -51,5 +51,24 @@ declare class NavigationMenuItem extends MenuItem {
51
51
  */
52
52
  target: string;
53
53
  get isExternalLink(): boolean | "";
54
+ get _href(): string | undefined;
55
+ get _accInfo(): {
56
+ role: string;
57
+ ariaHaspopup: "dialog" | "grid" | "listbox" | "menu" | "tree" | undefined;
58
+ ariaExpanded?: boolean | undefined;
59
+ ariaLevel?: number | undefined;
60
+ ariaLabel: string;
61
+ ariaLabelRadioButton: string;
62
+ ariaSelectedText?: string | undefined;
63
+ posinset?: number | undefined;
64
+ setsize?: number | undefined;
65
+ ariaSelected?: boolean | undefined;
66
+ ariaChecked?: boolean | undefined;
67
+ listItemAriaLabel?: string | undefined;
68
+ ariaOwns?: string | undefined;
69
+ tooltip?: string | undefined;
70
+ };
71
+ get classes(): ClassMap;
72
+ get accSideNavigationPopoverHiddenText(): string;
54
73
  }
55
74
  export default NavigationMenuItem;
@@ -7,6 +7,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
8
8
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
9
9
  import MenuItem from "./MenuItem.js";
10
+ import NavigationMenu from "./NavigationMenu.js";
11
+ import NavigationMenuItemTemplate from "./generated/templates/NavigationMenuItemTemplate.lit.js";
12
+ // Styles
13
+ import navigationMenuItemCss from "./generated/themes/NavigationMenuItem.css.js";
14
+ import { NAVIGATION_MENU_POPOVER_HIDDEN_TEXT, } from "./generated/i18n/i18n-defaults.js";
10
15
  /**
11
16
  * @class
12
17
  *
@@ -17,8 +22,8 @@ import MenuItem from "./MenuItem.js";
17
22
  *
18
23
  * ### Usage
19
24
  *
20
- * `ui5-navigation-menu-item` is an abstract element, representing a node in a `ui5-navigation-menu`. The navigation menu itself is rendered as a list,
21
- * and each `ui5-navigation-menu-item` is represented by a list item (`ui5-li`) in that list. Therefore, you should only use
25
+ * `ui5-navigation-menu-item` represents a node in a `ui5-navigation-menu`. The navigation menu itself is rendered as a list,
26
+ * and each `ui5-navigation-menu-item` is represented by a list item in that list. Therefore, you should only use
22
27
  * `ui5-navigation-menu-item` directly in your apps. The `ui5-li` list item is internal for the list, and not intended for public use.
23
28
  *
24
29
  * ### ES6 Module Import
@@ -26,7 +31,6 @@ import MenuItem from "./MenuItem.js";
26
31
  * `import "@ui5/webcomponents/dist/NavigationMenuItem.js";`
27
32
  * @constructor
28
33
  * @extends MenuItem
29
- * @abstract
30
34
  * @since 1.22.0
31
35
  * @private
32
36
  */
@@ -34,6 +38,23 @@ let NavigationMenuItem = class NavigationMenuItem extends MenuItem {
34
38
  get isExternalLink() {
35
39
  return this.href && this.target === "_blank";
36
40
  }
41
+ get _href() {
42
+ return (!this.disabled && this.href) ? this.href : undefined;
43
+ }
44
+ get _accInfo() {
45
+ const accInfoSettings = {
46
+ role: this.href ? "none" : "treeitem",
47
+ };
48
+ return { ...super._accInfo, ...accInfoSettings };
49
+ }
50
+ get classes() {
51
+ const result = super.classes;
52
+ result.main["ui5-navigation-menu-item-root"] = true;
53
+ return result;
54
+ }
55
+ get accSideNavigationPopoverHiddenText() {
56
+ return NavigationMenu.i18nBundle.getText(NAVIGATION_MENU_POPOVER_HIDDEN_TEXT);
57
+ }
37
58
  };
38
59
  __decorate([
39
60
  property()
@@ -42,7 +63,11 @@ __decorate([
42
63
  property()
43
64
  ], NavigationMenuItem.prototype, "target", void 0);
44
65
  NavigationMenuItem = __decorate([
45
- customElement("ui5-navigation-menu-item")
66
+ customElement({
67
+ tag: "ui5-navigation-menu-item",
68
+ template: NavigationMenuItemTemplate,
69
+ styles: [MenuItem.styles, navigationMenuItemCss],
70
+ })
46
71
  ], NavigationMenuItem);
47
72
  NavigationMenuItem.define();
48
73
  export default NavigationMenuItem;
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationMenuItem.js","sourceRoot":"","sources":["../src/NavigationMenuItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,QAAQ;IAgCxC,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;IAC9C,CAAC;CACD,CAAA;AAxBA;IADC,QAAQ,EAAE;gDACG;AAmBd;IADC,QAAQ,EAAE;kDACK;AA9BX,kBAAkB;IADvB,aAAa,CAAC,0BAA0B,CAAC;GACpC,kBAAkB,CAmCvB;AAED,kBAAkB,CAAC,MAAM,EAAE,CAAC;AAE5B,eAAe,kBAAkB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport MenuItem from \"./MenuItem.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-navigation-menu-item` is the item to use inside a `ui5-navigation-menu`.\n * An arbitrary hierarchy structure can be represented by recursively nesting navigation menu items.\n *\n * ### Usage\n *\n * `ui5-navigation-menu-item` is an abstract element, representing a node in a `ui5-navigation-menu`. The navigation menu itself is rendered as a list,\n * and each `ui5-navigation-menu-item` is represented by a list item (`ui5-li`) in that list. Therefore, you should only use\n * `ui5-navigation-menu-item` directly in your apps. The `ui5-li` list item is internal for the list, and not intended for public use.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/NavigationMenuItem.js\";`\n * @constructor\n * @extends MenuItem\n * @abstract\n * @since 1.22.0\n * @private\n */\n@customElement(\"ui5-navigation-menu-item\")\nclass NavigationMenuItem extends MenuItem {\n\t/**\n\t * Defines the link target URI. Supports standard hyperlink behavior.\n\t * If a JavaScript action should be triggered,\n\t * this should not be set, but instead an event handler\n\t * for the `click` event should be registered.\n\t * @public\n\t * @default \"\"\n\t * @since 1.22.0\n\t */\n\t@property()\n\thref!: string;\n\n\t/**\n\t * Defines the component target.\n\t *\n\t * **Notes:**\n\t *\n\t * - `_self`\n\t * - `_top`\n\t * - `_blank`\n\t * - `_parent`\n\t * - `_search`\n\t *\n\t * **This property must only be used when the `href` property is set.**\n\t * @public\n\t * @default \"\"\n\t * @since 1.22.0\n\t */\n\t@property()\n\ttarget!: string;\n\n\tget isExternalLink() {\n\t\treturn this.href && this.target === \"_blank\";\n\t}\n}\n\nNavigationMenuItem.define();\n\nexport default NavigationMenuItem;\n"]}
1
+ {"version":3,"file":"NavigationMenuItem.js","sourceRoot":"","sources":["../src/NavigationMenuItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AAErF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,0BAA0B,MAAM,yDAAyD,CAAC;AAEjG,SAAS;AACT,OAAO,qBAAqB,MAAM,8CAA8C,CAAC;AAEjF,OAAO,EACN,mCAAmC,GACnC,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,QAAQ;IAgCxC,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK;QACR,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,CAAC;IAED,IAAI,QAAQ;QACX,MAAM,eAAe,GAAG;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;SACrC,CAAC;QAEF,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,OAAO;QACV,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;QAE7B,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,GAAG,IAAI,CAAC;QAEpD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,IAAI,kCAAkC;QACrC,OAAO,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAC/E,CAAC;CACD,CAAA;AAhDA;IADC,QAAQ,EAAE;gDACG;AAmBd;IADC,QAAQ,EAAE;kDACK;AA9BX,kBAAkB;IALvB,aAAa,CAAC;QACd,GAAG,EAAE,0BAA0B;QAC/B,QAAQ,EAAE,0BAA0B;QACpC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;KAChD,CAAC;GACI,kBAAkB,CA2DvB;AAED,kBAAkB,CAAC,MAAM,EAAE,CAAC;AAE5B,eAAe,kBAAkB,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport MenuItem from \"./MenuItem.js\";\nimport NavigationMenu from \"./NavigationMenu.js\";\nimport NavigationMenuItemTemplate from \"./generated/templates/NavigationMenuItemTemplate.lit.js\";\n\n// Styles\nimport navigationMenuItemCss from \"./generated/themes/NavigationMenuItem.css.js\";\n\nimport {\n\tNAVIGATION_MENU_POPOVER_HIDDEN_TEXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * `ui5-navigation-menu-item` is the item to use inside a `ui5-navigation-menu`.\n * An arbitrary hierarchy structure can be represented by recursively nesting navigation menu items.\n *\n * ### Usage\n *\n * `ui5-navigation-menu-item` represents a node in a `ui5-navigation-menu`. The navigation menu itself is rendered as a list,\n * and each `ui5-navigation-menu-item` is represented by a list item in that list. Therefore, you should only use\n * `ui5-navigation-menu-item` directly in your apps. The `ui5-li` list item is internal for the list, and not intended for public use.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/NavigationMenuItem.js\";`\n * @constructor\n * @extends MenuItem\n * @since 1.22.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-navigation-menu-item\",\n\ttemplate: NavigationMenuItemTemplate,\n\tstyles: [MenuItem.styles, navigationMenuItemCss],\n})\nclass NavigationMenuItem extends MenuItem {\n\t/**\n\t * Defines the link target URI. Supports standard hyperlink behavior.\n\t * If a JavaScript action should be triggered,\n\t * this should not be set, but instead an event handler\n\t * for the `click` event should be registered.\n\t * @public\n\t * @default \"\"\n\t * @since 1.22.0\n\t */\n\t@property()\n\thref!: string;\n\n\t/**\n\t * Defines the component target.\n\t *\n\t * **Notes:**\n\t *\n\t * - `_self`\n\t * - `_top`\n\t * - `_blank`\n\t * - `_parent`\n\t * - `_search`\n\t *\n\t * **This property must only be used when the `href` property is set.**\n\t * @public\n\t * @default \"\"\n\t * @since 1.22.0\n\t */\n\t@property()\n\ttarget!: string;\n\n\tget isExternalLink() {\n\t\treturn this.href && this.target === \"_blank\";\n\t}\n\n\tget _href() {\n\t\treturn (!this.disabled && this.href) ? this.href : undefined;\n\t}\n\n\tget _accInfo() {\n\t\tconst accInfoSettings = {\n\t\t\trole: this.href ? \"none\" : \"treeitem\",\n\t\t};\n\n\t\treturn { ...super._accInfo, ...accInfoSettings };\n\t}\n\n\tget classes(): ClassMap {\n\t\tconst result = super.classes;\n\n\t\tresult.main[\"ui5-navigation-menu-item-root\"] = true;\n\n\t\treturn result;\n\t}\n\n\tget accSideNavigationPopoverHiddenText() {\n\t\treturn NavigationMenu.i18nBundle.getText(NAVIGATION_MENU_POPOVER_HIDDEN_TEXT);\n\t}\n}\n\nNavigationMenuItem.define();\n\nexport default NavigationMenuItem;\n"]}
package/dist/Option.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
- import type { IOption } from "./Select.js";
1
+ import { IOption } from "./Select.js";
2
+ import ListItemBase from "./ListItemBase.js";
3
3
  /**
4
4
  * @class
5
5
  *
@@ -11,63 +11,51 @@ import type { IOption } from "./Select.js";
11
11
  *
12
12
  * `import "@ui5/webcomponents/dist/Option.js";`
13
13
  * @constructor
14
- * @extends UI5Element
14
+ * @extends ListItemBase
15
15
  * @implements {IOption}
16
16
  * @public
17
- * @abstract
18
17
  */
19
- declare class Option extends UI5Element implements IOption {
18
+ declare class Option extends ListItemBase implements IOption {
20
19
  /**
21
- * Defines the selected state of the component.
22
- * @default false
20
+ * Defines the text of the component.
21
+ *
22
+ * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.
23
23
  * @public
24
24
  */
25
- selected: boolean;
25
+ text: Array<Node>;
26
26
  /**
27
- * Defines the text of the tooltip that would be displayed for the option component.
27
+ * Defines the value of the `ui5-select` inside an HTML Form element when this component is selected.
28
+ * For more information on HTML Form support, see the `name` property of `ui5-select`.
28
29
  * @default ""
29
30
  * @public
30
- * @since 2.0.0
31
31
  */
32
- tooltip: string;
32
+ value: string;
33
33
  /**
34
34
  * Defines the `icon` source URI.
35
35
  *
36
36
  * **Note:**
37
37
  * SAP-icons font provides numerous built-in icons. To find all the available icons, see the
38
38
  * [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).
39
- * @default null
40
- * @public
41
- */
42
- icon?: string | null;
43
- /**
44
- * Defines the value of the `ui5-select` inside an HTML Form element when this component is selected.
45
- * For more information on HTML Form support, see the `name` property of `ui5-select`.
46
39
  * @default ""
47
40
  * @public
48
41
  */
49
- value: string;
42
+ icon: string;
50
43
  /**
51
- * Defines the additional text displayed at the end of the option element.
44
+ * Defines the `additionalText`, displayed in the end of the list item.
52
45
  * @default ""
53
46
  * @public
54
- * @since 1.3.0
47
+ * @since 1.0.0-rc.15
55
48
  */
56
49
  additionalText: string;
57
50
  /**
58
- * Defines the focused state of the component.
59
- * @default false
60
- * @since 1.0.0-rc.13
61
- * @private
62
- */
63
- focused: boolean;
64
- /**
65
- * Defines the text of the component.
66
- *
67
- * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.
51
+ * Defines the text of the tooltip that would be displayed for the list item.
52
+ * @default ""
68
53
  * @public
54
+ * @since 1.23.0
69
55
  */
70
- text: Array<Node>;
71
- get stableDomRef(): string;
56
+ tooltip: string;
57
+ onEnterDOM(): void;
58
+ get displayIconBegin(): boolean;
59
+ get effectiveDisplayText(): string;
72
60
  }
73
61
  export default Option;