@ui5/webcomponents 2.19.0-rc.1 → 2.19.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (506) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/ColorPicker.d.ts +5 -0
  4. package/dist/ColorPicker.js +12 -0
  5. package/dist/ColorPicker.js.map +1 -1
  6. package/dist/ColorPickerTemplate.js +1 -1
  7. package/dist/ColorPickerTemplate.js.map +1 -1
  8. package/dist/Input.d.ts +12 -9
  9. package/dist/Input.js +94 -57
  10. package/dist/Input.js.map +1 -1
  11. package/dist/InputTemplate.js +1 -1
  12. package/dist/InputTemplate.js.map +1 -1
  13. package/dist/MenuItemTemplate.js +1 -1
  14. package/dist/MenuItemTemplate.js.map +1 -1
  15. package/dist/MenuTemplate.js +1 -1
  16. package/dist/MenuTemplate.js.map +1 -1
  17. package/dist/MultiComboBox.d.ts +6 -1
  18. package/dist/MultiComboBox.js +29 -5
  19. package/dist/MultiComboBox.js.map +1 -1
  20. package/dist/SegmentedButtonItem.js +1 -0
  21. package/dist/SegmentedButtonItem.js.map +1 -1
  22. package/dist/StepInput.d.ts +17 -0
  23. package/dist/StepInput.js +79 -16
  24. package/dist/StepInput.js.map +1 -1
  25. package/dist/StepInputTemplate.js +1 -1
  26. package/dist/StepInputTemplate.js.map +1 -1
  27. package/dist/Table.js +4 -6
  28. package/dist/Table.js.map +1 -1
  29. package/dist/TableCell.d.ts +1 -1
  30. package/dist/TableCell.js +15 -13
  31. package/dist/TableCell.js.map +1 -1
  32. package/dist/TableCustomAnnouncement.js.map +1 -1
  33. package/dist/TableHeaderCell.d.ts +0 -1
  34. package/dist/TableHeaderCell.js +1 -8
  35. package/dist/TableHeaderCell.js.map +1 -1
  36. package/dist/TableHeaderCellActionBase.js.map +1 -1
  37. package/dist/TreeItemBaseTemplate.js +2 -2
  38. package/dist/TreeItemBaseTemplate.js.map +1 -1
  39. package/dist/css/themes/Avatar.css +1 -1
  40. package/dist/css/themes/AvatarGroup.css +1 -1
  41. package/dist/css/themes/Bar.css +1 -1
  42. package/dist/css/themes/Breadcrumbs.css +1 -1
  43. package/dist/css/themes/BusyIndicator.css +1 -1
  44. package/dist/css/themes/Button.css +1 -1
  45. package/dist/css/themes/ButtonBadge.css +1 -1
  46. package/dist/css/themes/Calendar.css +1 -1
  47. package/dist/css/themes/CalendarHeader.css +1 -1
  48. package/dist/css/themes/CalendarLegend.css +1 -1
  49. package/dist/css/themes/CalendarLegendItem.css +1 -1
  50. package/dist/css/themes/Card.css +1 -1
  51. package/dist/css/themes/CardHeader.css +1 -1
  52. package/dist/css/themes/Carousel.css +1 -1
  53. package/dist/css/themes/CheckBox.css +1 -1
  54. package/dist/css/themes/ColorPalette.css +1 -1
  55. package/dist/css/themes/ColorPaletteItem.css +1 -1
  56. package/dist/css/themes/ColorPalettePopover.css +1 -1
  57. package/dist/css/themes/ColorPicker.css +1 -1
  58. package/dist/css/themes/ComboBox.css +1 -1
  59. package/dist/css/themes/ComboBoxItem.css +1 -1
  60. package/dist/css/themes/DatePicker.css +1 -1
  61. package/dist/css/themes/DatePickerPopover.css +1 -1
  62. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  63. package/dist/css/themes/DayPicker.css +1 -1
  64. package/dist/css/themes/Dialog.css +1 -1
  65. package/dist/css/themes/DynamicDateRange.css +1 -1
  66. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  67. package/dist/css/themes/FileUploader.css +1 -1
  68. package/dist/css/themes/Form.css +1 -1
  69. package/dist/css/themes/FormItem.css +1 -1
  70. package/dist/css/themes/FormItemSpan.css +1 -1
  71. package/dist/css/themes/GrowingButton.css +1 -1
  72. package/dist/css/themes/Icon.css +1 -1
  73. package/dist/css/themes/Input.css +1 -1
  74. package/dist/css/themes/InputIcon.css +1 -1
  75. package/dist/css/themes/InputSharedStyles.css +1 -1
  76. package/dist/css/themes/Link.css +1 -1
  77. package/dist/css/themes/List.css +1 -1
  78. package/dist/css/themes/ListItem.css +1 -1
  79. package/dist/css/themes/ListItemBase.css +1 -1
  80. package/dist/css/themes/ListItemCustom.css +1 -1
  81. package/dist/css/themes/ListItemGroup.css +1 -1
  82. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  83. package/dist/css/themes/ListItemIcon.css +1 -1
  84. package/dist/css/themes/Menu.css +1 -1
  85. package/dist/css/themes/MenuItem.css +1 -1
  86. package/dist/css/themes/MessageStrip.css +1 -1
  87. package/dist/css/themes/MonthPicker.css +1 -1
  88. package/dist/css/themes/MultiComboBox.css +1 -1
  89. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  90. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  91. package/dist/css/themes/MultiInput.css +1 -1
  92. package/dist/css/themes/OptionBase.css +1 -1
  93. package/dist/css/themes/Panel.css +1 -1
  94. package/dist/css/themes/Popover.css +1 -1
  95. package/dist/css/themes/PopupsCommon.css +1 -1
  96. package/dist/css/themes/ProgressIndicator.css +1 -1
  97. package/dist/css/themes/RadioButton.css +1 -1
  98. package/dist/css/themes/RangeSlider.css +1 -1
  99. package/dist/css/themes/RatingIndicator.css +1 -1
  100. package/dist/css/themes/ResponsivePopover.css +1 -1
  101. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  102. package/dist/css/themes/SegmentedButton.css +1 -1
  103. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  104. package/dist/css/themes/Select.css +1 -1
  105. package/dist/css/themes/SliderBase.css +1 -1
  106. package/dist/css/themes/SplitButton.css +1 -1
  107. package/dist/css/themes/StepInput.css +1 -1
  108. package/dist/css/themes/SuggestionItem.css +1 -1
  109. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  110. package/dist/css/themes/Switch.css +1 -1
  111. package/dist/css/themes/TabContainer.css +1 -1
  112. package/dist/css/themes/TabInOverflow.css +1 -1
  113. package/dist/css/themes/TabInStrip.css +1 -1
  114. package/dist/css/themes/TabSemanticIcon.css +1 -1
  115. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  116. package/dist/css/themes/TableCellBase.css +1 -1
  117. package/dist/css/themes/TableHeaderRow.css +1 -1
  118. package/dist/css/themes/TableRow.css +1 -1
  119. package/dist/css/themes/TableRowActionBase.css +1 -1
  120. package/dist/css/themes/TableRowBase.css +1 -1
  121. package/dist/css/themes/Tag.css +1 -1
  122. package/dist/css/themes/Text.css +1 -1
  123. package/dist/css/themes/TextArea.css +1 -1
  124. package/dist/css/themes/TimePicker.css +1 -1
  125. package/dist/css/themes/Toast.css +1 -1
  126. package/dist/css/themes/ToggleButton.css +1 -1
  127. package/dist/css/themes/Token.css +1 -1
  128. package/dist/css/themes/Tokenizer.css +1 -1
  129. package/dist/css/themes/TokenizerPopover.css +1 -1
  130. package/dist/css/themes/Toolbar.css +1 -1
  131. package/dist/css/themes/ToolbarButton.css +1 -1
  132. package/dist/css/themes/ToolbarPopover.css +1 -1
  133. package/dist/css/themes/ToolbarSeparator.css +1 -1
  134. package/dist/css/themes/TreeItem.css +1 -1
  135. package/dist/css/themes/ValueStateMessage.css +1 -1
  136. package/dist/css/themes/ValueStateVariables.css +1 -1
  137. package/dist/css/themes/YearPicker.css +1 -1
  138. package/dist/css/themes/YearRangePicker.css +1 -1
  139. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  140. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  141. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  142. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  143. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  144. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  145. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  146. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  147. package/dist/custom-elements-internal.json +151 -0
  148. package/dist/custom-elements.json +89 -0
  149. package/dist/features/InputSuggestions.d.ts +1 -0
  150. package/dist/features/InputSuggestions.js +9 -6
  151. package/dist/features/InputSuggestions.js.map +1 -1
  152. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  153. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  154. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  155. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  156. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  157. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  158. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  159. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  160. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  161. package/dist/generated/themes/Avatar.css.js +1 -1
  162. package/dist/generated/themes/Avatar.css.js.map +1 -1
  163. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  164. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  165. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  166. package/dist/generated/themes/Bar.css.d.ts +1 -1
  167. package/dist/generated/themes/Bar.css.js +1 -1
  168. package/dist/generated/themes/Bar.css.js.map +1 -1
  169. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  170. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  171. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  172. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  173. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  174. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  175. package/dist/generated/themes/Button.css.d.ts +1 -1
  176. package/dist/generated/themes/Button.css.js +1 -1
  177. package/dist/generated/themes/Button.css.js.map +1 -1
  178. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  179. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  180. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  181. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  182. package/dist/generated/themes/Calendar.css.js +1 -1
  183. package/dist/generated/themes/Calendar.css.js.map +1 -1
  184. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  185. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  186. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  187. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  188. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  189. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  190. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  191. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  192. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  193. package/dist/generated/themes/Card.css.d.ts +1 -1
  194. package/dist/generated/themes/Card.css.js +1 -1
  195. package/dist/generated/themes/Card.css.js.map +1 -1
  196. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  197. package/dist/generated/themes/CardHeader.css.js +1 -1
  198. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  199. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  200. package/dist/generated/themes/Carousel.css.js +1 -1
  201. package/dist/generated/themes/Carousel.css.js.map +1 -1
  202. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  203. package/dist/generated/themes/CheckBox.css.js +1 -1
  204. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  205. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  206. package/dist/generated/themes/ColorPalette.css.js +1 -1
  207. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  208. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  209. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  210. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  211. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  212. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  213. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  214. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  215. package/dist/generated/themes/ColorPicker.css.js +1 -1
  216. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  217. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  218. package/dist/generated/themes/ComboBox.css.js +1 -1
  219. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  220. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  221. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  222. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  223. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  224. package/dist/generated/themes/DatePicker.css.js +1 -1
  225. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  226. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  227. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  228. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  229. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  230. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  231. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  232. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  233. package/dist/generated/themes/DayPicker.css.js +1 -1
  234. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  235. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  236. package/dist/generated/themes/Dialog.css.js +1 -1
  237. package/dist/generated/themes/Dialog.css.js.map +1 -1
  238. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  239. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  240. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  241. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  242. package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
  243. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  244. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  245. package/dist/generated/themes/FileUploader.css.js +1 -1
  246. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  247. package/dist/generated/themes/Form.css.d.ts +1 -1
  248. package/dist/generated/themes/Form.css.js +1 -1
  249. package/dist/generated/themes/Form.css.js.map +1 -1
  250. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  251. package/dist/generated/themes/FormItem.css.js +1 -1
  252. package/dist/generated/themes/FormItem.css.js.map +1 -1
  253. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  254. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  255. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  256. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  257. package/dist/generated/themes/GrowingButton.css.js +1 -1
  258. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  259. package/dist/generated/themes/Icon.css.d.ts +1 -1
  260. package/dist/generated/themes/Icon.css.js +1 -1
  261. package/dist/generated/themes/Icon.css.js.map +1 -1
  262. package/dist/generated/themes/Input.css.d.ts +1 -1
  263. package/dist/generated/themes/Input.css.js +1 -1
  264. package/dist/generated/themes/Input.css.js.map +1 -1
  265. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  266. package/dist/generated/themes/InputIcon.css.js +1 -1
  267. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  268. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  269. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  270. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  271. package/dist/generated/themes/Link.css.d.ts +1 -1
  272. package/dist/generated/themes/Link.css.js +1 -1
  273. package/dist/generated/themes/Link.css.js.map +1 -1
  274. package/dist/generated/themes/List.css.d.ts +1 -1
  275. package/dist/generated/themes/List.css.js +1 -1
  276. package/dist/generated/themes/List.css.js.map +1 -1
  277. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  278. package/dist/generated/themes/ListItem.css.js +1 -1
  279. package/dist/generated/themes/ListItem.css.js.map +1 -1
  280. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  281. package/dist/generated/themes/ListItemBase.css.js +1 -1
  282. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  283. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  284. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  285. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  286. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  287. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  288. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  289. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  290. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  291. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  292. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  293. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  294. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  295. package/dist/generated/themes/Menu.css.d.ts +1 -1
  296. package/dist/generated/themes/Menu.css.js +1 -1
  297. package/dist/generated/themes/Menu.css.js.map +1 -1
  298. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  299. package/dist/generated/themes/MenuItem.css.js +1 -1
  300. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  301. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  302. package/dist/generated/themes/MessageStrip.css.js +1 -1
  303. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  304. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  305. package/dist/generated/themes/MonthPicker.css.js +1 -1
  306. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  307. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  308. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  309. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  310. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  311. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  312. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  313. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  314. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  315. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  316. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  317. package/dist/generated/themes/MultiInput.css.js +1 -1
  318. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  319. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  320. package/dist/generated/themes/OptionBase.css.js +1 -1
  321. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  322. package/dist/generated/themes/Panel.css.d.ts +1 -1
  323. package/dist/generated/themes/Panel.css.js +1 -1
  324. package/dist/generated/themes/Panel.css.js.map +1 -1
  325. package/dist/generated/themes/Popover.css.d.ts +1 -1
  326. package/dist/generated/themes/Popover.css.js +1 -1
  327. package/dist/generated/themes/Popover.css.js.map +1 -1
  328. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  329. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  330. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  331. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  332. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  333. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  334. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  335. package/dist/generated/themes/RadioButton.css.js +1 -1
  336. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  337. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  338. package/dist/generated/themes/RangeSlider.css.js +1 -1
  339. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  340. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  341. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  342. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  343. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  344. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  345. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  346. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  347. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  348. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  349. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  350. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  351. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  352. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  353. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  354. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  355. package/dist/generated/themes/Select.css.d.ts +1 -1
  356. package/dist/generated/themes/Select.css.js +1 -1
  357. package/dist/generated/themes/Select.css.js.map +1 -1
  358. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  359. package/dist/generated/themes/SliderBase.css.js +1 -1
  360. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  361. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  362. package/dist/generated/themes/SplitButton.css.js +1 -1
  363. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  364. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  365. package/dist/generated/themes/StepInput.css.js +1 -1
  366. package/dist/generated/themes/StepInput.css.js.map +1 -1
  367. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  368. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  369. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  370. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  371. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  372. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  373. package/dist/generated/themes/Switch.css.d.ts +1 -1
  374. package/dist/generated/themes/Switch.css.js +1 -1
  375. package/dist/generated/themes/Switch.css.js.map +1 -1
  376. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  377. package/dist/generated/themes/TabContainer.css.js +1 -1
  378. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  379. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  380. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  381. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  382. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  383. package/dist/generated/themes/TabInStrip.css.js +1 -1
  384. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  385. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  386. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  387. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  388. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  389. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  390. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  391. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  392. package/dist/generated/themes/TableCellBase.css.js +1 -1
  393. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  394. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  395. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  396. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  397. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  398. package/dist/generated/themes/TableRow.css.js +1 -1
  399. package/dist/generated/themes/TableRow.css.js.map +1 -1
  400. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  401. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  402. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  403. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  404. package/dist/generated/themes/TableRowBase.css.js +1 -1
  405. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  406. package/dist/generated/themes/Tag.css.d.ts +1 -1
  407. package/dist/generated/themes/Tag.css.js +1 -1
  408. package/dist/generated/themes/Tag.css.js.map +1 -1
  409. package/dist/generated/themes/Text.css.d.ts +1 -1
  410. package/dist/generated/themes/Text.css.js +1 -1
  411. package/dist/generated/themes/Text.css.js.map +1 -1
  412. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  413. package/dist/generated/themes/TextArea.css.js +1 -1
  414. package/dist/generated/themes/TextArea.css.js.map +1 -1
  415. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  416. package/dist/generated/themes/TimePicker.css.js +1 -1
  417. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  418. package/dist/generated/themes/Toast.css.d.ts +1 -1
  419. package/dist/generated/themes/Toast.css.js +1 -1
  420. package/dist/generated/themes/Toast.css.js.map +1 -1
  421. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  422. package/dist/generated/themes/ToggleButton.css.js +1 -1
  423. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  424. package/dist/generated/themes/Token.css.d.ts +1 -1
  425. package/dist/generated/themes/Token.css.js +1 -1
  426. package/dist/generated/themes/Token.css.js.map +1 -1
  427. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  428. package/dist/generated/themes/Tokenizer.css.js +1 -1
  429. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  430. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  431. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  432. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  433. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  434. package/dist/generated/themes/Toolbar.css.js +1 -1
  435. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  436. package/dist/generated/themes/ToolbarButton.css.d.ts +1 -1
  437. package/dist/generated/themes/ToolbarButton.css.js +1 -1
  438. package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
  439. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  440. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  441. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  442. package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
  443. package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
  444. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
  445. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  446. package/dist/generated/themes/TreeItem.css.js +1 -1
  447. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  448. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  449. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  450. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  451. package/dist/generated/themes/ValueStateVariables.css.d.ts +1 -1
  452. package/dist/generated/themes/ValueStateVariables.css.js +1 -1
  453. package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
  454. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  455. package/dist/generated/themes/YearPicker.css.js +1 -1
  456. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  457. package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
  458. package/dist/generated/themes/YearRangePicker.css.js +1 -1
  459. package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
  460. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  461. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  462. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  463. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  464. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  465. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  466. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  467. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  468. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  469. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  470. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  471. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  472. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  473. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  474. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  475. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  476. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  477. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  478. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  479. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  480. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  481. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  482. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  483. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  484. package/dist/types/InputSuggestionsFilter.d.ts +27 -0
  485. package/dist/types/InputSuggestionsFilter.js +29 -0
  486. package/dist/types/InputSuggestionsFilter.js.map +1 -0
  487. package/dist/vscode.html-custom-data.json +21 -1
  488. package/dist/web-types.json +40 -2
  489. package/package.json +9 -9
  490. package/src/ColorPickerTemplate.tsx +1 -1
  491. package/src/InputTemplate.tsx +1 -1
  492. package/src/MenuItemTemplate.tsx +4 -1
  493. package/src/MenuTemplate.tsx +1 -0
  494. package/src/StepInputTemplate.tsx +1 -0
  495. package/src/TreeItemBaseTemplate.tsx +2 -2
  496. package/src/themes/Menu.css +8 -0
  497. package/src/themes/MenuItem.css +8 -0
  498. package/src/themes/SegmentedButton.css +2 -2
  499. package/src/themes/SegmentedButtonItem.css +0 -4
  500. package/src/themes/TableCellBase.css +4 -0
  501. package/src/themes/TreeItem.css +10 -2
  502. package/src/themes/base/sizes-parameters.css +0 -56
  503. package/src/themes/sap_fiori_3/sizes-parameters.css +0 -8
  504. package/src/themes/sap_fiori_3_dark/sizes-parameters.css +0 -5
  505. package/src/themes/sap_fiori_3_hcb/sizes-parameters.css +0 -5
  506. package/src/themes/sap_fiori_3_hcw/sizes-parameters.css +0 -5
