@ui5/webcomponents 2.6.3 → 2.7.0-rc.1

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 (878) hide show
  1. package/CHANGELOG.md +38 -2
  2. package/README.md +1 -1
  3. package/cypress/specs/Card.cy.ts +51 -0
  4. package/cypress/specs/ColorPicker.cy.ts +98 -0
  5. package/cypress/specs/Label.cy.ts +128 -0
  6. package/cypress/specs/Table.cy.ts +32 -2
  7. package/cypress/specs/TableRowActions.cy.ts +212 -0
  8. package/cypress/specs/Tag.cy.ts +76 -0
  9. package/cypress/specs/Text.cy.ts +31 -0
  10. package/cypress/specs/Title.cy.ts +37 -0
  11. package/cypress/specs/Toolbar.cy.ts +75 -0
  12. package/cypress/support/commands/ColorPalette.commands.ts +6 -0
  13. package/cypress/support/commands/ColorPicker.commands.ts +24 -0
  14. package/cypress/support/commands.ts +3 -0
  15. package/dist/.tsbuildinfo +1 -1
  16. package/dist/CardHeader.d.ts +1 -1
  17. package/dist/CardHeader.js +1 -1
  18. package/dist/CardHeader.js.map +1 -1
  19. package/dist/CardHeaderTemplate.js +1 -1
  20. package/dist/CardHeaderTemplate.js.map +1 -1
  21. package/dist/ColorPalette.d.ts +21 -12
  22. package/dist/ColorPalette.js +38 -32
  23. package/dist/ColorPalette.js.map +1 -1
  24. package/dist/ColorPaletteTemplate.js +2 -2
  25. package/dist/ColorPaletteTemplate.js.map +1 -1
  26. package/dist/ColorPicker.d.ts +30 -28
  27. package/dist/ColorPicker.js +145 -99
  28. package/dist/ColorPicker.js.map +1 -1
  29. package/dist/ColorPickerTemplate.js +5 -3
  30. package/dist/ColorPickerTemplate.js.map +1 -1
  31. package/dist/DateTimeInput.d.ts +20 -0
  32. package/dist/DateTimeInput.js +44 -0
  33. package/dist/DateTimeInput.js.map +1 -0
  34. package/dist/Form.d.ts +0 -2
  35. package/dist/Form.js +0 -1
  36. package/dist/Form.js.map +1 -1
  37. package/dist/FormGroup.d.ts +0 -1
  38. package/dist/FormGroup.js +0 -1
  39. package/dist/FormGroup.js.map +1 -1
  40. package/dist/FormItem.d.ts +0 -1
  41. package/dist/FormItem.js +0 -1
  42. package/dist/FormItem.js.map +1 -1
  43. package/dist/Input.d.ts +5 -1
  44. package/dist/Input.js +14 -12
  45. package/dist/Input.js.map +1 -1
  46. package/dist/Menu.d.ts +2 -2
  47. package/dist/Menu.js +34 -19
  48. package/dist/Menu.js.map +1 -1
  49. package/dist/MenuItem.d.ts +9 -2
  50. package/dist/MenuItem.js +50 -6
  51. package/dist/MenuItem.js.map +1 -1
  52. package/dist/NavigationMenuTemplate.js +1 -1
  53. package/dist/NavigationMenuTemplate.js.map +1 -1
  54. package/dist/Popover.d.ts +1 -1
  55. package/dist/Popover.js +7 -6
  56. package/dist/Popover.js.map +1 -1
  57. package/dist/Popup.js +0 -2
  58. package/dist/Popup.js.map +1 -1
  59. package/dist/Select.d.ts +1 -3
  60. package/dist/Select.js +4 -6
  61. package/dist/Select.js.map +1 -1
  62. package/dist/SelectPopoverTemplate.d.ts +2 -0
  63. package/dist/SelectPopoverTemplate.js +28 -0
  64. package/dist/SelectPopoverTemplate.js.map +1 -0
  65. package/dist/SelectTemplate.d.ts +2 -0
  66. package/dist/SelectTemplate.js +19 -0
  67. package/dist/SelectTemplate.js.map +1 -0
  68. package/dist/SwitchTemplate.js +1 -1
  69. package/dist/SwitchTemplate.js.map +1 -1
  70. package/dist/TabContainer.js +3 -3
  71. package/dist/TabContainer.js.map +1 -1
  72. package/dist/Table.d.ts +31 -7
  73. package/dist/Table.js +43 -8
  74. package/dist/Table.js.map +1 -1
  75. package/dist/TableCell.d.ts +2 -0
  76. package/dist/TableCell.js +9 -4
  77. package/dist/TableCell.js.map +1 -1
  78. package/dist/TableCellBase.d.ts +2 -2
  79. package/dist/TableCellBase.js +3 -3
  80. package/dist/TableCellBase.js.map +1 -1
  81. package/dist/TableExtension.d.ts +1 -1
  82. package/dist/TableExtension.js +1 -1
  83. package/dist/TableExtension.js.map +1 -1
  84. package/dist/TableHeaderCell.d.ts +8 -0
  85. package/dist/TableHeaderCell.js +7 -2
  86. package/dist/TableHeaderCell.js.map +1 -1
  87. package/dist/TableHeaderRow.d.ts +2 -0
  88. package/dist/TableHeaderRow.js +7 -1
  89. package/dist/TableHeaderRow.js.map +1 -1
  90. package/dist/TableRow.d.ts +18 -1
  91. package/dist/TableRow.js +64 -5
  92. package/dist/TableRow.js.map +1 -1
  93. package/dist/TableRowAction.d.ts +45 -0
  94. package/dist/TableRowAction.js +72 -0
  95. package/dist/TableRowAction.js.map +1 -0
  96. package/dist/TableRowActionBase.d.ts +38 -0
  97. package/dist/TableRowActionBase.js +104 -0
  98. package/dist/TableRowActionBase.js.map +1 -0
  99. package/dist/TableRowActionNavigation.d.ts +27 -0
  100. package/dist/TableRowActionNavigation.js +53 -0
  101. package/dist/TableRowActionNavigation.js.map +1 -0
  102. package/dist/TableRowBase.d.ts +1 -0
  103. package/dist/TableRowBase.js +4 -0
  104. package/dist/TableRowBase.js.map +1 -1
  105. package/dist/TableVirtualizer.d.ts +2 -2
  106. package/dist/TableVirtualizer.js +2 -2
  107. package/dist/TableVirtualizer.js.map +1 -1
  108. package/dist/TimePicker.d.ts +21 -1
  109. package/dist/TimePicker.js +44 -2
  110. package/dist/TimePicker.js.map +1 -1
  111. package/dist/TimePickerPopoverTemplate.js +29 -2
  112. package/dist/TimePickerPopoverTemplate.js.map +1 -1
  113. package/dist/TimePickerTemplate.js +4 -3
  114. package/dist/TimePickerTemplate.js.map +1 -1
  115. package/dist/ToastTemplate.js +3 -2
  116. package/dist/ToastTemplate.js.map +1 -1
  117. package/dist/Token.d.ts +0 -5
  118. package/dist/Token.js +0 -8
  119. package/dist/Token.js.map +1 -1
  120. package/dist/Tokenizer.d.ts +0 -1
  121. package/dist/Tokenizer.js +0 -23
  122. package/dist/Tokenizer.js.map +1 -1
  123. package/dist/TokenizerPopoverTemplate.js +0 -1
  124. package/dist/TokenizerPopoverTemplate.js.map +1 -1
  125. package/dist/Toolbar.d.ts +1 -3
  126. package/dist/Toolbar.js +6 -42
  127. package/dist/Toolbar.js.map +1 -1
  128. package/dist/ToolbarButton.d.ts +1 -5
  129. package/dist/ToolbarButton.js +6 -4
  130. package/dist/ToolbarButton.js.map +1 -1
  131. package/dist/ToolbarButtonTemplate.js +1 -1
  132. package/dist/ToolbarButtonTemplate.js.map +1 -1
  133. package/dist/ToolbarItem.d.ts +6 -17
  134. package/dist/ToolbarItem.js +18 -8
  135. package/dist/ToolbarItem.js.map +1 -1
  136. package/dist/ToolbarPopoverButtonTemplate.js +1 -1
  137. package/dist/ToolbarPopoverButtonTemplate.js.map +1 -1
  138. package/dist/ToolbarPopoverSelectTemplate.js +1 -1
  139. package/dist/ToolbarPopoverSelectTemplate.js.map +1 -1
  140. package/dist/ToolbarSelect.d.ts +9 -11
  141. package/dist/ToolbarSelect.js +41 -41
  142. package/dist/ToolbarSelect.js.map +1 -1
  143. package/dist/ToolbarSelectTemplate.js +1 -1
  144. package/dist/ToolbarSelectTemplate.js.map +1 -1
  145. package/dist/ToolbarTemplate.js +1 -1
  146. package/dist/ToolbarTemplate.js.map +1 -1
  147. package/dist/TreeItemBase.d.ts +1 -1
  148. package/dist/TreeItemCustom.js +5 -1
  149. package/dist/TreeItemCustom.js.map +1 -1
  150. package/dist/bundle.esm.d.ts +0 -2
  151. package/dist/bundle.esm.js +2 -5
  152. package/dist/bundle.esm.js.map +1 -1
  153. package/dist/colorpicker-utils/ColorValue.d.ts +53 -0
  154. package/dist/colorpicker-utils/ColorValue.js +143 -0
  155. package/dist/colorpicker-utils/ColorValue.js.map +1 -0
  156. package/dist/css/themes/Avatar.css +1 -1
  157. package/dist/css/themes/AvatarGroup.css +1 -1
  158. package/dist/css/themes/Bar.css +1 -1
  159. package/dist/css/themes/Breadcrumbs.css +1 -1
  160. package/dist/css/themes/BusyIndicator.css +1 -1
  161. package/dist/css/themes/Button.css +1 -1
  162. package/dist/css/themes/Calendar.css +1 -1
  163. package/dist/css/themes/CalendarHeader.css +1 -1
  164. package/dist/css/themes/CalendarLegend.css +1 -1
  165. package/dist/css/themes/CalendarLegendItem.css +1 -1
  166. package/dist/css/themes/Card.css +1 -1
  167. package/dist/css/themes/CardHeader.css +1 -1
  168. package/dist/css/themes/Carousel.css +1 -1
  169. package/dist/css/themes/CheckBox.css +1 -1
  170. package/dist/css/themes/ColorPalette.css +1 -1
  171. package/dist/css/themes/ColorPaletteItem.css +1 -1
  172. package/dist/css/themes/ColorPalettePopover.css +1 -1
  173. package/dist/css/themes/ColorPicker.css +1 -1
  174. package/dist/css/themes/ComboBox.css +1 -1
  175. package/dist/css/themes/ComboBoxItem.css +1 -1
  176. package/dist/css/themes/DatePicker.css +1 -1
  177. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  178. package/dist/css/themes/DayPicker.css +1 -1
  179. package/dist/css/themes/Dialog.css +1 -1
  180. package/dist/css/themes/FileUploader.css +1 -1
  181. package/dist/css/themes/Form.css +1 -1
  182. package/dist/css/themes/FormItem.css +1 -1
  183. package/dist/css/themes/FormItemSpan.css +1 -1
  184. package/dist/css/themes/GrowingButton.css +1 -1
  185. package/dist/css/themes/Icon.css +1 -1
  186. package/dist/css/themes/Input.css +1 -1
  187. package/dist/css/themes/InputIcon.css +1 -1
  188. package/dist/css/themes/InputSharedStyles.css +1 -1
  189. package/dist/css/themes/Label.css +1 -1
  190. package/dist/css/themes/Link.css +1 -1
  191. package/dist/css/themes/List.css +1 -1
  192. package/dist/css/themes/ListItem.css +1 -1
  193. package/dist/css/themes/ListItemBase.css +1 -1
  194. package/dist/css/themes/ListItemCustom.css +1 -1
  195. package/dist/css/themes/ListItemGroup.css +1 -1
  196. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  197. package/dist/css/themes/ListItemIcon.css +1 -1
  198. package/dist/css/themes/Menu.css +1 -1
  199. package/dist/css/themes/MenuItem.css +1 -1
  200. package/dist/css/themes/MessageStrip.css +1 -1
  201. package/dist/css/themes/MonthPicker.css +1 -1
  202. package/dist/css/themes/MultiComboBox.css +1 -1
  203. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  204. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  205. package/dist/css/themes/MultiInput.css +1 -1
  206. package/dist/css/themes/NavigationMenu.css +1 -1
  207. package/dist/css/themes/NavigationMenuItem.css +1 -1
  208. package/dist/css/themes/OptionBase.css +1 -1
  209. package/dist/css/themes/Panel.css +1 -1
  210. package/dist/css/themes/Popover.css +1 -1
  211. package/dist/css/themes/PopupsCommon.css +1 -1
  212. package/dist/css/themes/ProgressIndicator.css +1 -1
  213. package/dist/css/themes/RadioButton.css +1 -1
  214. package/dist/css/themes/RangeSlider.css +1 -1
  215. package/dist/css/themes/RatingIndicator.css +1 -1
  216. package/dist/css/themes/ResponsivePopover.css +1 -1
  217. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  218. package/dist/css/themes/SegmentedButton.css +1 -1
  219. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  220. package/dist/css/themes/Select.css +1 -1
  221. package/dist/css/themes/SliderBase.css +1 -1
  222. package/dist/css/themes/SplitButton.css +1 -1
  223. package/dist/css/themes/StepInput.css +1 -1
  224. package/dist/css/themes/SuggestionItem.css +1 -1
  225. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  226. package/dist/css/themes/Switch.css +1 -1
  227. package/dist/css/themes/TabContainer.css +1 -1
  228. package/dist/css/themes/TabInOverflow.css +1 -1
  229. package/dist/css/themes/TabInStrip.css +1 -1
  230. package/dist/css/themes/TabSemanticIcon.css +1 -1
  231. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  232. package/dist/css/themes/Table.css +1 -1
  233. package/dist/css/themes/TableCellBase.css +1 -1
  234. package/dist/css/themes/TableHeaderRow.css +1 -1
  235. package/dist/css/themes/TableRow.css +1 -1
  236. package/dist/css/themes/TableRowActionBase.css +1 -0
  237. package/dist/css/themes/TableRowBase.css +1 -1
  238. package/dist/css/themes/Tag.css +1 -1
  239. package/dist/css/themes/Text.css +1 -1
  240. package/dist/css/themes/TextArea.css +1 -1
  241. package/dist/css/themes/TimePicker.css +1 -1
  242. package/dist/css/themes/TimePickerPopover.css +1 -1
  243. package/dist/css/themes/Toast.css +1 -1
  244. package/dist/css/themes/ToggleButton.css +1 -1
  245. package/dist/css/themes/Token.css +1 -1
  246. package/dist/css/themes/Tokenizer.css +1 -1
  247. package/dist/css/themes/TokenizerPopover.css +1 -1
  248. package/dist/css/themes/Toolbar.css +1 -1
  249. package/dist/css/themes/ToolbarPopover.css +1 -1
  250. package/dist/css/themes/TreeItem.css +1 -1
  251. package/dist/css/themes/ValueStateMessage.css +1 -1
  252. package/dist/css/themes/YearPicker.css +1 -1
  253. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  254. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  255. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  256. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  257. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  258. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  259. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  260. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  261. package/dist/custom-elements-internal.json +513 -56
  262. package/dist/custom-elements.json +416 -37
  263. package/dist/features/ColorPaletteMoreColors.d.ts +1 -11
  264. package/dist/features/ColorPaletteMoreColors.js +3 -18
  265. package/dist/features/ColorPaletteMoreColors.js.map +1 -1
  266. package/dist/features/ColorPaletteMoreColorsTemplate.js +1 -1
  267. package/dist/features/ColorPaletteMoreColorsTemplate.js.map +1 -1
  268. package/dist/features/InputSuggestions.d.ts +1 -2
  269. package/dist/features/InputSuggestions.js +3 -5
  270. package/dist/features/InputSuggestions.js.map +1 -1
  271. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  272. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  273. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  274. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  275. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  276. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  277. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  278. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  279. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  280. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  281. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  282. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  283. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  284. package/dist/generated/i18n/i18n-defaults.d.ts +7 -1
  285. package/dist/generated/i18n/i18n-defaults.js +8 -2
  286. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  287. package/dist/generated/json-imports/Themes-fetch.js +1 -5
  288. package/dist/generated/json-imports/Themes-fetch.js.map +1 -1
  289. package/dist/generated/json-imports/Themes.js +1 -5
  290. package/dist/generated/json-imports/Themes.js.map +1 -1
  291. package/dist/generated/templates/TableCellTemplate.lit.js +6 -4
  292. package/dist/generated/templates/TableCellTemplate.lit.js.map +1 -1
  293. package/dist/generated/templates/TableHeaderRowTemplate.lit.js +3 -2
  294. package/dist/generated/templates/TableHeaderRowTemplate.lit.js.map +1 -1
  295. package/dist/generated/templates/TableRowActionBaseTemplate.lit.d.ts +3 -0
  296. package/dist/generated/templates/TableRowActionBaseTemplate.lit.js +11 -0
  297. package/dist/generated/templates/TableRowActionBaseTemplate.lit.js.map +1 -0
  298. package/dist/generated/templates/TableRowTemplate.lit.js +8 -4
  299. package/dist/generated/templates/TableRowTemplate.lit.js.map +1 -1
  300. package/dist/generated/templates/TableTemplate.lit.js +1 -1
  301. package/dist/generated/templates/TableTemplate.lit.js.map +1 -1
  302. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  303. package/dist/generated/themes/Avatar.css.js +1 -1
  304. package/dist/generated/themes/Avatar.css.js.map +1 -1
  305. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  306. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  307. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  308. package/dist/generated/themes/Bar.css.d.ts +1 -1
  309. package/dist/generated/themes/Bar.css.js +1 -1
  310. package/dist/generated/themes/Bar.css.js.map +1 -1
  311. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  312. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  313. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  314. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  315. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  316. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  317. package/dist/generated/themes/Button.css.d.ts +1 -1
  318. package/dist/generated/themes/Button.css.js +1 -1
  319. package/dist/generated/themes/Button.css.js.map +1 -1
  320. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  321. package/dist/generated/themes/Calendar.css.js +1 -1
  322. package/dist/generated/themes/Calendar.css.js.map +1 -1
  323. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  324. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  325. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  326. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  327. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  328. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  329. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  330. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  331. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  332. package/dist/generated/themes/Card.css.d.ts +1 -1
  333. package/dist/generated/themes/Card.css.js +1 -1
  334. package/dist/generated/themes/Card.css.js.map +1 -1
  335. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  336. package/dist/generated/themes/CardHeader.css.js +1 -1
  337. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  338. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  339. package/dist/generated/themes/Carousel.css.js +1 -1
  340. package/dist/generated/themes/Carousel.css.js.map +1 -1
  341. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  342. package/dist/generated/themes/CheckBox.css.js +1 -1
  343. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  344. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  345. package/dist/generated/themes/ColorPalette.css.js +1 -1
  346. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  347. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  348. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  349. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  350. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  351. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  352. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  353. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  354. package/dist/generated/themes/ColorPicker.css.js +1 -1
  355. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  356. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  357. package/dist/generated/themes/ComboBox.css.js +1 -1
  358. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  359. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  360. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  361. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  362. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  363. package/dist/generated/themes/DatePicker.css.js +1 -1
  364. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  365. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  366. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  367. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  368. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  369. package/dist/generated/themes/DayPicker.css.js +1 -1
  370. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  371. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  372. package/dist/generated/themes/Dialog.css.js +1 -1
  373. package/dist/generated/themes/Dialog.css.js.map +1 -1
  374. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  375. package/dist/generated/themes/FileUploader.css.js +1 -1
  376. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  377. package/dist/generated/themes/Form.css.d.ts +1 -1
  378. package/dist/generated/themes/Form.css.js +1 -1
  379. package/dist/generated/themes/Form.css.js.map +1 -1
  380. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  381. package/dist/generated/themes/FormItem.css.js +1 -1
  382. package/dist/generated/themes/FormItem.css.js.map +1 -1
  383. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  384. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  385. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  386. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  387. package/dist/generated/themes/GrowingButton.css.js +1 -1
  388. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  389. package/dist/generated/themes/Icon.css.d.ts +1 -1
  390. package/dist/generated/themes/Icon.css.js +1 -1
  391. package/dist/generated/themes/Icon.css.js.map +1 -1
  392. package/dist/generated/themes/Input.css.d.ts +1 -1
  393. package/dist/generated/themes/Input.css.js +1 -1
  394. package/dist/generated/themes/Input.css.js.map +1 -1
  395. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  396. package/dist/generated/themes/InputIcon.css.js +1 -1
  397. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  398. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  399. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  400. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  401. package/dist/generated/themes/Label.css.d.ts +1 -1
  402. package/dist/generated/themes/Label.css.js +1 -1
  403. package/dist/generated/themes/Label.css.js.map +1 -1
  404. package/dist/generated/themes/Link.css.d.ts +1 -1
  405. package/dist/generated/themes/Link.css.js +1 -1
  406. package/dist/generated/themes/Link.css.js.map +1 -1
  407. package/dist/generated/themes/List.css.d.ts +1 -1
  408. package/dist/generated/themes/List.css.js +1 -1
  409. package/dist/generated/themes/List.css.js.map +1 -1
  410. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  411. package/dist/generated/themes/ListItem.css.js +1 -1
  412. package/dist/generated/themes/ListItem.css.js.map +1 -1
  413. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  414. package/dist/generated/themes/ListItemBase.css.js +1 -1
  415. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  416. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  417. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  418. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  419. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  420. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  421. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  422. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  423. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  424. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  425. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  426. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  427. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  428. package/dist/generated/themes/Menu.css.d.ts +1 -1
  429. package/dist/generated/themes/Menu.css.js +1 -1
  430. package/dist/generated/themes/Menu.css.js.map +1 -1
  431. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  432. package/dist/generated/themes/MenuItem.css.js +1 -1
  433. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  434. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  435. package/dist/generated/themes/MessageStrip.css.js +1 -1
  436. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  437. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  438. package/dist/generated/themes/MonthPicker.css.js +1 -1
  439. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  440. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  441. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  442. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  443. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  444. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  445. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  446. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  447. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  448. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  449. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  450. package/dist/generated/themes/MultiInput.css.js +1 -1
  451. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  452. package/dist/generated/themes/NavigationMenu.css.d.ts +1 -1
  453. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  454. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  455. package/dist/generated/themes/NavigationMenuItem.css.d.ts +1 -1
  456. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  457. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  458. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  459. package/dist/generated/themes/OptionBase.css.js +1 -1
  460. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  461. package/dist/generated/themes/Panel.css.d.ts +1 -1
  462. package/dist/generated/themes/Panel.css.js +1 -1
  463. package/dist/generated/themes/Panel.css.js.map +1 -1
  464. package/dist/generated/themes/Popover.css.d.ts +1 -1
  465. package/dist/generated/themes/Popover.css.js +1 -1
  466. package/dist/generated/themes/Popover.css.js.map +1 -1
  467. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  468. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  469. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  470. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  471. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  472. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  473. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  474. package/dist/generated/themes/RadioButton.css.js +1 -1
  475. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  476. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  477. package/dist/generated/themes/RangeSlider.css.js +1 -1
  478. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  479. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  480. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  481. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  482. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  483. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  484. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  485. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  486. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  487. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  488. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  489. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  490. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  491. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  492. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  493. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  494. package/dist/generated/themes/Select.css.d.ts +1 -1
  495. package/dist/generated/themes/Select.css.js +1 -1
  496. package/dist/generated/themes/Select.css.js.map +1 -1
  497. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  498. package/dist/generated/themes/SliderBase.css.js +1 -1
  499. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  500. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  501. package/dist/generated/themes/SplitButton.css.js +1 -1
  502. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  503. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  504. package/dist/generated/themes/StepInput.css.js +1 -1
  505. package/dist/generated/themes/StepInput.css.js.map +1 -1
  506. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  507. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  508. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  509. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  510. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  511. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  512. package/dist/generated/themes/Switch.css.d.ts +1 -1
  513. package/dist/generated/themes/Switch.css.js +1 -1
  514. package/dist/generated/themes/Switch.css.js.map +1 -1
  515. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  516. package/dist/generated/themes/TabContainer.css.js +1 -1
  517. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  518. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  519. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  520. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  521. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  522. package/dist/generated/themes/TabInStrip.css.js +1 -1
  523. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  524. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  525. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  526. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  527. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  528. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  529. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  530. package/dist/generated/themes/Table.css.d.ts +1 -1
  531. package/dist/generated/themes/Table.css.js +1 -1
  532. package/dist/generated/themes/Table.css.js.map +1 -1
  533. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  534. package/dist/generated/themes/TableCellBase.css.js +1 -1
  535. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  536. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  537. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  538. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  539. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  540. package/dist/generated/themes/TableRow.css.js +1 -1
  541. package/dist/generated/themes/TableRow.css.js.map +1 -1
  542. package/dist/generated/themes/TableRowActionBase.css.d.ts +2 -0
  543. package/dist/generated/themes/TableRowActionBase.css.js +8 -0
  544. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -0
  545. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  546. package/dist/generated/themes/TableRowBase.css.js +1 -1
  547. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  548. package/dist/generated/themes/Tag.css.d.ts +1 -1
  549. package/dist/generated/themes/Tag.css.js +1 -1
  550. package/dist/generated/themes/Tag.css.js.map +1 -1
  551. package/dist/generated/themes/Text.css.d.ts +1 -1
  552. package/dist/generated/themes/Text.css.js +1 -1
  553. package/dist/generated/themes/Text.css.js.map +1 -1
  554. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  555. package/dist/generated/themes/TextArea.css.js +1 -1
  556. package/dist/generated/themes/TextArea.css.js.map +1 -1
  557. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  558. package/dist/generated/themes/TimePicker.css.js +1 -1
  559. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  560. package/dist/generated/themes/TimePickerPopover.css.d.ts +1 -1
  561. package/dist/generated/themes/TimePickerPopover.css.js +1 -1
  562. package/dist/generated/themes/TimePickerPopover.css.js.map +1 -1
  563. package/dist/generated/themes/Toast.css.d.ts +1 -1
  564. package/dist/generated/themes/Toast.css.js +1 -1
  565. package/dist/generated/themes/Toast.css.js.map +1 -1
  566. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  567. package/dist/generated/themes/ToggleButton.css.js +1 -1
  568. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  569. package/dist/generated/themes/Token.css.d.ts +1 -1
  570. package/dist/generated/themes/Token.css.js +1 -1
  571. package/dist/generated/themes/Token.css.js.map +1 -1
  572. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  573. package/dist/generated/themes/Tokenizer.css.js +1 -1
  574. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  575. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  576. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  577. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  578. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  579. package/dist/generated/themes/Toolbar.css.js +1 -1
  580. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  581. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  582. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  583. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  584. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  585. package/dist/generated/themes/TreeItem.css.js +1 -1
  586. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  587. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  588. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  589. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  590. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  591. package/dist/generated/themes/YearPicker.css.js +1 -1
  592. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  593. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  594. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  595. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  596. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  597. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  598. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  599. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  600. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  601. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  602. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  603. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  604. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  605. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  606. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  607. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  608. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  609. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  610. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  611. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  612. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  613. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  614. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  615. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  616. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  617. package/dist/vscode.html-custom-data.json +77 -11
  618. package/dist/web-types.json +177 -27
  619. package/package.json +13 -10
  620. package/src/CardHeaderTemplate.tsx +1 -2
  621. package/src/ColorPaletteTemplate.tsx +2 -2
  622. package/src/ColorPickerTemplate.tsx +37 -37
  623. package/src/NavigationMenuTemplate.tsx +1 -0
  624. package/src/SelectPopoverTemplate.tsx +106 -0
  625. package/src/SelectTemplate.tsx +68 -0
  626. package/src/SwitchTemplate.tsx +1 -7
  627. package/src/Table.hbs +1 -1
  628. package/src/TableCell.hbs +6 -5
  629. package/src/TableHeaderRow.hbs +4 -0
  630. package/src/TableRow.hbs +22 -3
  631. package/src/TableRowActionBase.hbs +17 -0
  632. package/src/TimePickerPopoverTemplate.tsx +48 -1
  633. package/src/TimePickerTemplate.tsx +7 -5
  634. package/src/ToastTemplate.tsx +6 -4
  635. package/src/TokenizerPopoverTemplate.tsx +0 -1
  636. package/src/ToolbarButtonTemplate.tsx +1 -0
  637. package/src/ToolbarPopoverButtonTemplate.tsx +1 -0
  638. package/src/ToolbarPopoverSelectTemplate.tsx +4 -0
  639. package/src/ToolbarSelectTemplate.tsx +4 -0
  640. package/src/ToolbarTemplate.tsx +1 -0
  641. package/src/features/ColorPaletteMoreColorsTemplate.tsx +2 -2
  642. package/src/i18n/messagebundle.properties +22 -6
  643. package/src/i18n/messagebundle_de.properties +1 -1
  644. package/src/i18n/messagebundle_en.properties +3 -1
  645. package/src/i18n/messagebundle_en_US_sappsd.properties +3 -1
  646. package/src/i18n/messagebundle_en_US_saprigi.properties +3 -1
  647. package/src/i18n/messagebundle_en_US_saptrc.properties +3 -1
  648. package/src/themes/ColorPicker.css +20 -4
  649. package/src/themes/FormItem.css +4 -5
  650. package/src/themes/Label.css +1 -1
  651. package/src/themes/NavigationMenuItem.css +3 -1
  652. package/src/themes/Switch.css +0 -9
  653. package/src/themes/TabInOverflow.css +6 -6
  654. package/src/themes/TableCellBase.css +1 -1
  655. package/src/themes/TableRow.css +96 -73
  656. package/src/themes/TableRowActionBase.css +13 -0
  657. package/src/themes/TableRowBase.css +14 -6
  658. package/src/themes/TimePicker.css +4 -0
  659. package/src/themes/TimePickerPopover.css +5 -0
  660. package/src/themes/Toolbar.css +13 -1
  661. package/src/themes/base/Switch-parameters.css +0 -1
  662. package/src/themes/base/TabContainer-parameters.css +2 -1
  663. package/src/themes/base/Table-parameters.css +3 -9
  664. package/src/themes/base/Toolbar-parameters.css +2 -1
  665. package/src/themes/base/sizes-parameters.css +6 -6
  666. package/src/themes/sap_fiori_3_hcb/TabContainer-parameters.css +2 -1
  667. package/src/themes/sap_fiori_3_hcw/TabContainer-parameters.css +2 -1
  668. package/src/themes/sap_horizon/RadioButton-parameters.css +5 -1
  669. package/src/themes/sap_horizon_dark/RadioButton-parameters.css +5 -1
  670. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -0
  671. package/src/themes/sap_horizon_hcb/RadioButton-parameters.css +5 -5
  672. package/src/themes/sap_horizon_hcb/TabContainer-parameters.css +2 -1
  673. package/src/themes/sap_horizon_hcw/RadioButton-parameters.css +5 -5
  674. package/src/themes/sap_horizon_hcw/TabContainer-parameters.css +2 -1
  675. package/vitest.config.js +9 -0
  676. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +0 -1
  677. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +0 -1
  678. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +0 -1
  679. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +0 -1
  680. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +0 -1
  681. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +0 -1
  682. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +0 -1
  683. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +0 -1
  684. package/dist/generated/templates/SelectPopoverTemplate.lit.d.ts +0 -3
  685. package/dist/generated/templates/SelectPopoverTemplate.lit.js +0 -19
  686. package/dist/generated/templates/SelectPopoverTemplate.lit.js.map +0 -1
  687. package/dist/generated/templates/SelectTemplate.lit.d.ts +0 -3
  688. package/dist/generated/templates/SelectTemplate.lit.js +0 -24
  689. package/dist/generated/templates/SelectTemplate.lit.js.map +0 -1
  690. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.d.ts +0 -2
  691. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +0 -3
  692. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +0 -1
  693. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.d.ts +0 -2
  694. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +0 -3
  695. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +0 -1
  696. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.d.ts +0 -2
  697. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +0 -3
  698. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +0 -1
  699. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.d.ts +0 -2
  700. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +0 -3
  701. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +0 -1
  702. package/src/Select.hbs +0 -51
  703. package/src/SelectPopover.hbs +0 -78
  704. package/src/themes/sap_horizon_dark_exp/Avatar-parameters.css +0 -54
  705. package/src/themes/sap_horizon_dark_exp/Breadcrumbs-parameters.css +0 -3
  706. package/src/themes/sap_horizon_dark_exp/Button-parameters.css +0 -17
  707. package/src/themes/sap_horizon_dark_exp/CalendarHeader-parameters.css +0 -19
  708. package/src/themes/sap_horizon_dark_exp/CalendarLegendItem-parameters.css +0 -6
  709. package/src/themes/sap_horizon_dark_exp/Card-parameters.css +0 -15
  710. package/src/themes/sap_horizon_dark_exp/Carousel-parameters.css +0 -5
  711. package/src/themes/sap_horizon_dark_exp/CheckBox-parameters.css +0 -44
  712. package/src/themes/sap_horizon_dark_exp/ColorPalette-parameters.css +0 -25
  713. package/src/themes/sap_horizon_dark_exp/ColorPicker-parameters.css +0 -12
  714. package/src/themes/sap_horizon_dark_exp/DatePicker-parameters.css +0 -6
  715. package/src/themes/sap_horizon_dark_exp/DayPicker-parameters.css +0 -68
  716. package/src/themes/sap_horizon_dark_exp/Dialog-parameters.css +0 -9
  717. package/src/themes/sap_horizon_dark_exp/FileUploader-parameters.css +0 -5
  718. package/src/themes/sap_horizon_dark_exp/GrowingButton-parameters.css +0 -6
  719. package/src/themes/sap_horizon_dark_exp/Icon-parameters.css +0 -3
  720. package/src/themes/sap_horizon_dark_exp/Input-parameters.css +0 -34
  721. package/src/themes/sap_horizon_dark_exp/InputIcon-parameters.css +0 -24
  722. package/src/themes/sap_horizon_dark_exp/Link-parameters.css +0 -15
  723. package/src/themes/sap_horizon_dark_exp/List-parameters.css +0 -5
  724. package/src/themes/sap_horizon_dark_exp/ListItemBase-parameters.css +0 -5
  725. package/src/themes/sap_horizon_dark_exp/Menu-parameters.css +0 -5
  726. package/src/themes/sap_horizon_dark_exp/MessageStrip-parameters.css +0 -5
  727. package/src/themes/sap_horizon_dark_exp/MonthPicker-parameters.css +0 -16
  728. package/src/themes/sap_horizon_dark_exp/MultiComboBox-parameters.css +0 -5
  729. package/src/themes/sap_horizon_dark_exp/Panel-parameters.css +0 -14
  730. package/src/themes/sap_horizon_dark_exp/PopupsCommon-parameters.css +0 -5
  731. package/src/themes/sap_horizon_dark_exp/RadioButton-parameters.css +0 -23
  732. package/src/themes/sap_horizon_dark_exp/RatingIndicator-parameters.css +0 -17
  733. package/src/themes/sap_horizon_dark_exp/SegmentedButtton-parameters.css +0 -13
  734. package/src/themes/sap_horizon_dark_exp/Select-parameters.css +0 -5
  735. package/src/themes/sap_horizon_dark_exp/SelectPopover-parameters.css +0 -4
  736. package/src/themes/sap_horizon_dark_exp/SliderBase-parameters.css +0 -72
  737. package/src/themes/sap_horizon_dark_exp/SplitButton-parameters.css +0 -31
  738. package/src/themes/sap_horizon_dark_exp/StepInput-parameters.css +0 -25
  739. package/src/themes/sap_horizon_dark_exp/Switch-parameters.css +0 -148
  740. package/src/themes/sap_horizon_dark_exp/TabContainer-parameters.css +0 -38
  741. package/src/themes/sap_horizon_dark_exp/Tag-parameters.css +0 -1
  742. package/src/themes/sap_horizon_dark_exp/TextArea-parameters.css +0 -45
  743. package/src/themes/sap_horizon_dark_exp/TimePicker-parameters.css +0 -6
  744. package/src/themes/sap_horizon_dark_exp/ToggleButton-parameters.css +0 -1
  745. package/src/themes/sap_horizon_dark_exp/Token-parameters.css +0 -28
  746. package/src/themes/sap_horizon_dark_exp/Tokenizer-parameters.css +0 -5
  747. package/src/themes/sap_horizon_dark_exp/ValueStateMessage-parameters.css +0 -12
  748. package/src/themes/sap_horizon_dark_exp/YearPicker-parameters.css +0 -15
  749. package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +0 -57
  750. package/src/themes/sap_horizon_dark_exp/rtl-parameters.css +0 -6
  751. package/src/themes/sap_horizon_dark_exp/sizes-parameters.css +0 -52
  752. package/src/themes/sap_horizon_exp/Avatar-parameters.css +0 -54
  753. package/src/themes/sap_horizon_exp/AvatarGroup-parameters.css +0 -5
  754. package/src/themes/sap_horizon_exp/Breadcrumbs-parameters.css +0 -3
  755. package/src/themes/sap_horizon_exp/Button-parameters.css +0 -17
  756. package/src/themes/sap_horizon_exp/CalendarHeader-parameters.css +0 -19
  757. package/src/themes/sap_horizon_exp/Card-parameters.css +0 -15
  758. package/src/themes/sap_horizon_exp/Carousel-parameters.css +0 -5
  759. package/src/themes/sap_horizon_exp/CheckBox-parameters.css +0 -44
  760. package/src/themes/sap_horizon_exp/ColorPalette-parameters.css +0 -25
  761. package/src/themes/sap_horizon_exp/ColorPicker-parameters.css +0 -12
  762. package/src/themes/sap_horizon_exp/DatePicker-parameters.css +0 -6
  763. package/src/themes/sap_horizon_exp/DayPicker-parameters.css +0 -71
  764. package/src/themes/sap_horizon_exp/Dialog-parameters.css +0 -9
  765. package/src/themes/sap_horizon_exp/FileUploader-parameters.css +0 -5
  766. package/src/themes/sap_horizon_exp/GrowingButton-parameters.css +0 -6
  767. package/src/themes/sap_horizon_exp/Icon-parameters.css +0 -3
  768. package/src/themes/sap_horizon_exp/Input-parameters.css +0 -34
  769. package/src/themes/sap_horizon_exp/InputIcon-parameters.css +0 -24
  770. package/src/themes/sap_horizon_exp/Link-parameters.css +0 -15
  771. package/src/themes/sap_horizon_exp/List-parameters.css +0 -5
  772. package/src/themes/sap_horizon_exp/ListItemBase-parameters.css +0 -5
  773. package/src/themes/sap_horizon_exp/Menu-parameters.css +0 -5
  774. package/src/themes/sap_horizon_exp/MessageStrip-parameters.css +0 -5
  775. package/src/themes/sap_horizon_exp/MonthPicker-parameters.css +0 -16
  776. package/src/themes/sap_horizon_exp/MultiComboBox-parameters.css +0 -5
  777. package/src/themes/sap_horizon_exp/Panel-parameters.css +0 -14
  778. package/src/themes/sap_horizon_exp/PopupsCommon-parameters.css +0 -5
  779. package/src/themes/sap_horizon_exp/ProgressIndicator-parameters.css +0 -32
  780. package/src/themes/sap_horizon_exp/ProgressIndicatorLayout-parameters.css +0 -40
  781. package/src/themes/sap_horizon_exp/RadioButton-parameters.css +0 -23
  782. package/src/themes/sap_horizon_exp/RatingIndicator-parameters.css +0 -17
  783. package/src/themes/sap_horizon_exp/SegmentedButtton-parameters.css +0 -13
  784. package/src/themes/sap_horizon_exp/Select-parameters.css +0 -5
  785. package/src/themes/sap_horizon_exp/SelectPopover-parameters.css +0 -4
  786. package/src/themes/sap_horizon_exp/SliderBase-parameters.css +0 -71
  787. package/src/themes/sap_horizon_exp/SplitButton-parameters.css +0 -31
  788. package/src/themes/sap_horizon_exp/StepInput-parameters.css +0 -25
  789. package/src/themes/sap_horizon_exp/Switch-parameters.css +0 -150
  790. package/src/themes/sap_horizon_exp/TabContainer-parameters.css +0 -38
  791. package/src/themes/sap_horizon_exp/Tag-parameters.css +0 -1
  792. package/src/themes/sap_horizon_exp/TextArea-parameters.css +0 -45
  793. package/src/themes/sap_horizon_exp/TimePicker-parameters.css +0 -6
  794. package/src/themes/sap_horizon_exp/ToggleButton-parameters.css +0 -1
  795. package/src/themes/sap_horizon_exp/Token-parameters.css +0 -28
  796. package/src/themes/sap_horizon_exp/Tokenizer-parameters.css +0 -5
  797. package/src/themes/sap_horizon_exp/ValueStateMessage-parameters.css +0 -12
  798. package/src/themes/sap_horizon_exp/YearPicker-parameters.css +0 -15
  799. package/src/themes/sap_horizon_exp/parameters-bundle.css +0 -57
  800. package/src/themes/sap_horizon_exp/rtl-parameters.css +0 -6
  801. package/src/themes/sap_horizon_exp/sizes-parameters.css +0 -51
  802. package/src/themes/sap_horizon_hcb_exp/Avatar-parameters.css +0 -54
  803. package/src/themes/sap_horizon_hcb_exp/BusyIndicator-parameters.css +0 -5
  804. package/src/themes/sap_horizon_hcb_exp/Button-parameters.css +0 -9
  805. package/src/themes/sap_horizon_hcb_exp/CalendarHeader-parameters.css +0 -11
  806. package/src/themes/sap_horizon_hcb_exp/Card-parameters.css +0 -11
  807. package/src/themes/sap_horizon_hcb_exp/Carousel-parameters.css +0 -9
  808. package/src/themes/sap_horizon_hcb_exp/CheckBox-parameters.css +0 -45
  809. package/src/themes/sap_horizon_hcb_exp/ColorPicker-parameters.css +0 -10
  810. package/src/themes/sap_horizon_hcb_exp/DatePicker-parameters.css +0 -5
  811. package/src/themes/sap_horizon_hcb_exp/DayPicker-parameters.css +0 -70
  812. package/src/themes/sap_horizon_hcb_exp/FileUploader-parameters.css +0 -6
  813. package/src/themes/sap_horizon_hcb_exp/GrowingButton-parameters.css +0 -8
  814. package/src/themes/sap_horizon_hcb_exp/Input-parameters.css +0 -32
  815. package/src/themes/sap_horizon_hcb_exp/InputIcon-parameters.css +0 -11
  816. package/src/themes/sap_horizon_hcb_exp/Link-parameters.css +0 -11
  817. package/src/themes/sap_horizon_hcb_exp/ListItem-parameters.css +0 -3
  818. package/src/themes/sap_horizon_hcb_exp/Menu-parameters.css +0 -5
  819. package/src/themes/sap_horizon_hcb_exp/MessageStrip-parameters.css +0 -10
  820. package/src/themes/sap_horizon_hcb_exp/MonthPicker-parameters.css +0 -12
  821. package/src/themes/sap_horizon_hcb_exp/Panel-parameters.css +0 -10
  822. package/src/themes/sap_horizon_hcb_exp/PopupsCommon-parameters.css +0 -5
  823. package/src/themes/sap_horizon_hcb_exp/ProgressIndicator-parameters.css +0 -15
  824. package/src/themes/sap_horizon_hcb_exp/RadioButton-parameters.css +0 -26
  825. package/src/themes/sap_horizon_hcb_exp/RatingIndicator-parameters.css +0 -16
  826. package/src/themes/sap_horizon_hcb_exp/SegmentedButtton-parameters.css +0 -8
  827. package/src/themes/sap_horizon_hcb_exp/Select-parameters.css +0 -10
  828. package/src/themes/sap_horizon_hcb_exp/SliderBase-parameters.css +0 -78
  829. package/src/themes/sap_horizon_hcb_exp/SplitButton-parameters.css +0 -34
  830. package/src/themes/sap_horizon_hcb_exp/Switch-parameters.css +0 -144
  831. package/src/themes/sap_horizon_hcb_exp/TabContainer-parameters.css +0 -49
  832. package/src/themes/sap_horizon_hcb_exp/Tag-parameters.css +0 -1
  833. package/src/themes/sap_horizon_hcb_exp/TextArea-parameters.css +0 -42
  834. package/src/themes/sap_horizon_hcb_exp/TimePicker-parameters.css +0 -5
  835. package/src/themes/sap_horizon_hcb_exp/ToggleButton-parameters.css +0 -1
  836. package/src/themes/sap_horizon_hcb_exp/Token-parameters.css +0 -17
  837. package/src/themes/sap_horizon_hcb_exp/ValueStateMessage-parameters.css +0 -13
  838. package/src/themes/sap_horizon_hcb_exp/YearPicker-parameters.css +0 -12
  839. package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +0 -52
  840. package/src/themes/sap_horizon_hcb_exp/sizes-parameters.css +0 -16
  841. package/src/themes/sap_horizon_hcw_exp/Avatar-parameters.css +0 -54
  842. package/src/themes/sap_horizon_hcw_exp/BusyIndicator-parameters.css +0 -5
  843. package/src/themes/sap_horizon_hcw_exp/Button-parameters.css +0 -9
  844. package/src/themes/sap_horizon_hcw_exp/CalendarHeader-parameters.css +0 -11
  845. package/src/themes/sap_horizon_hcw_exp/Card-parameters.css +0 -11
  846. package/src/themes/sap_horizon_hcw_exp/Carousel-parameters.css +0 -9
  847. package/src/themes/sap_horizon_hcw_exp/CheckBox-parameters.css +0 -45
  848. package/src/themes/sap_horizon_hcw_exp/ColorPicker-parameters.css +0 -10
  849. package/src/themes/sap_horizon_hcw_exp/DatePicker-parameters.css +0 -5
  850. package/src/themes/sap_horizon_hcw_exp/DayPicker-parameters.css +0 -69
  851. package/src/themes/sap_horizon_hcw_exp/FileUploader-parameters.css +0 -6
  852. package/src/themes/sap_horizon_hcw_exp/GrowingButton-parameters.css +0 -8
  853. package/src/themes/sap_horizon_hcw_exp/Input-parameters.css +0 -32
  854. package/src/themes/sap_horizon_hcw_exp/InputIcon-parameters.css +0 -11
  855. package/src/themes/sap_horizon_hcw_exp/Link-parameters.css +0 -11
  856. package/src/themes/sap_horizon_hcw_exp/ListItem-parameters.css +0 -3
  857. package/src/themes/sap_horizon_hcw_exp/Menu-parameters.css +0 -5
  858. package/src/themes/sap_horizon_hcw_exp/MessageStrip-parameters.css +0 -10
  859. package/src/themes/sap_horizon_hcw_exp/MonthPicker-parameters.css +0 -12
  860. package/src/themes/sap_horizon_hcw_exp/Panel-parameters.css +0 -11
  861. package/src/themes/sap_horizon_hcw_exp/PopupsCommon-parameters.css +0 -5
  862. package/src/themes/sap_horizon_hcw_exp/RadioButton-parameters.css +0 -30
  863. package/src/themes/sap_horizon_hcw_exp/RatingIndicator-parameters.css +0 -16
  864. package/src/themes/sap_horizon_hcw_exp/SegmentedButtton-parameters.css +0 -8
  865. package/src/themes/sap_horizon_hcw_exp/Select-parameters.css +0 -10
  866. package/src/themes/sap_horizon_hcw_exp/SliderBase-parameters.css +0 -78
  867. package/src/themes/sap_horizon_hcw_exp/SplitButton-parameters.css +0 -34
  868. package/src/themes/sap_horizon_hcw_exp/Switch-parameters.css +0 -149
  869. package/src/themes/sap_horizon_hcw_exp/TabContainer-parameters.css +0 -49
  870. package/src/themes/sap_horizon_hcw_exp/Tag-parameters.css +0 -1
  871. package/src/themes/sap_horizon_hcw_exp/TextArea-parameters.css +0 -42
  872. package/src/themes/sap_horizon_hcw_exp/TimePicker-parameters.css +0 -5
  873. package/src/themes/sap_horizon_hcw_exp/ToggleButton-parameters.css +0 -1
  874. package/src/themes/sap_horizon_hcw_exp/Token-parameters.css +0 -17
  875. package/src/themes/sap_horizon_hcw_exp/ValueStateMessage-parameters.css +0 -13
  876. package/src/themes/sap_horizon_hcw_exp/YearPicker-parameters.css +0 -12
  877. package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +0 -52
  878. package/src/themes/sap_horizon_hcw_exp/sizes-parameters.css +0 -16
