@ui5/webcomponents 2.27.2 → 2.28.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 (590) hide show
  1. package/CHANGELOG.md +47 -2
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Avatar.d.ts +13 -7
  4. package/dist/Avatar.js +10 -6
  5. package/dist/Avatar.js.map +1 -1
  6. package/dist/AvatarGroup.d.ts +2 -2
  7. package/dist/AvatarGroup.js +3 -3
  8. package/dist/AvatarGroup.js.map +1 -1
  9. package/dist/Bar.d.ts +12 -9
  10. package/dist/Bar.js +12 -10
  11. package/dist/Bar.js.map +1 -1
  12. package/dist/Breadcrumbs.d.ts +2 -1
  13. package/dist/Breadcrumbs.js +2 -1
  14. package/dist/Breadcrumbs.js.map +1 -1
  15. package/dist/BreadcrumbsItem.d.ts +1 -1
  16. package/dist/BreadcrumbsItem.js +1 -1
  17. package/dist/BreadcrumbsItem.js.map +1 -1
  18. package/dist/BusyIndicator.d.ts +2 -2
  19. package/dist/BusyIndicator.js +1 -1
  20. package/dist/BusyIndicator.js.map +1 -1
  21. package/dist/Button.d.ts +4 -3
  22. package/dist/Button.js +3 -2
  23. package/dist/Button.js.map +1 -1
  24. package/dist/Calendar.d.ts +4 -1
  25. package/dist/Calendar.js +4 -1
  26. package/dist/Calendar.js.map +1 -1
  27. package/dist/CalendarLegend.d.ts +1 -0
  28. package/dist/CalendarLegend.js +1 -0
  29. package/dist/CalendarLegend.js.map +1 -1
  30. package/dist/Card.d.ts +4 -3
  31. package/dist/Card.js +1 -0
  32. package/dist/Card.js.map +1 -1
  33. package/dist/CardHeader.d.ts +1 -1
  34. package/dist/CardHeader.js +1 -1
  35. package/dist/CardHeader.js.map +1 -1
  36. package/dist/Carousel.d.ts +13 -13
  37. package/dist/Carousel.js +12 -12
  38. package/dist/Carousel.js.map +1 -1
  39. package/dist/CheckBox.d.ts +1 -1
  40. package/dist/CheckBox.js +1 -1
  41. package/dist/CheckBox.js.map +1 -1
  42. package/dist/ColorPalette.d.ts +9 -5
  43. package/dist/ColorPalette.js +12 -5
  44. package/dist/ColorPalette.js.map +1 -1
  45. package/dist/ColorPaletteItem.d.ts +2 -2
  46. package/dist/ColorPaletteItem.js +2 -2
  47. package/dist/ColorPaletteItem.js.map +1 -1
  48. package/dist/ColorPalettePopover.d.ts +2 -2
  49. package/dist/ColorPalettePopover.js +2 -2
  50. package/dist/ColorPalettePopover.js.map +1 -1
  51. package/dist/ColorPicker.d.ts +3 -1
  52. package/dist/ColorPicker.js +7 -1
  53. package/dist/ColorPicker.js.map +1 -1
  54. package/dist/ComboBox.d.ts +35 -7
  55. package/dist/ComboBox.js +135 -8
  56. package/dist/ComboBox.js.map +1 -1
  57. package/dist/ComboBoxItem.d.ts +1 -1
  58. package/dist/ComboBoxItem.js.map +1 -1
  59. package/dist/ComboBoxItemGroup.d.ts +1 -1
  60. package/dist/ComboBoxItemGroup.js +1 -1
  61. package/dist/ComboBoxItemGroup.js.map +1 -1
  62. package/dist/ComboBoxPopoverTemplate.js +43 -20
  63. package/dist/ComboBoxPopoverTemplate.js.map +1 -1
  64. package/dist/ComboBoxTemplate.js +4 -2
  65. package/dist/ComboBoxTemplate.js.map +1 -1
  66. package/dist/DateComponentBase.d.ts +3 -3
  67. package/dist/DateComponentBase.js +2 -2
  68. package/dist/DateComponentBase.js.map +1 -1
  69. package/dist/DatePicker.d.ts +5 -5
  70. package/dist/DatePicker.js +2 -2
  71. package/dist/DatePicker.js.map +1 -1
  72. package/dist/DateRangePicker.d.ts +1 -1
  73. package/dist/DateRangePicker.js +1 -1
  74. package/dist/DateRangePicker.js.map +1 -1
  75. package/dist/DateTimePicker.d.ts +1 -1
  76. package/dist/DateTimePicker.js +1 -1
  77. package/dist/DateTimePicker.js.map +1 -1
  78. package/dist/DayPicker.d.ts +1 -1
  79. package/dist/DayPicker.js +4 -3
  80. package/dist/DayPicker.js.map +1 -1
  81. package/dist/Dialog.d.ts +3 -3
  82. package/dist/Dialog.js +3 -3
  83. package/dist/Dialog.js.map +1 -1
  84. package/dist/FileUploader.d.ts +2 -2
  85. package/dist/FileUploader.js +1 -1
  86. package/dist/FileUploader.js.map +1 -1
  87. package/dist/Form.d.ts +2 -0
  88. package/dist/Form.js +2 -0
  89. package/dist/Form.js.map +1 -1
  90. package/dist/FormTemplate.js +2 -2
  91. package/dist/FormTemplate.js.map +1 -1
  92. package/dist/GridWalker.d.ts +1 -0
  93. package/dist/GridWalker.js +3 -0
  94. package/dist/GridWalker.js.map +1 -1
  95. package/dist/Input.d.ts +10 -6
  96. package/dist/Input.js +7 -3
  97. package/dist/Input.js.map +1 -1
  98. package/dist/InputIcon.d.ts +1 -1
  99. package/dist/InputIcon.js.map +1 -1
  100. package/dist/Link.d.ts +17 -2
  101. package/dist/Link.js +16 -1
  102. package/dist/Link.js.map +1 -1
  103. package/dist/List.d.ts +9 -6
  104. package/dist/List.js +9 -6
  105. package/dist/List.js.map +1 -1
  106. package/dist/ListItem.d.ts +1 -1
  107. package/dist/ListItem.js +1 -1
  108. package/dist/ListItem.js.map +1 -1
  109. package/dist/ListItemBase.d.ts +1 -1
  110. package/dist/ListItemBase.js +1 -1
  111. package/dist/ListItemBase.js.map +1 -1
  112. package/dist/ListItemCustom.d.ts +1 -1
  113. package/dist/ListItemCustom.js.map +1 -1
  114. package/dist/ListItemStandard.d.ts +4 -4
  115. package/dist/ListItemStandard.js +1 -1
  116. package/dist/ListItemStandard.js.map +1 -1
  117. package/dist/Menu.d.ts +3 -0
  118. package/dist/Menu.js +3 -0
  119. package/dist/Menu.js.map +1 -1
  120. package/dist/MessageStrip.d.ts +3 -3
  121. package/dist/MessageStrip.js +3 -3
  122. package/dist/MessageStrip.js.map +1 -1
  123. package/dist/MonthPicker.js +1 -1
  124. package/dist/MonthPicker.js.map +1 -1
  125. package/dist/MultiComboBox.d.ts +7 -4
  126. package/dist/MultiComboBox.js +5 -2
  127. package/dist/MultiComboBox.js.map +1 -1
  128. package/dist/MultiInput.d.ts +1 -1
  129. package/dist/MultiInput.js +1 -1
  130. package/dist/MultiInput.js.map +1 -1
  131. package/dist/{NumberInput.d.ts → NumericInput.d.ts} +10 -10
  132. package/dist/{NumberInput.js → NumericInput.js} +50 -50
  133. package/dist/NumericInput.js.map +1 -0
  134. package/dist/NumericInputTemplate.d.ts +2 -0
  135. package/dist/{NumberInputTemplate.js → NumericInputTemplate.js} +6 -6
  136. package/dist/NumericInputTemplate.js.map +1 -0
  137. package/dist/Option.d.ts +1 -1
  138. package/dist/Option.js.map +1 -1
  139. package/dist/Panel.d.ts +3 -3
  140. package/dist/Panel.js +2 -2
  141. package/dist/Panel.js.map +1 -1
  142. package/dist/Popover.d.ts +13 -2
  143. package/dist/Popover.js +50 -3
  144. package/dist/Popover.js.map +1 -1
  145. package/dist/PopoverResize.d.ts +3 -0
  146. package/dist/PopoverResize.js +53 -23
  147. package/dist/PopoverResize.js.map +1 -1
  148. package/dist/PopoverTemplate.js +3 -1
  149. package/dist/PopoverTemplate.js.map +1 -1
  150. package/dist/Popup.d.ts +2 -2
  151. package/dist/Popup.js +2 -2
  152. package/dist/Popup.js.map +1 -1
  153. package/dist/ProgressIndicator.d.ts +1 -1
  154. package/dist/ProgressIndicator.js +1 -1
  155. package/dist/ProgressIndicator.js.map +1 -1
  156. package/dist/RadioButton.d.ts +1 -1
  157. package/dist/RadioButton.js +2 -2
  158. package/dist/RadioButton.js.map +1 -1
  159. package/dist/RangeSlider.d.ts +1 -1
  160. package/dist/RangeSlider.js +5 -4
  161. package/dist/RangeSlider.js.map +1 -1
  162. package/dist/RangeSliderTemplate.js +3 -3
  163. package/dist/RangeSliderTemplate.js.map +1 -1
  164. package/dist/RatingIndicator.d.ts +5 -5
  165. package/dist/RatingIndicator.js +4 -4
  166. package/dist/RatingIndicator.js.map +1 -1
  167. package/dist/ResponsivePopover.d.ts +2 -2
  168. package/dist/ResponsivePopover.js +2 -2
  169. package/dist/ResponsivePopover.js.map +1 -1
  170. package/dist/SegmentedButton.d.ts +2 -1
  171. package/dist/SegmentedButton.js +2 -1
  172. package/dist/SegmentedButton.js.map +1 -1
  173. package/dist/SegmentedButtonItem.d.ts +1 -1
  174. package/dist/SegmentedButtonItem.js.map +1 -1
  175. package/dist/Select.d.ts +7 -4
  176. package/dist/Select.js +5 -2
  177. package/dist/Select.js.map +1 -1
  178. package/dist/Slider.d.ts +2 -1
  179. package/dist/Slider.js +5 -1
  180. package/dist/Slider.js.map +1 -1
  181. package/dist/SliderBase.d.ts +1 -0
  182. package/dist/SliderBase.js +7 -1
  183. package/dist/SliderBase.js.map +1 -1
  184. package/dist/SliderHandle.d.ts +4 -0
  185. package/dist/SliderHandle.js +7 -0
  186. package/dist/SliderHandle.js.map +1 -1
  187. package/dist/SliderScale.d.ts +4 -0
  188. package/dist/SliderScale.js +13 -0
  189. package/dist/SliderScale.js.map +1 -1
  190. package/dist/SliderScaleTemplate.js +1 -1
  191. package/dist/SliderScaleTemplate.js.map +1 -1
  192. package/dist/SliderTemplate.js +1 -1
  193. package/dist/SliderTemplate.js.map +1 -1
  194. package/dist/StepInput.d.ts +8 -7
  195. package/dist/StepInput.js +6 -2
  196. package/dist/StepInput.js.map +1 -1
  197. package/dist/StepInputTemplate.js +2 -2
  198. package/dist/StepInputTemplate.js.map +1 -1
  199. package/dist/SuggestionItem.d.ts +1 -1
  200. package/dist/SuggestionItem.js.map +1 -1
  201. package/dist/SuggestionListItem.d.ts +1 -1
  202. package/dist/SuggestionListItem.js.map +1 -1
  203. package/dist/Switch.d.ts +1 -1
  204. package/dist/Switch.js +1 -1
  205. package/dist/Switch.js.map +1 -1
  206. package/dist/Tab.d.ts +1 -1
  207. package/dist/Tab.js +1 -1
  208. package/dist/Tab.js.map +1 -1
  209. package/dist/TabContainer.d.ts +4 -2
  210. package/dist/TabContainer.js +3 -1
  211. package/dist/TabContainer.js.map +1 -1
  212. package/dist/Table.d.ts +16 -3
  213. package/dist/Table.js +40 -4
  214. package/dist/Table.js.map +1 -1
  215. package/dist/TableGrowing.d.ts +1 -0
  216. package/dist/TableGrowing.js +12 -10
  217. package/dist/TableGrowing.js.map +1 -1
  218. package/dist/TableHeaderRow.d.ts +0 -6
  219. package/dist/TableHeaderRow.js +1 -19
  220. package/dist/TableHeaderRow.js.map +1 -1
  221. package/dist/TableHeaderRowTemplate.js +2 -12
  222. package/dist/TableHeaderRowTemplate.js.map +1 -1
  223. package/dist/TableNavigation.d.ts +1 -0
  224. package/dist/TableNavigation.js +7 -2
  225. package/dist/TableNavigation.js.map +1 -1
  226. package/dist/TableRow.js +2 -11
  227. package/dist/TableRow.js.map +1 -1
  228. package/dist/TableRowBase.d.ts +3 -7
  229. package/dist/TableRowBase.js +10 -26
  230. package/dist/TableRowBase.js.map +1 -1
  231. package/dist/TableRowTemplate.js +1 -3
  232. package/dist/TableRowTemplate.js.map +1 -1
  233. package/dist/TableSelection.d.ts +5 -6
  234. package/dist/TableSelection.js +28 -12
  235. package/dist/TableSelection.js.map +1 -1
  236. package/dist/TableSelectionBase.d.ts +15 -10
  237. package/dist/TableSelectionBase.js +33 -20
  238. package/dist/TableSelectionBase.js.map +1 -1
  239. package/dist/TableSelectionMulti.d.ts +5 -7
  240. package/dist/TableSelectionMulti.js +14 -10
  241. package/dist/TableSelectionMulti.js.map +1 -1
  242. package/dist/TableSelectionSingle.d.ts +3 -2
  243. package/dist/TableSelectionSingle.js +8 -2
  244. package/dist/TableSelectionSingle.js.map +1 -1
  245. package/dist/TableUtils.d.ts +3 -1
  246. package/dist/TableUtils.js +4 -1
  247. package/dist/TableUtils.js.map +1 -1
  248. package/dist/TextArea.d.ts +52 -5
  249. package/dist/TextArea.js +67 -6
  250. package/dist/TextArea.js.map +1 -1
  251. package/dist/TextAreaTemplate.js +2 -2
  252. package/dist/TextAreaTemplate.js.map +1 -1
  253. package/dist/TimePicker.d.ts +2 -2
  254. package/dist/TimePicker.js +1 -1
  255. package/dist/TimePicker.js.map +1 -1
  256. package/dist/Toast.d.ts +1 -1
  257. package/dist/Toast.js +1 -1
  258. package/dist/Toast.js.map +1 -1
  259. package/dist/Token.d.ts +2 -2
  260. package/dist/Token.js +1 -1
  261. package/dist/Token.js.map +1 -1
  262. package/dist/Tokenizer.d.ts +1 -0
  263. package/dist/Tokenizer.js +18 -1
  264. package/dist/Tokenizer.js.map +1 -1
  265. package/dist/Toolbar.d.ts +6 -0
  266. package/dist/Toolbar.js +6 -0
  267. package/dist/Toolbar.js.map +1 -1
  268. package/dist/Tree.d.ts +3 -1
  269. package/dist/Tree.js +5 -3
  270. package/dist/Tree.js.map +1 -1
  271. package/dist/TreeItem.d.ts +2 -2
  272. package/dist/TreeItem.js +1 -1
  273. package/dist/TreeItem.js.map +1 -1
  274. package/dist/TreeItemBase.d.ts +3 -3
  275. package/dist/TreeItemBase.js +3 -3
  276. package/dist/TreeItemBase.js.map +1 -1
  277. package/dist/YearPicker.js +1 -1
  278. package/dist/YearPicker.js.map +1 -1
  279. package/dist/bundle.esm.js +1 -1
  280. package/dist/bundle.esm.js.map +1 -1
  281. package/dist/css/themes/Avatar.css +1 -1
  282. package/dist/css/themes/AvatarGroup.css +1 -1
  283. package/dist/css/themes/ComboBox.css +1 -1
  284. package/dist/css/themes/ComboBoxPopover.css +1 -1
  285. package/dist/css/themes/FileUploader.css +1 -1
  286. package/dist/css/themes/Form.css +1 -1
  287. package/dist/css/themes/FormItem.css +1 -1
  288. package/dist/css/themes/FormItemSpan.css +1 -1
  289. package/dist/css/themes/Input.css +1 -1
  290. package/dist/css/themes/MultiComboBox.css +1 -1
  291. package/dist/css/themes/NumericInput.css +1 -0
  292. package/dist/css/themes/Popover.css +1 -1
  293. package/dist/css/themes/RatingIndicator.css +1 -1
  294. package/dist/css/themes/Select.css +1 -1
  295. package/dist/css/themes/SliderHandle.css +1 -1
  296. package/dist/css/themes/SliderScale.css +1 -1
  297. package/dist/css/themes/SplitButton.css +1 -1
  298. package/dist/css/themes/TextArea.css +1 -1
  299. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -2
  300. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -2
  301. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -2
  302. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -2
  303. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  304. package/dist/css/themes/sap_horizon_auto/parameters-bundle.css +786 -513
  305. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  306. package/dist/css/themes/sap_horizon_hc_auto/parameters-bundle.css +742 -494
  307. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  308. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  309. package/dist/custom-elements-internal.json +2715 -265
  310. package/dist/custom-elements.json +2399 -103
  311. package/dist/features/ColorPaletteMoreColorsTemplate.js +1 -1
  312. package/dist/features/ColorPaletteMoreColorsTemplate.js.map +1 -1
  313. package/dist/features/ComboBoxLazyLoading.d.ts +26 -0
  314. package/dist/features/ComboBoxLazyLoading.js +48 -0
  315. package/dist/features/ComboBoxLazyLoading.js.map +1 -0
  316. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  317. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  318. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  319. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  320. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  321. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  322. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  323. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  324. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  325. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  326. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  327. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  328. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  329. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  330. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  331. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  332. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  333. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  334. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  335. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  336. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  337. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  338. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  339. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  340. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  341. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  342. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  343. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  344. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  345. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  346. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  347. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  348. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  349. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  350. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  351. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  352. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  353. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  354. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  355. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  356. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  357. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  358. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  359. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  360. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  361. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  362. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  363. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  364. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  365. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  366. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  367. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  368. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  369. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  370. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  371. package/dist/generated/assets/themes/sap_horizon_auto/parameters-bundle.css.json +1 -1
  372. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  373. package/dist/generated/assets/themes/sap_horizon_hc_auto/parameters-bundle.css.json +1 -1
  374. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  375. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  376. package/dist/generated/i18n/i18n-defaults.d.ts +9 -1
  377. package/dist/generated/i18n/i18n-defaults.js +10 -2
  378. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  379. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  380. package/dist/generated/themes/Avatar.css.js +1 -1
  381. package/dist/generated/themes/Avatar.css.js.map +1 -1
  382. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  383. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  384. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  385. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  386. package/dist/generated/themes/ComboBox.css.js +1 -1
  387. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  388. package/dist/generated/themes/ComboBoxPopover.css.d.ts +1 -1
  389. package/dist/generated/themes/ComboBoxPopover.css.js +1 -1
  390. package/dist/generated/themes/ComboBoxPopover.css.js.map +1 -1
  391. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  392. package/dist/generated/themes/FileUploader.css.js +1 -1
  393. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  394. package/dist/generated/themes/Form.css.d.ts +1 -1
  395. package/dist/generated/themes/Form.css.js +1 -1
  396. package/dist/generated/themes/Form.css.js.map +1 -1
  397. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  398. package/dist/generated/themes/FormItem.css.js +1 -1
  399. package/dist/generated/themes/FormItem.css.js.map +1 -1
  400. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  401. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  402. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  403. package/dist/generated/themes/Input.css.d.ts +1 -1
  404. package/dist/generated/themes/Input.css.js +1 -1
  405. package/dist/generated/themes/Input.css.js.map +1 -1
  406. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  407. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  408. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  409. package/dist/generated/themes/NumericInput.css.d.ts +2 -0
  410. package/dist/generated/themes/NumericInput.css.js +8 -0
  411. package/dist/generated/themes/NumericInput.css.js.map +1 -0
  412. package/dist/generated/themes/Popover.css.d.ts +1 -1
  413. package/dist/generated/themes/Popover.css.js +1 -1
  414. package/dist/generated/themes/Popover.css.js.map +1 -1
  415. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  416. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  417. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  418. package/dist/generated/themes/Select.css.d.ts +1 -1
  419. package/dist/generated/themes/Select.css.js +1 -1
  420. package/dist/generated/themes/Select.css.js.map +1 -1
  421. package/dist/generated/themes/SliderHandle.css.d.ts +1 -1
  422. package/dist/generated/themes/SliderHandle.css.js +1 -1
  423. package/dist/generated/themes/SliderHandle.css.js.map +1 -1
  424. package/dist/generated/themes/SliderScale.css.d.ts +1 -1
  425. package/dist/generated/themes/SliderScale.css.js +1 -1
  426. package/dist/generated/themes/SliderScale.css.js.map +1 -1
  427. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  428. package/dist/generated/themes/SplitButton.css.js +1 -1
  429. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  430. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  431. package/dist/generated/themes/TextArea.css.js +1 -1
  432. package/dist/generated/themes/TextArea.css.js.map +1 -1
  433. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  434. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -2
  435. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  436. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  437. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -2
  438. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  439. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  440. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -2
  441. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  442. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  443. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -2
  444. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  445. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  446. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  447. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  448. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.d.ts +1 -1
  449. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js +786 -513
  450. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js.map +1 -1
  451. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  452. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  453. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  454. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.d.ts +1 -1
  455. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js +742 -494
  456. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js.map +1 -1
  457. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  458. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  459. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  460. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  461. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  462. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  463. package/dist/types/BarAccessibleRole.d.ts +2 -1
  464. package/dist/types/BarAccessibleRole.js +2 -1
  465. package/dist/types/BarAccessibleRole.js.map +1 -1
  466. package/dist/types/ButtonAccessibleRole.d.ts +1 -1
  467. package/dist/types/ButtonAccessibleRole.js +1 -1
  468. package/dist/types/ButtonAccessibleRole.js.map +1 -1
  469. package/dist/types/TableSelectionBehavior.d.ts +1 -1
  470. package/dist/types/TableSelectionBehavior.js +1 -1
  471. package/dist/types/TableSelectionBehavior.js.map +1 -1
  472. package/dist/types/TableSelectionMultiHeaderSelector.d.ts +1 -1
  473. package/dist/types/TableSelectionMultiHeaderSelector.js +1 -1
  474. package/dist/types/TableSelectionMultiHeaderSelector.js.map +1 -1
  475. package/dist/types/TextAreaCounterMode.d.ts +27 -0
  476. package/dist/types/TextAreaCounterMode.js +29 -0
  477. package/dist/types/TextAreaCounterMode.js.map +1 -0
  478. package/dist/vscode.html-custom-data.json +24 -10
  479. package/dist/web-types.json +48 -17
  480. package/package.json +9 -9
  481. package/src/ComboBoxPopoverTemplate.tsx +140 -106
  482. package/src/ComboBoxTemplate.tsx +4 -2
  483. package/src/FormTemplate.tsx +2 -2
  484. package/src/{NumberInputTemplate.tsx → NumericInputTemplate.tsx} +6 -6
  485. package/src/PopoverTemplate.tsx +19 -0
  486. package/src/RangeSliderTemplate.tsx +3 -0
  487. package/src/SliderScaleTemplate.tsx +1 -1
  488. package/src/SliderTemplate.tsx +1 -0
  489. package/src/StepInputTemplate.tsx +3 -3
  490. package/src/TableHeaderRowTemplate.tsx +1 -26
  491. package/src/TableRowTemplate.tsx +1 -9
  492. package/src/TableSelection.tsx +464 -0
  493. package/src/TableSelectionMulti.tsx +396 -0
  494. package/src/TableSelectionSingle.tsx +91 -0
  495. package/src/TextAreaTemplate.tsx +2 -2
  496. package/src/features/ColorPaletteMoreColorsTemplate.tsx +1 -1
  497. package/src/i18n/messagebundle.properties +25 -1
  498. package/src/i18n/messagebundle_ar.properties +1 -1
  499. package/src/i18n/messagebundle_bg.properties +1 -1
  500. package/src/i18n/messagebundle_ca.properties +1 -1
  501. package/src/i18n/messagebundle_cnr.properties +1 -1
  502. package/src/i18n/messagebundle_cy.properties +1 -1
  503. package/src/i18n/messagebundle_da.properties +1 -1
  504. package/src/i18n/messagebundle_de.properties +1 -1
  505. package/src/i18n/messagebundle_el.properties +1 -1
  506. package/src/i18n/messagebundle_en.properties +1 -1
  507. package/src/i18n/messagebundle_en_GB.properties +1 -1
  508. package/src/i18n/messagebundle_en_US_sappsd.properties +1 -1
  509. package/src/i18n/messagebundle_en_US_saprigi.properties +17 -1
  510. package/src/i18n/messagebundle_en_US_saptrc.properties +1 -1
  511. package/src/i18n/messagebundle_es.properties +1 -1
  512. package/src/i18n/messagebundle_es_MX.properties +1 -1
  513. package/src/i18n/messagebundle_et.properties +1 -1
  514. package/src/i18n/messagebundle_fi.properties +1 -1
  515. package/src/i18n/messagebundle_fr.properties +1 -1
  516. package/src/i18n/messagebundle_fr_CA.properties +1 -1
  517. package/src/i18n/messagebundle_hi.properties +1 -1
  518. package/src/i18n/messagebundle_hr.properties +1 -1
  519. package/src/i18n/messagebundle_hu.properties +1 -1
  520. package/src/i18n/messagebundle_id.properties +1 -1
  521. package/src/i18n/messagebundle_it.properties +1 -1
  522. package/src/i18n/messagebundle_iw.properties +1 -1
  523. package/src/i18n/messagebundle_ja.properties +1 -1
  524. package/src/i18n/messagebundle_kk.properties +1 -1
  525. package/src/i18n/messagebundle_ko.properties +1 -1
  526. package/src/i18n/messagebundle_lt.properties +1 -1
  527. package/src/i18n/messagebundle_lv.properties +1 -1
  528. package/src/i18n/messagebundle_mk.properties +1 -1
  529. package/src/i18n/messagebundle_ms.properties +1 -1
  530. package/src/i18n/messagebundle_nl.properties +1 -1
  531. package/src/i18n/messagebundle_no.properties +1 -1
  532. package/src/i18n/messagebundle_pl.properties +1 -1
  533. package/src/i18n/messagebundle_pt.properties +2 -2
  534. package/src/i18n/messagebundle_pt_PT.properties +1 -1
  535. package/src/i18n/messagebundle_ro.properties +1 -1
  536. package/src/i18n/messagebundle_ru.properties +1 -1
  537. package/src/i18n/messagebundle_sh.properties +1 -1
  538. package/src/i18n/messagebundle_sk.properties +1 -1
  539. package/src/i18n/messagebundle_sl.properties +1 -1
  540. package/src/i18n/messagebundle_sr.properties +1 -1
  541. package/src/i18n/messagebundle_sv.properties +1 -1
  542. package/src/i18n/messagebundle_th.properties +1 -1
  543. package/src/i18n/messagebundle_tr.properties +1 -1
  544. package/src/i18n/messagebundle_uk.properties +1 -1
  545. package/src/i18n/messagebundle_vi.properties +1 -1
  546. package/src/i18n/messagebundle_zh_CN.properties +1 -1
  547. package/src/i18n/messagebundle_zh_TW.properties +1 -1
  548. package/src/themes/Avatar.css +1 -0
  549. package/src/themes/AvatarGroup.css +21 -0
  550. package/src/themes/ComboBox.css +5 -0
  551. package/src/themes/ComboBoxPopover.css +6 -0
  552. package/src/themes/Form.css +5 -3
  553. package/src/themes/FormItem.css +4 -0
  554. package/src/themes/FormItemSpan.css +5 -0
  555. package/src/themes/Input.css +1 -1
  556. package/src/themes/{NumberInput.css → NumericInput.css} +63 -58
  557. package/src/themes/Popover.css +47 -14
  558. package/src/themes/RatingIndicator.css +1 -0
  559. package/src/themes/SliderHandle.css +12 -7
  560. package/src/themes/SliderScale.css +4 -2
  561. package/src/themes/SplitButton.css +4 -1
  562. package/src/themes/TextArea.css +17 -1
  563. package/src/themes/base/NumericInput-parameters.css +31 -0
  564. package/src/themes/base/Popover-parameters.css +5 -0
  565. package/src/themes/base/sizes-parameters.css +3 -3
  566. package/src/themes/sap_fiori_3/parameters-bundle.css +1 -1
  567. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  568. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  569. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  570. package/src/themes/sap_horizon/AvatarGroup-parameters.css +7 -19
  571. package/src/themes/sap_horizon/NumericInput-parameters.css +26 -0
  572. package/src/themes/sap_horizon/parameters-bundle.css +1 -1
  573. package/src/themes/sap_horizon_dark/NumericInput-parameters.css +26 -0
  574. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  575. package/src/themes/sap_horizon_hcb/NumericInput-parameters.css +14 -0
  576. package/src/themes/sap_horizon_hcb/parameters-bundle.css +2 -2
  577. package/src/themes/sap_horizon_hcw/NumericInput-parameters.css +14 -0
  578. package/src/themes/sap_horizon_hcw/parameters-bundle.css +2 -2
  579. package/dist/NumberInput.js.map +0 -1
  580. package/dist/NumberInputTemplate.d.ts +0 -2
  581. package/dist/NumberInputTemplate.js.map +0 -1
  582. package/dist/css/themes/NumberInput.css +0 -1
  583. package/dist/generated/themes/NumberInput.css.d.ts +0 -2
  584. package/dist/generated/themes/NumberInput.css.js +0 -8
  585. package/dist/generated/themes/NumberInput.css.js.map +0 -1
  586. package/src/themes/base/NumberInput-parameters.css +0 -31
  587. package/src/themes/sap_horizon/NumberInput-parameters.css +0 -26
  588. package/src/themes/sap_horizon_dark/NumberInput-parameters.css +0 -26
  589. package/src/themes/sap_horizon_hcb/NumberInput-parameters.css +0 -14
  590. package/src/themes/sap_horizon_hcw/NumberInput-parameters.css +0 -14
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPicker.js","sourceRoot":"","sources":["../src/ColorPicker.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.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 { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport {\n\tgetRGBColor,\n\tgetAlpha,\n} from \"@ui5/webcomponents-base/dist/util/ColorConversion.js\";\nimport type {\n\tColorHSL,\n\tColorRGB,\n} from \"@ui5/webcomponents-base/dist/util/ColorConversion.js\";\nimport \"@ui5/webcomponents-icons/dist/expand.js\";\nimport ColorValue from \"./colorpicker-utils/ColorValue.js\";\nimport ColorPickerTemplate from \"./ColorPickerTemplate.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport type Input from \"./Input.js\";\nimport type Slider from \"./Slider.js\";\n\nimport {\n\tCOLORPICKER_LABEL,\n\tCOLORPICKER_SLIDER_GROUP,\n\tCOLORPICKER_ALPHA_SLIDER,\n\tCOLORPICKER_HUE_SLIDER,\n\tCOLORPICKER_HEX,\n\tCOLORPICKER_RED,\n\tCOLORPICKER_GREEN,\n\tCOLORPICKER_BLUE,\n\tCOLORPICKER_ALPHA,\n\tCOLORPICKER_SATURATION,\n\tCOLORPICKER_LIGHT,\n\tCOLORPICKER_HUE,\n\tCOLORPICKER_TOGGLE_MODE_TOOLTIP,\n\tCOLORPICKER_PERCENTAGE,\n\tCOLORPICKER_COLOR_MODE_CHANGED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport ColorPickerCss from \"./generated/themes/ColorPicker.css.js\";\nimport type { UI5CustomEvent } from \"@ui5/webcomponents-base/dist/index.js\";\n\n// Fallback box width in CSS pixels at 16px root font-size (16rem).\nconst DEFAULT_BOX_SIZE = 256;\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 accessible name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.20.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.20.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the current main color which is selected via the hue slider and is shown in the main color square.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_mainValue: ColorRGB;\n\n\t/**\n\t * Defines the currenty selected color.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_colorValue: ColorValue;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_selectedCoordinates: ColorCoordinates;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_alpha = 1;\n\n\t/**\n\t * this is the alpha value in the input only while editing, since it can container invalid/empty values temporarily\n\t * @private\n\t */\n\t@property()\n\t_alphaTemp?: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_hue = 0;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isSelectedColorChanged = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isHueValueChanged = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_wrongHEX = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_displayHSL = false;\n\n\tselectedHue: number;\n\n\tmouseDown: boolean;\n\n\tmouseIn: boolean;\n\n\t@query(\".ui5-color-picker-main-color\")\n\t_mainColorRef?: HTMLElement;\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 of the picker box (white = l=100%, s=0%)\n\t\t// Stored as percentages so positioning is independent of root font-size.\n\t\tthis._selectedCoordinates = {\n\t\t\tx: 100,\n\t\t\ty: 100,\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\tget _boxSize(): number {\n\t\t// clientWidth excludes border, matching the coordinate space of MouseEvent.offsetX/Y\n\t\t// which is measured from the element's padding edge.\n\t\treturn this._mainColorRef?.clientWidth || DEFAULT_BOX_SIZE;\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(\"--ui5_Color_Picker_Progress_Container_Color\", tempColor);\n\t}\n\n\t_handleMouseDown(e: MouseEvent) {\n\t\tthis.mouseDown = true;\n\t\tthis.mouseIn = true;\n\t\tthis._changeSelectedColor(e.offsetX, e.offsetY);\n\t}\n\n\t_handleMouseUp() {\n\t\tthis.mouseDown = false;\n\t}\n\n\t_handleMouseOut(e: MouseEvent) {\n\t\tif (!this.mouseIn || !this.mouseDown) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst target = e.target as HTMLElement;\n\t\tconst offsetHeight: number = target.offsetHeight;\n\t\tconst offsetWidth: number = target.offsetWidth;\n\t\tconst isLeft: boolean = e.offsetX <= 0;\n\t\tconst isUp: boolean = e.offsetY <= 0;\n\t\tconst isDown: boolean = e.offsetY >= target.offsetHeight;\n\t\tconst isRight: boolean = e.offsetX >= target.offsetWidth;\n\n\t\tlet x: number,\n\t\t\ty: number;\n\n\t\tif (isLeft) {\n\t\t\tx = 0;\n\t\t} else if (isRight) {\n\t\t\t// Note: - e.offsetWidth has been changed to e.target.offsetWidth as offsetWidth does not exist on the event object\n\t\t\tx = offsetWidth;\n\t\t} else {\n\t\t\tx = e.offsetX;\n\t\t}\n\n\t\tif (isUp) {\n\t\t\ty = 0;\n\t\t} else if (isDown) {\n\t\t\t// Note: - e.offsetWidth has been changed to e.target.offsetWidth as offsetWidth does not exist on the event object\n\t\t\ty = offsetHeight;\n\t\t} else {\n\t\t\ty = e.offsetY;\n\t\t}\n\n\t\tthis._changeSelectedColor(x, y);\n\t\tthis.mouseIn = false;\n\t\tthis.mouseDown = false;\n\t}\n\n\t_handleMouseMove(e: MouseEvent) {\n\t\tif (!this.mouseDown || !this.mouseIn) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._changeSelectedColor(e.offsetX, e.offsetY);\n\t}\n\n\t_handleAlphaInput(e: UI5CustomEvent<Input, \"input\"> | UI5CustomEvent<Slider, \"input\">) {\n\t\tconst aphaInputValue = String(e.currentTarget.value);\n\t\tthis._alphaTemp = aphaInputValue;\n\t\tthis._alpha = parseFloat(aphaInputValue);\n\t\tif (Number.isNaN(this._alpha)) {\n\t\t\tthis._alpha = 1;\n\t\t}\n\t\tthis._colorValue.Alpha = this._alpha;\n\t\tthis._isHueValueChanged = true;\n\n\t\tconst color = this._colorValue.toRGBString();\n\t\tthis._setValue(color);\n\t}\n\n\t_handleHueInput(e: CustomEvent) {\n\t\tthis.selectedHue = (e.target as Slider).value;\n\t\tthis._hue = this.selectedHue;\n\t\tthis._setMainColor(this._hue);\n\t\t// Idication that changes to the hue value triggered as a result of user pressing over the hue slider.\n\t\tthis._isHueValueChanged = true;\n\t\tthis._colorValue.H = this._hue;\n\n\t\tconst color = this._colorValue.toRGBString();\n\t\tthis._setValue(color);\n\t}\n\n\t_handleHEXChange(e: CustomEvent | KeyboardEvent) {\n\t\tconst input: Input = (e.target as Input);\n\t\tlet inputValueLowerCase = input.value.toLowerCase();\n\n\t\tif (inputValueLowerCase.startsWith(\"#\")) {\n\t\t\tinputValueLowerCase = inputValueLowerCase.slice(1);\n\t\t}\n\n\t\t// Shorthand Syntax\n\t\tif (inputValueLowerCase.length === 3) {\n\t\t\tinputValueLowerCase = `${inputValueLowerCase[0]}${inputValueLowerCase[0]}${inputValueLowerCase[1]}${inputValueLowerCase[1]}${inputValueLowerCase[2]}${inputValueLowerCase[2]}`;\n\t\t}\n\n\t\tthis._colorValue.HEX = inputValueLowerCase;\n\t\tconst isValidColor = this._colorValue.isColorValueValid();\n\n\t\tif (isValidColor && input.value !== inputValueLowerCase) {\n\t\t\tthis._wrongHEX = false;\n\t\t\tinput.value = inputValueLowerCase;\n\t\t}\n\n\t\tif (!isValidColor) {\n\t\t\tthis._wrongHEX = true;\n\t\t} else {\n\t\t\tthis._wrongHEX = false;\n\n\t\t\tconst color = this._colorValue.toRGBString();\n\t\t\tthis._setValue(color);\n\t\t}\n\t}\n\n\t_togglePickerMode() {\n\t\tthis._displayHSL = !this._displayHSL;\n\n\t\t// Announce a message to screen readers\n\t\tannounce(this.colorFieldsAnnouncementText, InvisibleMessageMode.Polite);\n\t}\n\n\t_handleColorInputChange(e: Event) {\n\t\tconst target = e.target as Input;\n\t\tconst targetValue = parseInt(target.value) || 0;\n\t\tlet normalizedValue = targetValue;\n\n\t\tswitch (target.id) {\n\t\tcase \"red\":\n\t\t\tthis._colorValue.R = targetValue;\n\t\t\tnormalizedValue = this._colorValue.R;\n\t\t\tbreak;\n\n\t\tcase \"green\":\n\t\t\tthis._colorValue.G = targetValue;\n\t\t\tnormalizedValue = this._colorValue.G;\n\t\t\tbreak;\n\n\t\tcase \"blue\":\n\t\t\tthis._colorValue.B = targetValue;\n\t\t\tnormalizedValue = this._colorValue.B;\n\t\t\tbreak;\n\n\t\tcase \"hue\":\n\t\t\tthis._colorValue.H = targetValue;\n\t\t\tnormalizedValue = this._colorValue.H;\n\t\t\tbreak;\n\n\t\tcase \"saturation\":\n\t\t\tthis._colorValue.S = targetValue;\n\t\t\tnormalizedValue = this._colorValue.S;\n\t\t\tbreak;\n\n\t\tcase \"light\":\n\t\t\tthis._colorValue.L = targetValue;\n\t\t\tnormalizedValue = this._colorValue.L;\n\t\t\tbreak;\n\t\t}\n\n\t\ttarget.value = String(normalizedValue);\n\t\tconst color = this._colorValue.toRGBString();\n\t\tthis._setValue(color);\n\t\tthis._updateColorGrid();\n\t}\n\n\t_setMainColor(hueValue: number) {\n\t\tconst hueValueMod = hueValue * 4.251;\n\n\t\tif (hueValueMod <= 255) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 255,\n\t\t\t\tg: hueValueMod,\n\t\t\t\tb: 0,\n\t\t\t};\n\t\t} else if (hueValueMod <= 510) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 255 - (hueValueMod - 255),\n\t\t\t\tg: 255,\n\t\t\t\tb: 0,\n\t\t\t};\n\t\t} else if (hueValueMod <= 765) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 0,\n\t\t\t\tg: 255,\n\t\t\t\tb: hueValueMod - 510,\n\t\t\t};\n\t\t} else if (hueValueMod <= 1020) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 0,\n\t\t\t\tg: 765 - (hueValueMod - 255),\n\t\t\t\tb: 255,\n\t\t\t};\n\t\t} else if (hueValueMod <= 1275) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: hueValueMod - 1020,\n\t\t\t\tg: 0,\n\t\t\t\tb: 255,\n\t\t\t};\n\t\t} else {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 255,\n\t\t\t\tg: 0,\n\t\t\t\tb: 1275 - (hueValueMod - 255),\n\t\t\t};\n\t\t}\n\t}\n\n\t_handleAlphaChange() {\n\t\t// parse the input value if valid or fallback to default\n\t\tthis._alpha = this._alphaTemp ? parseFloat(this._alphaTemp) : 1;\n\t\tif (Number.isNaN(this._alpha)) {\n\t\t\tthis._alpha = 1;\n\t\t}\n\t\t// reset input value so _alpha is rendered\n\t\tthis._alphaTemp = undefined;\n\t\t// normalize range\n\t\tthis._alpha = this._alpha < 0 ? 0 : this._alpha;\n\t\tthis._alpha = this._alpha > 1 ? 1 : this._alpha;\n\n\t\tthis._colorValue.Alpha = this._alpha;\n\t}\n\n\t_changeSelectedColor(x: number, y: number) {\n\t\tconst boxSize = this._boxSize;\n\t\t// Store coordinates as percentages of the picker box.\n\t\tthis._selectedCoordinates = {\n\t\t\tx: (x / boxSize) * 100,\n\t\t\ty: (y / boxSize) * 100,\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\tconst boxSize = this._boxSize;\n\t\tlet s = +(1 - (y / boxSize)).toFixed(2);\n\t\tlet l = +(x / boxSize).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\t// Coordinates are percentages: x = lightness, y = inverted saturation.\n\t\t// The template applies them as `left: x%` / `top: y%` so the circle scales with the box.\n\t\tthis._selectedCoordinates = {\n\t\t\tx: hslColours.l,\n\t\t\ty: 100 - hslColours.s,\n\t\t};\n\n\t\tif (this._isSelectedColorChanged) { // We shouldn't update the hue value when user presses over the main color section.\n\t\t\tthis._isSelectedColorChanged = false;\n\t\t} else if (this._isHueValueChanged) { // We shouldn't recalculate the hue value when user changes the hue slider.\n\t\t\tthis._isHueValueChanged = false;\n\t\t\tthis._hue = this.selectedHue ? this.selectedHue : this._hue;\n\t\t} else {\n\t\t\tthis._hue = hslColours.h;\n\t\t}\n\n\t\tthis._setMainColor(this._hue);\n\t}\n\n\t_isColorValueEqual(value: ColorRGB): boolean {\n\t\treturn this._colorValue.R === value.r\n\t\t\t&& this._colorValue.G === value.g\n\t\t\t&& this._colorValue.B === value.b;\n\t}\n\n\tget colorPickerLabel() {\n\t\tconst effectiveLabel = getEffectiveAriaLabelText(this);\n\t\treturn effectiveLabel\n\t\t\t? `${ColorPicker.i18nBundle.getText(COLORPICKER_LABEL)} ${effectiveLabel}`\n\t\t\t: ColorPicker.i18nBundle.getText(COLORPICKER_LABEL);\n\t}\n\n\tget sliderGroupLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_SLIDER_GROUP);\n\t}\n\n\tget hueSliderLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_HUE_SLIDER);\n\t}\n\n\tget alphaSliderLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_ALPHA_SLIDER);\n\t}\n\n\tget hexInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_HEX);\n\t}\n\n\tget redInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_RED);\n\t}\n\n\tget greenInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_GREEN);\n\t}\n\n\tget blueInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_BLUE);\n\t}\n\n\tget hueInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_HUE);\n\t}\n\n\tget saturationInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_SATURATION);\n\t}\n\n\tget lightInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_LIGHT);\n\t}\n\n\tget alphaInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_ALPHA);\n\t}\n\n\tget percentageLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_PERCENTAGE);\n\t}\n\n\tget colorFieldsAnnouncementText() {\n\t\tconst mode = this._displayHSL ? \"HSL\" : \"RGB\";\n\t\tlet text = \"\";\n\n\t\tif (mode === \"RGB\") {\n\t\t\ttext = `${this.redInputLabel} ${this._colorValue.R}, `\n\t\t\t\t+ `${this.greenInputLabel} ${this._colorValue.G}, `\n\t\t\t\t+ `${this.blueInputLabel} ${this._colorValue.B}, `\n\t\t\t\t+ `${this.alphaInputLabel} ${this._colorValue.Alpha}`;\n\t\t} else {\n\t\t\ttext = `${this.hueInputLabel} ${this._colorValue.H}, `\n\t\t\t\t+ `${this.saturationInputLabel} ${this._colorValue.S} ${this.percentageLabel}, `\n\t\t\t\t+ `${this.lightInputLabel} ${this._colorValue.L} ${this.percentageLabel}, `\n\t\t\t\t+ `${this.alphaInputLabel} ${this._colorValue.Alpha}`;\n\t\t}\n\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_COLOR_MODE_CHANGED, mode, text);\n\t}\n\n\tget toggleModeTooltip() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_TOGGLE_MODE_TOOLTIP);\n\t}\n\n\tget inputsDisabled() {\n\t\treturn this._wrongHEX ? true : undefined;\n\t}\n\n\tget hexInputErrorState(): `${ValueState}` {\n\t\treturn this._wrongHEX ? \"Negative\" : \"None\";\n\t}\n\n\tget rgbInputs(): Array<ColorChannelInput> {\n\t\tconst redInput = {\n\t\t\tid: \"red\",\n\t\t\tvalue: this._colorValue.R,\n\t\t\tlabel: \"R\",\n\t\t\taccessibleName: this.redInputLabel,\n\t\t};\n\n\t\tconst greenInput = {\n\t\t\tid: \"green\",\n\t\t\tvalue: this._colorValue.G,\n\t\t\tlabel: \"G\",\n\t\t\taccessibleName: this.greenInputLabel,\n\t\t};\n\n\t\tconst blueInput = {\n\t\t\tid: \"blue\",\n\t\t\tvalue: this._colorValue.B,\n\t\t\tlabel: \"B\",\n\t\t\taccessibleName: this.blueInputLabel,\n\t\t};\n\n\t\treturn [redInput, greenInput, blueInput];\n\t}\n\n\tget hslInputs(): Array<ColorChannelInput> {\n\t\tconst hueInput = {\n\t\t\tid: \"hue\",\n\t\t\tvalue: this._colorValue.H,\n\t\t\tlabel: \"H\",\n\t\t\taccessibleName: this.hueInputLabel,\n\t\t};\n\n\t\tconst saturationInput = {\n\t\t\tid: \"saturation\",\n\t\t\tvalue: this._colorValue.S,\n\t\t\tlabel: \"S\",\n\t\t\taccessibleName: this.saturationInputLabel,\n\t\t\tshowPercentSymbol: true,\n\t\t};\n\n\t\tconst lightInput = {\n\t\t\tid: \"light\",\n\t\t\tvalue: this._colorValue.L,\n\t\t\tlabel: \"L\",\n\t\t\taccessibleName: this.lightInputLabel,\n\t\t\tshowPercentSymbol: true,\n\t\t};\n\n\t\treturn [hueInput, saturationInput, lightInput];\n\t}\n\n\tget HEX(): string {\n\t\treturn this._colorValue.HEX;\n\t}\n\n\tget colorChannelInputs() {\n\t\treturn this._displayHSL ? this.hslInputs : this.rgbInputs;\n\t}\n\n\tget _isDefaultPickerMode() {\n\t\treturn !this.simplified;\n\t}\n}\n\nColorPicker.define();\n\nexport default ColorPicker;\n"]}
1
+ {"version":3,"file":"ColorPicker.js","sourceRoot":"","sources":["../src/ColorPicker.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,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,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAE1G,OAAO,EACN,WAAW,EACX,QAAQ,GACR,MAAM,sDAAsD,CAAC;AAK9D,OAAO,yCAAyC,CAAC;AACjD,OAAO,UAAU,MAAM,mCAAmC,CAAC;AAC3D,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,QAAQ,MAAM,uDAAuD,CAAC;AAC7E,OAAO,oBAAoB,MAAM,4DAA4D,CAAC;AAI9F,OAAO,EACN,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,+BAA+B,EAC/B,sBAAsB,EACtB,8BAA8B,GAC9B,MAAM,mCAAmC,CAAC;AAE3C,SAAS;AACT,OAAO,cAAc,MAAM,uCAAuC,CAAC;AAGnE,mEAAmE;AACnE,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAe7B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAiBH,IAAM,WAAW,mBAAjB,MAAM,WAAY,SAAQ,UAAU;IAkInC,KAAK,CAAC,iBAAiB;QACtB,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACnC,CAAC;IAED,cAAc;QACb,OAAO,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;IACpE,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED;QACC,KAAK,EAAE,CAAC;QA3IT;;;;;;WAMG;QAEH,UAAK,GAAG,qBAAqB,CAAC;QAa9B;;;;;WAKG;QAEH,eAAU,GAAG,KAAK,CAAC;QAwCnB;;WAEG;QAEH,WAAM,GAAG,CAAC,CAAC;QASX;;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;QAElB;;WAEG;QAEH,gBAAW,GAAG,KAAK,CAAC;QA+BnB,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,EAAE,CAAC;QAEpC,+DAA+D;QAC/D,yEAAyE;QACzE,IAAI,CAAC,oBAAoB,GAAG;YAC3B,CAAC,EAAE,GAAG;YACN,CAAC,EAAE,GAAG;SACN,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,IAAI,QAAQ;QACX,qFAAqF;QACrF,qDAAqD;QACrD,OAAO,IAAI,CAAC,aAAa,EAAE,WAAW,IAAI,gBAAgB,CAAC;IAC5D,CAAC;IAED,iBAAiB;QAChB,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,UAAU,CAAC;QACnC,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QACtC,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QACjD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,6CAA6C,EAAE,SAAS,CAAC,CAAC;IAClF,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,iBAAiB,CAAC,CAAmE;QACpF,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;QACjC,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,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvB,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;QAC/B,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,gBAAgB,CAAC,CAA8B;QAC9C,MAAM,KAAK,GAAW,CAAC,CAAC,MAAgB,CAAC;QACzC,IAAI,mBAAmB,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAEpD,IAAI,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,mBAAmB,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,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,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,mBAAmB,CAAC;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;QAE1D,IAAI,YAAY,IAAI,KAAK,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;YACzD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,KAAK,CAAC,KAAK,GAAG,mBAAmB,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACF,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QAErC,uCAAuC;QACvC,QAAQ,CAAC,IAAI,CAAC,2BAA2B,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACzE,CAAC;IAED,uBAAuB,CAAC,CAAQ;QAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAe,CAAC;QACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,eAAe,GAAG,WAAW,CAAC;QAElC,QAAQ,MAAM,CAAC,EAAE,EAAE,CAAC;YACpB,KAAK,KAAK;gBACT,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC;gBACjC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACrC,MAAM;YAEP,KAAK,OAAO;gBACX,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC;gBACjC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACrC,MAAM;YAEP,KAAK,MAAM;gBACV,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC;gBACjC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACrC,MAAM;YAEP,KAAK,KAAK;gBACT,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC;gBACjC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACrC,MAAM;YAEP,KAAK,YAAY;gBAChB,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC;gBACjC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACrC,MAAM;YAEP,KAAK,OAAO;gBACX,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC;gBACjC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACrC,MAAM;QACP,CAAC;QAED,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACzB,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;QACjB,wDAAwD;QACxD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACjB,CAAC;QACD,0CAA0C;QAC1C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,kBAAkB;QAClB,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;QAEhD,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,oBAAoB,CAAC,CAAS,EAAE,CAAS;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,sDAAsD;QACtD,IAAI,CAAC,oBAAoB,GAAG;YAC3B,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,GAAG;YACtB,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,GAAG;SACtB,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,WAAW,CAAC,GAAG,GAAG,SAAS,CAAC;YAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvB,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;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAElC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,sDAAsD;YACtD,OAAO;QACR,CAAC;QAED,oEAAoE;QACpE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEhC,OAAO;YACN,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAChB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;YACtB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;SACtB,CAAC;IACH,CAAC;IAED,SAAS,CAAC,KAAa;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;QACvD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,gBAAgB;QACf,MAAM,UAAU,GAAa,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;QAClD,uEAAuE;QACvE,yFAAyF;QACzF,IAAI,CAAC,oBAAoB,GAAG;YAC3B,CAAC,EAAE,UAAU,CAAC,CAAC;YACf,CAAC,EAAE,GAAG,GAAG,UAAU,CAAC,CAAC;SACrB,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,UAAU,CAAC,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,kBAAkB,CAAC,KAAe;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;eACjC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;eAC9B,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,gBAAgB;QACnB,MAAM,cAAc,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACvD,OAAO,cAAc;YACpB,CAAC,CAAC,GAAG,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,cAAc,EAAE;YAC1E,CAAC,CAAC,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACjE,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,aAAa;QAChB,OAAO,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,oBAAoB;QACvB,OAAO,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,2BAA2B;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9C,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACpB,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI;kBACnD,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI;kBACjD,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI;kBAChD,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACxD,CAAC;aAAM,CAAC;YACP,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI;kBACnD,GAAG,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,IAAI;kBAC9E,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,IAAI;kBACzE,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACxD,CAAC;QAED,OAAO,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,8BAA8B,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,aAAW,CAAC,UAAU,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACxE,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,SAAS;QACZ,MAAM,QAAQ,GAAG;YAChB,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACzB,KAAK,EAAE,GAAG;YACV,cAAc,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;QAEF,MAAM,UAAU,GAAG;YAClB,EAAE,EAAE,OAAO;YACX,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACzB,KAAK,EAAE,GAAG;YACV,cAAc,EAAE,IAAI,CAAC,eAAe;SACpC,CAAC;QAEF,MAAM,SAAS,GAAG;YACjB,EAAE,EAAE,MAAM;YACV,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACzB,KAAK,EAAE,GAAG;YACV,cAAc,EAAE,IAAI,CAAC,cAAc;SACnC,CAAC;QAEF,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,SAAS;QACZ,MAAM,QAAQ,GAAG;YAChB,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACzB,KAAK,EAAE,GAAG;YACV,cAAc,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;QAEF,MAAM,eAAe,GAAG;YACvB,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACzB,KAAK,EAAE,GAAG;YACV,cAAc,EAAE,IAAI,CAAC,oBAAoB;YACzC,iBAAiB,EAAE,IAAI;SACvB,CAAC;QAEF,MAAM,UAAU,GAAG;YAClB,EAAE,EAAE,OAAO;YACX,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACzB,KAAK,EAAE,GAAG;YACV,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,iBAAiB,EAAE,IAAI;SACvB,CAAC;QAEF,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,GAAG;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;IAC7B,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAC3D,CAAC;IAED,IAAI,oBAAoB;QACvB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACD,CAAA;AAtnBA;IADC,QAAQ,EAAE;0CACmB;AAW9B;IADC,QAAQ,EAAE;yCACG;AASd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACT;AASnB;IADC,QAAQ,EAAE;mDACa;AASxB;IADC,QAAQ,EAAE;sDACgB;AAO3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CACN;AAOrB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDACH;AAMxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yDACY;AAMvC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CAChB;AAOX;IADC,QAAQ,EAAE;+CACS;AAMpB;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;AAMlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDACR;AASpB;IADC,KAAK,CAAC,8BAA8B,CAAC;kDACV;AAG5B;IADC,KAAK,CAAC,8BAA8B,CAAC;+CAClB;AAGb;IADN,IAAI,CAAC,oBAAoB,CAAC;qCACG;AAhIzB,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,CAkoBhB;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 query from \"@ui5/webcomponents-base/dist/decorators/query.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 { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport {\n\tgetRGBColor,\n\tgetAlpha,\n} from \"@ui5/webcomponents-base/dist/util/ColorConversion.js\";\nimport type {\n\tColorHSL,\n\tColorRGB,\n} from \"@ui5/webcomponents-base/dist/util/ColorConversion.js\";\nimport \"@ui5/webcomponents-icons/dist/expand.js\";\nimport ColorValue from \"./colorpicker-utils/ColorValue.js\";\nimport ColorPickerTemplate from \"./ColorPickerTemplate.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport type Input from \"./Input.js\";\nimport type Slider from \"./Slider.js\";\n\nimport {\n\tCOLORPICKER_LABEL,\n\tCOLORPICKER_SLIDER_GROUP,\n\tCOLORPICKER_ALPHA_SLIDER,\n\tCOLORPICKER_HUE_SLIDER,\n\tCOLORPICKER_HEX,\n\tCOLORPICKER_RED,\n\tCOLORPICKER_GREEN,\n\tCOLORPICKER_BLUE,\n\tCOLORPICKER_ALPHA,\n\tCOLORPICKER_SATURATION,\n\tCOLORPICKER_LIGHT,\n\tCOLORPICKER_HUE,\n\tCOLORPICKER_TOGGLE_MODE_TOOLTIP,\n\tCOLORPICKER_PERCENTAGE,\n\tCOLORPICKER_COLOR_MODE_CHANGED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport ColorPickerCss from \"./generated/themes/ColorPicker.css.js\";\nimport type { UI5CustomEvent } from \"@ui5/webcomponents-base/dist/index.js\";\n\n// Fallback box width in CSS pixels at 16px root font-size (16rem).\nconst DEFAULT_BOX_SIZE = 256;\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\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 accessible name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.20.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.20.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the current main color which is selected via the hue slider and is shown in the main color square.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_mainValue: ColorRGB;\n\n\t/**\n\t * Defines the currenty selected color.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_colorValue: ColorValue;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_selectedCoordinates: ColorCoordinates;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_alpha = 1;\n\n\t/**\n\t * this is the alpha value in the input only while editing, since it can container invalid/empty values temporarily\n\t * @private\n\t */\n\t@property()\n\t_alphaTemp?: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_hue = 0;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isSelectedColorChanged = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isHueValueChanged = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_wrongHEX = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_displayHSL = false;\n\n\tselectedHue: number;\n\n\tmouseDown: boolean;\n\n\tmouseIn: boolean;\n\n\t@query(\".ui5-color-picker-main-color\")\n\t_mainColorRef?: HTMLElement;\n\n\t@query(\".ui5-color-picker-hue-slider\")\n\t_hueSlider?: Slider;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\tgetFocusDomRef() {\n\t\treturn this._hueSlider?.getFocusDomRef() ?? super.getFocusDomRef();\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 of the picker box (white = l=100%, s=0%)\n\t\t// Stored as percentages so positioning is independent of root font-size.\n\t\tthis._selectedCoordinates = {\n\t\t\tx: 100,\n\t\t\ty: 100,\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\tget _boxSize(): number {\n\t\t// clientWidth excludes border, matching the coordinate space of MouseEvent.offsetX/Y\n\t\t// which is measured from the element's padding edge.\n\t\treturn this._mainColorRef?.clientWidth || DEFAULT_BOX_SIZE;\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(\"--ui5_Color_Picker_Progress_Container_Color\", tempColor);\n\t}\n\n\t_handleMouseDown(e: MouseEvent) {\n\t\tthis.mouseDown = true;\n\t\tthis.mouseIn = true;\n\t\tthis._changeSelectedColor(e.offsetX, e.offsetY);\n\t}\n\n\t_handleMouseUp() {\n\t\tthis.mouseDown = false;\n\t}\n\n\t_handleMouseOut(e: MouseEvent) {\n\t\tif (!this.mouseIn || !this.mouseDown) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst target = e.target as HTMLElement;\n\t\tconst offsetHeight: number = target.offsetHeight;\n\t\tconst offsetWidth: number = target.offsetWidth;\n\t\tconst isLeft: boolean = e.offsetX <= 0;\n\t\tconst isUp: boolean = e.offsetY <= 0;\n\t\tconst isDown: boolean = e.offsetY >= target.offsetHeight;\n\t\tconst isRight: boolean = e.offsetX >= target.offsetWidth;\n\n\t\tlet x: number,\n\t\t\ty: number;\n\n\t\tif (isLeft) {\n\t\t\tx = 0;\n\t\t} else if (isRight) {\n\t\t\t// Note: - e.offsetWidth has been changed to e.target.offsetWidth as offsetWidth does not exist on the event object\n\t\t\tx = offsetWidth;\n\t\t} else {\n\t\t\tx = e.offsetX;\n\t\t}\n\n\t\tif (isUp) {\n\t\t\ty = 0;\n\t\t} else if (isDown) {\n\t\t\t// Note: - e.offsetWidth has been changed to e.target.offsetWidth as offsetWidth does not exist on the event object\n\t\t\ty = offsetHeight;\n\t\t} else {\n\t\t\ty = e.offsetY;\n\t\t}\n\n\t\tthis._changeSelectedColor(x, y);\n\t\tthis.mouseIn = false;\n\t\tthis.mouseDown = false;\n\t}\n\n\t_handleMouseMove(e: MouseEvent) {\n\t\tif (!this.mouseDown || !this.mouseIn) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._changeSelectedColor(e.offsetX, e.offsetY);\n\t}\n\n\t_handleAlphaInput(e: UI5CustomEvent<Input, \"input\"> | UI5CustomEvent<Slider, \"input\">) {\n\t\tconst aphaInputValue = String(e.currentTarget.value);\n\t\tthis._alphaTemp = aphaInputValue;\n\t\tthis._alpha = parseFloat(aphaInputValue);\n\t\tif (Number.isNaN(this._alpha)) {\n\t\t\tthis._alpha = 1;\n\t\t}\n\t\tthis._colorValue.Alpha = this._alpha;\n\t\tthis._isHueValueChanged = true;\n\n\t\tconst color = this._colorValue.toRGBString();\n\t\tthis._setValue(color);\n\t}\n\n\t_handleHueInput(e: CustomEvent) {\n\t\tthis.selectedHue = (e.target as Slider).value;\n\t\tthis._hue = this.selectedHue;\n\t\tthis._setMainColor(this._hue);\n\t\t// Idication that changes to the hue value triggered as a result of user pressing over the hue slider.\n\t\tthis._isHueValueChanged = true;\n\t\tthis._colorValue.H = this._hue;\n\n\t\tconst color = this._colorValue.toRGBString();\n\t\tthis._setValue(color);\n\t}\n\n\t_handleHEXChange(e: CustomEvent | KeyboardEvent) {\n\t\tconst input: Input = (e.target as Input);\n\t\tlet inputValueLowerCase = input.value.toLowerCase();\n\n\t\tif (inputValueLowerCase.startsWith(\"#\")) {\n\t\t\tinputValueLowerCase = inputValueLowerCase.slice(1);\n\t\t}\n\n\t\t// Shorthand Syntax\n\t\tif (inputValueLowerCase.length === 3) {\n\t\t\tinputValueLowerCase = `${inputValueLowerCase[0]}${inputValueLowerCase[0]}${inputValueLowerCase[1]}${inputValueLowerCase[1]}${inputValueLowerCase[2]}${inputValueLowerCase[2]}`;\n\t\t}\n\n\t\tthis._colorValue.HEX = inputValueLowerCase;\n\t\tconst isValidColor = this._colorValue.isColorValueValid();\n\n\t\tif (isValidColor && input.value !== inputValueLowerCase) {\n\t\t\tthis._wrongHEX = false;\n\t\t\tinput.value = inputValueLowerCase;\n\t\t}\n\n\t\tif (!isValidColor) {\n\t\t\tthis._wrongHEX = true;\n\t\t} else {\n\t\t\tthis._wrongHEX = false;\n\n\t\t\tconst color = this._colorValue.toRGBString();\n\t\t\tthis._setValue(color);\n\t\t}\n\t}\n\n\t_togglePickerMode() {\n\t\tthis._displayHSL = !this._displayHSL;\n\n\t\t// Announce a message to screen readers\n\t\tannounce(this.colorFieldsAnnouncementText, InvisibleMessageMode.Polite);\n\t}\n\n\t_handleColorInputChange(e: Event) {\n\t\tconst target = e.target as Input;\n\t\tconst targetValue = parseInt(target.value) || 0;\n\t\tlet normalizedValue = targetValue;\n\n\t\tswitch (target.id) {\n\t\tcase \"red\":\n\t\t\tthis._colorValue.R = targetValue;\n\t\t\tnormalizedValue = this._colorValue.R;\n\t\t\tbreak;\n\n\t\tcase \"green\":\n\t\t\tthis._colorValue.G = targetValue;\n\t\t\tnormalizedValue = this._colorValue.G;\n\t\t\tbreak;\n\n\t\tcase \"blue\":\n\t\t\tthis._colorValue.B = targetValue;\n\t\t\tnormalizedValue = this._colorValue.B;\n\t\t\tbreak;\n\n\t\tcase \"hue\":\n\t\t\tthis._colorValue.H = targetValue;\n\t\t\tnormalizedValue = this._colorValue.H;\n\t\t\tbreak;\n\n\t\tcase \"saturation\":\n\t\t\tthis._colorValue.S = targetValue;\n\t\t\tnormalizedValue = this._colorValue.S;\n\t\t\tbreak;\n\n\t\tcase \"light\":\n\t\t\tthis._colorValue.L = targetValue;\n\t\t\tnormalizedValue = this._colorValue.L;\n\t\t\tbreak;\n\t\t}\n\n\t\ttarget.value = String(normalizedValue);\n\t\tconst color = this._colorValue.toRGBString();\n\t\tthis._setValue(color);\n\t\tthis._updateColorGrid();\n\t}\n\n\t_setMainColor(hueValue: number) {\n\t\tconst hueValueMod = hueValue * 4.251;\n\n\t\tif (hueValueMod <= 255) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 255,\n\t\t\t\tg: hueValueMod,\n\t\t\t\tb: 0,\n\t\t\t};\n\t\t} else if (hueValueMod <= 510) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 255 - (hueValueMod - 255),\n\t\t\t\tg: 255,\n\t\t\t\tb: 0,\n\t\t\t};\n\t\t} else if (hueValueMod <= 765) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 0,\n\t\t\t\tg: 255,\n\t\t\t\tb: hueValueMod - 510,\n\t\t\t};\n\t\t} else if (hueValueMod <= 1020) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 0,\n\t\t\t\tg: 765 - (hueValueMod - 255),\n\t\t\t\tb: 255,\n\t\t\t};\n\t\t} else if (hueValueMod <= 1275) {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: hueValueMod - 1020,\n\t\t\t\tg: 0,\n\t\t\t\tb: 255,\n\t\t\t};\n\t\t} else {\n\t\t\tthis._mainValue = {\n\t\t\t\tr: 255,\n\t\t\t\tg: 0,\n\t\t\t\tb: 1275 - (hueValueMod - 255),\n\t\t\t};\n\t\t}\n\t}\n\n\t_handleAlphaChange() {\n\t\t// parse the input value if valid or fallback to default\n\t\tthis._alpha = this._alphaTemp ? parseFloat(this._alphaTemp) : 1;\n\t\tif (Number.isNaN(this._alpha)) {\n\t\t\tthis._alpha = 1;\n\t\t}\n\t\t// reset input value so _alpha is rendered\n\t\tthis._alphaTemp = undefined;\n\t\t// normalize range\n\t\tthis._alpha = this._alpha < 0 ? 0 : this._alpha;\n\t\tthis._alpha = this._alpha > 1 ? 1 : this._alpha;\n\n\t\tthis._colorValue.Alpha = this._alpha;\n\t}\n\n\t_changeSelectedColor(x: number, y: number) {\n\t\tconst boxSize = this._boxSize;\n\t\t// Store coordinates as percentages of the picker box.\n\t\tthis._selectedCoordinates = {\n\t\t\tx: (x / boxSize) * 100,\n\t\t\ty: (y / boxSize) * 100,\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\tconst boxSize = this._boxSize;\n\t\tlet s = +(1 - (y / boxSize)).toFixed(2);\n\t\tlet l = +(x / boxSize).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\t// Coordinates are percentages: x = lightness, y = inverted saturation.\n\t\t// The template applies them as `left: x%` / `top: y%` so the circle scales with the box.\n\t\tthis._selectedCoordinates = {\n\t\t\tx: hslColours.l,\n\t\t\ty: 100 - hslColours.s,\n\t\t};\n\n\t\tif (this._isSelectedColorChanged) { // We shouldn't update the hue value when user presses over the main color section.\n\t\t\tthis._isSelectedColorChanged = false;\n\t\t} else if (this._isHueValueChanged) { // We shouldn't recalculate the hue value when user changes the hue slider.\n\t\t\tthis._isHueValueChanged = false;\n\t\t\tthis._hue = this.selectedHue ? this.selectedHue : this._hue;\n\t\t} else {\n\t\t\tthis._hue = hslColours.h;\n\t\t}\n\n\t\tthis._setMainColor(this._hue);\n\t}\n\n\t_isColorValueEqual(value: ColorRGB): boolean {\n\t\treturn this._colorValue.R === value.r\n\t\t\t&& this._colorValue.G === value.g\n\t\t\t&& this._colorValue.B === value.b;\n\t}\n\n\tget colorPickerLabel() {\n\t\tconst effectiveLabel = getEffectiveAriaLabelText(this);\n\t\treturn effectiveLabel\n\t\t\t? `${ColorPicker.i18nBundle.getText(COLORPICKER_LABEL)} ${effectiveLabel}`\n\t\t\t: ColorPicker.i18nBundle.getText(COLORPICKER_LABEL);\n\t}\n\n\tget sliderGroupLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_SLIDER_GROUP);\n\t}\n\n\tget hueSliderLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_HUE_SLIDER);\n\t}\n\n\tget alphaSliderLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_ALPHA_SLIDER);\n\t}\n\n\tget hexInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_HEX);\n\t}\n\n\tget redInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_RED);\n\t}\n\n\tget greenInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_GREEN);\n\t}\n\n\tget blueInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_BLUE);\n\t}\n\n\tget hueInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_HUE);\n\t}\n\n\tget saturationInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_SATURATION);\n\t}\n\n\tget lightInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_LIGHT);\n\t}\n\n\tget alphaInputLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_ALPHA);\n\t}\n\n\tget percentageLabel() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_PERCENTAGE);\n\t}\n\n\tget colorFieldsAnnouncementText() {\n\t\tconst mode = this._displayHSL ? \"HSL\" : \"RGB\";\n\t\tlet text = \"\";\n\n\t\tif (mode === \"RGB\") {\n\t\t\ttext = `${this.redInputLabel} ${this._colorValue.R}, `\n\t\t\t\t+ `${this.greenInputLabel} ${this._colorValue.G}, `\n\t\t\t\t+ `${this.blueInputLabel} ${this._colorValue.B}, `\n\t\t\t\t+ `${this.alphaInputLabel} ${this._colorValue.Alpha}`;\n\t\t} else {\n\t\t\ttext = `${this.hueInputLabel} ${this._colorValue.H}, `\n\t\t\t\t+ `${this.saturationInputLabel} ${this._colorValue.S} ${this.percentageLabel}, `\n\t\t\t\t+ `${this.lightInputLabel} ${this._colorValue.L} ${this.percentageLabel}, `\n\t\t\t\t+ `${this.alphaInputLabel} ${this._colorValue.Alpha}`;\n\t\t}\n\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_COLOR_MODE_CHANGED, mode, text);\n\t}\n\n\tget toggleModeTooltip() {\n\t\treturn ColorPicker.i18nBundle.getText(COLORPICKER_TOGGLE_MODE_TOOLTIP);\n\t}\n\n\tget inputsDisabled() {\n\t\treturn this._wrongHEX ? true : undefined;\n\t}\n\n\tget hexInputErrorState(): `${ValueState}` {\n\t\treturn this._wrongHEX ? \"Negative\" : \"None\";\n\t}\n\n\tget rgbInputs(): Array<ColorChannelInput> {\n\t\tconst redInput = {\n\t\t\tid: \"red\",\n\t\t\tvalue: this._colorValue.R,\n\t\t\tlabel: \"R\",\n\t\t\taccessibleName: this.redInputLabel,\n\t\t};\n\n\t\tconst greenInput = {\n\t\t\tid: \"green\",\n\t\t\tvalue: this._colorValue.G,\n\t\t\tlabel: \"G\",\n\t\t\taccessibleName: this.greenInputLabel,\n\t\t};\n\n\t\tconst blueInput = {\n\t\t\tid: \"blue\",\n\t\t\tvalue: this._colorValue.B,\n\t\t\tlabel: \"B\",\n\t\t\taccessibleName: this.blueInputLabel,\n\t\t};\n\n\t\treturn [redInput, greenInput, blueInput];\n\t}\n\n\tget hslInputs(): Array<ColorChannelInput> {\n\t\tconst hueInput = {\n\t\t\tid: \"hue\",\n\t\t\tvalue: this._colorValue.H,\n\t\t\tlabel: \"H\",\n\t\t\taccessibleName: this.hueInputLabel,\n\t\t};\n\n\t\tconst saturationInput = {\n\t\t\tid: \"saturation\",\n\t\t\tvalue: this._colorValue.S,\n\t\t\tlabel: \"S\",\n\t\t\taccessibleName: this.saturationInputLabel,\n\t\t\tshowPercentSymbol: true,\n\t\t};\n\n\t\tconst lightInput = {\n\t\t\tid: \"light\",\n\t\t\tvalue: this._colorValue.L,\n\t\t\tlabel: \"L\",\n\t\t\taccessibleName: this.lightInputLabel,\n\t\t\tshowPercentSymbol: true,\n\t\t};\n\n\t\treturn [hueInput, saturationInput, lightInput];\n\t}\n\n\tget HEX(): string {\n\t\treturn this._colorValue.HEX;\n\t}\n\n\tget colorChannelInputs() {\n\t\treturn this._displayHSL ? this.hslInputs : this.rgbInputs;\n\t}\n\n\tget _isDefaultPickerMode() {\n\t\treturn !this.simplified;\n\t}\n}\n\nColorPicker.define();\n\nexport default ColorPicker;\n"]}
@@ -1,6 +1,8 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import type { Slot, DefaultSlot } from "@ui5/webcomponents-base/dist/UI5Element.js";
3
3
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
4
+ import type { LoadItemsReason } from "./features/ComboBoxLazyLoading.js";
5
+ import ComboBoxLazyLoading from "./features/ComboBoxLazyLoading.js";
4
6
  import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