@@ -90,6 +90,11 @@ declare class ColorPicker extends UI5Element implements IFormInputElement {
90
90
  * @private
91
91
  */
92
92
  _alpha: number;
93
+ /**
94
+ * this is the alpha value in the input only while editing, since it can container invalid/empty values temporarily
95
+ * @private
96
+ */
97
+ _alphaTemp?: string;
93
98
  /**
94
99
  * @private
95
100
  */
@@ -178,6 +178,7 @@ let ColorPicker = ColorPicker_1 = class ColorPicker extends UI5Element {
178
178
  }
179
179
  _handleAlphaInput(e) {
180
180
  const aphaInputValue = String(e.currentTarget.value);
181
+ this._alphaTemp = aphaInputValue;
181
182
  this._alpha = parseFloat(aphaInputValue);
182
183
  if (Number.isNaN(this._alpha)) {
183
184
  this._alpha = 1;
@@ -308,6 +309,14 @@ let ColorPicker = ColorPicker_1 = class ColorPicker extends UI5Element {
308
309
  }
309
310
  }
310
311
  _handleAlphaChange() {
312
+ // parse the input value if valid or fallback to default
313
+ this._alpha = this._alphaTemp ? parseFloat(this._alphaTemp) : 1;
314
+ if (Number.isNaN(this._alpha)) {
315
+ this._alpha = 1;
316
+ }
317
+ // reset input value so _alpha is rendered
318
+ this._alphaTemp = undefined;
319
+ // normalize range
311
320
  this._alpha = this._alpha < 0 ? 0 : this._alpha;
312
321
  this._alpha = this._alpha > 1 ? 1 : this._alpha;
313
322
  this._colorValue.Alpha = this._alpha;
@@ -520,6 +529,9 @@ __decorate([
520
529
  __decorate([
521
530
  property({ type: Number })
522
531
  ], ColorPicker.prototype, "_alpha", void 0);
532
+ __decorate([
533
+ property()
534
+ ], ColorPicker.prototype, "_alphaTemp", void 0);
523
535
  __decorate([
524
536
  property({ type: Number })
525
537
  ], ColorPicker.prototype, "_hue", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPicker.js","sourceRoot":"","sources":["../src/ColorPicker.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport { isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport {\n\tgetRGBColor,\n\tgetAlpha,\n} from \"@ui5/webcomponents-base/dist/util/ColorConversion.js\";\nimport type {\n\tColorHSL,\n\tColorRGB,\n} from \"@ui5/webcomponents-base/dist/util/ColorConversion.js\";\nimport \"@ui5/webcomponents-icons/dist/expand.js\";\nimport ColorValue from \"./colorpicker-utils/ColorValue.js\";\nimport ColorPickerTemplate from \"./ColorPickerTemplate.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport type Input from \"./Input.js\";\nimport type Slider from \"./Slider.js\";\n\nimport {\n\tCOLORPICKER_LABEL,\n\tCOLORPICKER_SLIDER_GROUP,\n\tCOLORPICKER_ALPHA_SLIDER,\n\tCOLORPICKER_HUE_SLIDER,\n\tCOLORPICKER_HEX,\n\tCOLORPICKER_RED,\n\tCOLORPICKER_GREEN,\n\tCOLORPICKER_BLUE,\n\tCOLORPICKER_ALPHA,\n\tCOLORPICKER_SATURATION,\n\tCOLORPICKER_LIGHT,\n\tCOLORPICKER_HUE,\n\tCOLORPICKER_TOGGLE_MODE_TOOLTIP,\n\tCOLORPICKER_PERCENTAGE,\n\tCOLORPICKER_COLOR_MODE_CHANGED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport ColorPickerCss from \"./generated/themes/ColorPicker.css.js\";\nimport type { UI5CustomEvent } from \"@ui5/webcomponents-base/dist/index.js\";\n\nconst PICKER_POINTER_WIDTH = 6.5;\n\ntype ColorCoordinates = {\n\tx: number,\n\ty: number,\n}\n\ntype ColorChannelInput = {\n\tid: string,\n\tvalue: number,\n\taccessibleName: string\n\tlabel: string,\n\tshowPercentSymbol?: boolean,\n}\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-color-picker` allows users to choose any color and provides different input options for selecting colors.\n *\n * ### Usage\n *\n * #### When to use\n * Use the color picker if:\n *\n * - users need to select any color freely.\n *\n * #### When not to use\n *\n * - Users need to select one color from a predefined set of colors. Use the ColorPalette component instead.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/ColorPicker.js\";`\n * @constructor\n * @since 1.0.0-rc.12\n * @extends UI5Element\n * @public\n */\n\n@customElement({\n\ttag: \"ui5-color-picker\",\n\trenderer: jsxRenderer,\n\tformAssociated: true,\n\tstyles: ColorPickerCss,\n\ttemplate: ColorPickerTemplate,\n\tshadowRootOptions: { delegatesFocus: true },\n})\n/**\n * Fired when the the selected color is changed\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n})\nclass ColorPicker extends UI5Element implements IFormInputElement {\n\teventDetails!: {\n\t\tchange: void;\n\t}\n\t/**\n\t * Defines the currently selected color of the component.\n\t *\n\t * **Note**: use HEX, RGB, RGBA, HSV formats or a CSS color name when modifying this property.\n\t * @default \"rgba(255,255,255,1)\"\n\t * @public\n\t */\n\t@property()\n\tvalue = \"rgba(255,255,255,1)\";\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 * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * When set to `true`, the alpha slider and inputs for RGB values will not be displayed.\n\t * @default false\n\t * @public\n\t * @since 2.5.0\n\t */\n\t@property({ type: Boolean })\n\tsimplified = false;\n\n\t/**\n\t * Defines the current main color which is selected via the hue slider and is shown in the main color square.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_mainValue: ColorRGB;\n\n\t/**\n\t * Defines the currenty selected color.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_colorValue: ColorValue;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_selectedCoordinates: ColorCoordinates;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_alpha = 1;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_hue = 0;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isSelectedColorChanged = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isHueValueChanged = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_wrongHEX = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_displayHSL = false;\n\n\tselectedHue: number;\n\n\tmouseDown: boolean;\n\n\tmouseIn: boolean;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue() {\n\t\treturn this.value;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._colorValue = new ColorValue();\n\n\t\t// Bottom Right corner\n\t\tthis._selectedCoordinates = {\n\t\t\tx: 256 - PICKER_POINTER_WIDTH,\n\t\t\ty: 256 - PICKER_POINTER_WIDTH,\n\t\t};\n\n\t\t// Default main color is red\n\t\tthis._mainValue = {\n\t\t\tr: 255,\n\t\t\tg: 0,\n\t\t\tb: 0,\n\t\t};\n\n\t\tthis.selectedHue = 0;\n\n\t\tthis.mouseDown = false;\n\t\tthis.mouseIn = false;\n\t}\n\n\tonBeforeRendering() {\n\t\tconst valueAsRGB = getRGBColor(this.value);\n\t\tif (!this._isColorValueEqual(valueAsRGB)) {\n\t\t\tthis._colorValue.RGB = valueAsRGB;\n\t\t}\n\t\tconst alpha = getAlpha(this.value);\n\t\tif (alpha !== this._colorValue.Alpha) {\n\t\t\tthis._colorValue.Alpha = alpha;\n\t\t\tthis._alpha = this._colorValue.Alpha;\n\t\t}\n\t\tconst tempColor = this._colorValue.toRGBString();\n\t\tthis._updateColorGrid();\n\t\tthis.style.setProperty(getScopedVarName(\"--ui5_Color_Picker_Progress_Container_Color\"), tempColor);\n\t}\n\n\t_handleMouseDown(e: MouseEvent) {\n\t\tthis.mouseDown = true;\n\t\tthis.mouseIn = true;\n\t\tthis._changeSelectedColor(e.offsetX, e.offsetY);\n\t}\n\n\t_handleMouseUp() {\n\t\tthis.mouseDown = false;\n\t}\n\n\t_handleMouseOut(e: MouseEvent) {\n\t\tif (!this.mouseIn || !this.mouseDown) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst target = e.target as HTMLElement;\n\t\tconst offsetHeight: number = target.offsetHeight;\n\t\tconst offsetWidth: number = target.offsetWidth;\n\t\tconst isLeft: boolean = e.offsetX <= 0;\n\t\tconst isUp: boolean = e.offsetY <= 0;\n\t\tconst isDown: boolean = e.offsetY >= target.offsetHeight;\n\t\tconst isRight: boolean = e.offsetX >= target.offsetWidth;\n\n\t\tlet x: number,\n\t\t\ty: number;\n\n\t\tif (isLeft) {\n\t\t\tx = 0;\n\t\t} else if (isRight) {\n\t\t\t// Note: - e.offsetWidth has been changed to e.target.offsetWidth as offsetWidth does not exist on the event object\n\t\t\tx = offsetWidth;\n\t\t} else {\n\t\t\tx = e.offsetX;\n\t\t}\n\n\t\tif (isUp) {\n\t\t\ty = 0;\n\t\t} else if (isDown) {\n\t\t\t// Note: - e.offsetWidth has been changed to e.target.offsetWidth as offsetWidth does not exist on the event object\n\t\t\ty = offsetHeight;\n\t\t} else {\n\t\t\ty = e.offsetY;\n\t\t}\n\n\t\tthis._changeSelectedColor(x, y);\n\t\tthis.mouseIn = false;\n\t\tthis.mouseDown = false;\n\t}\n\n\t_handleMouseMove(e: MouseEvent) {\n\t\tif (!this.mouseDown || !this.mouseIn) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._changeSelectedColor(e.offsetX, e.offsetY);\n\t}\n\n\t_handleAlphaInput(e: UI5CustomEvent<Input, \"input\"> | UI5CustomEvent<Slider, \"input\">) {\n\t\tconst aphaInputValue = String(e.currentTarget.value);\n\t\tthis._alpha = parseFloat(aphaInputValue);\n\t\tif (Number.isNaN(this._alpha)) {\n\t\t\tthis._alpha = 1;\n\t\t}\n\t\tthis._colorValue.Alpha = this._alpha;\n\t\tthis._isHueValueChanged = true;\n\n\t\tconst color = this._colorValue.toRGBString();\n\t\tthis._setValue(color);\n\t}\n\n\t_handleHueInput(e: CustomEvent) {\n\t\tthis.selectedHue = (e.target as Slider).value;\n\t\tthis._hue = this.selectedHue;\n\t\tthis._setMainColor(this._hue);\n\t\t// Idication that changes to the hue value triggered as a result of user pressing over the hue slider.\n\t\tthis._isHueValueChanged = true;\n\t\tthis._colorValue.H = this._hue;\n\n\t\tconst color = this._colorValue.toRGBString();\n\t\tthis._setValue(color);\n\t}\n\n\t_handleHEXChange(e: CustomEvent | KeyboardEvent) {\n\t\tconst input: Input = (e.target as Input);\n\t\tlet inputValueLowerCase = input.value.toLowerCase();\n\n\t\tif (inputValueLowerCase.startsWith(\"#\")) {\n\t\t\tinputValueLowerCase = inputValueLowerCase.slice(1);\n\t\t}\n\n\t\t// Shorthand Syntax\n\t\tif (inputValueLowerCase.length === 3) {\n\t\t\tinputValueLowerCase = `${inputValueLowerCase[0]}${inputValueLowerCase[0]}${inputValueLowerCase[1]}${inputValueLowerCase[1]}${inputValueLowerCase[2]}${inputValueLowerCase[2]}`;\n\t\t}\n\n\t\tthis._colorValue.HEX = inputValueLowerCase;\n\t\tconst isValidColor = this._colorValue.isColorValueValid();\n\n\t\tif (isValidColor && input.value !== inputValueLowerCase) {\n\t\t\tthis._wrongHEX = false;\n\t\t\tinput.value = inputValueLowerCase;\n\t\t}\n\n\t\tif (!isValidColor) {\n\t\t\tthis._wrongHEX = true;\n\t\t} else {\n\t\t\tthis._wrongHEX = false;\n\n\t\t\tconst color = this._colorValue.toRGBString();\n\t\t\tthis._setValue(color);\n\t\t}\n\t}\n\n\t_togglePickerMode() {\n\t\tthis._displayHSL = !this._displayHSL;\n\n\t\t// Announce a message to screen readers\n\t\tannounce(this.colorFieldsAnnouncementText, InvisibleMessageMode.Polite);\n\t}\n\n\t_handleColorInputChange(e: Event) {\n\t\tconst target = e.target as Input;\n\t\tconst targetValue = parseInt(target.value) || 0;\n\t\tlet normalizedValue = targetValue;\n\n\t\tswitch (target.id) {\n\t\tcase \"red\":\n\t\t\tthis._colorValue.R = targetValue;\n\t\t\tnormalizedValue = this._colorValue.R;\n\t\t\tbreak;\n\n\t\tcase \"green\":\n\t\t\tthis._colorValue.G = targetValue;\n\t\t\tnormalizedValue = this._colorValue.G;\n\t\t\tbreak;\n\n\t\tcase \"blue\":\n\t\t\tthis._colorValue.B = targetValue;\n\t\t\tnormalizedValue = this._colorValue.B;\n\t\t\tbreak;\n\n\t\tcase \"hue\":\n\t\t\tthis._colorValue.H = targetValue;\n\t\t\tnormalizedValue = this._colorValue.H;\n\t\t\tbreak;\n\n\t\tcase \"saturation\":\n\t\t\tthis._colorValue.S = targetValue;\n\t\t\tnormalizedValue = this._colorValue.S;\n\t\t\tbreak;\n\n\t\tcase \"light\":\n\t\t\tthis._colorValue.L = targetValue;\n\t\t\tnormalizedValue = this._colorValue.L;\n\t\t\tbreak;\n\t\t}\n\n\t\ttarget.value = String(normalizedValue);\n\t\tconst color = this._colorValue.toRGBString();\n\t\tthis._setValue(color);\n\t\tthis._updateColorGrid();\n\t}\n\n\t_setMainColor(hueValue: number) {\n\t\tconst hueValueMod = hueValue * 4.251;\n\n\t\tif (hueValueMod <= 255) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 255,\n\t\t\t\tg: hueValueMod,\n\t\t\t\tb: 0,\n\t\t\t};\n\t\t} else if (hueValueMod <= 510) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 255 - (hueValueMod - 255),\n\t\t\t\tg: 255,\n\t\t\t\tb: 0,\n\t\t\t};\n\t\t} else if (hueValueMod <= 765) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 0,\n\t\t\t\tg: 255,\n\t\t\t\tb: hueValueMod - 510,\n\t\t\t};\n\t\t} else if (hueValueMod <= 1020) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 0,\n\t\t\t\tg: 765 - (hueValueMod - 255),\n\t\t\t\tb: 255,\n\t\t\t};\n\t\t} else if (hueValueMod <= 1275) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: hueValueMod - 1020,\n\t\t\t\tg: 0,\n\t\t\t\tb: 255,\n\t\t\t};\n\t\t} else {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 255,\n\t\t\t\tg: 0,\n\t\t\t\tb: 1275 - (hueValueMod - 255),\n\t\t\t};\n\t\t}\n\t}\n\n\t_handleAlphaChange() {\n\t\tthis._alpha = this._alpha < 0 ? 0 : this._alpha;\n\t\tthis._alpha = this._alpha > 1 ? 1 : this._alpha;\n\n\t\tthis._colorValue.Alpha = this._alpha;\n\t}\n\n\t_changeSelectedColor(x: number, y: number) {\n\t\tthis._selectedCoordinates = {\n\t\t\tx: x - PICKER_POINTER_WIDTH, // Center the coordinates, because of the width of the circle\n\t\t\ty: y - PICKER_POINTER_WIDTH, // Center the coordinates, because of the height of the circle\n\t\t};\n\n\t\t// Idication that changes to the color settings are triggered as a result of user pressing over the main color section.\n\t\tthis._isSelectedColorChanged = true;\n\n\t\tconst tempColor = this._calculateColorFromCoordinates(x, y);\n\t\tif (tempColor) {\n\t\t\tthis._colorValue.HSL = tempColor;\n\n\t\t\tconst color = this._colorValue.toRGBString();\n\t\t\tthis._setValue(color);\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e)) {\n\t\t\tthis._handleHEXChange(e);\n\t\t}\n\t}\n\n\t_calculateColorFromCoordinates(x: number, y: number) {\n\t\t// By using the selected coordinates(x = Lightness, y = Saturation) and hue(selected from the hue slider)\n\t\t// and HSL format, the color will be parsed to RGB\n\t\t// 0 ≤ H < 360\n\t\t// 4.251 because with 4.25 we get out of the colors range.\n\t\tconst h = this._hue;\n\t\tlet s = +(1 - (y / 256)).toFixed(2);\n\t\tlet l = +(x / 256).toFixed(2);\n\n\t\tif (Number.isNaN(s) || Number.isNaN(l)) {\n\t\t\t// The event is finished out of the main color section\n\t\t\treturn;\n\t\t}\n\n\t\t// Normalize values to be between 0 and 1 in case of rounding issues\n\t\ts = Math.max(0, Math.min(1, s));\n\t\tl = Math.max(0, Math.min(1, l));\n\n\t\treturn {\n\t\t\th: Math.round(h),\n\t\t\ts: Math.round(s * 100),\n\t\t\tl: Math.round(l * 100),\n\t\t};\n\t}\n\n\t_setValue(color: string) {\n\t\tthis.value = color;\n\t\tthis._wrongHEX = !this._colorValue.isColorValueValid();\n\t\tthis.fireDecoratorEvent(\"change\");\n\t}\n\n\t_updateColorGrid() {\n\t\tconst hslColours: ColorHSL = this._colorValue.HSL;\n\t\tthis._selectedCoordinates = {\n\t\t\tx: ((hslColours.l * 2.56)) - PICKER_POINTER_WIDTH, // Center the coordinates, because of the width of the circle\n\t\t\ty: (256 - (hslColours.s * 2.56)) - PICKER_POINTER_WIDTH, // Center the coordinates, because of the height of the circle\n\t\t};\n\n\t\tif (this._isSelectedColorChanged) { // We shouldn't update the hue value when user presses over the main color section.\n\t\t\tthis._isSelectedColorChanged = false;\n\t\t} else if (this._isHueValueChanged) { // We shouldn't recalculate the hue value when user changes the hue slider.\n\t\t\tthis._isHueValueChanged = false;\n\t\t\tthis._hue = this.selectedHue ? this.selectedHue : this._hue;\n\t\t} else {\n\t\t\tthis._hue = hslColours.h;\n\t\t}\n\n\t\tthis._setMainColor(this._hue);\n\t}\n\n\t_isColorValueEqual(value: ColorRGB): boolean {\n\t\treturn this._colorValue.R === value.r\n\t\t\t&& this._colorValue.G === value.g\n\t\t\t&& this._colorValue.B === value.b;\n\t}\n\n\tget colorPickerLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_LABEL);\n\t}\n\n\tget sliderGroupLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_SLIDER_GROUP);\n\t}\n\n\tget hueSliderLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_HUE_SLIDER);\n\t}\n\n\tget alphaSliderLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_ALPHA_SLIDER);\n\t}\n\n\tget hexInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_HEX);\n\t}\n\n\tget redInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_RED);\n\t}\n\n\tget greenInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_GREEN);\n\t}\n\n\tget blueInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_BLUE);\n\t}\n\n\tget hueInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_HUE);\n\t}\n\n\tget saturationInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_SATURATION);\n\t}\n\n\tget lightInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_LIGHT);\n\t}\n\n\tget alphaInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_ALPHA);\n\t}\n\n\tget percentageLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_PERCENTAGE);\n\t}\n\n\tget colorFieldsAnnouncementText() {\n\t\tconst mode = this._displayHSL ? \"HSL\" : \"RGB\";\n\t\tlet text = \"\";\n\n\t\tif (mode === \"RGB\") {\n\t\t\ttext = `${this.redInputLabel} ${this._colorValue.R}, `\n\t\t\t\t+ `${this.greenInputLabel} ${this._colorValue.G}, `\n\t\t\t\t+ `${this.blueInputLabel} ${this._colorValue.B}, `\n\t\t\t\t+ `${this.alphaInputLabel} ${this._colorValue.Alpha}`;\n\t\t} else {\n\t\t\ttext = `${this.hueInputLabel} ${this._colorValue.H}, `\n\t\t\t\t+ `${this.saturationInputLabel} ${this._colorValue.S} ${this.percentageLabel}, `\n\t\t\t\t+ `${this.lightInputLabel} ${this._colorValue.L} ${this.percentageLabel}, `\n\t\t\t\t+ `${this.alphaInputLabel} ${this._colorValue.Alpha}`;\n\t\t}\n\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_COLOR_MODE_CHANGED, mode, text);\n\t}\n\n\tget toggleModeTooltip() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_TOGGLE_MODE_TOOLTIP);\n\t}\n\n\tget inputsDisabled() {\n\t\treturn this._wrongHEX ? true : undefined;\n\t}\n\n\tget hexInputErrorState(): `${ValueState}` {\n\t\treturn this._wrongHEX ? \"Negative\" : \"None\";\n\t}\n\n\tget rgbInputs(): Array<ColorChannelInput> {\n\t\tconst redInput = {\n\t\t\tid: \"red\",\n\t\t\tvalue: this._colorValue.R,\n\t\t\tlabel: \"R\",\n\t\t\taccessibleName: this.redInputLabel,\n\t\t};\n\n\t\tconst greenInput = {\n\t\t\tid: \"green\",\n\t\t\tvalue: this._colorValue.G,\n\t\t\tlabel: \"G\",\n\t\t\taccessibleName: this.greenInputLabel,\n\t\t};\n\n\t\tconst blueInput = {\n\t\t\tid: \"blue\",\n\t\t\tvalue: this._colorValue.B,\n\t\t\tlabel: \"B\",\n\t\t\taccessibleName: this.blueInputLabel,\n\t\t};\n\n\t\treturn [redInput, greenInput, blueInput];\n\t}\n\n\tget hslInputs(): Array<ColorChannelInput> {\n\t\tconst hueInput = {\n\t\t\tid: \"hue\",\n\t\t\tvalue: this._colorValue.H,\n\t\t\tlabel: \"H\",\n\t\t\taccessibleName: this.hueInputLabel,\n\t\t};\n\n\t\tconst saturationInput = {\n\t\t\tid: \"saturation\",\n\t\t\tvalue: this._colorValue.S,\n\t\t\tlabel: \"S\",\n\t\t\taccessibleName: this.saturationInputLabel,\n\t\t\tshowPercentSymbol: true,\n\t\t};\n\n\t\tconst lightInput = {\n\t\t\tid: \"light\",\n\t\t\tvalue: this._colorValue.L,\n\t\t\tlabel: \"L\",\n\t\t\taccessibleName: this.lightInputLabel,\n\t\t\tshowPercentSymbol: true,\n\t\t};\n\n\t\treturn [hueInput, saturationInput, lightInput];\n\t}\n\n\tget HEX(): string {\n\t\treturn this._colorValue.HEX;\n\t}\n\n\tget colorChannelInputs() {\n\t\treturn this._displayHSL ? this.hslInputs : this.rgbInputs;\n\t}\n\n\tget _isDefaultPickerMode() {\n\t\treturn !this.simplified;\n\t}\n}\n\nColorPicker.define();\n\nexport default ColorPicker;\n"]}
1
+ {"version":3,"file":"ColorPicker.js","sourceRoot":"","sources":["../src/ColorPicker.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport { isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport {\n\tgetRGBColor,\n\tgetAlpha,\n} from \"@ui5/webcomponents-base/dist/util/ColorConversion.js\";\nimport type {\n\tColorHSL,\n\tColorRGB,\n} from \"@ui5/webcomponents-base/dist/util/ColorConversion.js\";\nimport \"@ui5/webcomponents-icons/dist/expand.js\";\nimport ColorValue from \"./colorpicker-utils/ColorValue.js\";\nimport ColorPickerTemplate from \"./ColorPickerTemplate.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport type Input from \"./Input.js\";\nimport type Slider from \"./Slider.js\";\n\nimport {\n\tCOLORPICKER_LABEL,\n\tCOLORPICKER_SLIDER_GROUP,\n\tCOLORPICKER_ALPHA_SLIDER,\n\tCOLORPICKER_HUE_SLIDER,\n\tCOLORPICKER_HEX,\n\tCOLORPICKER_RED,\n\tCOLORPICKER_GREEN,\n\tCOLORPICKER_BLUE,\n\tCOLORPICKER_ALPHA,\n\tCOLORPICKER_SATURATION,\n\tCOLORPICKER_LIGHT,\n\tCOLORPICKER_HUE,\n\tCOLORPICKER_TOGGLE_MODE_TOOLTIP,\n\tCOLORPICKER_PERCENTAGE,\n\tCOLORPICKER_COLOR_MODE_CHANGED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport ColorPickerCss from \"./generated/themes/ColorPicker.css.js\";\nimport type { UI5CustomEvent } from \"@ui5/webcomponents-base/dist/index.js\";\n\nconst PICKER_POINTER_WIDTH = 6.5;\n\ntype ColorCoordinates = {\n\tx: number,\n\ty: number,\n}\n\ntype ColorChannelInput = {\n\tid: string,\n\tvalue: number,\n\taccessibleName: string\n\tlabel: string,\n\tshowPercentSymbol?: boolean,\n}\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-color-picker` allows users to choose any color and provides different input options for selecting colors.\n *\n * ### Usage\n *\n * #### When to use\n * Use the color picker if:\n *\n * - users need to select any color freely.\n *\n * #### When not to use\n *\n * - Users need to select one color from a predefined set of colors. Use the ColorPalette component instead.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/ColorPicker.js\";`\n * @constructor\n * @since 1.0.0-rc.12\n * @extends UI5Element\n * @public\n */\n\n@customElement({\n\ttag: \"ui5-color-picker\",\n\trenderer: jsxRenderer,\n\tformAssociated: true,\n\tstyles: ColorPickerCss,\n\ttemplate: ColorPickerTemplate,\n\tshadowRootOptions: { delegatesFocus: true },\n})\n/**\n * Fired when the the selected color is changed\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n})\nclass ColorPicker extends UI5Element implements IFormInputElement {\n\teventDetails!: {\n\t\tchange: void;\n\t}\n\t/**\n\t * Defines the currently selected color of the component.\n\t *\n\t * **Note**: use HEX, RGB, RGBA, HSV formats or a CSS color name when modifying this property.\n\t * @default \"rgba(255,255,255,1)\"\n\t * @public\n\t */\n\t@property()\n\tvalue = \"rgba(255,255,255,1)\";\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 * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * When set to `true`, the alpha slider and inputs for RGB values will not be displayed.\n\t * @default false\n\t * @public\n\t * @since 2.5.0\n\t */\n\t@property({ type: Boolean })\n\tsimplified = false;\n\n\t/**\n\t * Defines the current main color which is selected via the hue slider and is shown in the main color square.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_mainValue: ColorRGB;\n\n\t/**\n\t * Defines the currenty selected color.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_colorValue: ColorValue;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_selectedCoordinates: ColorCoordinates;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_alpha = 1;\n\n\t/**\n\t * this is the alpha value in the input only while editing, since it can container invalid/empty values temporarily\n\t * @private\n\t */\n\t@property()\n\t_alphaTemp?: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_hue = 0;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isSelectedColorChanged = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isHueValueChanged = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_wrongHEX = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_displayHSL = false;\n\n\tselectedHue: number;\n\n\tmouseDown: boolean;\n\n\tmouseIn: boolean;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue() {\n\t\treturn this.value;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._colorValue = new ColorValue();\n\n\t\t// Bottom Right corner\n\t\tthis._selectedCoordinates = {\n\t\t\tx: 256 - PICKER_POINTER_WIDTH,\n\t\t\ty: 256 - PICKER_POINTER_WIDTH,\n\t\t};\n\n\t\t// Default main color is red\n\t\tthis._mainValue = {\n\t\t\tr: 255,\n\t\t\tg: 0,\n\t\t\tb: 0,\n\t\t};\n\n\t\tthis.selectedHue = 0;\n\n\t\tthis.mouseDown = false;\n\t\tthis.mouseIn = false;\n\t}\n\n\tonBeforeRendering() {\n\t\tconst valueAsRGB = getRGBColor(this.value);\n\t\tif (!this._isColorValueEqual(valueAsRGB)) {\n\t\t\tthis._colorValue.RGB = valueAsRGB;\n\t\t}\n\t\tconst alpha = getAlpha(this.value);\n\t\tif (alpha !== this._colorValue.Alpha) {\n\t\t\tthis._colorValue.Alpha = alpha;\n\t\t\tthis._alpha = this._colorValue.Alpha;\n\t\t}\n\t\tconst tempColor = this._colorValue.toRGBString();\n\t\tthis._updateColorGrid();\n\t\tthis.style.setProperty(getScopedVarName(\"--ui5_Color_Picker_Progress_Container_Color\"), tempColor);\n\t}\n\n\t_handleMouseDown(e: MouseEvent) {\n\t\tthis.mouseDown = true;\n\t\tthis.mouseIn = true;\n\t\tthis._changeSelectedColor(e.offsetX, e.offsetY);\n\t}\n\n\t_handleMouseUp() {\n\t\tthis.mouseDown = false;\n\t}\n\n\t_handleMouseOut(e: MouseEvent) {\n\t\tif (!this.mouseIn || !this.mouseDown) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst target = e.target as HTMLElement;\n\t\tconst offsetHeight: number = target.offsetHeight;\n\t\tconst offsetWidth: number = target.offsetWidth;\n\t\tconst isLeft: boolean = e.offsetX <= 0;\n\t\tconst isUp: boolean = e.offsetY <= 0;\n\t\tconst isDown: boolean = e.offsetY >= target.offsetHeight;\n\t\tconst isRight: boolean = e.offsetX >= target.offsetWidth;\n\n\t\tlet x: number,\n\t\t\ty: number;\n\n\t\tif (isLeft) {\n\t\t\tx = 0;\n\t\t} else if (isRight) {\n\t\t\t// Note: - e.offsetWidth has been changed to e.target.offsetWidth as offsetWidth does not exist on the event object\n\t\t\tx = offsetWidth;\n\t\t} else {\n\t\t\tx = e.offsetX;\n\t\t}\n\n\t\tif (isUp) {\n\t\t\ty = 0;\n\t\t} else if (isDown) {\n\t\t\t// Note: - e.offsetWidth has been changed to e.target.offsetWidth as offsetWidth does not exist on the event object\n\t\t\ty = offsetHeight;\n\t\t} else {\n\t\t\ty = e.offsetY;\n\t\t}\n\n\t\tthis._changeSelectedColor(x, y);\n\t\tthis.mouseIn = false;\n\t\tthis.mouseDown = false;\n\t}\n\n\t_handleMouseMove(e: MouseEvent) {\n\t\tif (!this.mouseDown || !this.mouseIn) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._changeSelectedColor(e.offsetX, e.offsetY);\n\t}\n\n\t_handleAlphaInput(e: UI5CustomEvent<Input, \"input\"> | UI5CustomEvent<Slider, \"input\">) {\n\t\tconst aphaInputValue = String(e.currentTarget.value);\n\t\tthis._alphaTemp = aphaInputValue;\n\t\tthis._alpha = parseFloat(aphaInputValue);\n\t\tif (Number.isNaN(this._alpha)) {\n\t\t\tthis._alpha = 1;\n\t\t}\n\t\tthis._colorValue.Alpha = this._alpha;\n\t\tthis._isHueValueChanged = true;\n\n\t\tconst color = this._colorValue.toRGBString();\n\t\tthis._setValue(color);\n\t}\n\n\t_handleHueInput(e: CustomEvent) {\n\t\tthis.selectedHue = (e.target as Slider).value;\n\t\tthis._hue = this.selectedHue;\n\t\tthis._setMainColor(this._hue);\n\t\t// Idication that changes to the hue value triggered as a result of user pressing over the hue slider.\n\t\tthis._isHueValueChanged = true;\n\t\tthis._colorValue.H = this._hue;\n\n\t\tconst color = this._colorValue.toRGBString();\n\t\tthis._setValue(color);\n\t}\n\n\t_handleHEXChange(e: CustomEvent | KeyboardEvent) {\n\t\tconst input: Input = (e.target as Input);\n\t\tlet inputValueLowerCase = input.value.toLowerCase();\n\n\t\tif (inputValueLowerCase.startsWith(\"#\")) {\n\t\t\tinputValueLowerCase = inputValueLowerCase.slice(1);\n\t\t}\n\n\t\t// Shorthand Syntax\n\t\tif (inputValueLowerCase.length === 3) {\n\t\t\tinputValueLowerCase = `${inputValueLowerCase[0]}${inputValueLowerCase[0]}${inputValueLowerCase[1]}${inputValueLowerCase[1]}${inputValueLowerCase[2]}${inputValueLowerCase[2]}`;\n\t\t}\n\n\t\tthis._colorValue.HEX = inputValueLowerCase;\n\t\tconst isValidColor = this._colorValue.isColorValueValid();\n\n\t\tif (isValidColor && input.value !== inputValueLowerCase) {\n\t\t\tthis._wrongHEX = false;\n\t\t\tinput.value = inputValueLowerCase;\n\t\t}\n\n\t\tif (!isValidColor) {\n\t\t\tthis._wrongHEX = true;\n\t\t} else {\n\t\t\tthis._wrongHEX = false;\n\n\t\t\tconst color = this._colorValue.toRGBString();\n\t\t\tthis._setValue(color);\n\t\t}\n\t}\n\n\t_togglePickerMode() {\n\t\tthis._displayHSL = !this._displayHSL;\n\n\t\t// Announce a message to screen readers\n\t\tannounce(this.colorFieldsAnnouncementText, InvisibleMessageMode.Polite);\n\t}\n\n\t_handleColorInputChange(e: Event) {\n\t\tconst target = e.target as Input;\n\t\tconst targetValue = parseInt(target.value) || 0;\n\t\tlet normalizedValue = targetValue;\n\n\t\tswitch (target.id) {\n\t\tcase \"red\":\n\t\t\tthis._colorValue.R = targetValue;\n\t\t\tnormalizedValue = this._colorValue.R;\n\t\t\tbreak;\n\n\t\tcase \"green\":\n\t\t\tthis._colorValue.G = targetValue;\n\t\t\tnormalizedValue = this._colorValue.G;\n\t\t\tbreak;\n\n\t\tcase \"blue\":\n\t\t\tthis._colorValue.B = targetValue;\n\t\t\tnormalizedValue = this._colorValue.B;\n\t\t\tbreak;\n\n\t\tcase \"hue\":\n\t\t\tthis._colorValue.H = targetValue;\n\t\t\tnormalizedValue = this._colorValue.H;\n\t\t\tbreak;\n\n\t\tcase \"saturation\":\n\t\t\tthis._colorValue.S = targetValue;\n\t\t\tnormalizedValue = this._colorValue.S;\n\t\t\tbreak;\n\n\t\tcase \"light\":\n\t\t\tthis._colorValue.L = targetValue;\n\t\t\tnormalizedValue = this._colorValue.L;\n\t\t\tbreak;\n\t\t}\n\n\t\ttarget.value = String(normalizedValue);\n\t\tconst color = this._colorValue.toRGBString();\n\t\tthis._setValue(color);\n\t\tthis._updateColorGrid();\n\t}\n\n\t_setMainColor(hueValue: number) {\n\t\tconst hueValueMod = hueValue * 4.251;\n\n\t\tif (hueValueMod <= 255) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 255,\n\t\t\t\tg: hueValueMod,\n\t\t\t\tb: 0,\n\t\t\t};\n\t\t} else if (hueValueMod <= 510) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 255 - (hueValueMod - 255),\n\t\t\t\tg: 255,\n\t\t\t\tb: 0,\n\t\t\t};\n\t\t} else if (hueValueMod <= 765) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 0,\n\t\t\t\tg: 255,\n\t\t\t\tb: hueValueMod - 510,\n\t\t\t};\n\t\t} else if (hueValueMod <= 1020) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 0,\n\t\t\t\tg: 765 - (hueValueMod - 255),\n\t\t\t\tb: 255,\n\t\t\t};\n\t\t} else if (hueValueMod <= 1275) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: hueValueMod - 1020,\n\t\t\t\tg: 0,\n\t\t\t\tb: 255,\n\t\t\t};\n\t\t} else {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 255,\n\t\t\t\tg: 0,\n\t\t\t\tb: 1275 - (hueValueMod - 255),\n\t\t\t};\n\t\t}\n\t}\n\n\t_handleAlphaChange() {\n\t\t// parse the input value if valid or fallback to default\n\t\tthis._alpha = this._alphaTemp ? parseFloat(this._alphaTemp) : 1;\n\t\tif (Number.isNaN(this._alpha)) {\n\t\t\tthis._alpha = 1;\n\t\t}\n\t\t// reset input value so _alpha is rendered\n\t\tthis._alphaTemp = undefined;\n\t\t// normalize range\n\t\tthis._alpha = this._alpha < 0 ? 0 : this._alpha;\n\t\tthis._alpha = this._alpha > 1 ? 1 : this._alpha;\n\n\t\tthis._colorValue.Alpha = this._alpha;\n\t}\n\n\t_changeSelectedColor(x: number, y: number) {\n\t\tthis._selectedCoordinates = {\n\t\t\tx: x - PICKER_POINTER_WIDTH, // Center the coordinates, because of the width of the circle\n\t\t\ty: y - PICKER_POINTER_WIDTH, // Center the coordinates, because of the height of the circle\n\t\t};\n\n\t\t// Idication that changes to the color settings are triggered as a result of user pressing over the main color section.\n\t\tthis._isSelectedColorChanged = true;\n\n\t\tconst tempColor = this._calculateColorFromCoordinates(x, y);\n\t\tif (tempColor) {\n\t\t\tthis._colorValue.HSL = tempColor;\n\n\t\t\tconst color = this._colorValue.toRGBString();\n\t\t\tthis._setValue(color);\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e)) {\n\t\t\tthis._handleHEXChange(e);\n\t\t}\n\t}\n\n\t_calculateColorFromCoordinates(x: number, y: number) {\n\t\t// By using the selected coordinates(x = Lightness, y = Saturation) and hue(selected from the hue slider)\n\t\t// and HSL format, the color will be parsed to RGB\n\t\t// 0 ≤ H < 360\n\t\t// 4.251 because with 4.25 we get out of the colors range.\n\t\tconst h = this._hue;\n\t\tlet s = +(1 - (y / 256)).toFixed(2);\n\t\tlet l = +(x / 256).toFixed(2);\n\n\t\tif (Number.isNaN(s) || Number.isNaN(l)) {\n\t\t\t// The event is finished out of the main color section\n\t\t\treturn;\n\t\t}\n\n\t\t// Normalize values to be between 0 and 1 in case of rounding issues\n\t\ts = Math.max(0, Math.min(1, s));\n\t\tl = Math.max(0, Math.min(1, l));\n\n\t\treturn {\n\t\t\th: Math.round(h),\n\t\t\ts: Math.round(s * 100),\n\t\t\tl: Math.round(l * 100),\n\t\t};\n\t}\n\n\t_setValue(color: string) {\n\t\tthis.value = color;\n\t\tthis._wrongHEX = !this._colorValue.isColorValueValid();\n\t\tthis.fireDecoratorEvent(\"change\");\n\t}\n\n\t_updateColorGrid() {\n\t\tconst hslColours: ColorHSL = this._colorValue.HSL;\n\t\tthis._selectedCoordinates = {\n\t\t\tx: ((hslColours.l * 2.56)) - PICKER_POINTER_WIDTH, // Center the coordinates, because of the width of the circle\n\t\t\ty: (256 - (hslColours.s * 2.56)) - PICKER_POINTER_WIDTH, // Center the coordinates, because of the height of the circle\n\t\t};\n\n\t\tif (this._isSelectedColorChanged) { // We shouldn't update the hue value when user presses over the main color section.\n\t\t\tthis._isSelectedColorChanged = false;\n\t\t} else if (this._isHueValueChanged) { // We shouldn't recalculate the hue value when user changes the hue slider.\n\t\t\tthis._isHueValueChanged = false;\n\t\t\tthis._hue = this.selectedHue ? this.selectedHue : this._hue;\n\t\t} else {\n\t\t\tthis._hue = hslColours.h;\n\t\t}\n\n\t\tthis._setMainColor(this._hue);\n\t}\n\n\t_isColorValueEqual(value: ColorRGB): boolean {\n\t\treturn this._colorValue.R === value.r\n\t\t\t&& this._colorValue.G === value.g\n\t\t\t&& this._colorValue.B === value.b;\n\t}\n\n\tget colorPickerLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_LABEL);\n\t}\n\n\tget sliderGroupLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_SLIDER_GROUP);\n\t}\n\n\tget hueSliderLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_HUE_SLIDER);\n\t}\n\n\tget alphaSliderLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_ALPHA_SLIDER);\n\t}\n\n\tget hexInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_HEX);\n\t}\n\n\tget redInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_RED);\n\t}\n\n\tget greenInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_GREEN);\n\t}\n\n\tget blueInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_BLUE);\n\t}\n\n\tget hueInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_HUE);\n\t}\n\n\tget saturationInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_SATURATION);\n\t}\n\n\tget lightInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_LIGHT);\n\t}\n\n\tget alphaInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_ALPHA);\n\t}\n\n\tget percentageLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_PERCENTAGE);\n\t}\n\n\tget colorFieldsAnnouncementText() {\n\t\tconst mode = this._displayHSL ? \"HSL\" : \"RGB\";\n\t\tlet text = \"\";\n\n\t\tif (mode === \"RGB\") {\n\t\t\ttext = `${this.redInputLabel} ${this._colorValue.R}, `\n\t\t\t\t+ `${this.greenInputLabel} ${this._colorValue.G}, `\n\t\t\t\t+ `${this.blueInputLabel} ${this._colorValue.B}, `\n\t\t\t\t+ `${this.alphaInputLabel} ${this._colorValue.Alpha}`;\n\t\t} else {\n\t\t\ttext = `${this.hueInputLabel} ${this._colorValue.H}, `\n\t\t\t\t+ `${this.saturationInputLabel} ${this._colorValue.S} ${this.percentageLabel}, `\n\t\t\t\t+ `${this.lightInputLabel} ${this._colorValue.L} ${this.percentageLabel}, `\n\t\t\t\t+ `${this.alphaInputLabel} ${this._colorValue.Alpha}`;\n\t\t}\n\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_COLOR_MODE_CHANGED, mode, text);\n\t}\n\n\tget toggleModeTooltip() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_TOGGLE_MODE_TOOLTIP);\n\t}\n\n\tget inputsDisabled() {\n\t\treturn this._wrongHEX ? true : undefined;\n\t}\n\n\tget hexInputErrorState(): `${ValueState}` {\n\t\treturn this._wrongHEX ? \"Negative\" : \"None\";\n\t}\n\n\tget rgbInputs(): Array<ColorChannelInput> {\n\t\tconst redInput = {\n\t\t\tid: \"red\",\n\t\t\tvalue: this._colorValue.R,\n\t\t\tlabel: \"R\",\n\t\t\taccessibleName: this.redInputLabel,\n\t\t};\n\n\t\tconst greenInput = {\n\t\t\tid: \"green\",\n\t\t\tvalue: this._colorValue.G,\n\t\t\tlabel: \"G\",\n\t\t\taccessibleName: this.greenInputLabel,\n\t\t};\n\n\t\tconst blueInput = {\n\t\t\tid: \"blue\",\n\t\t\tvalue: this._colorValue.B,\n\t\t\tlabel: \"B\",\n\t\t\taccessibleName: this.blueInputLabel,\n\t\t};\n\n\t\treturn [redInput, greenInput, blueInput];\n\t}\n\n\tget hslInputs(): Array<ColorChannelInput> {\n\t\tconst hueInput = {\n\t\t\tid: \"hue\",\n\t\t\tvalue: this._colorValue.H,\n\t\t\tlabel: \"H\",\n\t\t\taccessibleName: this.hueInputLabel,\n\t\t};\n\n\t\tconst saturationInput = {\n\t\t\tid: \"saturation\",\n\t\t\tvalue: this._colorValue.S,\n\t\t\tlabel: \"S\",\n\t\t\taccessibleName: this.saturationInputLabel,\n\t\t\tshowPercentSymbol: true,\n\t\t};\n\n\t\tconst lightInput = {\n\t\t\tid: \"light\",\n\t\t\tvalue: this._colorValue.L,\n\t\t\tlabel: \"L\",\n\t\t\taccessibleName: this.lightInputLabel,\n\t\t\tshowPercentSymbol: true,\n\t\t};\n\n\t\treturn [hueInput, saturationInput, lightInput];\n\t}\n\n\tget HEX(): string {\n\t\treturn this._colorValue.HEX;\n\t}\n\n\tget colorChannelInputs() {\n\t\treturn this._displayHSL ? this.hslInputs : this.rgbInputs;\n\t}\n\n\tget _isDefaultPickerMode() {\n\t\treturn !this.simplified;\n\t}\n}\n\nColorPicker.define();\n\nexport default ColorPicker;\n"]}
@@ -10,6 +10,6 @@ export default function ColorPickerTemplate() {
10
10
  } }) }), _jsxs("div", { class: "ui5-color-picker-sliders-wrapper", role: "group", "aria-label": this.sliderGroupLabel, children: [_jsx(Slider, { disabled: this.inputsDisabled, class: "ui5-color-picker-hue-slider", min: 0, max: 360, step: 1, value: this._hue, accessibleName: this.hueSliderLabel, showTooltip: true, onInput: this._handleHueInput }), this._isDefaultPickerMode &&
11
11
  _jsx(Slider, { disabled: this.inputsDisabled, class: "ui5-color-picker-alpha-slider", min: 0, max: 1, step: 0.01, value: this._alpha, accessibleName: this.alphaSliderLabel, showTooltip: true, onInput: this._handleAlphaInput })] }), _jsxs("div", { class: "ui5-color-picker-current-color", children: [_jsxs("div", { class: "ui5-color-picker-colors-wrapper", children: [_jsx("span", { class: "ui5-color-picker-white" }), _jsx("span", { class: "ui5-color-picker-color", children: _jsx("div", { class: "ui5-color-picker-color-inner", style: { "background-color": this._colorValue.toRGBString() } }) })] }), _jsxs("div", { class: "ui5-color-picker-hex-input-wrapper", children: [_jsx(Label, { children: "Hex" }), _jsx(Input, { class: "ui5-color-picker-hex-input", value: this.HEX, onKeyDown: this._onkeydown, accessibleName: this.hexInputLabel, onChange: this._handleHEXChange, valueState: this.hexInputErrorState })] })] }), this._isDefaultPickerMode &&
12
12
  _jsxs("div", { class: "ui5-color-channel-inputs-wrapper", "onui5-change": this._handleColorInputChange, children: [this.colorChannelInputs.map(input => _jsxs(_Fragment, { children: [_jsxs("div", { class: "ui5-color-channel", children: [_jsx(Input, { id: input.id, class: "ui5-color-channel-input", disabled: this.inputsDisabled, accessibleName: input.accessibleName, value: String(input.value) }), _jsx(Label, { children: input.label })] }), _jsx("div", { class: "ui5-color-channel-percentage-label", children: input.showPercentSymbol &&
13
- _jsx(Label, { children: "%" }) })] })), _jsxs("div", { class: "ui5-color-channel", children: [_jsx(Input, { id: "alpha", disabled: this.inputsDisabled, class: "ui5-color-channel-input", value: String(this._alpha), accessibleName: this.alphaInputLabel, onChange: this._handleAlphaChange, onInput: this._handleAlphaInput }), _jsx(Label, { children: "A" })] }), _jsx("div", { children: _jsx(Button, { class: "ui5-color-channel-toggle", id: "toggle-picker-mode", icon: "expand", design: "Transparent", tooltip: this.toggleModeTooltip, onClick: this._togglePickerMode }) })] })] }));
13
+ _jsx(Label, { children: "%" }) })] })), _jsxs("div", { class: "ui5-color-channel", children: [_jsx(Input, { id: "alpha", disabled: this.inputsDisabled, class: "ui5-color-channel-input", value: this._alphaTemp ?? String(this._alpha), accessibleName: this.alphaInputLabel, onChange: this._handleAlphaChange, onInput: this._handleAlphaInput }), _jsx(Label, { children: "A" })] }), _jsx("div", { children: _jsx(Button, { class: "ui5-color-channel-toggle", id: "toggle-picker-mode", icon: "expand", design: "Transparent", tooltip: this.toggleModeTooltip, onClick: this._togglePickerMode }) })] })] }));
14
14
  }