@@ -3,10 +3,19 @@ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
3
  import type ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
4
4
  import type { IFormInputElement } from "@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js";
5
5
  import type { ColorRGB } from "@ui5/webcomponents-base/dist/util/ColorConversion.js";
6
+ import "@ui5/webcomponents-icons/dist/expand.js";
7
+ import ColorValue from "./colorpicker-utils/ColorValue.js";
6
8
  type ColorCoordinates = {
7
9
  x: number;
8
10
  y: number;
9
11
  };
12
+ type ColorChannelInput = {
13
+ id: string;
14
+ value: number;
15
+ accessibleName: string;
16
+ label: string;
17
+ showPercentSymbol?: boolean;
18
+ };
10
19
  /**
11
20
  * @class
12
21
  *
@@ -60,23 +69,16 @@ declare class ColorPicker extends UI5Element implements IFormInputElement {
60
69
  * @since 2.5.0
61
70
  */
62
71
  simplified: boolean;
63
- /**
64
- * Defines the HEX code of the currently selected color
65
- *
66
- * **Note**: If Alpha(transperancy) is set it is not included in this property. Use `color` property.
67
- * @private
68
- */
69
- hex: string;
70
72
  /**
71
73
  * Defines the current main color which is selected via the hue slider and is shown in the main color square.
72
74
  * @private
73
75
  */
