@ui5/webcomponents 2.9.0-rc.2 → 2.9.0

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 (661) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/cypress/specs/AvatarGroup.cy.tsx +16 -1
  3. package/cypress/specs/Calendar.cy.tsx +55 -48
  4. package/cypress/specs/DateControlsWithTimezone.cy.tsx +2 -2
  5. package/cypress/specs/DatePicker.cy.tsx +14 -8
  6. package/cypress/specs/DateRangePicker.cy.tsx +27 -21
  7. package/cypress/specs/DateTimePicker.cy.tsx +102 -67
  8. package/cypress/specs/DayPicker.cy.tsx +1 -1
  9. package/cypress/specs/FormSupport.cy.tsx +58 -1
  10. package/cypress/specs/Input.cy.tsx +61 -1
  11. package/cypress/specs/MultiInput.cy.tsx +21 -0
  12. package/cypress/specs/Select.cy.tsx +152 -0
  13. package/cypress/specs/TableGrowing.cy.tsx +18 -18
  14. package/cypress/specs/TableNavigation.cy.tsx +3 -3
  15. package/cypress/specs/TableRowActions.cy.tsx +6 -0
  16. package/cypress/support/commands/Calendar.commands.ts +9 -3
  17. package/cypress/support/commands/DatePicker.commands.ts +1 -1
  18. package/dist/.tsbuildinfo +1 -1
  19. package/dist/Avatar.d.ts +5 -3
  20. package/dist/Avatar.js +7 -5
  21. package/dist/Avatar.js.map +1 -1
  22. package/dist/AvatarGroup.d.ts +1 -1
  23. package/dist/AvatarGroup.js +2 -2
  24. package/dist/AvatarGroup.js.map +1 -1
  25. package/dist/DatePicker.d.ts +9 -5
  26. package/dist/DatePicker.js +42 -22
  27. package/dist/DatePicker.js.map +1 -1
  28. package/dist/DatePickerInputTemplate.js +2 -2
  29. package/dist/DatePickerInputTemplate.js.map +1 -1
  30. package/dist/DatePickerPopoverTemplate.js +34 -1
  31. package/dist/DatePickerPopoverTemplate.js.map +1 -1
  32. package/dist/DateRangePicker.d.ts +6 -2
  33. package/dist/DateRangePicker.js +10 -8
  34. package/dist/DateRangePicker.js.map +1 -1
  35. package/dist/DateTimePicker.d.ts +1 -18
  36. package/dist/DateTimePicker.js +5 -25
  37. package/dist/DateTimePicker.js.map +1 -1
  38. package/dist/DateTimePickerTemplate.js +16 -18
  39. package/dist/DateTimePickerTemplate.js.map +1 -1
  40. package/dist/DayPicker.d.ts +3 -0
  41. package/dist/DayPicker.js +12 -3
  42. package/dist/DayPicker.js.map +1 -1
  43. package/dist/Input.js +3 -0
  44. package/dist/Input.js.map +1 -1
  45. package/dist/MonthPicker.js +7 -1
  46. package/dist/MonthPicker.js.map +1 -1
  47. package/dist/MultiInput.d.ts +2 -0
  48. package/dist/MultiInput.js +8 -2
  49. package/dist/MultiInput.js.map +1 -1
  50. package/dist/MultiInputTemplate.js +2 -1
  51. package/dist/MultiInputTemplate.js.map +1 -1
  52. package/dist/ResponsivePopoverTemplate.js +1 -1
  53. package/dist/ResponsivePopoverTemplate.js.map +1 -1
  54. package/dist/Select.d.ts +38 -5
  55. package/dist/Select.js +73 -17
  56. package/dist/Select.js.map +1 -1
  57. package/dist/SelectPopoverTemplate.js +1 -1
  58. package/dist/SelectPopoverTemplate.js.map +1 -1
  59. package/dist/Table.d.ts +2 -2
  60. package/dist/Table.js +3 -3
  61. package/dist/Table.js.map +1 -1
  62. package/dist/TableGrowing.d.ts +12 -12
  63. package/dist/TableGrowing.js +13 -13
  64. package/dist/TableGrowing.js.map +1 -1
  65. package/dist/TableGrowingTemplate.js +2 -2
  66. package/dist/TableGrowingTemplate.js.map +1 -1
  67. package/dist/TableNavigation.js +2 -2
  68. package/dist/TableNavigation.js.map +1 -1
  69. package/dist/TableRowActionBase.d.ts +8 -7
  70. package/dist/TableRowActionBase.js +24 -9
  71. package/dist/TableRowActionBase.js.map +1 -1
  72. package/dist/TableSelectionBase.d.ts +2 -4
  73. package/dist/TableSelectionBase.js +0 -1
  74. package/dist/TableSelectionBase.js.map +1 -1
  75. package/dist/TableSelectionMulti.d.ts +1 -3
  76. package/dist/TableSelectionMulti.js +2 -4
  77. package/dist/TableSelectionMulti.js.map +1 -1
  78. package/dist/TableSelectionSingle.d.ts +1 -1
  79. package/dist/TableSelectionSingle.js +2 -2
  80. package/dist/TableSelectionSingle.js.map +1 -1
  81. package/dist/TableTemplate.js +2 -2
  82. package/dist/TableTemplate.js.map +1 -1
  83. package/dist/TimePicker.d.ts +0 -15
  84. package/dist/TimePicker.js +0 -17
  85. package/dist/TimePicker.js.map +1 -1
  86. package/dist/TimePickerPopoverTemplate.js +6 -1
  87. package/dist/TimePickerPopoverTemplate.js.map +1 -1
  88. package/dist/css/themes/Avatar.css +1 -1
  89. package/dist/css/themes/AvatarGroup.css +1 -1
  90. package/dist/css/themes/Bar.css +1 -1
  91. package/dist/css/themes/Breadcrumbs.css +1 -1
  92. package/dist/css/themes/BusyIndicator.css +1 -1
  93. package/dist/css/themes/Button.css +1 -1
  94. package/dist/css/themes/ButtonBadge.css +1 -1
  95. package/dist/css/themes/Calendar.css +1 -1
  96. package/dist/css/themes/CalendarHeader.css +1 -1
  97. package/dist/css/themes/CalendarLegend.css +1 -1
  98. package/dist/css/themes/CalendarLegendItem.css +1 -1
  99. package/dist/css/themes/Card.css +1 -1
  100. package/dist/css/themes/CardHeader.css +1 -1
  101. package/dist/css/themes/Carousel.css +1 -1
  102. package/dist/css/themes/CheckBox.css +1 -1
  103. package/dist/css/themes/ColorPalette.css +1 -1
  104. package/dist/css/themes/ColorPaletteItem.css +1 -1
  105. package/dist/css/themes/ColorPalettePopover.css +1 -1
  106. package/dist/css/themes/ColorPicker.css +1 -1
  107. package/dist/css/themes/ComboBox.css +1 -1
  108. package/dist/css/themes/ComboBoxItem.css +1 -1
  109. package/dist/css/themes/ComboBoxPopover.css +1 -1
  110. package/dist/css/themes/DatePicker.css +1 -1
  111. package/dist/css/themes/DatePickerPopover.css +1 -1
  112. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  113. package/dist/css/themes/DayPicker.css +1 -1
  114. package/dist/css/themes/Dialog.css +1 -1
  115. package/dist/css/themes/FileUploader.css +1 -1
  116. package/dist/css/themes/Form.css +1 -1
  117. package/dist/css/themes/FormItem.css +1 -1
  118. package/dist/css/themes/FormItemSpan.css +1 -1
  119. package/dist/css/themes/GrowingButton.css +1 -1
  120. package/dist/css/themes/Icon.css +1 -1
  121. package/dist/css/themes/Input.css +1 -1
  122. package/dist/css/themes/InputIcon.css +1 -1
  123. package/dist/css/themes/InputSharedStyles.css +1 -1
  124. package/dist/css/themes/Link.css +1 -1
  125. package/dist/css/themes/List.css +1 -1
  126. package/dist/css/themes/ListItem.css +1 -1
  127. package/dist/css/themes/ListItemBase.css +1 -1
  128. package/dist/css/themes/ListItemCustom.css +1 -1
  129. package/dist/css/themes/ListItemGroup.css +1 -1
  130. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  131. package/dist/css/themes/ListItemIcon.css +1 -1
  132. package/dist/css/themes/Menu.css +1 -1
  133. package/dist/css/themes/MenuItem.css +1 -1
  134. package/dist/css/themes/MessageStrip.css +1 -1
  135. package/dist/css/themes/MonthPicker.css +1 -1
  136. package/dist/css/themes/MultiComboBox.css +1 -1
  137. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  138. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  139. package/dist/css/themes/MultiInput.css +1 -1
  140. package/dist/css/themes/OptionBase.css +1 -1
  141. package/dist/css/themes/Panel.css +1 -1
  142. package/dist/css/themes/Popover.css +1 -1
  143. package/dist/css/themes/PopupsCommon.css +1 -1
  144. package/dist/css/themes/ProgressIndicator.css +1 -1
  145. package/dist/css/themes/RadioButton.css +1 -1
  146. package/dist/css/themes/RangeSlider.css +1 -1
  147. package/dist/css/themes/RatingIndicator.css +1 -1
  148. package/dist/css/themes/ResponsivePopover.css +1 -1
  149. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  150. package/dist/css/themes/SegmentedButton.css +1 -1
  151. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  152. package/dist/css/themes/Select.css +1 -1
  153. package/dist/css/themes/SliderBase.css +1 -1
  154. package/dist/css/themes/SplitButton.css +1 -1
  155. package/dist/css/themes/StepInput.css +1 -1
  156. package/dist/css/themes/SuggestionItem.css +1 -1
  157. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  158. package/dist/css/themes/Switch.css +1 -1
  159. package/dist/css/themes/TabContainer.css +1 -1
  160. package/dist/css/themes/TabInOverflow.css +1 -1
  161. package/dist/css/themes/TabInStrip.css +1 -1
  162. package/dist/css/themes/TabSemanticIcon.css +1 -1
  163. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  164. package/dist/css/themes/Table.css +1 -1
  165. package/dist/css/themes/TableCellBase.css +1 -1
  166. package/dist/css/themes/TableGrowing.css +1 -1
  167. package/dist/css/themes/TableHeaderRow.css +1 -1
  168. package/dist/css/themes/TableRow.css +1 -1
  169. package/dist/css/themes/TableRowActionBase.css +1 -1
  170. package/dist/css/themes/TableRowBase.css +1 -1
  171. package/dist/css/themes/Tag.css +1 -1
  172. package/dist/css/themes/Text.css +1 -1
  173. package/dist/css/themes/TextArea.css +1 -1
  174. package/dist/css/themes/TimePicker.css +1 -1
  175. package/dist/css/themes/Toast.css +1 -1
  176. package/dist/css/themes/ToggleButton.css +1 -1
  177. package/dist/css/themes/Token.css +1 -1
  178. package/dist/css/themes/Tokenizer.css +1 -1
  179. package/dist/css/themes/TokenizerPopover.css +1 -1
  180. package/dist/css/themes/Toolbar.css +1 -1
  181. package/dist/css/themes/ToolbarPopover.css +1 -1
  182. package/dist/css/themes/TreeItem.css +1 -1
  183. package/dist/css/themes/ValueStateMessage.css +1 -1
  184. package/dist/css/themes/YearPicker.css +1 -1
  185. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  186. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  187. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  188. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  189. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  190. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  191. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  192. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  193. package/dist/custom-elements-internal.json +1531 -1240
  194. package/dist/custom-elements.json +1236 -1137
  195. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  196. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  197. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  198. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  199. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  200. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  211. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  213. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  214. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  216. package/dist/generated/assets/i18n/messagebundle_id.json +1 -0
  217. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  220. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  224. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  233. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  234. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  235. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  236. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  237. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  238. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  239. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  240. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  241. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  242. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  243. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  244. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  245. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  246. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  247. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  248. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  249. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  250. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  251. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  252. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  253. package/dist/generated/i18n/i18n-defaults.js +2 -1
  254. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  255. package/dist/generated/json-imports/i18n-fetch.js +2 -2
  256. package/dist/generated/json-imports/i18n-fetch.js.map +1 -1
  257. package/dist/generated/json-imports/i18n.js +2 -2
  258. package/dist/generated/json-imports/i18n.js.map +1 -1
  259. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  260. package/dist/generated/themes/Avatar.css.js +1 -1
  261. package/dist/generated/themes/Avatar.css.js.map +1 -1
  262. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  263. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  264. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  265. package/dist/generated/themes/Bar.css.d.ts +1 -1
  266. package/dist/generated/themes/Bar.css.js +1 -1
  267. package/dist/generated/themes/Bar.css.js.map +1 -1
  268. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  269. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  270. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  271. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  272. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  273. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  274. package/dist/generated/themes/Button.css.d.ts +1 -1
  275. package/dist/generated/themes/Button.css.js +1 -1
  276. package/dist/generated/themes/Button.css.js.map +1 -1
  277. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  278. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  279. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  280. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  281. package/dist/generated/themes/Calendar.css.js +1 -1
  282. package/dist/generated/themes/Calendar.css.js.map +1 -1
  283. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  284. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  285. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  286. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  287. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  288. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  289. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  290. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  291. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  292. package/dist/generated/themes/Card.css.d.ts +1 -1
  293. package/dist/generated/themes/Card.css.js +1 -1
  294. package/dist/generated/themes/Card.css.js.map +1 -1
  295. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  296. package/dist/generated/themes/CardHeader.css.js +1 -1
  297. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  298. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  299. package/dist/generated/themes/Carousel.css.js +1 -1
  300. package/dist/generated/themes/Carousel.css.js.map +1 -1
  301. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  302. package/dist/generated/themes/CheckBox.css.js +1 -1
  303. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  304. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  305. package/dist/generated/themes/ColorPalette.css.js +1 -1
  306. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  307. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  308. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  309. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  310. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  311. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  312. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  313. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  314. package/dist/generated/themes/ColorPicker.css.js +1 -1
  315. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  316. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  317. package/dist/generated/themes/ComboBox.css.js +1 -1
  318. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  319. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  320. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  321. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  322. package/dist/generated/themes/ComboBoxPopover.css.d.ts +1 -1
  323. package/dist/generated/themes/ComboBoxPopover.css.js +1 -1
  324. package/dist/generated/themes/ComboBoxPopover.css.js.map +1 -1
  325. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  326. package/dist/generated/themes/DatePicker.css.js +1 -1
  327. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  328. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  329. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  330. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  331. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  332. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  333. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  334. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  335. package/dist/generated/themes/DayPicker.css.js +1 -1
  336. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  337. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  338. package/dist/generated/themes/Dialog.css.js +1 -1
  339. package/dist/generated/themes/Dialog.css.js.map +1 -1
  340. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  341. package/dist/generated/themes/FileUploader.css.js +1 -1
  342. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  343. package/dist/generated/themes/Form.css.d.ts +1 -1
  344. package/dist/generated/themes/Form.css.js +1 -1
  345. package/dist/generated/themes/Form.css.js.map +1 -1
  346. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  347. package/dist/generated/themes/FormItem.css.js +1 -1
  348. package/dist/generated/themes/FormItem.css.js.map +1 -1
  349. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  350. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  351. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  352. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  353. package/dist/generated/themes/GrowingButton.css.js +1 -1
  354. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  355. package/dist/generated/themes/Icon.css.d.ts +1 -1
  356. package/dist/generated/themes/Icon.css.js +1 -1
  357. package/dist/generated/themes/Icon.css.js.map +1 -1
  358. package/dist/generated/themes/Input.css.d.ts +1 -1
  359. package/dist/generated/themes/Input.css.js +1 -1
  360. package/dist/generated/themes/Input.css.js.map +1 -1
  361. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  362. package/dist/generated/themes/InputIcon.css.js +1 -1
  363. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  364. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  365. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  366. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  367. package/dist/generated/themes/Link.css.d.ts +1 -1
  368. package/dist/generated/themes/Link.css.js +1 -1
  369. package/dist/generated/themes/Link.css.js.map +1 -1
  370. package/dist/generated/themes/List.css.d.ts +1 -1
  371. package/dist/generated/themes/List.css.js +1 -1
  372. package/dist/generated/themes/List.css.js.map +1 -1
  373. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  374. package/dist/generated/themes/ListItem.css.js +1 -1
  375. package/dist/generated/themes/ListItem.css.js.map +1 -1
  376. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  377. package/dist/generated/themes/ListItemBase.css.js +1 -1
  378. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  379. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  380. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  381. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  382. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  383. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  384. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  385. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  386. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  387. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  388. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  389. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  390. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  391. package/dist/generated/themes/Menu.css.d.ts +1 -1
  392. package/dist/generated/themes/Menu.css.js +1 -1
  393. package/dist/generated/themes/Menu.css.js.map +1 -1
  394. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  395. package/dist/generated/themes/MenuItem.css.js +1 -1
  396. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  397. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  398. package/dist/generated/themes/MessageStrip.css.js +1 -1
  399. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  400. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  401. package/dist/generated/themes/MonthPicker.css.js +1 -1
  402. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  403. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  404. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  405. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  406. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  407. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  408. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  409. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  410. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  411. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  412. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  413. package/dist/generated/themes/MultiInput.css.js +1 -1
  414. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  415. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  416. package/dist/generated/themes/OptionBase.css.js +1 -1
  417. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  418. package/dist/generated/themes/Panel.css.d.ts +1 -1
  419. package/dist/generated/themes/Panel.css.js +1 -1
  420. package/dist/generated/themes/Panel.css.js.map +1 -1
  421. package/dist/generated/themes/Popover.css.d.ts +1 -1
  422. package/dist/generated/themes/Popover.css.js +1 -1
  423. package/dist/generated/themes/Popover.css.js.map +1 -1
  424. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  425. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  426. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  427. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  428. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  429. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  430. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  431. package/dist/generated/themes/RadioButton.css.js +1 -1
  432. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  433. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  434. package/dist/generated/themes/RangeSlider.css.js +1 -1
  435. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  436. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  437. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  438. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  439. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  440. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  441. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  442. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  443. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  444. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  445. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  446. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  447. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  448. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  449. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  450. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  451. package/dist/generated/themes/Select.css.d.ts +1 -1
  452. package/dist/generated/themes/Select.css.js +1 -1
  453. package/dist/generated/themes/Select.css.js.map +1 -1
  454. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  455. package/dist/generated/themes/SliderBase.css.js +1 -1
  456. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  457. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  458. package/dist/generated/themes/SplitButton.css.js +1 -1
  459. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  460. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  461. package/dist/generated/themes/StepInput.css.js +1 -1
  462. package/dist/generated/themes/StepInput.css.js.map +1 -1
  463. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  464. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  465. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  466. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  467. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  468. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  469. package/dist/generated/themes/Switch.css.d.ts +1 -1
  470. package/dist/generated/themes/Switch.css.js +1 -1
  471. package/dist/generated/themes/Switch.css.js.map +1 -1
  472. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  473. package/dist/generated/themes/TabContainer.css.js +1 -1
  474. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  475. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  476. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  477. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  478. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  479. package/dist/generated/themes/TabInStrip.css.js +1 -1
  480. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  481. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  482. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  483. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  484. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  485. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  486. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  487. package/dist/generated/themes/Table.css.d.ts +1 -1
  488. package/dist/generated/themes/Table.css.js +1 -1
  489. package/dist/generated/themes/Table.css.js.map +1 -1
  490. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  491. package/dist/generated/themes/TableCellBase.css.js +1 -1
  492. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  493. package/dist/generated/themes/TableGrowing.css.d.ts +1 -1
  494. package/dist/generated/themes/TableGrowing.css.js +1 -1
  495. package/dist/generated/themes/TableGrowing.css.js.map +1 -1
  496. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  497. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  498. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  499. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  500. package/dist/generated/themes/TableRow.css.js +1 -1
  501. package/dist/generated/themes/TableRow.css.js.map +1 -1
  502. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  503. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  504. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  505. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  506. package/dist/generated/themes/TableRowBase.css.js +1 -1
  507. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  508. package/dist/generated/themes/Tag.css.d.ts +1 -1
  509. package/dist/generated/themes/Tag.css.js +1 -1
  510. package/dist/generated/themes/Tag.css.js.map +1 -1
  511. package/dist/generated/themes/Text.css.d.ts +1 -1
  512. package/dist/generated/themes/Text.css.js +1 -1
  513. package/dist/generated/themes/Text.css.js.map +1 -1
  514. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  515. package/dist/generated/themes/TextArea.css.js +1 -1
  516. package/dist/generated/themes/TextArea.css.js.map +1 -1
  517. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  518. package/dist/generated/themes/TimePicker.css.js +1 -1
  519. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  520. package/dist/generated/themes/Toast.css.d.ts +1 -1
  521. package/dist/generated/themes/Toast.css.js +1 -1
  522. package/dist/generated/themes/Toast.css.js.map +1 -1
  523. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  524. package/dist/generated/themes/ToggleButton.css.js +1 -1
  525. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  526. package/dist/generated/themes/Token.css.d.ts +1 -1
  527. package/dist/generated/themes/Token.css.js +1 -1
  528. package/dist/generated/themes/Token.css.js.map +1 -1
  529. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  530. package/dist/generated/themes/Tokenizer.css.js +1 -1
  531. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  532. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  533. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  534. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  535. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  536. package/dist/generated/themes/Toolbar.css.js +1 -1
  537. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  538. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  539. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  540. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  541. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  542. package/dist/generated/themes/TreeItem.css.js +1 -1
  543. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  544. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  545. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  546. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  547. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  548. package/dist/generated/themes/YearPicker.css.js +1 -1
  549. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  550. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  551. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  552. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  553. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  554. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  555. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  556. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  557. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  558. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  559. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  560. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  561. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  562. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  563. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  564. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  565. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  566. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  567. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  568. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  569. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  570. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  571. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  572. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  573. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  574. package/dist/types/AvatarColorScheme.d.ts +5 -0
  575. package/dist/types/AvatarColorScheme.js +5 -0
  576. package/dist/types/AvatarColorScheme.js.map +1 -1
  577. package/dist/vscode.html-custom-data.json +36 -35
  578. package/dist/web-types.json +214 -50
  579. package/package-scripts.cjs +4 -0
  580. package/package.json +9 -9
  581. package/src/DatePickerInputTemplate.tsx +5 -4
  582. package/src/DatePickerPopoverTemplate.tsx +51 -0
  583. package/src/DateTimePickerTemplate.tsx +48 -51
  584. package/src/MultiInputTemplate.tsx +4 -0
  585. package/src/ResponsivePopoverTemplate.tsx +1 -0
  586. package/src/SelectPopoverTemplate.tsx +1 -0
  587. package/src/TableGrowingTemplate.tsx +7 -7
  588. package/src/TableTemplate.tsx +4 -4
  589. package/src/TimePickerPopoverTemplate.tsx +8 -3
  590. package/src/i18n/messagebundle.properties +4 -1
  591. package/src/i18n/messagebundle_ar.properties +2 -0
  592. package/src/i18n/messagebundle_bg.properties +2 -0
  593. package/src/i18n/messagebundle_ca.properties +2 -0
  594. package/src/i18n/messagebundle_cnr.properties +2 -0
  595. package/src/i18n/messagebundle_cs.properties +2 -0
  596. package/src/i18n/messagebundle_cy.properties +2 -0
  597. package/src/i18n/messagebundle_da.properties +2 -0
  598. package/src/i18n/messagebundle_de.properties +2 -0
  599. package/src/i18n/messagebundle_el.properties +2 -0
  600. package/src/i18n/messagebundle_en.properties +0 -214
  601. package/src/i18n/messagebundle_en_GB.properties +2 -0
  602. package/src/i18n/messagebundle_en_US_sappsd.properties +2 -0
  603. package/src/i18n/messagebundle_en_US_saptrc.properties +2 -0
  604. package/src/i18n/messagebundle_es.properties +2 -0
  605. package/src/i18n/messagebundle_es_MX.properties +2 -0
  606. package/src/i18n/messagebundle_et.properties +2 -0
  607. package/src/i18n/messagebundle_fi.properties +2 -0
  608. package/src/i18n/messagebundle_fr.properties +3 -1
  609. package/src/i18n/messagebundle_fr_CA.properties +2 -0
  610. package/src/i18n/messagebundle_hi.properties +2 -0
  611. package/src/i18n/messagebundle_hr.properties +2 -0
  612. package/src/i18n/messagebundle_hu.properties +2 -0
  613. package/src/i18n/messagebundle_id.properties +2 -0
  614. package/src/i18n/messagebundle_it.properties +20 -18
  615. package/src/i18n/messagebundle_iw.properties +2 -0
  616. package/src/i18n/messagebundle_ja.properties +2 -0
  617. package/src/i18n/messagebundle_kk.properties +2 -0
  618. package/src/i18n/messagebundle_ko.properties +2 -0
  619. package/src/i18n/messagebundle_lt.properties +2 -0
  620. package/src/i18n/messagebundle_lv.properties +2 -0
  621. package/src/i18n/messagebundle_mk.properties +2 -0
  622. package/src/i18n/messagebundle_ms.properties +4 -2
  623. package/src/i18n/messagebundle_nl.properties +2 -0
  624. package/src/i18n/messagebundle_no.properties +2 -0
  625. package/src/i18n/messagebundle_pl.properties +2 -0
  626. package/src/i18n/messagebundle_pt.properties +2 -0
  627. package/src/i18n/messagebundle_pt_PT.properties +2 -0
  628. package/src/i18n/messagebundle_ro.properties +2 -0
  629. package/src/i18n/messagebundle_ru.properties +2 -0
  630. package/src/i18n/messagebundle_sh.properties +2 -0
  631. package/src/i18n/messagebundle_sk.properties +2 -0
  632. package/src/i18n/messagebundle_sl.properties +2 -0
  633. package/src/i18n/messagebundle_sr.properties +2 -0
  634. package/src/i18n/messagebundle_sv.properties +2 -0
  635. package/src/i18n/messagebundle_th.properties +2 -0
  636. package/src/i18n/messagebundle_tr.properties +2 -0
  637. package/src/i18n/messagebundle_uk.properties +2 -0
  638. package/src/i18n/messagebundle_vi.properties +2 -0
  639. package/src/i18n/messagebundle_zh_CN.properties +2 -0
  640. package/src/i18n/messagebundle_zh_TW.properties +2 -0
  641. package/src/themes/Avatar.css +1 -0
  642. package/src/themes/ComboBoxPopover.css +1 -2
  643. package/src/themes/DatePicker.css +4 -0
  644. package/src/themes/DatePickerPopover.css +7 -0
  645. package/src/themes/DateTimePickerPopover.css +9 -0
  646. package/src/themes/Input.css +1 -1
  647. package/src/themes/OptionBase.css +1 -0
  648. package/src/themes/Table.css +1 -1
  649. package/src/themes/TableGrowing.css +7 -7
  650. package/src/themes/base/Input-parameters.css +1 -0
  651. package/src/themes/sap_fiori_3/Input-parameters.css +1 -0
  652. package/src/themes/sap_fiori_3_dark/Input-parameters.css +1 -0
  653. package/src/themes/sap_fiori_3_hcb/Input-parameters.css +1 -0
  654. package/src/themes/sap_fiori_3_hcw/Input-parameters.css +1 -0
  655. package/src/themes/sap_horizon_hcb/Input-parameters.css +1 -0
  656. package/src/themes/sap_horizon_hcw/Input-parameters.css +1 -0
  657. package/dist/generated/assets/i18n/messagebundle_in.json +0 -1
  658. package/dist/types/SearchPopupMode.d.ts +0 -22
  659. package/dist/types/SearchPopupMode.js +0 -24
  660. package/dist/types/SearchPopupMode.js.map +0 -1
  661. package/src/i18n/messagebundle_in.properties +0 -172