15
15
  //# sourceMappingURL=ColorPickerTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPickerTemplate.js","sourceRoot":"","sources":["../src/ColorPickerTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type ColorPicker from \"./ColorPicker.js\";\nimport Label from \"./Label.js\";\nimport Slider from \"./Slider.js\";\nimport Input from \"./Input.js\";\nimport Button from \"./Button.js\";\n\nexport default function ColorPickerTemplate(this: ColorPicker) {\n\treturn (\n\t\t<section\n\t\t\tclass=\"ui5-color-picker-root\"\n\t\t\trole=\"group\"\n\t\t\taria-label={this.colorPickerLabel}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass=\"ui5-color-picker-main-color\"\n\t\t\t\trole=\"presentation\"\n\t\t\t\tstyle={{ \"background-color\": `rgb(${this._mainValue.r}, ${this._mainValue.g}, ${this._mainValue.b})` }}\n\t\t\t\tonMouseDown={this._handleMouseDown}\n\t\t\t\tonMouseUp={this._handleMouseUp}\n\t\t\t\tonMouseMove={this._handleMouseMove}\n\t\t\t\tonMouseOut={this._handleMouseOut}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclass=\"ui5-color-picker-circle\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tleft: `${this._selectedCoordinates.x}px`,\n\t\t\t\t\t\ttop: `${this._selectedCoordinates.y}px`,\n\t\t\t\t\t}}\n\t\t\t\t></div>\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tclass=\"ui5-color-picker-sliders-wrapper\"\n\t\t\t\trole=\"group\"\n\t\t\t\taria-label={this.sliderGroupLabel}\n\t\t\t>\n\t\t\t\t<Slider\n\t\t\t\t\tdisabled={this.inputsDisabled}\n\t\t\t\t\tclass=\"ui5-color-picker-hue-slider\"\n\t\t\t\t\tmin={0}\n\t\t\t\t\tmax={360}\n\t\t\t\t\tstep={1}\n\t\t\t\t\tvalue={this._hue}\n\t\t\t\t\taccessibleName={this.hueSliderLabel}\n\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\tonInput={this._handleHueInput}\n\t\t\t\t/>\n\n\t\t\t\t{this._isDefaultPickerMode &&\n\t\t\t\t\t<Slider\n\t\t\t\t\t\tdisabled={this.inputsDisabled}\n\t\t\t\t\t\tclass=\"ui5-color-picker-alpha-slider\"\n\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\tmax={1}\n\t\t\t\t\t\tstep={0.01}\n\t\t\t\t\t\tvalue={this._alpha}\n\t\t\t\t\t\taccessibleName={this.alphaSliderLabel}\n\t\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\t\tonInput={this._handleAlphaInput}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t</div>\n\n\t\t\t<div class=\"ui5-color-picker-current-color\">\n\t\t\t\t<div class=\"ui5-color-picker-colors-wrapper\">\n\t\t\t\t\t<span class=\"ui5-color-picker-white\"></span>\n\t\t\t\t\t<span class=\"ui5-color-picker-color\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"ui5-color-picker-color-inner\"\n\t\t\t\t\t\t\tstyle={{ \"background-color\": this._colorValue.toRGBString() }}\n\t\t\t\t\t\t></div>\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"ui5-color-picker-hex-input-wrapper\">\n\t\t\t\t\t<Label>Hex</Label>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tclass=\"ui5-color-picker-hex-input\"\n\t\t\t\t\t\tvalue={this.HEX}\n\t\t\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t\t\t\taccessibleName={this.hexInputLabel}\n\t\t\t\t\t\tonChange={this._handleHEXChange}\n\t\t\t\t\t\tvalueState={this.hexInputErrorState}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{this._isDefaultPickerMode &&\n\t\t\t\t<div\n\t\t\t\t\tclass=\"ui5-color-channel-inputs-wrapper\"\n\t\t\t\t\tonui5-change={this._handleColorInputChange}\n\t\t\t\t>\n\t\t\t\t\t{this.colorChannelInputs.map(input =>\n\t\t\t\t\t\t<><div class=\"ui5-color-channel\">\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tid={input.id}\n\t\t\t\t\t\t\t\tclass=\"ui5-color-channel-input\"\n\t\t\t\t\t\t\t\tdisabled={this.inputsDisabled}\n\t\t\t\t\t\t\t\taccessibleName={input.accessibleName}\n\t\t\t\t\t\t\t\tvalue={String(input.value)} />\n\t\t\t\t\t\t\t<Label>{input.label}</Label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"ui5-color-channel-percentage-label\">\n\t\t\t\t\t\t\t{input.showPercentSymbol &&\n\t\t\t\t\t\t\t\t<Label>%</Label>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div></>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<div class=\"ui5-color-channel\">\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tid=\"alpha\"\n\t\t\t\t\t\t\tdisabled={this.inputsDisabled}\n\t\t\t\t\t\t\tclass=\"ui5-color-channel-input\"\n\t\t\t\t\t\t\tvalue={String(this._alpha)}\n\t\t\t\t\t\t\taccessibleName={this.alphaInputLabel}\n\t\t\t\t\t\t\tonChange={this._handleAlphaChange}\n\t\t\t\t\t\t\tonInput={this._handleAlphaInput}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Label>A</Label>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclass=\"ui5-color-channel-toggle\"\n\t\t\t\t\t\t\tid=\"toggle-picker-mode\"\n\t\t\t\t\t\t\ticon=\"expand\"\n\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\ttooltip={this.toggleModeTooltip}\n\t\t\t\t\t\t\tonClick={this._togglePickerMode}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</section>\n\t);\n}\n"]}