74
76
  _mainValue: ColorRGB;
75
77
  /**
76
- * Defines the currenty selected color from the main color section.
78
+ * Defines the currenty selected color.
77
79
  * @private
78
80
  */
79
- _value: ColorRGB;
81
+ _colorValue: ColorValue;
80
82
  /**
81
83
  * @private
82
84
  */
@@ -101,6 +103,10 @@ declare class ColorPicker extends UI5Element implements IFormInputElement {
101
103
  * @private
102
104
  */
103
105
  _wrongHEX: boolean;
106
+ /**
107
+ * @private
108
+ */
109
+ _displayHSL: boolean;
104
110
  selectedHue: number;
105
111
  mouseDown: boolean;
106
112
  mouseIn: boolean;
@@ -113,12 +119,13 @@ declare class ColorPicker extends UI5Element implements IFormInputElement {
113
119
  _handleMouseUp(): void;
114
120
  _handleMouseOut(e: MouseEvent): void;
115
121
  _handleMouseMove(e: MouseEvent): void;
116
- _handleAlphaInputFromSlider(e: CustomEvent): void;
122
+ _handleAlphaInput(e: CustomEvent): void;
117
123
  _handleHueInput(e: CustomEvent): void;
118
124
  _handleHEXChange(e: CustomEvent | KeyboardEvent): void;
119
- _handleRGBInputsChange(e: Event): void;
125
+ _togglePickerMode(): void;
126
+ _handleColorInputChange(e: Event): void;
120
127
  _setMainColor(hueValue: number): void;
121
- _handleAlphaChange(e: CustomEvent): void;
128
+ _handleAlphaChange(): void;
122
129
  _changeSelectedColor(x: number, y: number): void;
123
130
  _onkeydown(e: KeyboardEvent): void;
124
131
  _calculateColorFromCoordinates(x: number, y: number): {
@@ -126,31 +133,26 @@ declare class ColorPicker extends UI5Element implements IFormInputElement {
126
133
  s: number;
127
134
  l: number;
128
135
  } | undefined;
129
- _setColor(color?: ColorRGB): void;
130
- isValidRGBColor(color: ColorRGB): boolean;
131
- _setHex(): void;
132
- _setValues(): void;
136
+ _setValue(color: string): void;
137
+ _updateColorGrid(): void;
138
+ _isColorValueEqual(value: ColorRGB): boolean;
133
139
  get hueSliderLabel(): string;
134
140
  get alphaSliderLabel(): string;
135
141
  get hexInputLabel(): string;
136
142
  get redInputLabel(): string;
137
143
  get greenInputLabel(): string;
138
144
  get blueInputLabel(): string;
145
+ get hueInputLabel(): string;
146
+ get saturationInputLabel(): string;
147
+ get lightInputLabel(): string;
139
148
  get alphaInputLabel(): string;
149
+ get toggleModeTooltip(): string;
140
150
  get inputsDisabled(): true | undefined;
141
151
  get hexInputErrorState(): `${ValueState}`;
152
+ get rgbInputs(): Array<ColorChannelInput>;
153
+ get hslInputs(): Array<ColorChannelInput>;
154
+ get HEX(): string;
155
+ get colorChannelInputs(): ColorChannelInput[];
142
156
  get _isDefaultPickerMode(): boolean;
143
- get styles(): {
144
- mainColor: {
145
- "background-color": string;
146
- };
147
- circle: {
148
- left: string;
149
- top: string;
150
- };
151
- colorSpan: {
152
- "background-color": string;
153
- };
154
- };
155
157
  }
156
158
  export default ColorPicker;
@@ -13,9 +13,11 @@ import { isEnter } from "@ui5/webcomponents-base/dist/Keys.js";
13
13
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
14
14
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
15
15
  import { getScopedVarName } from "@ui5/webcomponents-base/dist/CustomElementsScope.js";
16
- import { getRGBColor, getAlpha, HSLToRGB, HEXToRGB, RGBToHSL, } from "@ui5/webcomponents-base/dist/util/ColorConversion.js";
16
+ import { getRGBColor, getAlpha, } from "@ui5/webcomponents-base/dist/util/ColorConversion.js";
17
+ import "@ui5/webcomponents-icons/dist/expand.js";
18
+ import ColorValue from "./colorpicker-utils/ColorValue.js";
17
19
  import ColorPickerTemplate from "./ColorPickerTemplate.js";
18
- import { COLORPICKER_ALPHA_SLIDER, COLORPICKER_HUE_SLIDER, COLORPICKER_HEX, COLORPICKER_RED, COLORPICKER_GREEN, COLORPICKER_BLUE, COLORPICKER_ALPHA, } from "./generated/i18n/i18n-defaults.js";
20
+ import { COLORPICKER_ALPHA_SLIDER, COLORPICKER_HUE_SLIDER, COLORPICKER_HEX, COLORPICKER_RED, COLORPICKER_GREEN, COLORPICKER_BLUE, COLORPICKER_ALPHA, COLORPICKER_SATURATION, COLORPICKER_LIGHT, COLORPICKER_HUE, COLORPICKER_TOGGLE_MODE_TOOLTIP, } from "./generated/i18n/i18n-defaults.js";
19
21
  // Styles
20
22
  import ColorPickerCss from "./generated/themes/ColorPicker.css.js";
21
23
  const PICKER_POINTER_WIDTH = 6.5;
@@ -68,18 +70,6 @@ let ColorPicker = ColorPicker_1 = class ColorPicker extends UI5Element {
68
70
  * @since 2.5.0
69
71
  */
70
72
  this.simplified = false;
71
- /**
72
- * Defines the HEX code of the currently selected color
73
- *
74
- * **Note**: If Alpha(transperancy) is set it is not included in this property. Use `color` property.
75
- * @private
76
- */
77
- this.hex = "ffffff";
78
- /**
79
- * Defines the currenty selected color from the main color section.
80
- * @private
81
- */
82
- this._value = getRGBColor(this.value);
83
73
  /**
84
74
  * @private
85
75
  */
@@ -100,6 +90,11 @@ let ColorPicker = ColorPicker_1 = class ColorPicker extends UI5Element {
100
90
  * @private
101
91
  */
102
92
  this._wrongHEX = false;
93
+ /**
94
+ * @private
95
+ */
96
+ this._displayHSL = false;
97
+ this._colorValue = new ColorValue();
103
98
  // Bottom Right corner
104
99
  this._selectedCoordinates = {
105
100
  x: 256 - PICKER_POINTER_WIDTH,
@@ -116,12 +111,17 @@ let ColorPicker = ColorPicker_1 = class ColorPicker extends UI5Element {
116
111
  this.mouseIn = false;
117
112
  }
118
113
  onBeforeRendering() {
119
- // we have the color & ._mainValue properties here
120
- this._value = getRGBColor(this.value);
121
- this._alpha = getAlpha(this.value);
122
- const tempColor = `rgba(${this._value.r},${this._value.g},${this._value.b},${this._alpha})`;
123
- this._setHex();
124
- this._setValues();
114
+ const valueAsRGB = getRGBColor(this.value);
115
+ if (!this._isColorValueEqual(valueAsRGB)) {
116
+ this._colorValue.RGB = valueAsRGB;
117
+ }
118
+ const alpha = getAlpha(this.value);
119
+ if (alpha !== this._colorValue.Alpha) {
120
+ this._colorValue.Alpha = alpha;
121
+ this._alpha = this._colorValue.Alpha;
122
+ }
123
+ const tempColor = this._colorValue.toRGBString();
124
+ this._updateColorGrid();
125
125
  this.style.setProperty(getScopedVarName("--ui5_Color_Picker_Progress_Container_Color"), tempColor);
126
126
  }
127
127
  _handleMouseDown(e) {
@@ -174,14 +174,16 @@ let ColorPicker = ColorPicker_1 = class ColorPicker extends UI5Element {
174
174
  }
175
175
  this._changeSelectedColor(e.offsetX, e.offsetY);
176
176
  }
177
- _handleAlphaInputFromSlider(e) {
177
+ _handleAlphaInput(e) {
178
178
  const aphaInputValue = e.target.value;
179
179
  this._alpha = parseFloat(aphaInputValue);
180
180
  if (Number.isNaN(this._alpha)) {
181
181
  this._alpha = 1;
182
182
  }
183
+ this._colorValue.Alpha = this._alpha;
183
184
  this._isHueValueChanged = true;
184
- this._setColor(this._value);
185
+ const color = this._colorValue.toRGBString();
186
+ this._setValue(color);
185
187
  }
186
188
  _handleHueInput(e) {
187
189
  this.selectedHue = e.target.value;
@@ -189,56 +191,61 @@ let ColorPicker = ColorPicker_1 = class ColorPicker extends UI5Element {
189
191
  this._setMainColor(this._hue);
190
192
  // Idication that changes to the hue value triggered as a result of user pressing over the hue slider.
191
193
  this._isHueValueChanged = true;
192
- const x = this._selectedCoordinates.x + PICKER_POINTER_WIDTH;
193
- const y = this._selectedCoordinates.y + PICKER_POINTER_WIDTH;
194
- const tempColor = this._calculateColorFromCoordinates(x, y);
195
- if (tempColor) {
196
- this._setColor(HSLToRGB(tempColor));
197
- }
194
+ this._colorValue.H = this._hue;
195
+ const color = this._colorValue.toRGBString();
196
+ this._setValue(color);
198
197
  }
199
198
  _handleHEXChange(e) {
200
- const hexRegex = new RegExp("^[<0-9 abcdef]+$");
201
199
  const input = e.target;
202
200
  let inputValueLowerCase = input.value.toLowerCase();
203
201
  // Shorthand Syntax
204
202
  if (inputValueLowerCase.length === 3) {
205
203
  inputValueLowerCase = `${inputValueLowerCase[0]}${inputValueLowerCase[0]}${inputValueLowerCase[1]}${inputValueLowerCase[1]}${inputValueLowerCase[2]}${inputValueLowerCase[2]}`;
206
204
  }
207
- const isNewValueValid = inputValueLowerCase.length === 6 && hexRegex.test(inputValueLowerCase);
208
- if (isNewValueValid && input.value !== inputValueLowerCase) {
205
+ this._colorValue.HEX = inputValueLowerCase;
206
+ const isValidColor = this._colorValue.isColorValueValid();
207
+ if (isValidColor && input.value !== inputValueLowerCase) {
209
208
  this._wrongHEX = false;
210
209
  input.value = inputValueLowerCase;
211
210
  }
212
- if (inputValueLowerCase === this.hex) {
213
- return;
214
- }
215
- this.hex = inputValueLowerCase;
216
- if (!isNewValueValid) {
211
+ if (!isValidColor) {
217
212
  this._wrongHEX = true;
218
213
  }
219
214
  else {
220
215
  this._wrongHEX = false;
221
- this._setColor(HEXToRGB(this.hex));
216
+ const color = this._colorValue.toRGBString();
217
+ this._setValue(color);
222
218
  }
223
219
  }
224
- _handleRGBInputsChange(e) {
220
+ _togglePickerMode() {
221
+ this._displayHSL = !this._displayHSL;
222
+ }
223
+ _handleColorInputChange(e) {
225
224
  const target = e.target;
226
225
  const targetValue = parseInt(target.value) || 0;
227
- let tempColor;
228
226
  switch (target.id) {
229
227
  case "red":
230
- tempColor = { ...this._value, r: targetValue };
228
+ this._colorValue.R = targetValue;
231
229
  break;
232
230
  case "green":
233
- tempColor = { ...this._value, g: targetValue };
231
+ this._colorValue.G = targetValue;
234
232
  break;
235
233
  case "blue":
236
- tempColor = { ...this._value, b: targetValue };
234
+ this._colorValue.B = targetValue;
235
+ break;
236
+ case "hue":
237
+ this._colorValue.H = targetValue;
238
+ break;
239
+ case "saturation":
240
+ this._colorValue.S = targetValue;
241
+ break;
242
+ case "light":
243
+ this._colorValue.L = targetValue;
237
244
  break;
238
- default:
239
- tempColor = { ...this._value };
240
245
  }
241
- this._setColor(tempColor);
246
+ const color = this._colorValue.toRGBString();
247
+ this._setValue(color);
248
+ this._updateColorGrid();
242
249
  }
243
250
  _setMainColor(hueValue) {
244
251
  const hueValueMod = hueValue * 4.251;
@@ -285,10 +292,10 @@ let ColorPicker = ColorPicker_1 = class ColorPicker extends UI5Element {
285
292
  };
286
293
  }
287
294
  }
288
- _handleAlphaChange(e) {
289
- this._handleAlphaInputFromSlider(e);
295
+ _handleAlphaChange() {
290
296
  this._alpha = this._alpha < 0 ? 0 : this._alpha;
291
297
  this._alpha = this._alpha > 1 ? 1 : this._alpha;
298
+ this._colorValue.Alpha = this._alpha;
292
299
  }
293
300
  _changeSelectedColor(x, y) {
294
301
  this._selectedCoordinates = {
@@ -299,7 +306,9 @@ let ColorPicker = ColorPicker_1 = class ColorPicker extends UI5Element {
299
306
  this._isSelectedColorChanged = true;
300
307
  const tempColor = this._calculateColorFromCoordinates(x, y);
301
308
  if (tempColor) {
302
- this._setColor(HSLToRGB(tempColor));
309
+ this._colorValue.HSL = tempColor;
310
+ const color = this._colorValue.toRGBString();
311
+ this._setValue(color);
303
312
  }
304
313
  }
305
314
  _onkeydown(e) {
@@ -313,46 +322,31 @@ let ColorPicker = ColorPicker_1 = class ColorPicker extends UI5Element {
313
322
  // 0 ≤ H < 360
314
323
  // 4.251 because with 4.25 we get out of the colors range.
315
324
  const h = this._hue;
316
- // 0 S 1
317
- const s = 1 - +(Math.round(parseFloat((y / 256) + "e+2")) + "e-2"); // eslint-disable-line
318
- // 0 V ≤ 1
319
- const l = +(Math.round(parseFloat((x / 256) + "e+2")) + "e-2"); // eslint-disable-line
320
- if (!s || !l) {
325
+ let s = +(1 - (y / 256)).toFixed(2);
326
+ let l = +(x / 256).toFixed(2);
327
+ if (Number.isNaN(s) || Number.isNaN(l)) {
321
328
  // The event is finished out of the main color section
322
329
  return;
323
330
  }
331
+ // Normalize values to be between 0 and 1 in case of rounding issues
332
+ s = Math.max(0, Math.min(1, s));
333
+ l = Math.max(0, Math.min(1, l));
324
334
  return {
325
- h,
326
- s,
327
- l,
335
+ h: Math.round(h),
336
+ s: Math.round(s * 100),
337
+ l: Math.round(l * 100),
328
338
  };
329
339
  }
330
- _setColor(color = { r: 0, g: 0, b: 0 }) {
331
- this.value = `rgba(${color.r}, ${color.g}, ${color.b}, ${this._alpha})`;
332
- this._wrongHEX = !this.isValidRGBColor(color);
340
+ _setValue(color) {
341
+ this.value = color;
342
+ this._wrongHEX = !this._colorValue.isColorValueValid();
333
343
  this.fireDecoratorEvent("change");
334
344
  }
335
- isValidRGBColor(color) {
336
- return color.r >= 0 && color.r <= 255 && color.g >= 0 && color.g <= 255 && color.b >= 0 && color.b <= 255;
337
- }
338
- _setHex() {
339
- let red = this._value.r.toString(16), green = this._value.g.toString(16), blue = this._value.b.toString(16);
340
- if (red.length === 1) {
341
- red = `0${red}`;
342
- }
343
- if (green.length === 1) {
344
- green = `0${green}`;
345
- }
346
- if (blue.length === 1) {
347
- blue = `0${blue}`;
348
- }
349
- this.hex = red + green + blue;
350
- }
351
- _setValues() {
352
- const hslColours = RGBToHSL(this._value);
345
+ _updateColorGrid() {
346
+ const hslColours = this._colorValue.HSL;
353
347
  this._selectedCoordinates = {
354
- x: ((Math.round(hslColours.l * 100) * 2.56)) - PICKER_POINTER_WIDTH, // Center the coordinates, because of the width of the circle
355
- y: (256 - (Math.round(hslColours.s * 100) * 2.56)) - PICKER_POINTER_WIDTH, // Center the coordinates, because of the height of the circle
348
+ x: ((hslColours.l * 2.56)) - PICKER_POINTER_WIDTH, // Center the coordinates, because of the width of the circle
349
+ y: (256 - (hslColours.s * 2.56)) - PICKER_POINTER_WIDTH, // Center the coordinates, because of the height of the circle
356
350
  };
357
351
  if (this._isSelectedColorChanged) { // We shouldn't update the hue value when user presses over the main color section.
358
352
  this._isSelectedColorChanged = false;
@@ -362,10 +356,15 @@ let ColorPicker = ColorPicker_1 = class ColorPicker extends UI5Element {
362
356
  this._hue = this.selectedHue ? this.selectedHue : this._hue;
363
357
  }
364
358
  else {
365
- this._hue = Math.round(hslColours.h);
359
+ this._hue = hslColours.h;
366
360
  }
367
361
  this._setMainColor(this._hue);
368
362
  }
363
+ _isColorValueEqual(value) {
364
+ return this._colorValue.R === value.r
365
+ && this._colorValue.G === value.g
366
+ && this._colorValue.B === value.b;
367
+ }
369
368
  get hueSliderLabel() {
370
369
  return ColorPicker_1.i18nBundle.getText(COLORPICKER_HUE_SLIDER);
371
370
  }
@@ -384,33 +383,80 @@ let ColorPicker = ColorPicker_1 = class ColorPicker extends UI5Element {
384
383
  get blueInputLabel() {
385
384
  return ColorPicker_1.i18nBundle.getText(COLORPICKER_BLUE);
386
385
  }
386
+ get hueInputLabel() {
387
+ return ColorPicker_1.i18nBundle.getText(COLORPICKER_HUE);
388
+ }
389
+ get saturationInputLabel() {
390
+ return ColorPicker_1.i18nBundle.getText(COLORPICKER_SATURATION);
391
+ }
392
+ get lightInputLabel() {
393
+ return ColorPicker_1.i18nBundle.getText(COLORPICKER_LIGHT);
394
+ }
387
395
  get alphaInputLabel() {
388
396
  return ColorPicker_1.i18nBundle.getText(COLORPICKER_ALPHA);
389
397
  }
398
+ get toggleModeTooltip() {
399
+ return ColorPicker_1.i18nBundle.getText(COLORPICKER_TOGGLE_MODE_TOOLTIP);
400
+ }
390
401
  get inputsDisabled() {
391
402
  return this._wrongHEX ? true : undefined;
392
403
  }
393
404
  get hexInputErrorState() {
394
405
  return this._wrongHEX ? "Negative" : "None";
395
406
  }
407
+ get rgbInputs() {
408
+ const redInput = {
409
+ id: "red",
410
+ value: this._colorValue.R,
411
+ label: "R",
412
+ accessibleName: this.redInputLabel,
413
+ };
414
+ const greenInput = {
415
+ id: "green",
416
+ value: this._colorValue.G,
417
+ label: "G",
418
+ accessibleName: this.greenInputLabel,
419
+ };
420
+ const blueInput = {
421
+ id: "blue",
422
+ value: this._colorValue.B,
423
+ label: "B",
424
+ accessibleName: this.blueInputLabel,
425
+ };
426
+ return [redInput, greenInput, blueInput];
427
+ }
428
+ get hslInputs() {
429
+ const hueInput = {
430
+ id: "hue",
431
+ value: this._colorValue.H,
432
+ label: "H",
433
+ accessibleName: this.hueInputLabel,
434
+ };
435
+ const saturationInput = {
436
+ id: "saturation",
437
+ value: this._colorValue.S,
438
+ label: "S",
439
+ accessibleName: this.saturationInputLabel,
440
+ showPercentSymbol: true,
441
+ };
442
+ const lightInput = {
443
+ id: "light",
444
+ value: this._colorValue.L,
445
+ label: "L",
446
+ accessibleName: this.lightInputLabel,
447
+ showPercentSymbol: true,
448
+ };
449
+ return [hueInput, saturationInput, lightInput];
450
+ }
451
+ get HEX() {
452
+ return this._colorValue.HEX;
453
+ }
454
+ get colorChannelInputs() {
455
+ return this._displayHSL ? this.hslInputs : this.rgbInputs;
456
+ }
396
457
  get _isDefaultPickerMode() {
397
458
  return !this.simplified;
398
459
  }
399
- get styles() {
400
- // Remove after deleting the hbs template as the styles are added via the jsx template
401
- return {
402
- mainColor: {
403
- "background-color": `rgb(${this._mainValue.r}, ${this._mainValue.g}, ${this._mainValue.b})`,
404
- },
405
- circle: {
406
- left: `${this._selectedCoordinates.x}px`,
407
- top: `${this._selectedCoordinates.y}px`,
408
- },
409
- colorSpan: {
410
- "background-color": `rgba(${this._value.r}, ${this._value.g}, ${this._value.b}, ${this._alpha})`,
411
- },
412
- };
413
- }
414
460
  };
415
461
  __decorate([
416
462
  property()
@@ -421,15 +467,12 @@ __decorate([
421
467
  __decorate([
422
468
  property({ type: Boolean })
423
469
  ], ColorPicker.prototype, "simplified", void 0);
424
- __decorate([
425
- property({ noAttribute: true })
426
- ], ColorPicker.prototype, "hex", void 0);
427
470
  __decorate([
428
471
  property({ type: Object })
429
472
  ], ColorPicker.prototype, "_mainValue", void 0);
430
473
  __decorate([
431
474
  property({ type: Object })
432
- ], ColorPicker.prototype, "_value", void 0);
475
+ ], ColorPicker.prototype, "_colorValue", void 0);
433
476
  __decorate([
434
477
  property({ type: Object })
435
478
  ], ColorPicker.prototype, "_selectedCoordinates", void 0);
@@ -448,6 +491,9 @@ __decorate([
448
491
  __decorate([
449
492
  property({ type: Boolean })
450
493
  ], ColorPicker.prototype, "_wrongHEX", void 0);
494
+ __decorate([
495
+ property({ type: Boolean })
496
+ ], ColorPicker.prototype, "_displayHSL", void 0);
451
497
  __decorate([
452
498
  i18n("@ui5/webcomponents")
453
499
  ], ColorPicker, "i18nBundle", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPicker.js","sourceRoot":"","sources":["../src/ColorPicker.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAC/D,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AAGnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAEvF,OAAO,EACN,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,GACR,MAAM,sDAAsD,CAAC;AAK9D,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAI3D,OAAO,EACN,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,mCAAmC,CAAC;AAE3C,SAAS;AACT,OAAO,cAAc,MAAM,uCAAuC,CAAC;AAEnE,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAOjC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAiBH,IAAM,WAAW,mBAAjB,MAAM,WAAY,SAAQ,UAAU;IAsGnC,KAAK,CAAC,iBAAiB;QACtB,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED;QACC,KAAK,EAAE,CAAC;QA3GT;;;;;;WAMG;QAEH,UAAK,GAAG,qBAAqB,CAAC;QAa9B;;;;;WAKG;QAEH,eAAU,GAAG,KAAK,CAAC;QAEnB;;;;;WAKG;QAEH,QAAG,GAAG,QAAQ,CAAC;QASf;;;WAGG;QAEH,WAAM,GAAa,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAQ3C;;WAEG;QAEH,WAAM,GAAG,CAAC,CAAC;QAEX;;WAEG;QAEH,SAAI,GAAG,CAAC,CAAC;QAET;;WAEG;QAEH,4BAAuB,GAAG,KAAK,CAAC;QAEhC;;WAEG;QAEH,uBAAkB,GAAG,KAAK,CAAC;QAE3B;;WAEG;QAEH,cAAS,GAAG,KAAK,CAAC;QAsBjB,sBAAsB;QACtB,IAAI,CAAC,oBAAoB,GAAG;YAC3B,CAAC,EAAE,GAAG,GAAG,oBAAoB;YAC7B,CAAC,EAAE,GAAG,GAAG,oBAAoB;SAC7B,CAAC;QAEF,4BAA4B;QAC5B,IAAI,CAAC,UAAU,GAAG;YACjB,CAAC,EAAE,GAAG;YACN,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACJ,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QAErB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,iBAAiB;QAChB,kDAAkD;QAClD,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAC5F,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,6CAA6C,CAAC,EAAE,SAAS,CAAC,CAAC;IACpG,CAAC;IAED,gBAAgB,CAAC,CAAa;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,cAAc;QACb,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,eAAe,CAAC,CAAa;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QACvC,MAAM,YAAY,GAAW,MAAM,CAAC,YAAY,CAAC;QACjD,MAAM,WAAW,GAAW,MAAM,CAAC,WAAW,CAAC;QAC/C,MAAM,MAAM,GAAY,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;QACvC,MAAM,IAAI,GAAY,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;QACrC,MAAM,MAAM,GAAY,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC;QACzD,MAAM,OAAO,GAAY,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,WAAW,CAAC;QAEzD,IAAI,CAAS,EACZ,CAAS,CAAC;QAEX,IAAI,MAAM,EAAE,CAAC;YACZ,CAAC,GAAG,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACpB,mHAAmH;YACnH,CAAC,GAAG,WAAW,CAAC;QACjB,CAAC;aAAM,CAAC;YACP,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACf,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACV,CAAC,GAAG,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YACnB,mHAAmH;YACnH,CAAC,GAAG,YAAY,CAAC;QAClB,CAAC;aAAM,CAAC;YACP,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACf,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,gBAAgB,CAAC,CAAa;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,OAAO;QACR,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,2BAA2B,CAAC,CAAc;QACzC,MAAM,cAAc,GAAY,CAAC,CAAC,MAAgB,CAAC,KAAK,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,eAAe,CAAC,CAAc;QAC7B,IAAI,CAAC,WAAW,GAAI,CAAC,CAAC,MAAiB,CAAC,KAAK,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,sGAAsG;QACtG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAE/B,MAAM,CAAC,GAAW,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,oBAAoB,CAAC;QACrE,MAAM,CAAC,GAAW,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,oBAAoB,CAAC;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,8BAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE5D,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;IAED,gBAAgB,CAAC,CAA8B;QAC9C,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAChD,MAAM,KAAK,GAAW,CAAC,CAAC,MAAgB,CAAC;QACzC,IAAI,mBAAmB,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAEpD,mBAAmB;QACnB,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,mBAAmB,GAAG,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;QAChL,CAAC;QAED,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAE/F,IAAI,eAAe,IAAI,KAAK,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;YAC5D,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,KAAK,CAAC,KAAK,GAAG,mBAAmB,CAAC;QACnC,CAAC;QAED,IAAI,mBAAmB,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;YACtC,OAAO;QACR,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,mBAAmB,CAAC;QAE/B,IAAI,CAAC,eAAe,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,CAAC;IACF,CAAC;IAED,sBAAsB,CAAC,CAAQ;QAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAe,CAAC;QACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,SAAS,CAAC;QACd,QAAQ,MAAM,CAAC,EAAE,EAAE,CAAC;YACpB,KAAK,KAAK;gBACT,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;gBAC/C,MAAM;YAEP,KAAK,OAAO;gBACX,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;gBAC/C,MAAM;YAEP,KAAK,MAAM;gBACV,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;gBAC/C,MAAM;YACP;gBACC,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,QAAgB;QAC7B,MAAM,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAC;QAErC,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG;gBACjB,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,WAAW;gBACd,CAAC,EAAE,CAAC;aACJ,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG;gBACjB,CAAC,EAAE,GAAG,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC;gBAC5B,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,CAAC;aACJ,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG;gBACjB,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,WAAW,GAAG,GAAG;aACpB,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG;gBACjB,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,GAAG,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC;gBAC5B,CAAC,EAAE,GAAG;aACN,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,UAAU,GAAG;gBACjB,CAAC,EAAE,WAAW,GAAG,IAAI;gBACrB,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,GAAG;aACN,CAAC;QACH,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,UAAU,GAAG;gBACjB,CAAC,EAAE,GAAG;gBACN,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,IAAI,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC;aAC7B,CAAC;QACH,CAAC;IACF,CAAC;IAED,kBAAkB,CAAC,CAAc;QAChC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;QAEpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACjD,CAAC;IAED,oBAAoB,CAAC,CAAS,EAAE,CAAS;QACxC,IAAI,CAAC,oBAAoB,GAAG;YAC3B,CAAC,EAAE,CAAC,GAAG,oBAAoB,EAAE,6DAA6D;YAC1F,CAAC,EAAE,CAAC,GAAG,oBAAoB,EAAE,8DAA8D;SAC3F,CAAC;QAEF,uHAAuH;QACvH,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,8BAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5D,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;IACF,CAAC;IAED,8BAA8B,CAAC,CAAS,EAAE,CAAS;QAClD,yGAAyG;QACzG,kDAAkD;QAClD,cAAc;QACd,0DAA0D;QAC1D,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAEpB,YAAY;QACZ,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,sBAAsB;QAE1F,YAAY;QACZ,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,sBAAsB;QAEtF,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACd,sDAAsD;YACtD,OAAO;QACR,CAAC;QAED,OAAO;YACN,CAAC;YACD,CAAC;YACD,CAAC;SACD,CAAC;IACH,CAAC;IAED,SAAS,CAAC,QAAkB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC/C,IAAI,CAAC,KAAK,GAAG,QAAQ,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC;QACxE,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,eAAe,CAAC,KAAe;QAC9B,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC;IAC3G,CAAC;IAED,OAAO;QACN,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EACnC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAClC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEnC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,UAAU;QACT,MAAM,UAAU,GAAa,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,oBAAoB,GAAG;YAC3B,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,oBAAoB,EAAE,6DAA6D;YAClI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,oBAAoB,EAAE,8DAA8D;SACzI,CAAC;QAEF,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,mFAAmF;YACtH,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACtC,CAAC;aAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,2EAA2E;YAChH,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7D,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1C,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7C,CAAC;IAED,IAAI,oBAAoB;QACvB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,MAAM;QACT,sFAAsF;QACtF,OAAO;YACN,SAAS,EAAE;gBACV,kBAAkB,EAAE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG;aAC3F;YACD,MAAM,EAAE;gBACP,IAAI,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI;gBACxC,GAAG,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI;aACvC;YACD,SAAS,EAAE;gBACV,kBAAkB,EAAE,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG;aAChG;SACD,CAAC;IACH,CAAC;CACD,CAAA;AAhdA;IADC,QAAQ,EAAE;0CACmB;AAW9B;IADC,QAAQ,EAAE;yCACG;AASd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACT;AASnB;IADC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;wCACjB;AAOf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CACN;AAOrB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CACgB;AAM3C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yDACY;AAMvC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CAChB;AAMX;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yCAClB;AAMT;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4DACI;AAMhC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uDACD;AAM3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8CACV;AASX;IADN,IAAI,CAAC,oBAAoB,CAAC;qCACG;AApGzB,WAAW;IAfhB,aAAa,CAAC;QACd,GAAG,EAAE,kBAAkB;QACvB,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,mBAAmB;QAC7B,iBAAiB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;KAC3C,CAAC;IACF;;;OAGG;;IACF,KAAK,CAAC,QAAQ,EAAE;QAChB,OAAO,EAAE,IAAI;KACb,CAAC;GACI,WAAW,CA4dhB;AAED,WAAW,CAAC,MAAM,EAAE,CAAC;AAErB,eAAe,WAAW,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-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\tHSLToRGB,\n\tHEXToRGB,\n\tRGBToHSL,\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 ColorPickerTemplate from \"./ColorPickerTemplate.js\";\nimport type Input from \"./Input.js\";\nimport type Slider from \"./Slider.js\";\n\nimport {\n\tCOLORPICKER_ALPHA_SLIDER,\n\tCOLORPICKER_HUE_SLIDER,\n\tCOLORPICKER_HEX,\n\tCOLORPICKER_RED,\n\tCOLORPICKER_GREEN,\n\tCOLORPICKER_BLUE,\n\tCOLORPICKER_ALPHA,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport ColorPickerCss from \"./generated/themes/ColorPicker.css.js\";\n\nconst PICKER_POINTER_WIDTH = 6.5;\n\ntype ColorCoordinates = {\n\tx: number,\n\ty: number,\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 HEX code of the currently selected color\n\t *\n\t * **Note**: If Alpha(transperancy) is set it is not included in this property. Use `color` property.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\thex = \"ffffff\";\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 from the main color section.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_value: ColorRGB = getRGBColor(this.value);\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\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\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\t// we have the color & ._mainValue properties here\n\t\tthis._value = getRGBColor(this.value);\n\t\tthis._alpha = getAlpha(this.value);\n\t\tconst tempColor = `rgba(${this._value.r},${this._value.g},${this._value.b},${this._alpha})`;\n\t\tthis._setHex();\n\t\tthis._setValues();\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_handleAlphaInputFromSlider(e: CustomEvent) {\n\t\tconst aphaInputValue: string = (e.target as Input).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._isHueValueChanged = true;\n\t\tthis._setColor(this._value);\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\n\t\tconst x: number = this._selectedCoordinates.x + PICKER_POINTER_WIDTH;\n\t\tconst y: number = this._selectedCoordinates.y + PICKER_POINTER_WIDTH;\n\t\tconst tempColor = this._calculateColorFromCoordinates(x, y);\n\n\t\tif (tempColor) {\n\t\t\tthis._setColor(HSLToRGB(tempColor));\n\t\t}\n\t}\n\n\t_handleHEXChange(e: CustomEvent | KeyboardEvent) {\n\t\tconst hexRegex = new RegExp(\"^[<0-9 abcdef]+$\");\n\t\tconst input: Input = (e.target as Input);\n\t\tlet inputValueLowerCase = input.value.toLowerCase();\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\tconst isNewValueValid = inputValueLowerCase.length === 6 && hexRegex.test(inputValueLowerCase);\n\n\t\tif (isNewValueValid && input.value !== inputValueLowerCase) {\n\t\t\tthis._wrongHEX = false;\n\t\t\tinput.value = inputValueLowerCase;\n\t\t}\n\n\t\tif (inputValueLowerCase === this.hex) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.hex = inputValueLowerCase;\n\n\t\tif (!isNewValueValid) {\n\t\t\tthis._wrongHEX = true;\n\t\t} else {\n\t\t\tthis._wrongHEX = false;\n\t\t\tthis._setColor(HEXToRGB(this.hex));\n\t\t}\n\t}\n\n\t_handleRGBInputsChange(e: Event) {\n\t\tconst target = e.target as Input;\n\t\tconst targetValue = parseInt(target.value) || 0;\n\t\tlet tempColor;\n\t\tswitch (target.id) {\n\t\tcase \"red\":\n\t\t\ttempColor = { ...this._value, r: targetValue };\n\t\t\tbreak;\n\n\t\tcase \"green\":\n\t\t\ttempColor = { ...this._value, g: targetValue };\n\t\t\tbreak;\n\n\t\tcase \"blue\":\n\t\t\ttempColor = { ...this._value, b: targetValue };\n\t\t\tbreak;\n\t\tdefault:\n\t\t\ttempColor = { ...this._value };\n\t\t}\n\n\t\tthis._setColor(tempColor);\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(e: CustomEvent) {\n\t\tthis._handleAlphaInputFromSlider(e);\n\n\t\tthis._alpha = this._alpha < 0 ? 0 : this._alpha;\n\t\tthis._alpha = this._alpha > 1 ? 1 : 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._setColor(HSLToRGB(tempColor));\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\n\t\t// 0 ≤ S ≤ 1\n\t\tconst s = 1 - +(Math.round(parseFloat((y / 256) + \"e+2\")) + \"e-2\"); // eslint-disable-line\n\n\t\t// 0 ≤ V ≤ 1\n\t\tconst l = +(Math.round(parseFloat((x / 256) + \"e+2\")) + \"e-2\"); // eslint-disable-line\n\n\t\tif (!s || !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\treturn {\n\t\t\th,\n\t\t\ts,\n\t\t\tl,\n\t\t};\n\t}\n\n\t_setColor(color: ColorRGB = { r: 0, g: 0, b: 0 }) {\n\t\tthis.value = `rgba(${color.r}, ${color.g}, ${color.b}, ${this._alpha})`;\n\t\tthis._wrongHEX = !this.isValidRGBColor(color);\n\t\tthis.fireDecoratorEvent(\"change\");\n\t}\n\n\tisValidRGBColor(color: ColorRGB) {\n\t\treturn color.r >= 0 && color.r <= 255 && color.g >= 0 && color.g <= 255 && color.b >= 0 && color.b <= 255;\n\t}\n\n\t_setHex() {\n\t\tlet red = this._value.r.toString(16),\n\t\t\tgreen = this._value.g.toString(16),\n\t\t\tblue = this._value.b.toString(16);\n\n\t\tif (red.length === 1) {\n\t\t\tred = `0${red}`;\n\t\t}\n\t\tif (green.length === 1) {\n\t\t\tgreen = `0${green}`;\n\t\t}\n\t\tif (blue.length === 1) {\n\t\t\tblue = `0${blue}`;\n\t\t}\n\n\t\tthis.hex = red + green + blue;\n\t}\n\n\t_setValues() {\n\t\tconst hslColours: ColorHSL = RGBToHSL(this._value);\n\t\tthis._selectedCoordinates = {\n\t\t\tx: ((Math.round(hslColours.l * 100) * 2.56)) - PICKER_POINTER_WIDTH, // Center the coordinates, because of the width of the circle\n\t\t\ty: (256 - (Math.round(hslColours.s * 100) * 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 = Math.round(hslColours.h);\n\t\t}\n\n\t\tthis._setMainColor(this._hue);\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 alphaInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_ALPHA);\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 _isDefaultPickerMode() {\n\t\treturn !this.simplified;\n\t}\n\n\tget styles() {\n\t\t// Remove after deleting the hbs template as the styles are added via the jsx template\n\t\treturn {\n\t\t\tmainColor: {\n\t\t\t\t\"background-color\": `rgb(${this._mainValue.r}, ${this._mainValue.g}, ${this._mainValue.b})`,\n\t\t\t},\n\t\t\tcircle: {\n\t\t\t\tleft: `${this._selectedCoordinates.x}px`,\n\t\t\t\ttop: `${this._selectedCoordinates.y}px`,\n\t\t\t},\n\t\t\tcolorSpan: {\n\t\t\t\t\"background-color\": `rgba(${this._value.r}, ${this._value.g}, ${this._value.b}, ${this._alpha})`,\n\t\t\t},\n\t\t};\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 type Input from \"./Input.js\";\nimport type Slider from \"./Slider.js\";\n\nimport {\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} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport ColorPickerCss from \"./generated/themes/ColorPicker.css.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: CustomEvent) {\n\t\tconst aphaInputValue: string = (e.target as Input).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\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\t}\n\n\t_handleColorInputChange(e: Event) {\n\t\tconst target = e.target as Input;\n\t\tconst targetValue = parseInt(target.value) || 0;\n\n\t\tswitch (target.id) {\n\t\tcase \"red\":\n\t\t\tthis._colorValue.R = targetValue;\n\t\t\tbreak;\n\n\t\tcase \"green\":\n\t\t\tthis._colorValue.G = targetValue;\n\t\t\tbreak;\n\n\t\tcase \"blue\":\n\t\t\tthis._colorValue.B = targetValue;\n\t\t\tbreak;\n\n\t\tcase \"hue\":\n\t\t\tthis._colorValue.H = targetValue;\n\t\t\tbreak;\n\n\t\tcase \"saturation\":\n\t\t\tthis._colorValue.S = targetValue;\n\t\t\tbreak;\n\n\t\tcase \"light\":\n\t\t\tthis._colorValue.L = targetValue;\n\t\t\tbreak;\n\t\t}\n\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 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 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"]}