@@ -1 +1 @@
1
- {"version":3,"file":"MonthPicker.js","sourceRoot":"","sources":["../src/MonthPicker.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport convertMonthNumbersToMonthNames from \"@ui5/webcomponents-localization/dist/dates/convertMonthNumbersToMonthNames.js\";\nimport transformDateToSecondaryType from \"@ui5/webcomponents-localization/dist/dates/transformDateToSecondaryType.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport {\n\tisEnter,\n\tisSpace,\n\tisDown,\n\tisUp,\n\tisLeft,\n\tisRight,\n\tisHome,\n\tisEnd,\n\tisHomeCtrl,\n\tisEndCtrl,\n\tisPageUp,\n\tisPageDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n\tMONTH_PICKER_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport type { ICalendarPicker } from \"./Calendar.js\";\n\n// Template\nimport MonthPickerTemplate from \"./MonthPickerTemplate.js\";\n\n// Styles\nimport monthPickerStyles from \"./generated/themes/MonthPicker.css.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\n\nconst isBetween = (x: number, num1: number, num2: number) => x > Math.min(num1, num2) && x < Math.max(num1, num2);\nconst PAGE_SIZE = 12; // total months on a single page\n\ntype Month = {\n\ttimestamp: string,\n\tfocusRef: boolean,\n\t_tabIndex: number,\n\tselected: boolean,\n\tariaSelected: boolean,\n\tname: string,\n\tnameInSecType: string,\n\tdisabled: boolean,\n\tariaDisabled: boolean | undefined,\n\tclasses: string,\n\tparts: string,\n}\n\ntype MonthInterval = Array<Array<Month>>;\n\ntype MonthPickerChangeEventDetail = {\n\tdates: Array<number>,\n\ttimestamp: number,\n}\n\ntype MonthPickerNavigateEventDetail = {\n\ttimestamp: number,\n}\n\n/**\n * Month picker component.\n * @class\n *\n * Displays months which can be selected.\n * @constructor\n * @extends CalendarPart\n * @private\n */\n@customElement({\n\ttag: \"ui5-monthpicker\",\n\ttemplate: MonthPickerTemplate,\n\tstyles: monthPickerStyles,\n})\n/**\n * Fired when the user selects a month via \"Space\", \"Enter\" or click.\n */\n@event(\"change\", {\n\tbubbles: true,\n})\n/**\n * Fired when the timestamp changes - the user navigates with the keyboard or clicks with the mouse.\n * @since 1.0.0-rc.9\n */\n@event(\"navigate\", {\n\tbubbles: true,\n})\nclass MonthPicker extends CalendarPart implements ICalendarPicker {\n\teventDetails!: CalendarPart[\"eventDetails\"] & {\n\t\tchange: MonthPickerChangeEventDetail,\n\t\tnavigate: MonthPickerNavigateEventDetail,\n\t}\n\t/**\n\t * An array of UTC timestamps representing the selected date\n\t * or dates depending on the capabilities of the picker component.\n\t * @default []\n\t */\n\t@property({ type: Array })\n\tselectedDates: Array<number> = [];\n\n\t/**\n\t * Defines the type of selection used in the month picker component.\n\t * Accepted property values are:\n\t *\n\t * - `CalendarSelectionMode.Single` - enables election of a single month.\n\t * - `CalendarSelectionMode.Range` - enables selection of a month range.\n\t *\n\t * Note that 'CalendarSelectionMode.Multiple` is not supported for Month Picker!\n\t * @default \"Single\"\n\t * @since 2.2.0\n\t */\n\t@property()\n\tselectionMode: `${CalendarSelectionMode}` = \"Single\";\n\n\t@property({ type: Array })\n\t_monthsInterval: MonthInterval = [];\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_hidden = false;\n\n\t/**\n\t * When selectionMode=\"Range\" and the first month in the range is selected, this is the currently hovered or focused month.\n\t *\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_secondTimestamp?: number;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget roleDescription() {\n\t\treturn MonthPicker.i18nBundle.getText(MONTH_PICKER_DESCRIPTION);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._buildMonths();\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this._hidden) {\n\t\t\tthis.focus();\n\t\t}\n\t}\n\n\tget rowSize() {\n\t\treturn (this.secondaryCalendarType === CalendarType.Islamic && this.primaryCalendarType !== CalendarType.Islamic)\n\t\t\t|| (this.secondaryCalendarType === CalendarType.Persian && this.primaryCalendarType !== CalendarType.Persian) ? 2 : 3;\n\t}\n\n\t_buildMonths() {\n\t\tif (this._hidden) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\tconst monthsNames = localeData.getMonthsStandAlone(\"wide\", this._primaryCalendarType);\n\n\t\tconst months: MonthInterval = [];\n\t\tconst calendarDate = this._calendarDate; // store the value of the expensive getter\n\t\tconst minDate = this._minDate; // store the value of the expensive getter\n\t\tconst maxDate = this._maxDate; // store the value of the expensive getter\n\t\tconst tempDate = new CalendarDate(calendarDate, this._primaryCalendarType);\n\t\tlet timestamp;\n\n\t\t/* eslint-disable no-loop-func */\n\t\tfor (let i = 0; i < 12; i++) {\n\t\t\ttempDate.setMonth(i);\n\t\t\ttimestamp = tempDate.valueOf() / 1000;\n\n\t\t\tconst isSelected = this.selectedDates.some(itemTimestamp => {\n\t\t\t\tconst date = CalendarDate.fromTimestamp(itemTimestamp * 1000, this._primaryCalendarType);\n\t\t\t\treturn date.getYear() === tempDate.getYear() && date.getMonth() === tempDate.getMonth();\n\t\t\t});\n\t\t\tconst isFocused = tempDate.getMonth() === calendarDate.getMonth();\n\t\t\tconst isDisabled = this._isOutOfSelectableRange(tempDate, minDate, maxDate);\n\t\t\tconst isSelectedBetween = this._isMonthInsideSelectionRange(timestamp);\n\n\t\t\tconst month: Month = {\n\t\t\t\ttimestamp: timestamp.toString(),\n\t\t\t\tfocusRef: isFocused,\n\t\t\t\t_tabIndex: isFocused ? 0 : -1,\n\t\t\t\tselected: isSelected || isSelectedBetween,\n\t\t\t\tariaSelected: isSelected || isSelectedBetween,\n\t\t\t\tname: monthsNames[i],\n\t\t\t\tnameInSecType: this.hasSecondaryCalendarType && this._getDisplayedSecondaryMonthText(timestamp).text,\n\t\t\t\tdisabled: isDisabled,\n\t\t\t\tariaDisabled: isDisabled,\n\t\t\t\tclasses: \"ui5-mp-item\",\n\t\t\t\tparts: \"month-cell\",\n\t\t\t};\n\n\t\t\tif (isSelected) {\n\t\t\t\tmonth.classes += \" ui5-mp-item--selected\";\n\t\t\t\tmonth.parts += \" month-cell-selected\";\n\t\t\t}\n\n\t\t\tif (isSelectedBetween) {\n\t\t\t\tmonth.classes += \" ui5-mp-item--selected-between\";\n\t\t\t\tmonth.parts += \" month-cell-selected-between\";\n\t\t\t}\n\n\t\t\tif (isDisabled) {\n\t\t\t\tmonth.classes += \" ui5-mp-item--disabled\";\n\t\t\t}\n\n\t\t\tconst quarterIndex = Math.floor(i / this.rowSize);\n\n\t\t\tif (months[quarterIndex]) {\n\t\t\t\tmonths[quarterIndex].push(month);\n\t\t\t} else {\n\t\t\t\tmonths[quarterIndex] = [month];\n\t\t\t}\n\t\t}\n\n\t\tthis._monthsInterval = months;\n\t}\n\n\t_getDisplayedSecondaryMonthText(timestamp: number) {\n\t\tconst monthsName = transformDateToSecondaryType(this._primaryCalendarType, this.secondaryCalendarType, timestamp);\n\t\treturn convertMonthNumbersToMonthNames(monthsName.firstDate.getMonth(), monthsName.lastDate.getMonth(), this.secondaryCalendarType);\n\t}\n\n\t/**\n\t * Returns true if month timestamp is inside the selection range.\n\t * @private\n\t */\n\t_isMonthInsideSelectionRange(timestamp: number): boolean {\n\t\tif (this.selectionMode !== CalendarSelectionMode.Range || !this.selectedDates.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Only one date selected - second is hovered or focused\n\t\tif (this.selectedDates.length === 1 && this._secondTimestamp) {\n\t\t\treturn isBetween(timestamp, this.selectedDates[0], this._secondTimestamp);\n\t\t}\n\n\t\treturn isBetween(timestamp, this.selectedDates[0], this.selectedDates[1]);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tlet preventDefault = true;\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._selectMonth(e);\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t} else if (isLeft(e)) {\n\t\t\tthis._modifyTimestampBy(-1);\n\t\t} else if (isRight(e)) {\n\t\t\tthis._modifyTimestampBy(1);\n\t\t} else if (isUp(e)) {\n\t\t\tthis._modifyTimestampBy(-this.rowSize);\n\t\t} else if (isDown(e)) {\n\t\t\tthis._modifyTimestampBy(this.rowSize);\n\t\t} else if (isPageUp(e)) {\n\t\t\tthis._modifyTimestampBy(-PAGE_SIZE);\n\t\t} else if (isPageDown(e)) {\n\t\t\tthis._modifyTimestampBy(PAGE_SIZE);\n\t\t} else if (isHome(e) || isEnd(e)) {\n\t\t\tthis._onHomeOrEnd(isHome(e));\n\t\t} else if (isHomeCtrl(e)) {\n\t\t\tthis._setTimestamp(parseInt(this._monthsInterval[0][0].timestamp)); // first month of first row\n\t\t} else if (isEndCtrl(e)) {\n\t\t\tthis._setTimestamp(parseInt(this._monthsInterval[PAGE_SIZE / this.rowSize - 1][this.rowSize - 1].timestamp)); // last month of last row\n\t\t} else {\n\t\t\tpreventDefault = false;\n\t\t}\n\n\t\tif (preventDefault) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onHomeOrEnd(homePressed: boolean) {\n\t\tthis._monthsInterval.forEach(row => {\n\t\t\tconst indexInRow = row.findIndex(item => CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000).getMonth() === this._calendarDate.getMonth());\n\t\t\tif (indexInRow !== -1) { // The current month is on this row\n\t\t\t\tconst index = homePressed ? 0 : this.rowSize - 1; // select the first (if Home) or last (if End) month on the row\n\t\t\t\tthis._setTimestamp(parseInt(row[index].timestamp));\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Sets the timestamp to an absolute value.\n\t * @param value\n\t * @private\n\t */\n\t_setTimestamp(value: number) {\n\t\tthis._safelySetTimestamp(value);\n\t\tthis.fireDecoratorEvent(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t/**\n\t * In range selection, the currently focused or hovered month is considered the \"second day\".\n\t * @private\n\t */\n\t_updateSecondTimestamp() {\n\t\tif (this.selectionMode === CalendarSelectionMode.Range && (this.selectedDates.length === 1 || this.selectedDates.length === 2)) {\n\t\t\tthis._secondTimestamp = this.timestamp;\n\t\t}\n\t}\n\n\t/**\n\t * Set the hovered day as the \"_secondTimestamp\".\n\t *\n\t * @param e\n\t * @private\n\t */\n\t_onmouseover(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst hoveredItem = target.closest(\".ui5-mp-item\") as HTMLElement;\n\t\tif (hoveredItem && this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {\n\t\t\tthis._secondTimestamp = this._getTimestampFromDom(hoveredItem);\n\t\t}\n\t}\n\n\t/**\n\t * Modifies timestamp by a given amount of months and,\n\t * if necessary, loads the prev/next page.\n\t * @param amount\n\t * @param preserveDate whether to preserve the day of the month (f.e. 15th of March + 1 month = 15th of April)\n\t * @private\n\t */\n\t_modifyTimestampBy(amount: number, preserveDate?: boolean) {\n\t\t// Modify the current timestamp\n\t\tthis._safelyModifyTimestampBy(amount, \"month\", preserveDate);\n\t\tthis._updateSecondTimestamp();\n\n\t\t// Notify the calendar to update its timestamp\n\t\tthis.fireDecoratorEvent(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._selectMonth(e);\n\t\t}\n\t}\n\n\t/**\n\t * Selects a month, when user made selection with mouse or using Space/Enter.\n\t * @param e\n\t * @private\n\t */\n\t_selectMonth(e: Event) {\n\t\te.preventDefault();\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (!target.classList.contains(\"ui5-mp-item\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst timestamp = this._getTimestampFromDom(target);\n\t\tthis._safelySetTimestamp(timestamp);\n\t\tthis._updateSecondTimestamp();\n\t\tthis._updateSelectedDates(timestamp);\n\n\t\tthis.fireDecoratorEvent(\"change\", {\n\t\t\ttimestamp: this.timestamp!,\n\t\t\tdates: this.selectedDates,\n\t\t});\n\t}\n\n\t_updateSelectedDates(timestamp: number) {\n\t\tif (this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {\n\t\t\tthis.selectedDates = [this.selectedDates[0], timestamp];\n\t\t\treturn;\n\t\t}\n\n\t\tthis.selectedDates = [timestamp];\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t */\n\t_hasPreviousPage(): boolean {\n\t\treturn this._calendarDate.getYear() !== this._minDate.getYear();\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t */\n\t_hasNextPage(): boolean {\n\t\treturn this._calendarDate.getYear() !== this._maxDate.getYear();\n\t}\n\n\t/**\n\t * Called by Calendar.js.\n\t *\n\t * **Note:** when the user presses the \"<\" button in the calendar header (same as \"PageUp\")\n\t * @protected\n\t */\n\t_showPreviousPage() {\n\t\tthis._modifyTimestampBy(-PAGE_SIZE, true);\n\t}\n\n\t/**\n\t * Called by Calendar.js\n\t * **Note:** when the user presses the \">\" button in the calendar header (same as \"PageDown\")\n\t * @protected\n\t */\n\t_showNextPage() {\n\t\tthis._modifyTimestampBy(PAGE_SIZE, true);\n\t}\n\n\t_isOutOfSelectableRange(date: CalendarDate, minDate: CalendarDate, maxDate: CalendarDate): boolean {\n\t\tconst month = date.getMonth();\n\t\tconst year = date.getYear();\n\t\tconst minYear = minDate.getYear();\n\t\tconst minMonth = minDate.getMonth();\n\t\tconst maxYear = maxDate.getYear();\n\t\tconst maxMonth = maxDate.getMonth();\n\n\t\treturn year < minYear || (year === minYear && month < minMonth) || year > maxYear || (year === maxYear && month > maxMonth);\n\t}\n}\n\nMonthPicker.define();\n\nexport default MonthPicker;\nexport type {\n\tMonthPickerNavigateEventDetail,\n\tMonthPickerChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"MonthPicker.js","sourceRoot":"","sources":["../src/MonthPicker.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport convertMonthNumbersToMonthNames from \"@ui5/webcomponents-localization/dist/dates/convertMonthNumbersToMonthNames.js\";\nimport transformDateToSecondaryType from \"@ui5/webcomponents-localization/dist/dates/transformDateToSecondaryType.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport {\n\tisEnter,\n\tisSpace,\n\tisDown,\n\tisUp,\n\tisLeft,\n\tisRight,\n\tisHome,\n\tisEnd,\n\tisHomeCtrl,\n\tisEndCtrl,\n\tisPageUp,\n\tisPageDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n\tMONTH_PICKER_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport CalendarPart from \"./CalendarPart.js\";\nimport type { ICalendarPicker } from \"./Calendar.js\";\n\n// Template\nimport MonthPickerTemplate from \"./MonthPickerTemplate.js\";\n\n// Styles\nimport monthPickerStyles from \"./generated/themes/MonthPicker.css.js\";\nimport CalendarSelectionMode from \"./types/CalendarSelectionMode.js\";\n\nconst isBetween = (x: number, num1: number, num2: number) => x > Math.min(num1, num2) && x < Math.max(num1, num2);\nconst PAGE_SIZE = 12; // total months on a single page\n\ntype Month = {\n\ttimestamp: string,\n\tfocusRef: boolean,\n\t_tabIndex: number,\n\tselected: boolean,\n\tariaSelected: boolean,\n\tname: string,\n\tnameInSecType: string,\n\tdisabled: boolean,\n\tariaDisabled: boolean | undefined,\n\tclasses: string,\n\tparts: string,\n}\n\ntype MonthInterval = Array<Array<Month>>;\n\ntype MonthPickerChangeEventDetail = {\n\tdates: Array<number>,\n\ttimestamp: number,\n}\n\ntype MonthPickerNavigateEventDetail = {\n\ttimestamp: number,\n}\n\n/**\n * Month picker component.\n * @class\n *\n * Displays months which can be selected.\n * @constructor\n * @extends CalendarPart\n * @private\n */\n@customElement({\n\ttag: \"ui5-monthpicker\",\n\ttemplate: MonthPickerTemplate,\n\tstyles: monthPickerStyles,\n})\n/**\n * Fired when the user selects a month via \"Space\", \"Enter\" or click.\n */\n@event(\"change\", {\n\tbubbles: true,\n})\n/**\n * Fired when the timestamp changes - the user navigates with the keyboard or clicks with the mouse.\n * @since 1.0.0-rc.9\n */\n@event(\"navigate\", {\n\tbubbles: true,\n})\nclass MonthPicker extends CalendarPart implements ICalendarPicker {\n\teventDetails!: CalendarPart[\"eventDetails\"] & {\n\t\tchange: MonthPickerChangeEventDetail,\n\t\tnavigate: MonthPickerNavigateEventDetail,\n\t}\n\t/**\n\t * An array of UTC timestamps representing the selected date\n\t * or dates depending on the capabilities of the picker component.\n\t * @default []\n\t */\n\t@property({ type: Array })\n\tselectedDates: Array<number> = [];\n\n\t/**\n\t * Defines the type of selection used in the month picker component.\n\t * Accepted property values are:\n\t *\n\t * - `CalendarSelectionMode.Single` - enables election of a single month.\n\t * - `CalendarSelectionMode.Range` - enables selection of a month range.\n\t *\n\t * Note that 'CalendarSelectionMode.Multiple` is not supported for Month Picker!\n\t * @default \"Single\"\n\t * @since 2.2.0\n\t */\n\t@property()\n\tselectionMode: `${CalendarSelectionMode}` = \"Single\";\n\n\t@property({ type: Array })\n\t_monthsInterval: MonthInterval = [];\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_hidden = false;\n\n\t/**\n\t * When selectionMode=\"Range\" and the first month in the range is selected, this is the currently hovered or focused month.\n\t *\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_secondTimestamp?: number;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget roleDescription() {\n\t\treturn MonthPicker.i18nBundle.getText(MONTH_PICKER_DESCRIPTION);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._buildMonths();\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this._hidden) {\n\t\t\tthis.focus();\n\t\t}\n\t}\n\n\tget rowSize() {\n\t\treturn (this.secondaryCalendarType === CalendarType.Islamic && this.primaryCalendarType !== CalendarType.Islamic)\n\t\t\t|| (this.secondaryCalendarType === CalendarType.Persian && this.primaryCalendarType !== CalendarType.Persian) ? 2 : 3;\n\t}\n\n\t_buildMonths() {\n\t\tif (this._hidden) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\tconst monthsNames = localeData.getMonthsStandAlone(\"wide\", this._primaryCalendarType);\n\n\t\tconst months: MonthInterval = [];\n\t\tconst calendarDate = this._calendarDate; // store the value of the expensive getter\n\t\tconst minDate = this._minDate; // store the value of the expensive getter\n\t\tconst maxDate = this._maxDate; // store the value of the expensive getter\n\t\tlet timestamp;\n\n\t\t/* eslint-disable no-loop-func */\n\t\tfor (let i = 0; i < 12; i++) {\n\t\t\tconst tempDate = new CalendarDate(calendarDate, this._primaryCalendarType);\n\t\t\ttempDate.setMonth(i);\n\n\t\t\t// If the current date of the current month is larger than this month, set the date to the last day of the previous month.\n\t\t\t// This is needed because the date object will automatically switch to the next month if larger date is set.\n\t\t\tif (tempDate.getMonth() !== i) {\n\t\t\t\ttempDate.setMonth(tempDate.getMonth() - 1);\n\t\t\t\ttempDate.setDate(this._calendarDate.getDate() - tempDate.getDate());\n\t\t\t}\n\n\t\t\ttimestamp = tempDate.valueOf() / 1000;\n\n\t\t\tconst isSelected = this.selectedDates.some(itemTimestamp => {\n\t\t\t\tconst date = CalendarDate.fromTimestamp(itemTimestamp * 1000, this._primaryCalendarType);\n\t\t\t\treturn date.getYear() === tempDate.getYear() && date.getMonth() === tempDate.getMonth();\n\t\t\t});\n\t\t\tconst isFocused = tempDate.getMonth() === calendarDate.getMonth();\n\t\t\tconst isDisabled = this._isOutOfSelectableRange(tempDate, minDate, maxDate);\n\t\t\tconst isSelectedBetween = this._isMonthInsideSelectionRange(timestamp);\n\n\t\t\tconst month: Month = {\n\t\t\t\ttimestamp: timestamp.toString(),\n\t\t\t\tfocusRef: isFocused,\n\t\t\t\t_tabIndex: isFocused ? 0 : -1,\n\t\t\t\tselected: isSelected || isSelectedBetween,\n\t\t\t\tariaSelected: isSelected || isSelectedBetween,\n\t\t\t\tname: monthsNames[i],\n\t\t\t\tnameInSecType: this.hasSecondaryCalendarType && this._getDisplayedSecondaryMonthText(timestamp).text,\n\t\t\t\tdisabled: isDisabled,\n\t\t\t\tariaDisabled: isDisabled,\n\t\t\t\tclasses: \"ui5-mp-item\",\n\t\t\t\tparts: \"month-cell\",\n\t\t\t};\n\n\t\t\tif (isSelected) {\n\t\t\t\tmonth.classes += \" ui5-mp-item--selected\";\n\t\t\t\tmonth.parts += \" month-cell-selected\";\n\t\t\t}\n\n\t\t\tif (isSelectedBetween) {\n\t\t\t\tmonth.classes += \" ui5-mp-item--selected-between\";\n\t\t\t\tmonth.parts += \" month-cell-selected-between\";\n\t\t\t}\n\n\t\t\tif (isDisabled) {\n\t\t\t\tmonth.classes += \" ui5-mp-item--disabled\";\n\t\t\t}\n\n\t\t\tconst quarterIndex = Math.floor(i / this.rowSize);\n\n\t\t\tif (months[quarterIndex]) {\n\t\t\t\tmonths[quarterIndex].push(month);\n\t\t\t} else {\n\t\t\t\tmonths[quarterIndex] = [month];\n\t\t\t}\n\t\t}\n\n\t\tthis._monthsInterval = months;\n\t}\n\n\t_getDisplayedSecondaryMonthText(timestamp: number) {\n\t\tconst monthsName = transformDateToSecondaryType(this._primaryCalendarType, this.secondaryCalendarType, timestamp);\n\t\treturn convertMonthNumbersToMonthNames(monthsName.firstDate.getMonth(), monthsName.lastDate.getMonth(), this.secondaryCalendarType);\n\t}\n\n\t/**\n\t * Returns true if month timestamp is inside the selection range.\n\t * @private\n\t */\n\t_isMonthInsideSelectionRange(timestamp: number): boolean {\n\t\tif (this.selectionMode !== CalendarSelectionMode.Range || !this.selectedDates.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Only one date selected - second is hovered or focused\n\t\tif (this.selectedDates.length === 1 && this._secondTimestamp) {\n\t\t\treturn isBetween(timestamp, this.selectedDates[0], this._secondTimestamp);\n\t\t}\n\n\t\treturn isBetween(timestamp, this.selectedDates[0], this.selectedDates[1]);\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tlet preventDefault = true;\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._selectMonth(e);\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t} else if (isLeft(e)) {\n\t\t\tthis._modifyTimestampBy(-1);\n\t\t} else if (isRight(e)) {\n\t\t\tthis._modifyTimestampBy(1);\n\t\t} else if (isUp(e)) {\n\t\t\tthis._modifyTimestampBy(-this.rowSize);\n\t\t} else if (isDown(e)) {\n\t\t\tthis._modifyTimestampBy(this.rowSize);\n\t\t} else if (isPageUp(e)) {\n\t\t\tthis._modifyTimestampBy(-PAGE_SIZE);\n\t\t} else if (isPageDown(e)) {\n\t\t\tthis._modifyTimestampBy(PAGE_SIZE);\n\t\t} else if (isHome(e) || isEnd(e)) {\n\t\t\tthis._onHomeOrEnd(isHome(e));\n\t\t} else if (isHomeCtrl(e)) {\n\t\t\tthis._setTimestamp(parseInt(this._monthsInterval[0][0].timestamp)); // first month of first row\n\t\t} else if (isEndCtrl(e)) {\n\t\t\tthis._setTimestamp(parseInt(this._monthsInterval[PAGE_SIZE / this.rowSize - 1][this.rowSize - 1].timestamp)); // last month of last row\n\t\t} else {\n\t\t\tpreventDefault = false;\n\t\t}\n\n\t\tif (preventDefault) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onHomeOrEnd(homePressed: boolean) {\n\t\tthis._monthsInterval.forEach(row => {\n\t\t\tconst indexInRow = row.findIndex(item => CalendarDate.fromTimestamp(parseInt(item.timestamp) * 1000).getMonth() === this._calendarDate.getMonth());\n\t\t\tif (indexInRow !== -1) { // The current month is on this row\n\t\t\t\tconst index = homePressed ? 0 : this.rowSize - 1; // select the first (if Home) or last (if End) month on the row\n\t\t\t\tthis._setTimestamp(parseInt(row[index].timestamp));\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Sets the timestamp to an absolute value.\n\t * @param value\n\t * @private\n\t */\n\t_setTimestamp(value: number) {\n\t\tthis._safelySetTimestamp(value);\n\t\tthis.fireDecoratorEvent(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t/**\n\t * In range selection, the currently focused or hovered month is considered the \"second day\".\n\t * @private\n\t */\n\t_updateSecondTimestamp() {\n\t\tif (this.selectionMode === CalendarSelectionMode.Range && (this.selectedDates.length === 1 || this.selectedDates.length === 2)) {\n\t\t\tthis._secondTimestamp = this.timestamp;\n\t\t}\n\t}\n\n\t/**\n\t * Set the hovered day as the \"_secondTimestamp\".\n\t *\n\t * @param e\n\t * @private\n\t */\n\t_onmouseover(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst hoveredItem = target.closest(\".ui5-mp-item\") as HTMLElement;\n\t\tif (hoveredItem && this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {\n\t\t\tthis._secondTimestamp = this._getTimestampFromDom(hoveredItem);\n\t\t}\n\t}\n\n\t/**\n\t * Modifies timestamp by a given amount of months and,\n\t * if necessary, loads the prev/next page.\n\t * @param amount\n\t * @param preserveDate whether to preserve the day of the month (f.e. 15th of March + 1 month = 15th of April)\n\t * @private\n\t */\n\t_modifyTimestampBy(amount: number, preserveDate?: boolean) {\n\t\t// Modify the current timestamp\n\t\tthis._safelyModifyTimestampBy(amount, \"month\", preserveDate);\n\t\tthis._updateSecondTimestamp();\n\n\t\t// Notify the calendar to update its timestamp\n\t\tthis.fireDecoratorEvent(\"navigate\", { timestamp: this.timestamp! });\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._selectMonth(e);\n\t\t}\n\t}\n\n\t/**\n\t * Selects a month, when user made selection with mouse or using Space/Enter.\n\t * @param e\n\t * @private\n\t */\n\t_selectMonth(e: Event) {\n\t\te.preventDefault();\n\t\tconst target = e.target as HTMLElement;\n\n\t\tif (!target.classList.contains(\"ui5-mp-item\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst timestamp = this._getTimestampFromDom(target);\n\t\tthis._safelySetTimestamp(timestamp);\n\t\tthis._updateSecondTimestamp();\n\t\tthis._updateSelectedDates(timestamp);\n\n\t\tthis.fireDecoratorEvent(\"change\", {\n\t\t\ttimestamp: this.timestamp!,\n\t\t\tdates: this.selectedDates,\n\t\t});\n\t}\n\n\t_updateSelectedDates(timestamp: number) {\n\t\tif (this.selectionMode === CalendarSelectionMode.Range && this.selectedDates.length === 1) {\n\t\t\tthis.selectedDates = [this.selectedDates[0], timestamp];\n\t\t\treturn;\n\t\t}\n\n\t\tthis.selectedDates = [timestamp];\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t */\n\t_hasPreviousPage(): boolean {\n\t\treturn this._calendarDate.getYear() !== this._minDate.getYear();\n\t}\n\n\t/**\n\t * Called by the Calendar component.\n\t * @protected\n\t */\n\t_hasNextPage(): boolean {\n\t\treturn this._calendarDate.getYear() !== this._maxDate.getYear();\n\t}\n\n\t/**\n\t * Called by Calendar.js.\n\t *\n\t * **Note:** when the user presses the \"<\" button in the calendar header (same as \"PageUp\")\n\t * @protected\n\t */\n\t_showPreviousPage() {\n\t\tthis._modifyTimestampBy(-PAGE_SIZE, true);\n\t}\n\n\t/**\n\t * Called by Calendar.js\n\t * **Note:** when the user presses the \">\" button in the calendar header (same as \"PageDown\")\n\t * @protected\n\t */\n\t_showNextPage() {\n\t\tthis._modifyTimestampBy(PAGE_SIZE, true);\n\t}\n\n\t_isOutOfSelectableRange(date: CalendarDate, minDate: CalendarDate, maxDate: CalendarDate): boolean {\n\t\tconst month = date.getMonth();\n\t\tconst year = date.getYear();\n\t\tconst minYear = minDate.getYear();\n\t\tconst minMonth = minDate.getMonth();\n\t\tconst maxYear = maxDate.getYear();\n\t\tconst maxMonth = maxDate.getMonth();\n\n\t\treturn year < minYear || (year === minYear && month < minMonth) || year > maxYear || (year === maxYear && month > maxMonth);\n\t}\n}\n\nMonthPicker.define();\n\nexport default MonthPicker;\nexport type {\n\tMonthPickerNavigateEventDetail,\n\tMonthPickerChangeEventDetail,\n};\n"]}
@@ -95,7 +95,9 @@ declare class MultiInput extends Input implements IFormInputElement {
95
95
  get tokenizer(): Tokenizer;
96
96
  get tokenizerExpanded(): boolean;
97
97
  get _tokensCountText(): string;
98
+ get _valueHelpText(): string;
98
99
  get _tokensCountTextId(): string;
100
+ get _valueHelpTextId(): "" | "hiddenText-value-help";
99
101
  /**
100
102
  * Returns the placeholder value when there are no tokens.
101
103
  * @protected
@@ -12,7 +12,7 @@ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement
12
12
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
13
13
  import { isShow, isBackSpace, isLeft, isRight, isRightCtrl, isHome, isEnd, isDown, } from "@ui5/webcomponents-base/dist/Keys.js";
14
14
  import { getScopedVarName } from "@ui5/webcomponents-base/dist/CustomElementsScope.js";
15
- import { MULTIINPUT_ROLEDESCRIPTION_TEXT, MULTIINPUT_VALUE_HELP_LABEL } from "./generated/i18n/i18n-defaults.js";
15
+ import { MULTIINPUT_ROLEDESCRIPTION_TEXT, MULTIINPUT_VALUE_HELP_LABEL, MULTIINPUT_VALUE_HELP } from "./generated/i18n/i18n-defaults.js";
16
16
  import Input from "./Input.js";
17
17
  import MultiInputTemplate from "./MultiInputTemplate.js";
18
18
  import styles from "./generated/themes/MultiInput.css.js";
@@ -234,9 +234,15 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
234
234
  get _tokensCountText() {
235
235
  return getTokensCountText(this.tokens.length);
236
236
  }
237
+ get _valueHelpText() {
238
+ return MultiInput_1.i18nBundle.getText(MULTIINPUT_VALUE_HELP);
239
+ }
237
240
  get _tokensCountTextId() {
238
241
  return `hiddenText-nMore`;
239
242
  }
243
+ get _valueHelpTextId() {
244
+ return this.showValueHelpIcon ? `hiddenText-value-help` : "";
245
+ }
240
246
  /**
241
247
  * Returns the placeholder value when there are no tokens.
242
248
  * @protected
@@ -248,7 +254,7 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
248
254
  return this.placeholder;
249
255
  }
250
256
  get accInfo() {
251
- const ariaDescribedBy = `${this._tokensCountTextId} ${this.suggestionsTextId} ${this.valueStateTextId}`.trim();
257
+ const ariaDescribedBy = `${this._tokensCountTextId} ${this.suggestionsTextId} ${this.valueStateTextId} ${this._valueHelpTextId}`.trim();
252
258
  return {
253
259
  ...super.accInfo,
254
260
  "ariaRoledescription": this.ariaRoleDescription,
@@ -1 +1 @@
1
- {"version":3,"file":"MultiInput.js","sourceRoot":"","sources":["../src/MultiInput.ts"],"names":[],"mappings":"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","sourcesContent":["import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport 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-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.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, MULTIINPUT_VALUE_HELP_LABEL } from \"./generated/i18n/i18n-defaults.js\";\nimport Input from \"./Input.js\";\nimport MultiInputTemplate from \"./MultiInputTemplate.js\";\nimport styles from \"./generated/themes/MultiInput.css.js\";\nimport type Token from \"./Token.js\";\nimport type Tokenizer from \"./Tokenizer.js\";\nimport { getTokensCountText } from \"./Tokenizer.js\";\nimport type { TokenizerTokenDeleteEventDetail } from \"./Tokenizer.js\";\nimport type Icon from \"./Icon.js\";\n\nimport type {\n\tInputSelectionChangeEventDetail as MultiInputSelectionChangeEventDetail,\n} from \"./Input.js\";\n\ninterface IToken extends UI5Element, 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: jsxRenderer,\n\tformAssociated: true,\n\ttemplate: MultiInputTemplate,\n\tstyles: [Input.styles, styles],\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\tbubbles: true,\n})\n\n/**\n * Fired when tokens are being deleted.\n * @param {Array} tokens An array containing the deleted tokens.\n * @public\n */\n@event(\"token-delete\", {\n\tbubbles: true,\n})\n\nclass MultiInput extends Input implements IFormInputElement {\n\teventDetails!: Input[\"eventDetails\"] & {\n\t\t\"value-help-trigger\": void,\n\t\t\"token-delete\": MultiInputTokenDeleteEventDetail,\n\t}\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 = false;\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 = false;\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 undefined\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 && this.name) {\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.fireDecoratorEvent(\"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.fireDecoratorEvent(\"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\n\t\tif (this.contains(relatedTarget) && relatedTarget.hasAttribute(\"ui5-token\")) {\n\t\t\tthis.focused = 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\n\t\tif (this.tokenizer) {\n\t\t\tthis.tokenizer.readonly = this.readonly;\n\t\t}\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...super.accInfo,\n\t\t\t\"ariaRoledescription\": this.ariaRoleDescription,\n\t\t\t\"ariaDescribedBy\": ariaDescribedBy,\n\t\t};\n\t}\n\n\tget valueHelpLabel() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_VALUE_HELP_LABEL);\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 type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport 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-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.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, MULTIINPUT_VALUE_HELP_LABEL, MULTIINPUT_VALUE_HELP } from \"./generated/i18n/i18n-defaults.js\";\nimport Input from \"./Input.js\";\nimport MultiInputTemplate from \"./MultiInputTemplate.js\";\nimport styles from \"./generated/themes/MultiInput.css.js\";\nimport type Token from \"./Token.js\";\nimport type Tokenizer from \"./Tokenizer.js\";\nimport { getTokensCountText } from \"./Tokenizer.js\";\nimport type { TokenizerTokenDeleteEventDetail } from \"./Tokenizer.js\";\nimport type Icon from \"./Icon.js\";\n\nimport type {\n\tInputSelectionChangeEventDetail as MultiInputSelectionChangeEventDetail,\n} from \"./Input.js\";\n\ninterface IToken extends UI5Element, 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: jsxRenderer,\n\tformAssociated: true,\n\ttemplate: MultiInputTemplate,\n\tstyles: [Input.styles, styles],\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\tbubbles: true,\n})\n\n/**\n * Fired when tokens are being deleted.\n * @param {Array} tokens An array containing the deleted tokens.\n * @public\n */\n@event(\"token-delete\", {\n\tbubbles: true,\n})\n\nclass MultiInput extends Input implements IFormInputElement {\n\teventDetails!: Input[\"eventDetails\"] & {\n\t\t\"value-help-trigger\": void,\n\t\t\"token-delete\": MultiInputTokenDeleteEventDetail,\n\t}\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 = false;\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 = false;\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 undefined\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 && this.name) {\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.fireDecoratorEvent(\"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.fireDecoratorEvent(\"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\n\t\tif (this.contains(relatedTarget) && relatedTarget.hasAttribute(\"ui5-token\")) {\n\t\t\tthis.focused = 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\n\t\tif (this.tokenizer) {\n\t\t\tthis.tokenizer.readonly = this.readonly;\n\t\t}\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 _valueHelpText() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_VALUE_HELP);\n\t}\n\n\tget _tokensCountTextId() {\n\t\treturn `hiddenText-nMore`;\n\t}\n\n\tget _valueHelpTextId() {\n\t\treturn this.showValueHelpIcon ? `hiddenText-value-help` : \"\";\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} ${this._valueHelpTextId}`.trim();\n\t\treturn {\n\t\t\t...super.accInfo,\n\t\t\t\"ariaRoledescription\": this.ariaRoleDescription,\n\t\t\t\"ariaDescribedBy\": ariaDescribedBy,\n\t\t};\n\t}\n\n\tget valueHelpLabel() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_VALUE_HELP_LABEL);\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"]}
@@ -9,7 +9,8 @@ export default function MultiInputTemplate() {
9
9
  ];