1
+ {"version":3,"file":"ColorPickerTemplate.js","sourceRoot":"","sources":["../src/ColorPickerTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type ColorPicker from \"./ColorPicker.js\";\nimport Label from \"./Label.js\";\nimport Slider from \"./Slider.js\";\nimport Input from \"./Input.js\";\nimport Button from \"./Button.js\";\n\nexport default function ColorPickerTemplate(this: ColorPicker) {\n\treturn (\n\t\t<section\n\t\t\tclass=\"ui5-color-picker-root\"\n\t\t\trole=\"group\"\n\t\t\taria-label={this.colorPickerLabel}\n\t\t>\n\t\t\t<div\n\t\t\t\tclass=\"ui5-color-picker-main-color\"\n\t\t\t\trole=\"presentation\"\n\t\t\t\tstyle={{ \"background-color\": `rgb(${this._mainValue.r}, ${this._mainValue.g}, ${this._mainValue.b})` }}\n\t\t\t\tonMouseDown={this._handleMouseDown}\n\t\t\t\tonMouseUp={this._handleMouseUp}\n\t\t\t\tonMouseMove={this._handleMouseMove}\n\t\t\t\tonMouseOut={this._handleMouseOut}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclass=\"ui5-color-picker-circle\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tleft: `${this._selectedCoordinates.x}px`,\n\t\t\t\t\t\ttop: `${this._selectedCoordinates.y}px`,\n\t\t\t\t\t}}\n\t\t\t\t></div>\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tclass=\"ui5-color-picker-sliders-wrapper\"\n\t\t\t\trole=\"group\"\n\t\t\t\taria-label={this.sliderGroupLabel}\n\t\t\t>\n\t\t\t\t<Slider\n\t\t\t\t\tdisabled={this.inputsDisabled}\n\t\t\t\t\tclass=\"ui5-color-picker-hue-slider\"\n\t\t\t\t\tmin={0}\n\t\t\t\t\tmax={360}\n\t\t\t\t\tstep={1}\n\t\t\t\t\tvalue={this._hue}\n\t\t\t\t\taccessibleName={this.hueSliderLabel}\n\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\tonInput={this._handleHueInput}\n\t\t\t\t/>\n\n\t\t\t\t{this._isDefaultPickerMode &&\n\t\t\t\t\t<Slider\n\t\t\t\t\t\tdisabled={this.inputsDisabled}\n\t\t\t\t\t\tclass=\"ui5-color-picker-alpha-slider\"\n\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\tmax={1}\n\t\t\t\t\t\tstep={0.01}\n\t\t\t\t\t\tvalue={this._alpha}\n\t\t\t\t\t\taccessibleName={this.alphaSliderLabel}\n\t\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\t\tonInput={this._handleAlphaInput}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t</div>\n\n\t\t\t<div class=\"ui5-color-picker-current-color\">\n\t\t\t\t<div class=\"ui5-color-picker-colors-wrapper\">\n\t\t\t\t\t<span class=\"ui5-color-picker-white\"></span>\n\t\t\t\t\t<span class=\"ui5-color-picker-color\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"ui5-color-picker-color-inner\"\n\t\t\t\t\t\t\tstyle={{ \"background-color\": this._colorValue.toRGBString() }}\n\t\t\t\t\t\t></div>\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"ui5-color-picker-hex-input-wrapper\">\n\t\t\t\t\t<Label>Hex</Label>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tclass=\"ui5-color-picker-hex-input\"\n\t\t\t\t\t\tvalue={this.HEX}\n\t\t\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t\t\t\taccessibleName={this.hexInputLabel}\n\t\t\t\t\t\tonChange={this._handleHEXChange}\n\t\t\t\t\t\tvalueState={this.hexInputErrorState}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{this._isDefaultPickerMode &&\n\t\t\t\t<div\n\t\t\t\t\tclass=\"ui5-color-channel-inputs-wrapper\"\n\t\t\t\t\tonui5-change={this._handleColorInputChange}\n\t\t\t\t>\n\t\t\t\t\t{this.colorChannelInputs.map(input =>\n\t\t\t\t\t\t<><div class=\"ui5-color-channel\">\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tid={input.id}\n\t\t\t\t\t\t\t\tclass=\"ui5-color-channel-input\"\n\t\t\t\t\t\t\t\tdisabled={this.inputsDisabled}\n\t\t\t\t\t\t\t\taccessibleName={input.accessibleName}\n\t\t\t\t\t\t\t\tvalue={String(input.value)} />\n\t\t\t\t\t\t\t<Label>{input.label}</Label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"ui5-color-channel-percentage-label\">\n\t\t\t\t\t\t\t{input.showPercentSymbol &&\n\t\t\t\t\t\t\t\t<Label>%</Label>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div></>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<div class=\"ui5-color-channel\">\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tid=\"alpha\"\n\t\t\t\t\t\t\tdisabled={this.inputsDisabled}\n\t\t\t\t\t\t\tclass=\"ui5-color-channel-input\"\n\t\t\t\t\t\t\tvalue={this._alphaTemp ?? String(this._alpha)}\n\t\t\t\t\t\t\taccessibleName={this.alphaInputLabel}\n\t\t\t\t\t\t\tonChange={this._handleAlphaChange}\n\t\t\t\t\t\t\tonInput={this._handleAlphaInput}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Label>A</Label>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclass=\"ui5-color-channel-toggle\"\n\t\t\t\t\t\t\tid=\"toggle-picker-mode\"\n\t\t\t\t\t\t\ticon=\"expand\"\n\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\ttooltip={this.toggleModeTooltip}\n\t\t\t\t\t\t\tonClick={this._togglePickerMode}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</section>\n\t);\n}\n"]}
package/dist/Input.d.ts CHANGED
@@ -15,6 +15,7 @@ import type { ListItemClickEventDetail, ListSelectionChangeEventDetail } from ".
15
15
  import type ResponsivePopover from "./ResponsivePopover.js";