5
7
  import "@ui5/webcomponents-icons/dist/decline.js";
6
8
  import "@ui5/webcomponents-icons/dist/error.js";
@@ -52,6 +54,10 @@ type ComboBoxSelectionChangeEventDetail = {
52
54
  item: ComboBoxItem | null;
53
55
  trigger: ComboBoxSelectionChangeTrigger;
54
56
  };
57
+ type ComboBoxLoadItemsEventDetail = {
58
+ reason: LoadItemsReason;
59
+ value: string;
60
+ };
55
61
  /**
56
62
  * @class
57
63
  *
@@ -115,7 +121,10 @@ type ComboBoxSelectionChangeEventDetail = {
115
121
  * @constructor
116
122
  * @extends UI5Element
117
123
  * @public
118
- * @since 1.0.0-rc.6
124
+ * @since 1.0.0
125
+ * @ui5subcomponent ComboBoxItem
126
+ * @ui5subcomponent ComboBoxItemCustom
127
+ * @ui5subcomponent ComboBoxItemGroup
119
128
  */
120
129
  declare class ComboBox extends UI5Element implements IFormInputElement {
121
130
  eventDetails: {
@@ -124,6 +133,7 @@ declare class ComboBox extends UI5Element implements IFormInputElement {
124
133
  "open": void;
125
134
  "close": void;
126
135
  "selection-change": ComboBoxSelectionChangeEventDetail;
136
+ "load-items": ComboBoxLoadItemsEventDetail;
127
137
  };
128
138
  /**
129
139
  * Defines the value of the component.
@@ -243,14 +253,14 @@ declare class ComboBox extends UI5Element implements IFormInputElement {
243
253
  * Defines the accessible ARIA name of the component.
244
254
  * @default undefined
245
255
  * @public
246
- * @since 1.0.0-rc.15
256
+ * @since 1.0.0
247
257
  */
248
258
  accessibleName?: string;
249
259
  /**
250
260
  * Receives id(or many ids) of the elements that label the component
251
261
  * @default undefined
252
262
  * @public
253
- * @since 1.0.0-rc.15
263
+ * @since 1.0.0
254
264
  */
255
265
  accessibleNameRef?: string;
256
266
  _iconPressed: boolean;
@@ -299,17 +309,19 @@ declare class ComboBox extends UI5Element implements IFormInputElement {
299
309
  *
300
310
  * **Note:** The `valueStateMessage` would be displayed,
301
311
  * when the `ui5-combobox` is in `Information`, `Critical` or `Negative` value state.
302
- * @since 1.0.0-rc.9
312
+ * @since 1.0.0
303
313
  * @public
304
314
  */
305
315
  valueStateMessage: Slot<HTMLElement>;
306
316
  /**
307
317
  * Defines the icon to be displayed in the input field.
308
318
  * @public
309
- * @since 1.0.0-rc.9
319
+ * @since 1.0.0
310
320
  */
311
321
  icon: Slot<IIcon>;
312
322
  _initialRendering: boolean;
323
+ _loadingDelegate: ComboBoxLazyLoading;
324
+ _loadItemsTrigger?: "input" | "iconClick" | "arrowDown" | "arrowUp";
313
325
  _itemFocused: boolean;
314
326
  _autocomplete: boolean;
315
327
  _isKeyNavigation: boolean;
@@ -357,7 +369,7 @@ declare class ComboBox extends UI5Element implements IFormInputElement {
357
369
  _clearFocus(): void;
358
370
  _getItems(): IComboBoxItem[];
359
371
  handleNavKeyPress(e: KeyboardEvent): void;
360
- _handleItemNavigation(e: KeyboardEvent, indexOfItem: number, isForward: boolean): void;
372
+ _handleItemNavigation(e: KeyboardEvent | undefined, indexOfItem: number, isForward: boolean): void;
361
373
  _handleTypeAhead(value: string, filterValue: string): void;
362
374
  _handleArrowDown(e: KeyboardEvent, indexOfItem: number): void;
363
375
  _handleArrowUp(e: KeyboardEvent, indexOfItem: number): void;
@@ -385,6 +397,22 @@ declare class ComboBox extends UI5Element implements IFormInputElement {
385
397
  _getFirstMatchingItem(current: string): IComboBoxItem | void;
386
398
  _applyAtomicValueAndSelection(item: IComboBoxItem, filterValue: string): void;
387
399
  _selectMatchingItem(): void;
400
+ /**
401
+ * Selects the appropriate item once lazy loading finishes, based on what triggered the load:
402
+ * - typing (`"input"`): autocompletes and selects the first non-group item matching the typed text
403
+ * - arrow icon click / [F4] (`"iconClick"`): shows the loaded items without selecting any
404
+ * - [Arrow Down] (`"arrowDown"`): focuses the first item
405
+ * - [Arrow Up] (`"arrowUp"`): focuses the last item
406
+ * @private
407
+ */
408
+ _selectItemOnLoadingEnd(): void;
409
+ /**
410
+ * Focuses (and, when the picker is closed, selects) the first or last non-group item.
411
+ * Shared by the immediate Arrow Up/Down navigation (when the ComboBox already has items)
412
+ * and by the post-lazy-loading selection, so both behave identically once items are available.
413
+ * @private
414
+ */
415
+ _navigateToEdgeItem(selectLast: boolean): void;
388
416
  _fireChangeEvent(): void;
389
417
  _inputChange(e: Event): void;
390
418
  _itemMousedown(e: MouseEvent): void;
@@ -461,4 +489,4 @@ declare class ComboBox extends UI5Element implements IFormInputElement {
461
489
  };
462
490
  }
463
491
  export default ComboBox;
464
- export type { ComboBoxSelectionChangeEventDetail, ComboBoxSelectionChangeTrigger, IComboBoxItem, };
492
+ export type { ComboBoxSelectionChangeEventDetail, ComboBoxSelectionChangeTrigger, ComboBoxLoadItemsEventDetail, IComboBoxItem, };
package/dist/ComboBox.js CHANGED
@@ -16,6 +16,7 @@ import { isPhone, isAndroid, isMac } from "@ui5/webcomponents-base/dist/Device.j
16
16
  import InvisibleMessageMode from "@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js";
17
17
  import { getEffectiveAriaLabelText, getAssociatedLabelForTexts } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
18
18
  import announce from "@ui5/webcomponents-base/dist/util/InvisibleMessage.js";
19
+ import ComboBoxLazyLoading from "./features/ComboBoxLazyLoading.js";
19
20
  import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
20
21
  import "@ui5/webcomponents-icons/dist/decline.js";
21
22
  import "@ui5/webcomponents-icons/dist/error.js";
@@ -29,7 +30,7 @@ import { attachListeners } from "@ui5/webcomponents-base/dist/util/valueStateNav
29
30
  import arraysAreEqual from "@ui5/webcomponents-base/dist/util/arraysAreEqual.js";
30
31
  import generateHighlightedMarkupFirstMatch from "@ui5/webcomponents-base/dist/util/generateHighlightedMarkupFirstMatch.js";
31
32
  import * as Filters from "./Filters.js";
32
- import { VALUE_STATE_SUCCESS, VALUE_STATE_ERROR, VALUE_STATE_WARNING, VALUE_STATE_INFORMATION, VALUE_STATE_TYPE_SUCCESS, VALUE_STATE_TYPE_INFORMATION, VALUE_STATE_TYPE_ERROR, VALUE_STATE_TYPE_WARNING, VALUE_STATE_LINK, VALUE_STATE_LINKS, VALUE_STATE_LINK_MAC, VALUE_STATE_LINKS_MAC, INPUT_SUGGESTIONS_TITLE, COMBOBOX_AVAILABLE_OPTIONS, COMBOBOX_DIALOG_OK_BUTTON, COMBOBOX_DIALOG_CANCEL_BUTTON, SELECT_OPTIONS, LIST_ITEM_POSITION, LIST_ITEM_GROUP_HEADER, INPUT_CLEAR_ICON_ACC_NAME, FORM_TEXTFIELD_REQUIRED, } from "./generated/i18n/i18n-defaults.js";
33
+ import { VALUE_STATE_SUCCESS, VALUE_STATE_ERROR, VALUE_STATE_WARNING, VALUE_STATE_INFORMATION, VALUE_STATE_TYPE_SUCCESS, VALUE_STATE_TYPE_INFORMATION, VALUE_STATE_TYPE_ERROR, VALUE_STATE_TYPE_WARNING, VALUE_STATE_LINK, VALUE_STATE_LINKS, VALUE_STATE_LINK_MAC, VALUE_STATE_LINKS_MAC, INPUT_SUGGESTIONS_TITLE, COMBOBOX_AVAILABLE_OPTIONS, COMBOBOX_DIALOG_OK_BUTTON, COMBOBOX_DIALOG_CANCEL_BUTTON, COMBOBOX_LOADING, COMBOBOX_LOADED, COMBOBOX_LOADED_ITEMS, COMBOBOX_LOADED_ITEM, SELECT_OPTIONS, LIST_ITEM_POSITION, LIST_ITEM_GROUP_HEADER, INPUT_CLEAR_ICON_ACC_NAME, FORM_TEXTFIELD_REQUIRED, } from "./generated/i18n/i18n-defaults.js";
33
34
  // Templates
34
35
  import ComboBoxTemplate from "./ComboBoxTemplate.js";
35
36
  // Styles
@@ -115,7 +116,10 @@ var ValueStateIconMapping;
115
116
  * @constructor
116
117
  * @extends UI5Element
117
118
  * @public
118
- * @since 1.0.0-rc.6
119
+ * @since 1.0.0
120
+ * @ui5subcomponent ComboBoxItem
121
+ * @ui5subcomponent ComboBoxItemCustom
122
+ * @ui5subcomponent ComboBoxItemGroup
119
123
  */
120
124
  let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
121
125
  get formValidityMessage() {
@@ -261,6 +265,27 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
261
265
  this._valueStateLinks = [];
262
266
  // when an initial value is set it should be considered as a _lastValue
263
267
  this._lastValue = this.getAttribute("value") || "";
268
+ this._loadingDelegate = new ComboBoxLazyLoading({
269
+ getItemCount: () => this._getItems().filter(item => !item.isGroupItem && item._isVisible).length,
270
+ isLoading: () => this.loading,
271
+ isOpen: () => this.open,
272
+ fireLoadItems: reason => {
273
+ // Track what triggered the load so the correct item can be selected once loading ends.
274
+ if (reason === "input") {
275
+ this._loadItemsTrigger = "input";
276
+ }
277
+ else if (reason === "open") {
278
+ this._loadItemsTrigger = "iconClick";
279
+ }
280
+ this.fireDecoratorEvent("load-items", { reason, value: this.value });
281
+ },
282
+ loadingMessage: () => ComboBox_1.i18nBundle.getText(COMBOBOX_LOADING),
283
+ loadedMessage: () => ComboBox_1.i18nBundle.getText(COMBOBOX_LOADED),
284
+ loadedItemMessage: () => ComboBox_1.i18nBundle.getText(COMBOBOX_LOADED_ITEM),
285
+ loadedItemsMessage: count => ComboBox_1.i18nBundle.getText(COMBOBOX_LOADED_ITEMS, count),
286
+ onLoadingEnd: () => this._selectItemOnLoadingEnd(),
287
+ });
288
+ this._loadingDelegate.init(this.loading);
264
289
  }
265
290
  onBeforeRendering() {
266
291
  this._effectiveShowClearIcon = (this.showClearIcon && !!this.value && !this.readonly && !this.disabled);
@@ -304,6 +329,7 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
304
329
  }
305
330
  });
306
331
  this._selectMatchingItem();
332
+ this._loadingDelegate.onBeforeRendering(this.loading);
307
333
  this._initialRendering = false;
308
334
  this.style.setProperty("--_ui5-input-icons-count", `${this.iconsCount}`);
309
335
  }
@@ -318,6 +344,7 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
318
344
  this.value = this.inner.value;
319
345
  }