10
10
  }
11
11
  function preContent() {
12
- return (_jsxs(_Fragment, { children: [_jsx("span", { id: "hiddenText-nMore", class: "ui5-hidden-text", children: this._tokensCountText }), _jsx(Tokenizer, { class: "ui5-multi-input-tokenizer", opener: this.morePopoverOpener, popoverMinWidth: this._inputWidth, hidePopoverArrow: true, expanded: this.tokenizerExpanded, onKeyDown: this._onTokenizerKeydown, onTokenDelete: this.tokenDelete, onFocusOut: this._tokenizerFocusOut, children: this.tokens.map(token => _jsx("slot", { name: token._individualSlot })) })] }));
12
+ return (_jsxs(_Fragment, { children: [_jsx("span", { id: "hiddenText-nMore", class: "ui5-hidden-text", children: this._tokensCountText }), this.showValueHelpIcon &&
13
+ _jsx("span", { id: "hiddenText-value-help", class: "ui5-hidden-text", children: this._valueHelpText }), _jsx(Tokenizer, { class: "ui5-multi-input-tokenizer", opener: this.morePopoverOpener, popoverMinWidth: this._inputWidth, hidePopoverArrow: true, expanded: this.tokenizerExpanded, onKeyDown: this._onTokenizerKeydown, onTokenDelete: this.tokenDelete, onFocusOut: this._tokenizerFocusOut, children: this.tokens.map(token => _jsx("slot", { name: token._individualSlot })) })] }));
13
14
  }