16
16
  import type InputKeyHint from "./types/InputKeyHint.js";
17
17
  import type InputComposition from "./features/InputComposition.js";
18
+ import InputSuggestionsFilter from "./types/InputSuggestionsFilter.js";
18
19
  /**
19
20
  * Interface for components that represent a suggestion item, usable in `ui5-input`
20
21
  * @public
@@ -181,14 +182,6 @@ declare class Input extends UI5Element implements SuggestionComponent, IFormInpu
181
182
  * @public
182
183
  */
183
184
  value: string;
184
- /**
185
- * Defines the inner stored value of the component.
186
- *
187
- * **Note:** The property is updated upon typing. In some special cases the old value is kept (e.g. deleting the value after the dot in a float)
188
- * @default ""
189
- * @private
190
- */
191
- _innerValue: string;
192
185
  /**
193
186
  * Defines the value state of the component.
194
187
  * @default "None"
@@ -263,6 +256,13 @@ declare class Input extends UI5Element implements SuggestionComponent, IFormInpu
263
256
  * @since 2.0.0
264
257
  */
265
258
  open: boolean;
259
+ /**
260
+ * Defines the filter type of the component.
261
+ * @default "None"
262
+ * @public
263
+ * @since 2.19.0
264
+ */
265
+ filter: `${InputSuggestionsFilter}`;
266
266
  /**
267
267
  * Defines whether the clear icon is visible.
268
268
  * @default false
@@ -356,7 +356,6 @@ declare class Input extends UI5Element implements SuggestionComponent, IFormInpu
356
356
  lastConfirmedValue: string;
357
357
  isTyping: boolean;
358
358
  _handleResizeBound: ResizeObserverCallback;
359
- _keepInnerValue: boolean;
360
359
  _shouldAutocomplete?: boolean;
361
360
  _enterKeyDown?: boolean;
362
361
  _isKeyNavigation?: boolean;
@@ -391,6 +390,7 @@ declare class Input extends UI5Element implements SuggestionComponent, IFormInpu
391
390
  _isGroupItem(item: IInputSuggestionItem): boolean;
392
391
  onBeforeRendering(): void;
393
392
  onAfterRendering(): void;
393
+ _adjustContainsSelectionRange(): void;
394
394
  _onkeydown(e: KeyboardEvent): void;
395
395
  _onkeyup(e: KeyboardEvent): void;
396
396
  get currentItemIndex(): number;
@@ -428,6 +428,9 @@ declare class Input extends UI5Element implements SuggestionComponent, IFormInpu
428
428
  _getFirstMatchingItem(current: string): IInputSuggestionItemSelectable | undefined;
429
429
  _handleSelectionChange(e: CustomEvent<ListSelectionChangeEventDetail>): void;
430
430
  _selectMatchingItem(item: IInputSuggestionItemSelectable): void;
431
+ _filterItems(value: string): void;
432
+ _filterGroups(filterType: `${InputSuggestionsFilter}`, groupItems: IInputSuggestionItem[]): IInputSuggestionItem[];
433
+ _resetItemVisibility(): void;
431
434
  _handleTypeAhead(item: IInputSuggestionItemSelectable): void;
432
435
  _handleResize(): void;
433
436
  _updateAssociatedLabelsTexts(): void;
package/dist/Input.js CHANGED
@@ -29,13 +29,14 @@ import getActiveElement from "@ui5/webcomponents-base/dist/util/getActiveElement
29
29
  import InputType from "./types/InputType.js";
30
30
  // Templates
31
31
  import InputTemplate from "./InputTemplate.js";
32
- import { StartsWith } from "./Filters.js";
32
+ import * as Filters from "./Filters.js";
33
33
  import { VALUE_STATE_SUCCESS, VALUE_STATE_INFORMATION, VALUE_STATE_ERROR, VALUE_STATE_WARNING, VALUE_STATE_TYPE_SUCCESS, VALUE_STATE_TYPE_INFORMATION, VALUE_STATE_TYPE_ERROR, VALUE_STATE_TYPE_WARNING, VALUE_STATE_LINK, VALUE_STATE_LINKS, VALUE_STATE_LINK_MAC, VALUE_STATE_LINKS_MAC, INPUT_SUGGESTIONS, INPUT_SUGGESTIONS_TITLE, INPUT_SUGGESTIONS_ONE_HIT, INPUT_SUGGESTIONS_MORE_HITS, INPUT_SUGGESTIONS_NO_HIT, INPUT_CLEAR_ICON_ACC_NAME, INPUT_AVALIABLE_VALUES, INPUT_SUGGESTIONS_OK_BUTTON, INPUT_SUGGESTIONS_CANCEL_BUTTON, } from "./generated/i18n/i18n-defaults.js";
34
34
  // Styles
35
35
  import inputStyles from "./generated/themes/Input.css.js";
36
36
  import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverCommon.css.js";
37
37
  import ValueStateMessageCss from "./generated/themes/ValueStateMessage.css.js";
38
38
  import SuggestionsCss from "./generated/themes/Suggestions.css.js";
39
+ import InputSuggestionsFilter from "./types/InputSuggestionsFilter.js";
39
40
  // all sementic events
40
41
  var INPUT_EVENTS;
41
42
  (function (INPUT_EVENTS) {
@@ -174,14 +175,6 @@ let Input = Input_1 = class Input extends UI5Element {
174
175
  * @public
175
176
  */