320
346
  this.storeResponsivePopoverWidth();
347
+ this._loadingDelegate.announceLoadingState();
321
348
  if (!arraysAreEqual(this._valueStateLinks, this.linksInAriaValueStateHiddenText)) {
322
349
  this._removeLinksEventListeners();
323
350
  this._addLinksEventListeners();
@@ -446,6 +473,9 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
446
473
  this._lastValue = this.value;
447
474
  this._lastSelectedValue = this.selectedValue;
448
475
  }
476
+ if (!this.open && !this.loading && this._getItems().length === 0) {
477
+ this._loadingDelegate.fireOnDropdownOpen();
478
+ }
449
479
  this._toggleRespPopover();
450
480
  }
451
481
  _handleMobileKeydown(e) {
@@ -473,15 +503,16 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
473
503
  this.value = value;
474
504
  this.filterValue = value;
475
505
  this._clearFocus();
506
+ this._loadingDelegate.fireOnInput();
476
507
  // autocomplete
477
- if (shouldAutocomplete && !this._isComposing && !isAndroid()) {
508
+ if (shouldAutocomplete && !this._isComposing && !isAndroid() && !this.loading) {
478
509
  this._handleTypeAhead(value, value);
479
510
  }
480
511
  this.fireDecoratorEvent("input");
481
512
  if (isPhone()) {
482
513
  return;
483
514
  }
484
- if (!this._filteredItems.length || value === "") {
515
+ if (!this.loading && (!this._filteredItems.length || value === "")) {
485
516
  this._closeRespPopover();
486
517
  }
487
518
  else {
@@ -595,6 +626,9 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
595
626
  this._applyAtomicValueAndSelection(item, filterValue);
596
627
  }
597
628
  _handleArrowDown(e, indexOfItem) {
629
+ if (this.loading) {
630
+ return;
631
+ }
598
632
  this._selectionTrigger = "Keyboard";
599
633
  const isOpen = this.open;
600
634
  if (this.focused && indexOfItem === -1 && isOpen) {
@@ -602,17 +636,40 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
602
636
  }
603
637
  const allItems = this._getItems();
604
638
  const currentItem = allItems[indexOfItem];
605
- const isLastItem = indexOfItem === allItems.length - 1;
639
+ const isLastItem = allItems.length > 0 && indexOfItem === allItems.length - 1;
606
640
  // We don't want to navigate further if the current item is the last one and either is already focused or the popover is closed
607
641
  if (isLastItem && ((isOpen && currentItem.focused) || !isOpen)) {
608
642
  return;
609
643
  }
644
+ if (this.items.length === 0 && !isOpen) {
645
+ this._loadItemsTrigger = "arrowDown";
646
+ this.fireDecoratorEvent("load-items", { reason: "arrowNav", value: this.value });
647
+ return;
648
+ }
649
+ // When the popover is closed and no item is selected yet, Arrow Down selects the first item
650
+ if (!isOpen && indexOfItem === -1) {
651
+ this._navigateToEdgeItem(false);
652
+ return;
653
+ }
610
654
  const itemIndexToBeFocused = isLastItem ? indexOfItem : indexOfItem + 1;
611
655
  this._handleItemNavigation(e, itemIndexToBeFocused, true /* isForward */);
612
656
  }
613
657
  _handleArrowUp(e, indexOfItem) {
614
- this._selectionTrigger = "Keyboard";
658
+ if (this.loading) {
659
+ return;
660
+ }
615
661
  const isOpen = this.open;
662
+ if (this.items.length === 0 && !isOpen) {
663
+ this._loadItemsTrigger = "arrowUp";
664
+ this.fireDecoratorEvent("load-items", { reason: "arrowNav", value: this.value });
665
+ return;
666
+ }
667
+ this._selectionTrigger = "Keyboard";
668
+ // When the popover is closed and no item is selected yet, Arrow Up selects the last item
669
+ if (!isOpen && indexOfItem === -1) {
670
+ this._navigateToEdgeItem(true);
671
+ return;
672
+ }
616
673
  if (indexOfItem === 0) {
617
674
  this._clearFocus();
618
675
  this._itemFocused = false;
@@ -659,7 +716,7 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
659
716
  const allItems = this._getItems();
660
717
  this._autocomplete = !(isBackSpace(e) || isDelete(e));
661
718
  this._isKeyNavigation = false;
662
- if (isNavKey && !this.readonly && this._filteredItems.length) {
719
+ if (isNavKey && !this.readonly) {
663
720
  this.handleNavKeyPress(e);
664
721
  }
665
722
  if (isEnter(e)) {
@@ -697,6 +754,7 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
697
754
  if (isShow(e) && !this.readonly && !this.disabled) {
698
755
  e.preventDefault();
699
756
  this._resetFilter();
757
+ this._loadingDelegate.fireOnDropdownOpen();
700
758
  this._toggleRespPopover();
701
759
  const selectedItem = allItems.find(item => {
702
760
  return item.selected;
@@ -775,6 +833,9 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
775
833
  }
776
834
  _click() {
777
835
  if (isPhone() && !this.readonly) {
836
+ if (!this.loading && this._getItems().length === 0) {
837
+ this._loadingDelegate.fireOnDropdownOpen();
838
+ }
778
839
  this._openRespPopover();
779
840
  }
780
841
  }
@@ -864,6 +925,9 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
864
925
  }
865
926
  }
866
927
  _selectMatchingItem() {
928
+ if (!this.items || !this.items.length) {
929
+ return;
930
+ }
867
931
  const currentlyFocusedItem = this.items.find(item => item.focused);
868
932
  const shouldSelectionBeCleared = currentlyFocusedItem && currentlyFocusedItem.isGroupItem;
869
933
  const valueToMatch = currentlyFocusedItem?.value ?? this.selectedValue;
@@ -952,6 +1016,57 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
952
1016
  }
953
1017
  }
954
1018
  }
1019
+ /**
1020
+ * Selects the appropriate item once lazy loading finishes, based on what triggered the load:
1021
+ * - typing (`"input"`): autocompletes and selects the first non-group item matching the typed text
1022
+ * - arrow icon click / [F4] (`"iconClick"`): shows the loaded items without selecting any
1023
+ * - [Arrow Down] (`"arrowDown"`): focuses the first item
1024
+ * - [Arrow Up] (`"arrowUp"`): focuses the last item
1025
+ * @private
1026
+ */
1027
+ _selectItemOnLoadingEnd() {
1028
+ const trigger = this._loadItemsTrigger;
1029
+ this._loadItemsTrigger = undefined;
1030
+ // Arrow click / F4 and arrow navigation show all loaded items; typing filters by the value.
1031
+ // Refresh _filteredItems from the freshly loaded items - onBeforeRendering skips this while
1032
+ // key navigating (_isKeyNavigation is still true), so _getItems() would otherwise be stale.
1033
+ const showsAllItems = trigger === "iconClick" || trigger === "arrowDown" || trigger === "arrowUp";
1034
+ this._filteredItems = showsAllItems ? this._filterItems("") : this._filterItems(this.value);
1035
+ const visibleItems = this._getItems().filter(item => !item.isGroupItem && item._isVisible);
1036
+ // Nothing matches the typed value - close the picker.
1037
+ if (visibleItems.length === 0 && this.value) {
1038
+ this._closeRespPopover();
1039
+ return;
1040
+ }
1041
+ if (trigger === "arrowDown" || trigger === "arrowUp") {
1042
+ this._navigateToEdgeItem(trigger === "arrowUp" /* selectLast */);
1043
+ }
1044
+ else if (trigger === "input" && this.inner) {
1045
+ // Same behavior as typing without lazy loading - autocomplete and select the match.
1046
+ if (!this.noTypeahead && this.value) {
1047
+ this._handleTypeAhead(this.value, this.value);
1048
+ }
1049
+ this._selectMatchingItem();
1050
+ }
1051
+ // trigger === "iconClick" (arrow icon / F4) or programmatic loading - no selection is performed.
1052
+ }
1053
+ /**
1054
+ * Focuses (and, when the picker is closed, selects) the first or last non-group item.
1055
+ * Shared by the immediate Arrow Up/Down navigation (when the ComboBox already has items)
1056
+ * and by the post-lazy-loading selection, so both behave identically once items are available.
1057
+ * @private
1058
+ */
1059
+ _navigateToEdgeItem(selectLast) {
1060
+ const allItems = this._getItems();
1061
+ const navigableItems = allItems.filter(item => !item.isGroupItem);
1062
+ if (!navigableItems.length) {
1063
+ return;
1064
+ }
1065
+ const targetItem = selectLast ? navigableItems[navigableItems.length - 1] : navigableItems[0];
1066
+ this._isKeyNavigation = true;
1067
+ this._selectionTrigger = "Keyboard";
1068
+ this._handleItemNavigation(undefined, allItems.indexOf(targetItem), !selectLast /* isForward */);
1069
+ }
955
1070
  _fireChangeEvent() {
956
1071
  const valueChanged = this.value !== this._lastValue;
957
1072
  const selectedValueChanged = this._useSelectedValue && this.selectedValue !== this._lastSelectedValue;
@@ -1237,7 +1352,7 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
1237
1352
  const remSizeInPx = parseInt(getComputedStyle(document.documentElement).fontSize);
1238
1353
  return {
1239
1354
  suggestionPopoverHeader: {
1240
- "display": this._listWidth === 0 ? "none" : "inline-block",
1355
+ "display": (!this._isPhone && this._listWidth === 0) ? "none" : "inline-block",
1241
1356
  "width": `${this._listWidth || ""}px`,
1242
1357
  "max-width": "inherit",
1243
1358
  },
@@ -1418,6 +1533,18 @@ ComboBox = ComboBox_1 = __decorate([
1418
1533
  event("selection-change", {
1419
1534
  bubbles: true,
1420
1535
  })
1536
+ /**
1537
+ * Fired when the application should provide items for the component to render.
1538
+ * The event is fired either when text is input or when the user presses arrow down on a combo-box with no items.
1539
+ * @since 2.28.0
1540
+ * @param {string} reason the reason the event was fired - "input" when text is typed, "open" when the picker is about to open
1541
+ * @param {string} value value of the input
1542
+ * @public
1543
+ */
1544
+ ,
1545
+ event("load-items", {
1546
+ bubbles: true,
1547
+ })
1421
1548
  ], ComboBox);
1422
1549
  ComboBox.define();
1423
1550
  export default ComboBox;