14
15
  function postContent() {
15
16
  return (_jsx(_Fragment, { children: this.showValueHelpIcon &&
@@ -1 +1 @@
1
- {"version":3,"file":"MultiInputTemplate.js","sourceRoot":"","sources":["../src/MultiInputTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,SAAS,MAAM,6CAA6C,CAAC;AAEpE,MAAM,CAAC,OAAO,UAAU,kBAAkB;IACzC,OAAO;QACN,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;KACrD,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IAClB,OAAO,CACN,8BACC,eAAM,EAAE,EAAC,kBAAkB,EAAC,KAAK,EAAC,iBAAiB,YAAE,IAAI,CAAC,gBAAgB,GAAQ,EAClF,KAAC,SAAS,IACT,KAAK,EAAC,2BAA2B,EACjC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAC9B,eAAe,EAAE,IAAI,CAAC,WAAW,EACjC,gBAAgB,EAAE,IAAI,EACtB,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAChC,SAAS,EAAE,IAAI,CAAC,mBAAmB,EACnC,aAAa,EAAE,IAAI,CAAC,WAAW,EAC/B,UAAU,EAAE,IAAI,CAAC,kBAAkB,YAEjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,eAAM,IAAI,EAAE,KAAK,CAAC,eAAe,GAAS,CAAC,GAC3D,IACV,CACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IACnB,OAAO,CACN,4BACE,IAAI,CAAC,iBAAiB;YACtB,KAAC,IAAI,IACJ,KAAK,EAAC,WAAW,EACjB,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAChC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EACpC,OAAO,EAAE,IAAI,CAAC,cAAc,GAC3B,GAED,CACH,CAAC;AACH,CAAC","sourcesContent":["import Icon from \"./Icon.js\";\nimport InputTemplate from \"./InputTemplate.js\";\nimport type MultiInput from \"./MultiInput.js\";\nimport Tokenizer from \"./Tokenizer.js\";\nimport valueHelp from \"@ui5/webcomponents-icons/dist/value-help.js\";\n\nexport default function MultiInputTemplate(this: MultiInput) {\n\treturn [\n\t\tInputTemplate.call(this, { preContent, postContent }),\n\t];\n}\n\nfunction preContent(this: MultiInput) {\n\treturn (\n\t\t<>\n\t\t\t<span id=\"hiddenText-nMore\" class=\"ui5-hidden-text\">{this._tokensCountText}</span>\n\t\t\t<Tokenizer\n\t\t\t\tclass=\"ui5-multi-input-tokenizer\"\n\t\t\t\topener={this.morePopoverOpener}\n\t\t\t\tpopoverMinWidth={this._inputWidth}\n\t\t\t\thidePopoverArrow={true}\n\t\t\t\texpanded={this.tokenizerExpanded}\n\t\t\t\tonKeyDown={this._onTokenizerKeydown}\n\t\t\t\tonTokenDelete={this.tokenDelete}\n\t\t\t\tonFocusOut={this._tokenizerFocusOut}\n\t\t\t>\n\t\t\t\t{ this.tokens.map(token => <slot name={token._individualSlot}></slot>)}\n\t\t\t</Tokenizer>\n\t\t</>\n\t);\n}\n\nfunction postContent(this: MultiInput) {\n\treturn (\n\t\t<>\n\t\t\t{this.showValueHelpIcon &&\n\t\t\t\t<Icon\n\t\t\t\t\tclass=\"inputIcon\"\n\t\t\t\t\tname={valueHelp}\n\t\t\t\t\taccessibleName={this.valueHelpLabel}\n\t\t\t\t\tonMouseUp={this.valueHelpMouseUp}\n\t\t\t\t\tonMouseDown={this.valueHelpMouseDown}\n\t\t\t\t\tonClick={this.valueHelpPress}\n\t\t\t\t/>\n\t\t\t}\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"file":"MultiInputTemplate.js","sourceRoot":"","sources":["../src/MultiInputTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,SAAS,MAAM,6CAA6C,CAAC;AAEpE,MAAM,CAAC,OAAO,UAAU,kBAAkB;IACzC,OAAO;QACN,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;KACrD,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IAClB,OAAO,CACN,8BACC,eAAM,EAAE,EAAC,kBAAkB,EAAC,KAAK,EAAC,iBAAiB,YAAE,IAAI,CAAC,gBAAgB,GAAQ,EAEjF,IAAI,CAAC,iBAAiB;gBACtB,eAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC,iBAAiB,YAAE,IAAI,CAAC,cAAc,GAAQ,EAEtF,KAAC,SAAS,IACT,KAAK,EAAC,2BAA2B,EACjC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAC9B,eAAe,EAAE,IAAI,CAAC,WAAW,EACjC,gBAAgB,EAAE,IAAI,EACtB,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAChC,SAAS,EAAE,IAAI,CAAC,mBAAmB,EACnC,aAAa,EAAE,IAAI,CAAC,WAAW,EAC/B,UAAU,EAAE,IAAI,CAAC,kBAAkB,YAEjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,eAAM,IAAI,EAAE,KAAK,CAAC,eAAe,GAAS,CAAC,GAC3D,IACV,CACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IACnB,OAAO,CACN,4BACE,IAAI,CAAC,iBAAiB;YACtB,KAAC,IAAI,IACJ,KAAK,EAAC,WAAW,EACjB,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAChC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EACpC,OAAO,EAAE,IAAI,CAAC,cAAc,GAC3B,GAED,CACH,CAAC;AACH,CAAC","sourcesContent":["import Icon from \"./Icon.js\";\nimport InputTemplate from \"./InputTemplate.js\";\nimport type MultiInput from \"./MultiInput.js\";\nimport Tokenizer from \"./Tokenizer.js\";\nimport valueHelp from \"@ui5/webcomponents-icons/dist/value-help.js\";\n\nexport default function MultiInputTemplate(this: MultiInput) {\n\treturn [\n\t\tInputTemplate.call(this, { preContent, postContent }),\n\t];\n}\n\nfunction preContent(this: MultiInput) {\n\treturn (\n\t\t<>\n\t\t\t<span id=\"hiddenText-nMore\" class=\"ui5-hidden-text\">{this._tokensCountText}</span>\n\n\t\t\t{this.showValueHelpIcon &&\n\t\t\t\t<span id=\"hiddenText-value-help\" class=\"ui5-hidden-text\">{this._valueHelpText}</span>\n\t\t\t}\n\t\t\t<Tokenizer\n\t\t\t\tclass=\"ui5-multi-input-tokenizer\"\n\t\t\t\topener={this.morePopoverOpener}\n\t\t\t\tpopoverMinWidth={this._inputWidth}\n\t\t\t\thidePopoverArrow={true}\n\t\t\t\texpanded={this.tokenizerExpanded}\n\t\t\t\tonKeyDown={this._onTokenizerKeydown}\n\t\t\t\tonTokenDelete={this.tokenDelete}\n\t\t\t\tonFocusOut={this._tokenizerFocusOut}\n\t\t\t>\n\t\t\t\t{ this.tokens.map(token => <slot name={token._individualSlot}></slot>)}\n\t\t\t</Tokenizer>\n\t\t</>\n\t);\n}\n\nfunction postContent(this: MultiInput) {\n\treturn (\n\t\t<>\n\t\t\t{this.showValueHelpIcon &&\n\t\t\t\t<Icon\n\t\t\t\t\tclass=\"inputIcon\"\n\t\t\t\t\tname={valueHelp}\n\t\t\t\t\taccessibleName={this.valueHelpLabel}\n\t\t\t\t\tonMouseUp={this.valueHelpMouseUp}\n\t\t\t\t\tonMouseDown={this.valueHelpMouseDown}\n\t\t\t\t\tonClick={this.valueHelpPress}\n\t\t\t\t/>\n\t\t\t}\n\t\t</>\n\t);\n}\n"]}
@@ -8,7 +8,7 @@ export default function ResponsivePopoverTemplate() {
8
8
  if (!this._isPhone) {
9
9
  return PopoverTemplate.call(this);
10
10
  }
11
- return (_jsxs(Dialog, { "root-element": true, accessibleName: this.accessibleName, accessibleNameRef: this.accessibleNameRef, accessibleRole: this.accessibleRole, stretch: true, preventInitialFocus: this.preventInitialFocus, initialFocus: this.initialFocus, onBeforeOpen: this._beforeDialogOpen, onOpen: this._afterDialogOpen, onBeforeClose: this._beforeDialogClose, onClose: this._afterDialogClose, exportparts: "content, header, footer", open: this.open, children: [!this._hideHeader && _jsx(_Fragment, { children: this.header.length ?
11
+ return (_jsxs(Dialog, { "root-element": true, accessibleName: this.accessibleName, accessibleNameRef: this.accessibleNameRef, accessibleRole: this.accessibleRole, stretch: true, preventInitialFocus: this.preventInitialFocus, preventFocusRestore: this.preventFocusRestore, initialFocus: this.initialFocus, onBeforeOpen: this._beforeDialogOpen, onOpen: this._afterDialogOpen, onBeforeClose: this._beforeDialogClose, onClose: this._afterDialogClose, exportparts: "content, header, footer", open: this.open, children: [!this._hideHeader && _jsx(_Fragment, { children: this.header.length ?
12
12
  _jsx("slot", { slot: "header", name: "header" })
13
13
  :
14
14
  _jsxs("div", { class: this.classes.header, slot: "header", children: [this.headerText &&
@@ -1 +1 @@
1
- {"version":3,"file":"ResponsivePopoverTemplate.js","sourceRoot":"","sources":["../src/ResponsivePopoverTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,OAAO,MAAM,0CAA0C,CAAC;AAC/D,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,yBAAyB;IAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,CACN,MAAC,MAAM,0BAEN,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,OAAO,EAAE,IAAI,EACb,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAC7C,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,YAAY,EAAE,IAAI,CAAC,iBAAiB,EACpC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAC7B,aAAa,EAAE,IAAI,CAAC,kBAAkB,EACtC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAC/B,WAAW,EAAC,yBAAyB,EACrC,IAAI,EAAE,IAAI,CAAC,IAAI,aAEd,CAAC,IAAI,CAAC,WAAW,IAAI,4BACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACpB,eAAM,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,GAAQ;oBACzC,CAAC;wBACD,eAAK,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAC,QAAQ,aAC5C,IAAI,CAAC,UAAU;oCACf,KAAC,KAAK,IACL,KAAK,EAAC,IAAI,EACV,YAAY,EAAC,MAAM,EACnB,KAAK,EAAC,0DAA0D,YAE/D,IAAI,CAAC,UAAU,GACT,EAER,CAAC,IAAI,CAAC,gBAAgB;oCACtB,KAAC,MAAM,IACN,IAAI,EAAE,OAAO,EACb,MAAM,EAAC,aAAa,EACpB,cAAc,EAAE,IAAI,CAAC,qBAAqB,EAC1C,OAAO,EAAE,IAAI,CAAC,uBAAuB,GAC5B,IAEN,GAEL,EAEH,gBAAa,EAEb,eAAM,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,GAAQ,IACjC,CACT,CAAC;AACH,CAAC","sourcesContent":["import decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport PopoverTemplate from \"./PopoverTemplate.js\";\nimport type ResponsivePopover from \"./ResponsivePopover.js\";\nimport Dialog from \"./Dialog.js\";\nimport Title from \"./Title.js\";\nimport Button from \"./Button.js\";\n\nexport default function ResponsivePopoverTemplate(this: ResponsivePopover) {\n\tif (!this._isPhone) {\n\t\treturn PopoverTemplate.call(this);\n\t}\n\n\treturn (\n\t\t<Dialog\n\t\t\troot-element\n\t\t\taccessibleName={this.accessibleName}\n\t\t\taccessibleNameRef={this.accessibleNameRef}\n\t\t\taccessibleRole={this.accessibleRole}\n\t\t\tstretch={true}\n\t\t\tpreventInitialFocus={this.preventInitialFocus}\n\t\t\tinitialFocus={this.initialFocus}\n\t\t\tonBeforeOpen={this._beforeDialogOpen}\n\t\t\tonOpen={this._afterDialogOpen}\n\t\t\tonBeforeClose={this._beforeDialogClose}\n\t\t\tonClose={this._afterDialogClose}\n\t\t\texportparts=\"content, header, footer\"\n\t\t\topen={this.open}\n\t\t>\n\t\t\t{!this._hideHeader && <>\n\t\t\t\t{this.header.length ?\n\t\t\t\t\t<slot slot=\"header\" name=\"header\"></slot>\n\t\t\t\t\t:\n\t\t\t\t\t<div class={this.classes.header} slot=\"header\">\n\t\t\t\t\t\t{this.headerText &&\n\t\t\t\t\t\t\t<Title\n\t\t\t\t\t\t\t\tlevel=\"H1\"\n\t\t\t\t\t\t\t\twrappingType=\"None\"\n\t\t\t\t\t\t\t\tclass=\"ui5-popup-header-text ui5-responsive-popover-header-text\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.headerText}\n\t\t\t\t\t\t\t</Title>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{!this._hideCloseButton &&\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ticon={decline}\n\t\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\t\taccessibleName={this._closeDialogAriaLabel}\n\t\t\t\t\t\t\t\tonClick={this._dialogCloseButtonClick}\n\t\t\t\t\t\t\t></Button>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t</>}\n\n\t\t\t<slot></slot>\n\n\t\t\t<slot slot=\"footer\" name=\"footer\"></slot>\n\t\t</Dialog>\n\t);\n}\n"]}
1
+ {"version":3,"file":"ResponsivePopoverTemplate.js","sourceRoot":"","sources":["../src/ResponsivePopoverTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,OAAO,MAAM,0CAA0C,CAAC;AAC/D,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,yBAAyB;IAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,CACN,MAAC,MAAM,0BAEN,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,OAAO,EAAE,IAAI,EACb,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAC7C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAC7C,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,YAAY,EAAE,IAAI,CAAC,iBAAiB,EACpC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAC7B,aAAa,EAAE,IAAI,CAAC,kBAAkB,EACtC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAC/B,WAAW,EAAC,yBAAyB,EACrC,IAAI,EAAE,IAAI,CAAC,IAAI,aAEd,CAAC,IAAI,CAAC,WAAW,IAAI,4BACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACpB,eAAM,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,GAAQ;oBACzC,CAAC;wBACD,eAAK,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAC,QAAQ,aAC5C,IAAI,CAAC,UAAU;oCACf,KAAC,KAAK,IACL,KAAK,EAAC,IAAI,EACV,YAAY,EAAC,MAAM,EACnB,KAAK,EAAC,0DAA0D,YAE/D,IAAI,CAAC,UAAU,GACT,EAER,CAAC,IAAI,CAAC,gBAAgB;oCACtB,KAAC,MAAM,IACN,IAAI,EAAE,OAAO,EACb,MAAM,EAAC,aAAa,EACpB,cAAc,EAAE,IAAI,CAAC,qBAAqB,EAC1C,OAAO,EAAE,IAAI,CAAC,uBAAuB,GAC5B,IAEN,GAEL,EAEH,gBAAa,EAEb,eAAM,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,GAAQ,IACjC,CACT,CAAC;AACH,CAAC","sourcesContent":["import decline from \"@ui5/webcomponents-icons/dist/decline.js\";\nimport PopoverTemplate from \"./PopoverTemplate.js\";\nimport type ResponsivePopover from \"./ResponsivePopover.js\";\nimport Dialog from \"./Dialog.js\";\nimport Title from \"./Title.js\";\nimport Button from \"./Button.js\";\n\nexport default function ResponsivePopoverTemplate(this: ResponsivePopover) {\n\tif (!this._isPhone) {\n\t\treturn PopoverTemplate.call(this);\n\t}\n\n\treturn (\n\t\t<Dialog\n\t\t\troot-element\n\t\t\taccessibleName={this.accessibleName}\n\t\t\taccessibleNameRef={this.accessibleNameRef}\n\t\t\taccessibleRole={this.accessibleRole}\n\t\t\tstretch={true}\n\t\t\tpreventInitialFocus={this.preventInitialFocus}\n\t\t\tpreventFocusRestore={this.preventFocusRestore}\n\t\t\tinitialFocus={this.initialFocus}\n\t\t\tonBeforeOpen={this._beforeDialogOpen}\n\t\t\tonOpen={this._afterDialogOpen}\n\t\t\tonBeforeClose={this._beforeDialogClose}\n\t\t\tonClose={this._afterDialogClose}\n\t\t\texportparts=\"content, header, footer\"\n\t\t\topen={this.open}\n\t\t>\n\t\t\t{!this._hideHeader && <>\n\t\t\t\t{this.header.length ?\n\t\t\t\t\t<slot slot=\"header\" name=\"header\"></slot>\n\t\t\t\t\t:\n\t\t\t\t\t<div class={this.classes.header} slot=\"header\">\n\t\t\t\t\t\t{this.headerText &&\n\t\t\t\t\t\t\t<Title\n\t\t\t\t\t\t\t\tlevel=\"H1\"\n\t\t\t\t\t\t\t\twrappingType=\"None\"\n\t\t\t\t\t\t\t\tclass=\"ui5-popup-header-text ui5-responsive-popover-header-text\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.headerText}\n\t\t\t\t\t\t\t</Title>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{!this._hideCloseButton &&\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ticon={decline}\n\t\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\t\taccessibleName={this._closeDialogAriaLabel}\n\t\t\t\t\t\t\t\tonClick={this._dialogCloseButtonClick}\n\t\t\t\t\t\t\t></Button>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t</>}\n\n\t\t\t<slot></slot>\n\n\t\t\t<slot slot=\"footer\" name=\"footer\"></slot>\n\t\t</Dialog>\n\t);\n}\n"]}
package/dist/Select.d.ts CHANGED
@@ -47,9 +47,22 @@ type SelectLiveChangeEventDetail = {
47
47
  *
48
48
  * - With OptionCustom (`ui5-option-custom`) web component.
49
49
  *
50
- * Options with custom content are defined by using the OptionCustom component
50
+ * Options with custom content are defined by using the OptionCustom component.
51
51
  * The OptionCustom component comes with no predefined layout and it expects consumers to define it.
52
52
  *
53
+ * ### Selection
54
+ *
55
+ * The options can be selected via user interaction (click or with the use of the Space and Enter keys)
56
+ * and programmatically - the Select component supports two distinct selection APIs, though mixing them is not supported:
57
+ * - The "value" property of the Select component
58
+ * - The "selected" property on individual options
59
+ *
60
+ * **Note:** If the "value" property is set but does not match any option,
61
+ * no option will be selected and the Select component will be displayed as empty.
62
+ *
63
+ * **Note:** when both "value" and "selected" are both used (although discouraged),
64
+ * the "value" property will take precedence.
65
+ *
53
66
  * ### Keyboard Handling
54
67
  *
55
68
  * The `ui5-select` provides advanced keyboard handling.
@@ -181,6 +194,7 @@ declare class Select extends UI5Element implements IFormInputElement {
181
194
  _typingTimeoutID?: Timeout | number;
182
195
  responsivePopover: ResponsivePopover;
183
196
  valueStatePopover?: Popover;
197
+ _valueStorage: string | undefined;
184
198
  /**
185
199
  * Defines the component options.
186
200
  *
@@ -223,7 +237,24 @@ declare class Select extends UI5Element implements IFormInputElement {
223
237
  get formFormattedValue(): string | null;
224
238
  onBeforeRendering(): void;
225
239
  onAfterRendering(): void;
226
- _ensureSingleSelection(): void;
240
+ /**
241
+ * Selects an option, based on the Select's "value" property,
242
+ * or the options' "selected" property.
243
+ */
244
+ _applySelection(): void;
245
+ /**
246
+ * Selects an option by given value.
247
+ */
248
+ _applySelectionByValue(value: string): void;
249
+ /**
250
+ * Selects the first option if no option is selected,
251
+ * or selects the last option if multiple options are selected.
252
+ */
253
+ _applyAutoSelection(): void;
254
+ /**
255
+ * Sets value by given option.
256
+ */
257
+ _setValueByOption(option: IOption): void;
227
258
  _applyFocus(): void;
228
259
  _onfocusin(): void;
229
260
  _onfocusout(): void;
@@ -232,12 +263,14 @@ declare class Select extends UI5Element implements IFormInputElement {
232
263
  /**
233
264
  * Defines the value of the component:
234
265
  *
235
- * - when get - returns the value of the component, e.g. the `value` property of the selected option or its text content.
236
- *
266
+ * - when get - returns the value of the component or the value/text content of the selected option.
237
267
  * - when set - selects the option with matching `value` property or text content.
238
268
  *
269
+ * **Note:** Use either the Select's value or the Options' selected property.
270
+ * Mixed usage could result in unexpected behavior.
271
+ *
239
272
  * **Note:** If the given value does not match any existing option,
240
- * the first option will get selected.
273
+ * no option will be selected and the Select component will be displayed as empty.
241
274
  * @public
242
275
  * @default ""
243
276
  * @since 1.20.0
package/dist/Select.js CHANGED
@@ -55,9 +55,22 @@ import SelectPopoverCss from "./generated/themes/SelectPopover.css.js";
55
55
  *
56
56
  * - With OptionCustom (`ui5-option-custom`) web component.
57
57
  *
58
- * Options with custom content are defined by using the OptionCustom component
58
+ * Options with custom content are defined by using the OptionCustom component.
59
59
  * The OptionCustom component comes with no predefined layout and it expects consumers to define it.
60
60
  *
61
+ * ### Selection
62
+ *
63
+ * The options can be selected via user interaction (click or with the use of the Space and Enter keys)
64
+ * and programmatically - the Select component supports two distinct selection APIs, though mixing them is not supported:
65
+ * - The "value" property of the Select component
66
+ * - The "selected" property on individual options
67
+ *
68
+ * **Note:** If the "value" property is set but does not match any option,
69
+ * no option will be selected and the Select component will be displayed as empty.
70
+ *
71
+ * **Note:** when both "value" and "selected" are both used (although discouraged),
72
+ * the "value" property will take precedence.
73
+ *
61
74
  * ### Keyboard Handling
62
75
  *
63
76
  * The `ui5-select` provides advanced keyboard handling.
@@ -141,13 +154,15 @@ let Select = Select_1 = class Select extends UI5Element {
141
154
  return Select_1.i18nBundle.getText(FORM_SELECTABLE_REQUIRED);
142
155
  }
143
156
  get formValidity() {
144
- const selectedOption = this.selectedOption;
145
- return { valueMissing: this.required && (selectedOption && selectedOption.getAttribute("value") === "") };
157
+ return { valueMissing: this.required && (this.selectedOption?.getAttribute("value") === "") };
146
158
  }
147
159
  async formElementAnchor() {
148
160
  return this.getFocusDomRefAsync();
149
161
  }
150
162
  get formFormattedValue() {
163
+ if (this._valueStorage !== undefined) {
164
+ return this._valueStorage;
165
+ }
151
166
  const selectedOption = this.selectedOption;
152
167
  if (selectedOption) {
153
168
  if ("value" in selectedOption && selectedOption.value) {
@@ -158,7 +173,7 @@ let Select = Select_1 = class Select extends UI5Element {
158
173
  return "";
159
174
  }
160
175
  onBeforeRendering() {
161
- this._ensureSingleSelection();
176
+ this._applySelection();
162
177
  this.style.setProperty(getScopedVarName("--_ui5-input-icons-count"), `${this.iconsCount}`);
163
178
  }
164
179
  onAfterRendering() {
@@ -169,9 +184,35 @@ let Select = Select_1 = class Select extends UI5Element {
169
184
  }
170
185
  }
171
186
  }
172
- _ensureSingleSelection() {
173
- // if no item is selected => select the first one
174
- // if multiple items are selected => select the last selected one
187
+ /**
188
+ * Selects an option, based on the Select's "value" property,
189
+ * or the options' "selected" property.
190
+ */
191
+ _applySelection() {
192
+ // Flow 1: "value" has not been used
193
+ if (this._valueStorage === undefined) {
194
+ this._applyAutoSelection();
195
+ return;
196
+ }
197
+ // Flow 2: "value" has been used - select the option by value or apply auto selection
198
+ this._applySelectionByValue(this._valueStorage);
199
+ }
200
+ /**
201
+ * Selects an option by given value.
202
+ */
203
+ _applySelectionByValue(value) {
204
+ if (value !== (this.selectedOption?.value || this.selectedOption?.textContent)) {
205
+ const options = Array.from(this.children);
206
+ options.forEach(option => {
207
+ option.selected = !!((option.getAttribute("value") || option.textContent) === value);
208
+ });
209
+ }
210
+ }
211
+ /**
212
+ * Selects the first option if no option is selected,
213
+ * or selects the last option if multiple options are selected.
214
+ */
215
+ _applyAutoSelection() {
175
216
  let selectedIndex = this.options.findLastIndex(option => option.selected);
176
217
  selectedIndex = selectedIndex === -1 ? 0 : selectedIndex;
177
218
  for (let i = 0; i < this.options.length; i++) {
@@ -181,6 +222,12 @@ let Select = Select_1 = class Select extends UI5Element {
181
222
  }
182
223
  }
183
224
  }
225
+ /**
226
+ * Sets value by given option.
227
+ */
228
+ _setValueByOption(option) {
229
+ this.value = option.value || option.textContent || "";
230
+ }
184
231
  _applyFocus() {
185
232
  this.focus();
186
233
  }
@@ -199,12 +246,14 @@ let Select = Select_1 = class Select extends UI5Element {
199
246
  /**
200
247
  * Defines the value of the component:
201
248
  *
202
- * - when get - returns the value of the component, e.g. the `value` property of the selected option or its text content.
203
- *
249
+ * - when get - returns the value of the component or the value/text content of the selected option.
204
250
  * - when set - selects the option with matching `value` property or text content.
205
251
  *
252
+ * **Note:** Use either the Select's value or the Options' selected property.
253
+ * Mixed usage could result in unexpected behavior.
254
+ *
206
255
  * **Note:** If the given value does not match any existing option,
207
- * the first option will get selected.
256
+ * no option will be selected and the Select component will be displayed as empty.
208
257
  * @public
209
258
  * @default ""
210
259
  * @since 1.20.0
@@ -212,12 +261,12 @@ let Select = Select_1 = class Select extends UI5Element {
212
261
  * @formEvents change liveChange
213
262
  */
214
263
  set value(newValue) {
215
- const options = Array.from(this.children);
216
- options.forEach(option => {
217
- option.selected = !!((option.getAttribute("value") || option.textContent) === newValue);
218
- });
264
+ this._valueStorage = newValue;
219
265
  }
220
266
  get value() {
267
+ if (this._valueStorage !== undefined) {
268
+ return this._valueStorage;
269
+ }
221
270
  return this.selectedOption?.value || this.selectedOption?.textContent || "";
222
271
  }
223
272
  get _selectedIndex() {
@@ -348,10 +397,14 @@ let Select = Select_1 = class Select extends UI5Element {
348
397
  if (this.options[selectedIndex]) {
349
398
  this.options[selectedIndex].selected = false;
350
399
  }
400
+ const selectedOption = this.options[index];
351
401
  if (selectedIndex !== index) {
352
- this.fireDecoratorEvent("live-change", { selectedOption: this.options[index] });
402
+ this.fireDecoratorEvent("live-change", { selectedOption });
403
+ }
404
+ selectedOption.selected = true;
405
+ if (this._valueStorage !== undefined) {
406
+ this._setValueByOption(selectedOption);
353
407
  }
354
- this.options[index].selected = true;
355
408
  }
356
409
  /**
357
410
  * The user clicked on an item from the list
@@ -425,6 +478,9 @@ let Select = Select_1 = class Select extends UI5Element {
425
478
  previousOption.focused = false;
426
479
  nextOption.selected = true;
427
480
  nextOption.focused = true;
481
+ if (this._valueStorage !== undefined) {
482
+ this._setValueByOption(nextOption);
483
+ }
428
484
  this.fireDecoratorEvent("live-change", { selectedOption: nextOption });
429
485
  if (!this._isPickerOpen) {
430
486
  // arrow pressed on closed picker - do selection change
@@ -677,7 +733,7 @@ __decorate([
677
733
  slot()
678
734
  ], Select.prototype, "label", void 0);
679
735
  __decorate([
680
- property({ noAttribute: true })
736
+ property()
681
737
  ], Select.prototype, "value", null);
682
738
  __decorate([
683
739
  i18n("@ui5/webcomponents")