176
177
  this.value = "";
177
- /**
178
- * Defines the inner stored value of the component.
179
- *
180
- * **Note:** The property is updated upon typing. In some special cases the old value is kept (e.g. deleting the value after the dot in a float)
181
- * @default ""
182
- * @private
183
- */
184
- this._innerValue = "";
185
178
  /**
186
179
  * Defines the value state of the component.
187
180
  * @default "None"
@@ -211,6 +204,13 @@ let Input = Input_1 = class Input extends UI5Element {
211
204
  * @since 2.0.0
212
205
  */
213
206
  this.open = false;
207
+ /**
208
+ * Defines the filter type of the component.
209
+ * @default "None"
210
+ * @public
211
+ * @since 2.19.0
212
+ */
213
+ this.filter = InputSuggestionsFilter.None;
214
214
  /**
215
215
  * Defines whether the clear icon is visible.
216
216
  * @default false
@@ -269,7 +269,6 @@ let Input = Input_1 = class Input extends UI5Element {
269
269
  this._isChangeTriggeredBySuggestion = false;
270
270
  this._indexOfSelectedItem = -1;
271
271
  this._handleResizeBound = this._handleResize.bind(this);
272
- this._keepInnerValue = false;
273
272
  this._focusedAfterClear = false;
274
273
  this._valueStateLinks = [];
275
274
  }
@@ -291,9 +290,6 @@ let Input = Input_1 = class Input extends UI5Element {
291
290
  return item.hasAttribute("ui5-suggestion-item-group");
292
291
  }
293
292
  onBeforeRendering() {
294
- if (!this._keepInnerValue) {
295
- this._innerValue = this.value === null ? "" : this.value;
296
- }
297
293
  if (this.showSuggestions) {
298
294
  this.enableSuggestions();
299
295
  this._flattenItems.forEach(item => {
@@ -331,6 +327,9 @@ let Input = Input_1 = class Input extends UI5Element {
331
327
  if (!innerInput || !value) {
332
328
  return;
333
329
  }
330
+ if (this.filter !== InputSuggestionsFilter.None) {
331
+ this._filterItems(this.typedInValue);
332
+ }
334
333
  const autoCompletedChars = innerInput.selectionEnd - innerInput.selectionStart;
335
334
  // Typehead causes issues on Android devices, so we disable it for now
336
335
  // If there is already a selection the autocomplete has already been performed
@@ -354,11 +353,18 @@ let Input = Input_1 = class Input extends UI5Element {
354
353
  if (this._performTextSelection) {
355
354
  // this is required to syncronize lit-html input's value and user's input
356
355
  // lit-html does not sync its stored value for the value property when the user is typing
357
- if (innerInput.value !== this._innerValue) {
358
- innerInput.value = this._innerValue;
359
- }
356
+ // if (innerInput.value !== this._innerValue) {
357
+ // innerInput.value = this._innerValue;
358
+ // }
360
359
  if (this.typedInValue.length && this.value.length) {
361
- innerInput.setSelectionRange(this.typedInValue.length, this.value.length);
360
+ // "Contains" filtering requires custom selection range handling.
361
+ // Example: "e" → "Belgium" (item does not start with typed value, so select all).
362
+ if (this.filter === InputSuggestionsFilter.Contains) {
363
+ this._adjustContainsSelectionRange();
364
+ }
365
+ else {
366
+ innerInput.setSelectionRange(this.typedInValue.length, this.value.length);
367
+ }
362
368
  }
363
369
  this.fireDecoratorEvent("type-ahead");
364
370
  }
@@ -369,6 +375,21 @@ let Input = Input_1 = class Input extends UI5Element {
369
375
  this._valueStateLinks = this.linksInAriaValueStateHiddenText;
370
376
  }
371
377
  }
378
+ _adjustContainsSelectionRange() {
379
+ const innerInput = this.getInputDOMRefSync();
380
+ const visibleItems = this.Suggestions?._getItems().filter(item => !item.hidden);
381
+ const currentItem = visibleItems?.find(item => { return item.selected || item.focused; });
382
+ const groupItems = this._flattenItems.filter(item => this._isGroupItem(item));
383
+ if (currentItem && !groupItems.includes(currentItem)) {
384
+ const doesItemStartWithTypedValue = currentItem?.text?.toLowerCase().startsWith(this.typedInValue.toLowerCase());
385
+ if (doesItemStartWithTypedValue) {
386
+ innerInput.setSelectionRange(this.typedInValue.length, this.value.length);
387
+ }
388
+ else {
389
+ innerInput.setSelectionRange(0, this.value.length);
390
+ }
391
+ }
392
+ }
372
393
  _onkeydown(e) {
373
394
  this._isKeyNavigation = true;
374
395
  this._shouldAutocomplete = !this.noTypeahead && !(isBackSpace(e) || isDelete(e) || isEscape(e));
@@ -426,8 +447,9 @@ let Input = Input_1 = class Input extends UI5Element {
426
447
  }
427
448
  get currentItemIndex() {
428
449
  const allItems = this.Suggestions?._getItems();
429
- const currentItem = allItems.find(item => { return item.selected || item.focused; });
430
- const indexOfCurrentItem = currentItem ? allItems.indexOf(currentItem) : -1;
450
+ const visibleItems = allItems.filter(item => !item.hidden);
451
+ const currentItem = visibleItems.find(item => { return item.selected || item.focused; });
452
+ const indexOfCurrentItem = currentItem ? visibleItems.indexOf(currentItem) : -1;
431
453
  return indexOfCurrentItem;
432
454
  }
433
455
  _handleUp(e) {
@@ -597,7 +619,6 @@ let Input = Input_1 = class Input extends UI5Element {
597
619
  if (this.Suggestions?._getPicker()?.contains(toBeFocused) || this.contains(toBeFocused) || this.getSlottedNodes("valueStateMessage").some(el => el.contains(toBeFocused))) {
598
620
  return;
599
621
  }
600
- this._keepInnerValue = false;
601
622
  this.focused = false; // invalidating property
602
623
  this._isChangeTriggeredBySuggestion = false;
603
624
  if (this.showClearIcon && !this._effectiveShowClearIcon) {
@@ -693,8 +714,6 @@ let Input = Input_1 = class Input extends UI5Element {
693
714
  }
694
715
  _input(e, eventType) {
695
716
  const inputDomRef = this.getInputDOMRefSync();
696
- const emptyValueFiredOnNumberInput = this.value && this.isTypeNumber && !inputDomRef.value;
697
- this._keepInnerValue = false;
698
717
  const allowedEventTypes = [
699
718
  "deleteWordBackward",
700
719
  "deleteWordForward",
@@ -711,35 +730,6 @@ let Input = Input_1 = class Input extends UI5Element {
711
730
  "historyUndo",
712
731
  ];
713
732
  this._shouldAutocomplete = !allowedEventTypes.includes(eventType) && !this.noTypeahead;
714
- if (e instanceof InputEvent) {
715
- // ---- Special cases of numeric Input ----
716
- // ---------------- Start -----------------
717
- // When the last character after the delimiter is removed.
718
- // In such cases, we want to skip the re-rendering of the
719
- // component as this leads to cursor repositioning and causes user experience issues.
720
- // There are few scenarios:
721
- // Example: type "123.4" and press BACKSPACE - the native input is firing event with the whole part as value (123).
722
- // Pressing BACKSPACE again will remove the delimiter and the native input will fire event with the whole part as value again (123).
723
- // Example: type "123.456", select/mark "456" and press BACKSPACE - the native input is firing event with the whole part as value (123).
724
- // Example: type "123.456", select/mark "123.456" and press BACKSPACE - the native input is firing event with empty value.
725
- const delimiterCase = this.isTypeNumber
726
- && (e.inputType === "deleteContentForward" || e.inputType === "deleteContentBackward")
727
- && !e.target.value.includes(".")
728
- && this.value.includes(".");
729
- // Handle special numeric notation with "e", example "12.5e12"
730
- const eNotationCase = emptyValueFiredOnNumberInput && e.data === "e";
731
- // Handle special numeric notation with "-", example "-3"
732
- // When pressing BACKSPACE, the native input fires event with empty value
733
- const minusRemovalCase = emptyValueFiredOnNumberInput
734
- && this.value.startsWith("-")
735
- && this.value.length === 2
736
- && (e.inputType === "deleteContentForward" || e.inputType === "deleteContentBackward");
737
- if (delimiterCase || eNotationCase || minusRemovalCase) {
738
- this.value = e.target.value;
739
- this._keepInnerValue = true;
740
- }
741
- // ----------------- End ------------------
742
- }
743
733
  if (e.target === inputDomRef) {
744
734
  this.focused = true;
745
735
  // stop the native event, as the semantic "input" would be fired.
@@ -750,10 +740,13 @@ let Input = Input_1 = class Input extends UI5Element {
750
740
  if (this.Suggestions) {
751
741
  this.Suggestions.updateSelectedItemPosition(-1);
752
742
  }
743
+ if (this.filter && e.target.value === "") {
744
+ this.open = false;
745
+ }
753
746
  this.isTyping = true;
754
747
  }
755
748
  _startsWithMatchingItems(str) {
756
- return StartsWith(str, this._selectableItems, "text");
749
+ return Filters.StartsWith(str, this._selectableItems, "text");
757
750
  }
758
751
  _getFirstMatchingItem(current) {
759
752
  if (!this._flattenItems.length) {
@@ -770,9 +763,50 @@ let Input = Input_1 = class Input extends UI5Element {
770
763
  _selectMatchingItem(item) {
771
764
  item.selected = true;
772
765
  }
766
+ _filterItems(value) {
767
+ let matchingItems = [];
768
+ const groupItems = this._flattenItems.filter(item => this._isGroupItem(item));
769
+ this._resetItemVisibility();
770
+ if (groupItems.length) {
771
+ matchingItems = this._filterGroups(this.filter, groupItems);
772
+ }
773
+ else {
774
+ matchingItems = (Filters[this.filter])(value, this._selectableItems, "text");
775
+ }
776
+ this._selectableItems.forEach(item => {
777
+ item.hidden = !matchingItems.includes(item);
778
+ });
779
+ if (matchingItems.length === 0) {
780
+ this.open = false;
781
+ }
782
+ }
783
+ _filterGroups(filterType, groupItems) {
784
+ const filteredGroupItems = [];
785
+ groupItems.forEach(groupItem => {
786
+ const currentGroupItems = (Filters[filterType])(this.typedInValue, groupItem.items ?? [], "text");
787
+ filteredGroupItems.push(...currentGroupItems);
788
+ if (currentGroupItems.length === 0) {
789
+ groupItem.hidden = true;
790
+ }
791
+ else {
792
+ groupItem.hidden = false;
793
+ }
794
+ });
795
+ return filteredGroupItems;
796
+ }
797
+ _resetItemVisibility() {
798
+ this._flattenItems.forEach(item => {
799
+ if (this._isGroupItem(item)) {
800
+ item.items?.forEach(i => {
801
+ i.hidden = false;
802
+ });
803
+ return;
804
+ }
805
+ item.hidden = false;
806
+ });
807
+ }
773
808
  _handleTypeAhead(item) {
774
809
  const value = item.text ? item.text : "";
775
- this._innerValue = value;
776
810
  this.value = value;
777
811
  this._performTextSelection = true;
778
812
  this._shouldAutocomplete = false;
@@ -806,7 +840,6 @@ let Input = Input_1 = class Input extends UI5Element {
806
840
  this._handlePickerAfterOpen();
807
841
  }
808
842
  _afterClosePicker() {
809
- this.announceSelectedItem();
810
843
  // close device's keyboard and prevent further typing
811
844
  if (isPhone()) {
812
845
  this.blur();
@@ -825,6 +858,10 @@ let Input = Input_1 = class Input extends UI5Element {
825
858
  if (this.hasSuggestionItemSelected) {
826
859
  this.focus();
827
860
  }
861
+ const invisibleText = this.shadowRoot.querySelector(`#selectionText`);
862
+ if (invisibleText) {
863
+ invisibleText.textContent = "";
864
+ }
828
865
  this._handlePickerAfterClose();
829
866
  }
830
867
  _handlePickerAfterOpen() {
@@ -1358,9 +1395,6 @@ __decorate([
1358
1395
  __decorate([
1359
1396
  property()
1360
1397
  ], Input.prototype, "value", void 0);
1361
- __decorate([
1362
- property({ noAttribute: true })
1363
- ], Input.prototype, "_innerValue", void 0);
1364
1398
  __decorate([
1365
1399
  property()
1366
1400
  ], Input.prototype, "valueState", void 0);
@@ -1391,6 +1425,9 @@ __decorate([
1391
1425
  __decorate([
1392
1426
  property({ type: Boolean })
1393
1427
  ], Input.prototype, "open", void 0);
1428
+ __decorate([
1429
+ property()
1430
+ ], Input.prototype, "filter", void 0);
1394
1431
  __decorate([
1395
1432
  property({ type: Boolean })
1396
1433
  ], Input.prototype, "_effectiveShowClearIcon", void 0);