@ui5/webcomponents 1.24.7 → 1.24.9

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 (446) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Button.d.ts +2 -1
  4. package/dist/Button.js +12 -2
  5. package/dist/Button.js.map +1 -1
  6. package/dist/Calendar.js +10 -5
  7. package/dist/Calendar.js.map +1 -1
  8. package/dist/ComboBox.d.ts +1 -0
  9. package/dist/ComboBox.js +4 -1
  10. package/dist/ComboBox.js.map +1 -1
  11. package/dist/DatePicker.d.ts +3 -0
  12. package/dist/DatePicker.js +8 -0
  13. package/dist/DatePicker.js.map +1 -1
  14. package/dist/DayPicker.js +3 -3
  15. package/dist/DayPicker.js.map +1 -1
  16. package/dist/FileUploader.d.ts +4 -0
  17. package/dist/FileUploader.js +6 -0
  18. package/dist/FileUploader.js.map +1 -1
  19. package/dist/Input.d.ts +2 -0
  20. package/dist/Input.js +5 -1
  21. package/dist/Input.js.map +1 -1
  22. package/dist/Menu.d.ts +6 -7
  23. package/dist/Menu.js +90 -55
  24. package/dist/Menu.js.map +1 -1
  25. package/dist/MonthPicker.d.ts +1 -0
  26. package/dist/MonthPicker.js +1 -0
  27. package/dist/MonthPicker.js.map +1 -1
  28. package/dist/MultiComboBox.d.ts +2 -0
  29. package/dist/MultiComboBox.js +11 -1
  30. package/dist/MultiComboBox.js.map +1 -1
  31. package/dist/RatingIndicator.d.ts +1 -1
  32. package/dist/RatingIndicator.js +5 -1
  33. package/dist/RatingIndicator.js.map +1 -1
  34. package/dist/SegmentedButton.d.ts +2 -0
  35. package/dist/SegmentedButton.js +9 -1
  36. package/dist/SegmentedButton.js.map +1 -1
  37. package/dist/SegmentedButtonItem.js.map +1 -1
  38. package/dist/Select.js +4 -1
  39. package/dist/Select.js.map +1 -1
  40. package/dist/SplitButton.d.ts +13 -5
  41. package/dist/SplitButton.js +17 -8
  42. package/dist/SplitButton.js.map +1 -1
  43. package/dist/Table.d.ts +7 -17
  44. package/dist/Table.js +12 -25
  45. package/dist/Table.js.map +1 -1
  46. package/dist/TableRow.js +1 -1
  47. package/dist/TableRow.js.map +1 -1
  48. package/dist/ToggleButton.d.ts +1 -1
  49. package/dist/ToggleButton.js +6 -1
  50. package/dist/ToggleButton.js.map +1 -1
  51. package/dist/Toolbar.js +2 -1
  52. package/dist/Toolbar.js.map +1 -1
  53. package/dist/ToolbarRegistry.js +1 -1
  54. package/dist/ToolbarRegistry.js.map +1 -1
  55. package/dist/YearPicker.d.ts +1 -0
  56. package/dist/YearPicker.js +1 -0
  57. package/dist/YearPicker.js.map +1 -1
  58. package/dist/css/themes/Avatar.css +1 -1
  59. package/dist/css/themes/AvatarGroup.css +1 -1
  60. package/dist/css/themes/Badge.css +1 -1
  61. package/dist/css/themes/Breadcrumbs.css +1 -1
  62. package/dist/css/themes/BusyIndicator.css +1 -1
  63. package/dist/css/themes/Button.css +1 -1
  64. package/dist/css/themes/Calendar.css +1 -1
  65. package/dist/css/themes/CalendarHeader.css +1 -1
  66. package/dist/css/themes/CalendarLegend.css +1 -1
  67. package/dist/css/themes/CalendarLegendItem.css +1 -1
  68. package/dist/css/themes/Card.css +1 -1
  69. package/dist/css/themes/CardHeader.css +1 -1
  70. package/dist/css/themes/Carousel.css +1 -1
  71. package/dist/css/themes/CheckBox.css +1 -1
  72. package/dist/css/themes/ColorPalette.css +1 -1
  73. package/dist/css/themes/ColorPaletteItem.css +1 -1
  74. package/dist/css/themes/ColorPalettePopover.css +1 -1
  75. package/dist/css/themes/ColorPicker.css +1 -1
  76. package/dist/css/themes/ComboBox.css +1 -1
  77. package/dist/css/themes/CustomListItem.css +1 -1
  78. package/dist/css/themes/DatePicker.css +1 -1
  79. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  80. package/dist/css/themes/DayPicker.css +1 -1
  81. package/dist/css/themes/Dialog.css +1 -1
  82. package/dist/css/themes/FileUploader.css +1 -1
  83. package/dist/css/themes/GroupHeaderListItem.css +1 -1
  84. package/dist/css/themes/GrowingButton.css +1 -1
  85. package/dist/css/themes/Icon.css +1 -1
  86. package/dist/css/themes/Input.css +1 -1
  87. package/dist/css/themes/InputIcon.css +1 -1
  88. package/dist/css/themes/InputSharedStyles.css +1 -1
  89. package/dist/css/themes/Link.css +1 -1
  90. package/dist/css/themes/List.css +1 -1
  91. package/dist/css/themes/ListItem.css +1 -1
  92. package/dist/css/themes/ListItemBase.css +1 -1
  93. package/dist/css/themes/Menu.css +1 -1
  94. package/dist/css/themes/MenuListItem.css +1 -1
  95. package/dist/css/themes/MessageStrip.css +1 -1
  96. package/dist/css/themes/MonthPicker.css +1 -1
  97. package/dist/css/themes/MultiComboBox.css +1 -1
  98. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  99. package/dist/css/themes/MultiInput.css +1 -1
  100. package/dist/css/themes/NavigationMenu.css +1 -1
  101. package/dist/css/themes/Panel.css +1 -1
  102. package/dist/css/themes/Popover.css +1 -1
  103. package/dist/css/themes/PopupStaticAreaStyles.css +1 -1
  104. package/dist/css/themes/PopupsCommon.css +1 -1
  105. package/dist/css/themes/ProgressIndicator.css +1 -1
  106. package/dist/css/themes/RadioButton.css +1 -1
  107. package/dist/css/themes/RangeSlider.css +1 -1
  108. package/dist/css/themes/RatingIndicator.css +1 -1
  109. package/dist/css/themes/ResponsivePopover.css +1 -1
  110. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  111. package/dist/css/themes/SegmentedButton.css +1 -1
  112. package/dist/css/themes/Select.css +1 -1
  113. package/dist/css/themes/SelectMenu.css +1 -1
  114. package/dist/css/themes/SelectPopover.css +1 -1
  115. package/dist/css/themes/SliderBase.css +1 -1
  116. package/dist/css/themes/SplitButton.css +1 -1
  117. package/dist/css/themes/StepInput.css +1 -1
  118. package/dist/css/themes/Switch.css +1 -1
  119. package/dist/css/themes/TabContainer.css +1 -1
  120. package/dist/css/themes/TabInOverflow.css +1 -1
  121. package/dist/css/themes/TabInStrip.css +1 -1
  122. package/dist/css/themes/TabSemanticIcon.css +1 -1
  123. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  124. package/dist/css/themes/Table.css +1 -1
  125. package/dist/css/themes/TableCell.css +1 -1
  126. package/dist/css/themes/TableColumn.css +1 -1
  127. package/dist/css/themes/TableGroupRow.css +1 -1
  128. package/dist/css/themes/TableRow.css +1 -1
  129. package/dist/css/themes/TextArea.css +1 -1
  130. package/dist/css/themes/TimePicker.css +1 -1
  131. package/dist/css/themes/Toast.css +1 -1
  132. package/dist/css/themes/ToggleButton.css +1 -1
  133. package/dist/css/themes/Token.css +1 -1
  134. package/dist/css/themes/Tokenizer.css +1 -1
  135. package/dist/css/themes/TokenizerPopover.css +1 -1
  136. package/dist/css/themes/Toolbar.css +1 -1
  137. package/dist/css/themes/ToolbarPopover.css +1 -1
  138. package/dist/css/themes/TreeItem.css +1 -1
  139. package/dist/css/themes/ValueStateMessage.css +1 -1
  140. package/dist/css/themes/WheelSlider.css +1 -1
  141. package/dist/css/themes/YearPicker.css +1 -1
  142. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  143. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  144. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  145. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  146. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  147. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  148. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  149. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  150. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  151. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  152. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  153. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  154. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  155. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  156. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  157. package/dist/custom-elements-internal.json +1 -1
  158. package/dist/custom-elements.json +1 -1
  159. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  160. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  161. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  162. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  163. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  164. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  165. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  166. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  167. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  168. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  169. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  170. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  171. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  172. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  173. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  174. package/dist/generated/i18n/i18n-defaults.d.ts +4 -1
  175. package/dist/generated/i18n/i18n-defaults.js +4 -1
  176. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  177. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +1 -1
  178. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  179. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +1 -1
  180. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
  181. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
  182. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
  183. package/dist/generated/templates/InputPopoverTemplate.lit.js +1 -1
  184. package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -1
  185. package/dist/generated/templates/MenuTemplate.lit.js +1 -1
  186. package/dist/generated/templates/MenuTemplate.lit.js.map +1 -1
  187. package/dist/generated/templates/MonthPickerTemplate.lit.js +1 -1
  188. package/dist/generated/templates/MonthPickerTemplate.lit.js.map +1 -1
  189. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +1 -1
  190. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  191. package/dist/generated/templates/SplitButtonTemplate.lit.js +1 -1
  192. package/dist/generated/templates/SplitButtonTemplate.lit.js.map +1 -1
  193. package/dist/generated/templates/TableTemplate.lit.js +10 -11
  194. package/dist/generated/templates/TableTemplate.lit.js.map +1 -1
  195. package/dist/generated/templates/YearPickerTemplate.lit.js +1 -1
  196. package/dist/generated/templates/YearPickerTemplate.lit.js.map +1 -1
  197. package/dist/generated/themes/Avatar.css.js +1 -1
  198. package/dist/generated/themes/Avatar.css.js.map +1 -1
  199. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  200. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  201. package/dist/generated/themes/Badge.css.js +1 -1
  202. package/dist/generated/themes/Badge.css.js.map +1 -1
  203. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  204. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  205. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  206. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  207. package/dist/generated/themes/Button.css.js +1 -1
  208. package/dist/generated/themes/Button.css.js.map +1 -1
  209. package/dist/generated/themes/Calendar.css.js +1 -1
  210. package/dist/generated/themes/Calendar.css.js.map +1 -1
  211. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  212. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  213. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  214. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  215. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  216. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  217. package/dist/generated/themes/Card.css.js +1 -1
  218. package/dist/generated/themes/Card.css.js.map +1 -1
  219. package/dist/generated/themes/CardHeader.css.js +1 -1
  220. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  221. package/dist/generated/themes/Carousel.css.js +1 -1
  222. package/dist/generated/themes/Carousel.css.js.map +1 -1
  223. package/dist/generated/themes/CheckBox.css.js +1 -1
  224. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  225. package/dist/generated/themes/ColorPalette.css.js +1 -1
  226. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  227. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  228. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  229. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  230. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  231. package/dist/generated/themes/ColorPicker.css.js +1 -1
  232. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  233. package/dist/generated/themes/ComboBox.css.js +1 -1
  234. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  235. package/dist/generated/themes/CustomListItem.css.js +1 -1
  236. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  237. package/dist/generated/themes/DatePicker.css.js +1 -1
  238. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  239. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  240. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  241. package/dist/generated/themes/DayPicker.css.js +1 -1
  242. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  243. package/dist/generated/themes/Dialog.css.js +1 -1
  244. package/dist/generated/themes/Dialog.css.js.map +1 -1
  245. package/dist/generated/themes/FileUploader.css.js +1 -1
  246. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  247. package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
  248. package/dist/generated/themes/GroupHeaderListItem.css.js.map +1 -1
  249. package/dist/generated/themes/GrowingButton.css.js +1 -1
  250. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  251. package/dist/generated/themes/Icon.css.js +1 -1
  252. package/dist/generated/themes/Icon.css.js.map +1 -1
  253. package/dist/generated/themes/Input.css.js +1 -1
  254. package/dist/generated/themes/Input.css.js.map +1 -1
  255. package/dist/generated/themes/InputIcon.css.js +1 -1
  256. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  257. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  258. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  259. package/dist/generated/themes/Link.css.js +1 -1
  260. package/dist/generated/themes/Link.css.js.map +1 -1
  261. package/dist/generated/themes/List.css.js +1 -1
  262. package/dist/generated/themes/List.css.js.map +1 -1
  263. package/dist/generated/themes/ListItem.css.js +1 -1
  264. package/dist/generated/themes/ListItem.css.js.map +1 -1
  265. package/dist/generated/themes/ListItemBase.css.js +1 -1
  266. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  267. package/dist/generated/themes/Menu.css.js +1 -1
  268. package/dist/generated/themes/Menu.css.js.map +1 -1
  269. package/dist/generated/themes/MenuListItem.css.js +1 -1
  270. package/dist/generated/themes/MenuListItem.css.js.map +1 -1
  271. package/dist/generated/themes/MessageStrip.css.js +1 -1
  272. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  273. package/dist/generated/themes/MonthPicker.css.js +1 -1
  274. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  275. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  276. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  277. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  278. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  279. package/dist/generated/themes/MultiInput.css.js +1 -1
  280. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  281. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  282. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  283. package/dist/generated/themes/Panel.css.js +1 -1
  284. package/dist/generated/themes/Panel.css.js.map +1 -1
  285. package/dist/generated/themes/Popover.css.js +1 -1
  286. package/dist/generated/themes/Popover.css.js.map +1 -1
  287. package/dist/generated/themes/PopupStaticAreaStyles.css.js +1 -1
  288. package/dist/generated/themes/PopupStaticAreaStyles.css.js.map +1 -1
  289. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  290. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  291. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  292. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  293. package/dist/generated/themes/RadioButton.css.js +1 -1
  294. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  295. package/dist/generated/themes/RangeSlider.css.js +1 -1
  296. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  297. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  298. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  299. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  300. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  301. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  302. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  303. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  304. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  305. package/dist/generated/themes/Select.css.js +1 -1
  306. package/dist/generated/themes/Select.css.js.map +1 -1
  307. package/dist/generated/themes/SelectMenu.css.js +1 -1
  308. package/dist/generated/themes/SelectMenu.css.js.map +1 -1
  309. package/dist/generated/themes/SelectPopover.css.js +1 -1
  310. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  311. package/dist/generated/themes/SliderBase.css.js +1 -1
  312. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  313. package/dist/generated/themes/SplitButton.css.js +1 -1
  314. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  315. package/dist/generated/themes/StepInput.css.js +1 -1
  316. package/dist/generated/themes/StepInput.css.js.map +1 -1
  317. package/dist/generated/themes/Switch.css.js +1 -1
  318. package/dist/generated/themes/Switch.css.js.map +1 -1
  319. package/dist/generated/themes/TabContainer.css.js +1 -1
  320. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  321. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  322. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  323. package/dist/generated/themes/TabInStrip.css.js +1 -1
  324. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  325. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  326. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  327. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  328. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  329. package/dist/generated/themes/Table.css.js +1 -1
  330. package/dist/generated/themes/Table.css.js.map +1 -1
  331. package/dist/generated/themes/TableCell.css.js +1 -1
  332. package/dist/generated/themes/TableCell.css.js.map +1 -1
  333. package/dist/generated/themes/TableColumn.css.js +1 -1
  334. package/dist/generated/themes/TableColumn.css.js.map +1 -1
  335. package/dist/generated/themes/TableGroupRow.css.js +1 -1
  336. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  337. package/dist/generated/themes/TableRow.css.js +1 -1
  338. package/dist/generated/themes/TableRow.css.js.map +1 -1
  339. package/dist/generated/themes/TextArea.css.js +1 -1
  340. package/dist/generated/themes/TextArea.css.js.map +1 -1
  341. package/dist/generated/themes/TimePicker.css.js +1 -1
  342. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  343. package/dist/generated/themes/Toast.css.js +1 -1
  344. package/dist/generated/themes/Toast.css.js.map +1 -1
  345. package/dist/generated/themes/ToggleButton.css.js +1 -1
  346. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  347. package/dist/generated/themes/Token.css.js +1 -1
  348. package/dist/generated/themes/Token.css.js.map +1 -1
  349. package/dist/generated/themes/Tokenizer.css.js +1 -1
  350. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  351. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  352. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  353. package/dist/generated/themes/Toolbar.css.js +1 -1
  354. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  355. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  356. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  357. package/dist/generated/themes/TreeItem.css.js +1 -1
  358. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  359. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  360. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  361. package/dist/generated/themes/WheelSlider.css.js +1 -1
  362. package/dist/generated/themes/WheelSlider.css.js.map +1 -1
  363. package/dist/generated/themes/YearPicker.css.js +1 -1
  364. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  365. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  366. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
  367. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  368. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
  369. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  370. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
  371. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  372. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  373. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  374. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  375. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  376. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  377. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  378. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  379. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  380. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  381. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  382. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  383. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  384. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  385. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  386. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  387. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  388. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  389. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  390. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  391. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  392. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  393. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  394. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  395. package/dist/vscode.html-custom-data.json +1 -1
  396. package/dist/web-types.json +2 -2
  397. package/package.json +10 -10
  398. package/src/ComboBoxPopover.hbs +1 -0
  399. package/src/DatePickerPopover.hbs +1 -1
  400. package/src/DateTimePickerPopover.hbs +0 -1
  401. package/src/InputPopover.hbs +1 -0
  402. package/src/Menu.hbs +1 -1
  403. package/src/MonthPicker.hbs +1 -0
  404. package/src/MultiComboBoxPopover.hbs +2 -0
  405. package/src/SplitButton.hbs +3 -3
  406. package/src/Table.hbs +9 -19
  407. package/src/YearPicker.hbs +1 -0
  408. package/src/i18n/messagebundle.properties +9 -0
  409. package/src/themes/CheckBox.css +1 -1
  410. package/src/themes/DayPicker.css +8 -3
  411. package/src/themes/SegmentedButton.css +6 -6
  412. package/src/themes/SplitButton.css +0 -1
  413. package/src/themes/Table.css +8 -19
  414. package/src/themes/base/CheckBox-parameters.css +1 -2
  415. package/src/themes/base/Table-parameters.css +1 -0
  416. package/src/themes/base/sizes-parameters.css +1 -3
  417. package/src/themes/sap_fiori_3/CheckBox-parameters.css +0 -1
  418. package/src/themes/sap_fiori_3/parameters-bundle.css +1 -1
  419. package/src/themes/sap_fiori_3/sizes-parameters.css +8 -0
  420. package/src/themes/sap_fiori_3_dark/CheckBox-parameters.css +0 -1
  421. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  422. package/src/themes/sap_fiori_3_dark/sizes-parameters.css +8 -0
  423. package/src/themes/sap_horizon/CheckBox-parameters.css +2 -1
  424. package/src/themes/sap_horizon/Table-parameters.css +0 -1
  425. package/src/themes/sap_horizon/parameters-bundle.css +0 -1
  426. package/src/themes/sap_horizon/sizes-parameters.css +4 -0
  427. package/src/themes/sap_horizon_dark/CheckBox-parameters.css +2 -0
  428. package/src/themes/sap_horizon_dark/Table-parameters.css +0 -1
  429. package/src/themes/sap_horizon_dark/parameters-bundle.css +0 -1
  430. package/src/themes/sap_horizon_dark/sizes-parameters.css +4 -0
  431. package/src/themes/sap_horizon_dark_exp/Table-parameters.css +0 -1
  432. package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +0 -1
  433. package/src/themes/sap_horizon_exp/Table-parameters.css +0 -1
  434. package/src/themes/sap_horizon_exp/parameters-bundle.css +0 -1
  435. package/src/themes/sap_horizon_hcb/CheckBox-parameters.css +2 -0
  436. package/src/themes/sap_horizon_hcb/Table-parameters.css +1 -2
  437. package/src/themes/sap_horizon_hcb/sizes-parameters.css +5 -0
  438. package/src/themes/sap_horizon_hcb_exp/Table-parameters.css +0 -1
  439. package/src/themes/sap_horizon_hcw/CheckBox-parameters.css +3 -0
  440. package/src/themes/sap_horizon_hcw/Table-parameters.css +1 -2
  441. package/src/themes/sap_horizon_hcw/sizes-parameters.css +5 -0
  442. package/src/themes/sap_horizon_hcw_exp/Table-parameters.css +0 -1
  443. package/src/themes/sap_horizon/TableColumn-parameters.css +0 -5
  444. package/src/themes/sap_horizon_dark/TableColumn-parameters.css +0 -5
  445. package/src/themes/sap_horizon_dark_exp/TableColumn-parameters.css +0 -5
  446. package/src/themes/sap_horizon_exp/TableColumn-parameters.css +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.js","sourceRoot":"","sources":["../src/ComboBox.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { isPhone, isAndroid } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/not-editable.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport {\n\tisBackSpace,\n\tisDelete,\n\tisShow,\n\tisUp,\n\tisDown,\n\tisEnter,\n\tisEscape,\n\tisTabNext,\n\tisTabPrevious,\n\tisPageUp,\n\tisPageDown,\n\tisHome,\n\tisEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { IIcon } from \"./Icon.js\";\nimport * as Filters from \"./Filters.js\";\n\nimport {\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_TYPE_SUCCESS,\n\tVALUE_STATE_TYPE_INFORMATION,\n\tVALUE_STATE_TYPE_ERROR,\n\tVALUE_STATE_TYPE_WARNING,\n\tINPUT_SUGGESTIONS_TITLE,\n\tSELECT_OPTIONS,\n\tLIST_ITEM_POSITION,\n\tLIST_ITEM_GROUP_HEADER,\n\tINPUT_CLEAR_ICON_ACC_NAME,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Templates\nimport ComboBoxTemplate from \"./generated/templates/ComboBoxTemplate.lit.js\";\nimport ComboBoxPopoverTemplate from \"./generated/templates/ComboBoxPopoverTemplate.lit.js\";\n\n// Styles\nimport ComboBoxCss from \"./generated/themes/ComboBox.css.js\";\nimport ComboBoxPopoverCss from \"./generated/themes/ComboBoxPopover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport SuggestionsCss from \"./generated/themes/Suggestions.css.js\";\n\nimport ComboBoxItem from \"./ComboBoxItem.js\";\nimport Icon from \"./Icon.js\";\nimport Popover from \"./Popover.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport List from \"./List.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport Button from \"./Button.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport ComboBoxGroupItem from \"./ComboBoxGroupItem.js\";\nimport GroupHeaderListItem from \"./GroupHeaderListItem.js\";\nimport ComboBoxFilter from \"./types/ComboBoxFilter.js\";\nimport type FormSupportT from \"./features/InputElementsFormSupport.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport Input, { InputEventDetail } from \"./Input.js\";\nimport SuggestionItem from \"./SuggestionItem.js\";\n\nconst SKIP_ITEMS_SIZE = 10;\n\n/**\n * Interface for components that may be slotted inside a `ui5-combobox`\n * @public\n */\ninterface IComboBoxItem extends UI5Element {\n\ttext: string,\n\tfocused: boolean,\n\tisGroupItem: boolean,\n\tselected?: boolean,\n\tadditionalText?: string,\n\tstableDomRef: string,\n}\n\ntype ValueStateAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;\ntype ValueStateTypeAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;\n\ntype ComboBoxListItem = StandardListItem & {\n\tmappedItem: ComboBoxItem\n};\n\nenum ValueStateIconMapping {\n\tError = \"error\",\n\tWarning = \"alert\",\n\tSuccess = \"sys-enter-2\",\n\tInformation = \"information\",\n}\n\ntype ComboBoxSelectionChangeEventDetail = {\n\titem: ComboBoxItem,\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-combobox` component represents a drop-down menu with a list of the available options and a text input field to narrow down the options.\n *\n * It is commonly used to enable users to select an option from a predefined list.\n *\n * ### Structure\n * The `ui5-combobox` consists of the following elements:\n *\n * - Input field - displays the selected option or a custom user entry. Users can type to narrow down the list or enter their own value.\n * - Drop-down arrow - expands\\collapses the option list.\n * - Option list - the list of available options.\n *\n * ### Keyboard Handling\n *\n * The `ui5-combobox` provides advanced keyboard handling.\n *\n * - [F4], [Alt]+[Up], or [Alt]+[Down] - Toggles the picker.\n * - [Escape] - Closes the picker, if open. If closed, cancels changes and reverts the typed in value.\n * - [Enter] or [Return] - If picker is open, takes over the currently selected item and closes it.\n * - [Down] - Selects the next matching item in the picker.\n * - [Up] - Selects the previous matching item in the picker.\n * - [Page Down] - Moves selection down by page size (10 items by default).\n * - [Page Up] - Moves selection up by page size (10 items by default).\n * - [Home] - If focus is in the ComboBox, moves cursor at the beginning of text. If focus is in the picker, selects the first item.\n * - [End] - If focus is in the ComboBox, moves cursor at the end of text. If focus is in the picker, selects the last item.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/ComboBox.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.6\n */\n@customElement({\n\ttag: \"ui5-combobox\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\tstyles: ComboBoxCss,\n\tstaticAreaStyles: [\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t\tComboBoxPopoverCss,\n\t\tSuggestionsCss,\n\t],\n\ttemplate: ComboBoxTemplate,\n\tstaticAreaTemplate: ComboBoxPopoverTemplate,\n\tdependencies: [\n\t\tComboBoxItem,\n\t\tIcon,\n\t\tResponsivePopover,\n\t\tList,\n\t\tBusyIndicator,\n\t\tButton,\n\t\tStandardListItem,\n\t\tGroupHeaderListItem,\n\t\tPopover,\n\t\tComboBoxGroupItem,\n\t\tInput,\n\t\tSuggestionItem,\n\t],\n})\n/**\n * Fired when the input operation has finished by pressing Enter, focusout or an item is selected.\n * @public\n */\n@event(\"change\")\n\n/**\n * Fired when typing in input or clear icon is pressed.\n *\n * **Note:** filterValue property is updated, input is changed.\n * @public\n */\n@event(\"input\")\n/**\n * Fired when selection is changed by user interaction\n * @param {IComboBoxItem} item item to be selected.\n * @public\n */\n@event<ComboBoxSelectionChangeEventDetail>(\"selection-change\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\titem: { type: HTMLElement },\n\t},\n})\n\nclass ComboBox extends UI5Element {\n\t/**\n\t * Defines the value of the component.\n\t * @default \"\"\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property()\n\tvalue!: string;\n\n\t/**\n\t * Defines whether the value will be autocompleted to match an item\n\t * @default false\n\t * @public\n\t * @since 1.19.0\n\t */\n\t@property({ type: Boolean })\n\tnoTypeahead!: boolean;\n\n\t/**\n\t * Defines the \"live\" value of the component.\n\t *\n\t * **Note:** If we have an item e.g. \"Bulgaria\", \"B\" is typed, \"ulgaria\" is typed ahead, value will be \"Bulgaria\", filterValue will be \"B\".\n\t *\n\t * **Note:** Initially the filter value is synced with value.\n\t * @default \"\"\n\t * @private\n\t */\n\t@property()\n\tfilterValue!: string;\n\n\t/**\n\t * Defines a short hint intended to aid the user with data entry when the\n\t * component has no value.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tplaceholder!: string;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is completely noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t *\n\t * **Note:** A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Defines whether the component is required.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired!: boolean;\n\n\t/**\n\t * Indicates whether a loading indicator should be shown in the picker.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tloading!: boolean;\n\n\t/**\n\t * Defines the filter type of the component.\n\t * @default \"StartsWithPerTerm\"\n\t * @public\n\t */\n\t@property({ type: ComboBoxFilter, defaultValue: ComboBoxFilter.StartsWithPerTerm })\n\tfilter!: `${ComboBoxFilter}`;\n\n\t/**\n\t * Defines whether the clear icon of the combobox will be shown.\n\t * @default false\n\t * @public\n\t * @since 1.20.1\n\t */\n\t@property({ type: Boolean })\n\tshowClearIcon!: boolean;\n\n\t/**\n\t * Indicates whether the input is focssed\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * Indicates whether the visual focus is on the value state header\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isValueStateFocused!: boolean;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\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 \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef!: string;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_iconPressed!: boolean;\n\n\t@property({ type: Object, noAttribute: true, multiple: true })\n\t_filteredItems!: Array<IComboBoxItem>;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_listWidth!: number;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_effectiveShowClearIcon!: boolean;\n\n\t/**\n\t * Defines the component items.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n\titems!: Array<IComboBoxItem>;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t * The value state message slot should contain only one root element.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the `ui5-combobox` is in `Information`, `Warning` or `Error` value state.\n\t * @since 1.0.0-rc.9\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the icon to be displayed in the input field.\n\t * @public\n\t * @since 1.0.0-rc.9\n\t */\n\t@slot()\n\ticon!: Array<IIcon>;\n\n\t_initialRendering: boolean;\n\t_itemFocused: boolean;\n\t// used only for Safari fix (check onAfterRendering)\n\t_autocomplete: boolean;\n\t_isKeyNavigation: boolean;\n\t_selectionPerformed: boolean;\n\t_lastValue: string;\n\t_selectedItemText: string;\n\t_userTypedValue: string;\n\tresponsivePopover?: ResponsivePopover;\n\tvalueStatePopover?: Popover;\n\tFormSupport?: typeof FormSupportT;\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._filteredItems = [];\n\t\tthis._initialRendering = true;\n\t\tthis._itemFocused = false;\n\t\tthis._autocomplete = false;\n\t\tthis._isKeyNavigation = false;\n\t\t// when an initial value is set it should be considered as a _lastValue\n\t\tthis._lastValue = this.getAttribute(\"value\") || \"\";\n\t\tthis._selectionPerformed = false;\n\t\tthis._selectedItemText = \"\";\n\t\tthis._userTypedValue = \"\";\n\t}\n\n\tasync onBeforeRendering() {\n\t\tconst popover: Popover | undefined = this.valueStatePopover;\n\n\t\tthis.FormSupport = getFeature<typeof FormSupportT>(\"FormSupport\");\n\n\t\tthis._effectiveShowClearIcon = (this.showClearIcon && !!this.value && !this.readonly && !this.disabled);\n\n\t\tif (this._initialRendering || this.filter === \"None\") {\n\t\t\tthis._filteredItems = this.items;\n\t\t}\n\n\t\tif (this.open && !this._isKeyNavigation) {\n\t\t\tconst items = this._filterItems(this.filterValue);\n\n\t\t\tthis._filteredItems = items.length ? items : this.items;\n\t\t}\n\n\t\tif (!this._initialRendering && document.activeElement === this && !this._filteredItems.length) {\n\t\t\tpopover?.close();\n\t\t}\n\n\t\tthis._selectMatchingItem();\n\t\tthis._initialRendering = false;\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\n\t\tconst suggestionsPopover = await this._getPicker();\n\t\tthis.items.forEach(item => {\n\t\t\titem._getRealDomRef = () => suggestionsPopover.querySelector(`*[data-ui5-stable=${item.stableDomRef}]`)!;\n\t\t});\n\t}\n\n\tget iconsCount() {\n\t\tconst slottedIconsCount = this.icon?.length || 0;\n\t\tconst clearIconCount = Number(this._effectiveShowClearIcon) ?? 0;\n\t\tconst arrowDownIconsCount = this.readonly ? 0 : 1;\n\n\t\treturn slottedIconsCount + clearIconCount + arrowDownIconsCount;\n\t}\n\n\tasync onAfterRendering() {\n\t\tconst picker: ResponsivePopover = await this._getPicker();\n\n\t\tif ((await this.shouldClosePopover()) && !isPhone()) {\n\t\t\tpicker.close(false, false, true);\n\t\t\tthis._clearFocus();\n\t\t\tthis._itemFocused = false;\n\t\t}\n\n\t\tthis.toggleValueStatePopover(this.shouldOpenValueStateMessagePopover);\n\t\tthis.storeResponsivePopoverWidth();\n\n\t\tif (isPhone()) {\n\t\t\tthis.value = this.inner.value;\n\t\t\tthis._selectMatchingItem();\n\t\t}\n\t}\n\n\tasync shouldClosePopover(): Promise<boolean> {\n\t\tconst popover: ResponsivePopover = await this._getPicker();\n\n\t\treturn popover.opened && !this.focused && !this._itemFocused && !this._isValueStateFocused;\n\t}\n\n\t_focusin(e: FocusEvent) {\n\t\tthis.focused = true;\n\t\tthis._autocomplete = false;\n\n\t\t!isPhone() && (e.target as HTMLInputElement).setSelectionRange(0, this.value.length);\n\t}\n\n\t_focusout(e: FocusEvent) {\n\t\tconst toBeFocused = e.relatedTarget as HTMLElement;\n\t\tconst focusedOutToValueStateMessage = toBeFocused?.shadowRoot?.querySelector(\".ui5-valuestatemessage-root\");\n\t\tconst clearIconWrapper = this.shadowRoot!.querySelector(\".ui5-input-clear-icon-wrapper\");\n\t\tconst focusedOutToClearIcon = clearIconWrapper === toBeFocused || clearIconWrapper?.contains(toBeFocused);\n\n\t\tif (this._effectiveShowClearIcon && focusedOutToClearIcon) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._fireChangeEvent();\n\n\t\tif (focusedOutToValueStateMessage) {\n\t\t\te.stopImmediatePropagation();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!(this.shadowRoot!.contains(toBeFocused)) && (this.staticAreaItem !== e.relatedTarget)) {\n\t\t\tthis.focused = false;\n\t\t\t!isPhone() && this._closeRespPopover(e);\n\t\t}\n\t}\n\n\t_afterOpenPopover() {\n\t\tthis._iconPressed = true;\n\t\tthis.inner.focus();\n\t}\n\n\t_afterClosePopover() {\n\t\tthis._iconPressed = false;\n\t\tthis._filteredItems = this.items;\n\t\tthis.filterValue = \"\";\n\n\t\t// close device's keyboard and prevent further typing\n\t\tif (isPhone()) {\n\t\t\tthis.blur();\n\t\t}\n\n\t\tif (this._selectionPerformed) {\n\t\t\tthis._lastValue = this.value;\n\t\t\tthis._selectionPerformed = false;\n\t\t}\n\t}\n\n\tasync _toggleRespPopover() {\n\t\tconst picker: ResponsivePopover = await this._getPicker();\n\n\t\tif (picker.opened) {\n\t\t\tthis._closeRespPopover();\n\t\t} else {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\n\tasync storeResponsivePopoverWidth() {\n\t\tif (this.open && !this._listWidth) {\n\t\t\tthis._listWidth = (await this._getPicker()).offsetWidth;\n\t\t}\n\t}\n\n\ttoggleValueStatePopover(open: boolean) {\n\t\tif (open) {\n\t\t\tthis.openValueStatePopover();\n\t\t} else {\n\t\t\tthis.closeValueStatePopover();\n\t\t}\n\t}\n\n\tasync openValueStatePopover() {\n\t\t(await this._getValueStatePopover())?.showAt(this);\n\t}\n\n\tasync closeValueStatePopover() {\n\t\t(await this._getValueStatePopover())?.close();\n\t}\n\n\tasync _getValueStatePopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\tconst popover: Popover = staticAreaItem!.querySelector<Popover>(\".ui5-valuestatemessage-popover\")!;\n\n\t\t// backward compatibility\n\t\t// rework all methods to work with async getters\n\t\tthis.valueStatePopover = popover;\n\n\t\treturn popover;\n\t}\n\n\t_resetFilter() {\n\t\tthis._userTypedValue = \"\";\n\t\tthis.inner.setSelectionRange(0, this.value.length);\n\t\tthis._filteredItems = this._filterItems(\"\");\n\t\tthis._selectMatchingItem();\n\t}\n\n\t_arrowClick() {\n\t\tthis.inner.focus();\n\t\tthis._resetFilter();\n\n\t\tif (isPhone() && this.value && !this._lastValue) {\n\t\t\tthis._lastValue = this.value;\n\t\t}\n\n\t\tthis._toggleRespPopover();\n\t}\n\n\t_handleMobileInput(e: CustomEvent<InputEventDetail>) {\n\t\tconst { target } = e;\n\t\tthis.filterValue = (target as Input).value;\n\t\tthis.value = (target as Input).value;\n\t\tthis.fireEvent(\"input\");\n\t}\n\n\t_input(e: InputEvent) {\n\t\tconst { value } = e.target as HTMLInputElement;\n\t\tconst shouldAutocomplete = this.shouldAutocomplete(e);\n\n\t\tif (e.target === this.inner) {\n\t\t\t// stop the native event, as the semantic \"input\" would be fired.\n\t\t\te.stopImmediatePropagation();\n\t\t\tthis.focused = true;\n\t\t\tthis._isValueStateFocused = false;\n\t\t}\n\n\t\tthis._filteredItems = this._filterItems(value);\n\n\t\tthis.value = value;\n\t\tthis.filterValue = value;\n\n\t\tthis._clearFocus();\n\n\t\t// autocomplete\n\t\tif (shouldAutocomplete && !isAndroid()) {\n\t\t\tconst item = this._getFirstMatchingItem(value);\n\t\t\titem && this._applyAtomicValueAndSelection(item, value, true);\n\n\t\t\tif (value !== \"\" && (item && !item.selected && !item.isGroupItem)) {\n\t\t\t\tthis.fireEvent<ComboBoxSelectionChangeEventDetail>(\"selection-change\", {\n\t\t\t\t\titem,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tthis.fireEvent(\"input\");\n\n\t\tif (isPhone()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._filteredItems.length || value === \"\") {\n\t\t\tthis._closeRespPopover();\n\t\t} else {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\tshouldAutocomplete(e: InputEvent): boolean {\n\t\tconst eventType = e.inputType;\n\t\tconst allowedEventTypes = [\n\t\t\t\"deleteWordBackward\",\n\t\t\t\"deleteWordForward\",\n\t\t\t\"deleteSoftLineBackward\",\n\t\t\t\"deleteSoftLineForward\",\n\t\t\t\"deleteEntireSoftLine\",\n\t\t\t\"deleteHardLineBackward\",\n\t\t\t\"deleteHardLineForward\",\n\t\t\t\"deleteByDrag\",\n\t\t\t\"deleteByCut\",\n\t\t\t\"deleteContent\",\n\t\t\t\"deleteContentBackward\",\n\t\t\t\"deleteContentForward\",\n\t\t\t\"historyUndo\",\n\t\t];\n\n\t\treturn !this.noTypeahead && !allowedEventTypes.includes(eventType);\n\t}\n\n\t_startsWithMatchingItems(str: string): Array<IComboBoxItem> {\n\t\treturn Filters.StartsWith(str, this._filteredItems, \"text\");\n\t}\n\n\t_clearFocus() {\n\t\tthis._filteredItems.map(item => {\n\t\t\titem.focused = false;\n\n\t\t\treturn item;\n\t\t});\n\t}\n\n\thandleNavKeyPress(e: KeyboardEvent) {\n\t\tif (this.focused && (isHome(e) || isEnd(e)) && this.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isOpen = this.open;\n\t\tconst currentItem = this._filteredItems.find(item => {\n\t\t\treturn isOpen ? item.focused : item.selected;\n\t\t});\n\n\t\tconst indexOfItem = currentItem ? this._filteredItems.indexOf(currentItem) : -1;\n\n\t\te.preventDefault();\n\n\t\tif (this.focused && isOpen && (isUp(e) || isPageUp(e) || isPageDown(e))) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._filteredItems.length - 1 === indexOfItem && isDown(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._isKeyNavigation = true;\n\n\t\tif (\n\t\t\te.key === \"ArrowDown\"\n\t\t\t|| e.key === \"ArrowUp\"\n\t\t\t|| e.key === \"PageUp\"\n\t\t\t|| e.key === \"PageDown\"\n\t\t\t|| e.key === \"Home\"\n\t\t\t|| e.key === \"End\"\n\t\t) {\n\t\t\tthis[`_handle${e.key}`](e, indexOfItem);\n\t\t}\n\t}\n\n\t_handleItemNavigation(e: KeyboardEvent, indexOfItem: number, isForward: boolean) {\n\t\tconst isOpen = this.open;\n\t\tconst currentItem = this._filteredItems[indexOfItem];\n\t\tconst nextItem = isForward ? this._filteredItems[indexOfItem + 1] : this._filteredItems[indexOfItem - 1];\n\t\tconst isGroupItem = currentItem && currentItem.isGroupItem;\n\n\t\tif ((!isOpen) && ((isGroupItem && !nextItem) || (!isGroupItem && !currentItem))) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._clearFocus();\n\n\t\tif (isOpen) {\n\t\t\tthis._itemFocused = true;\n\t\t\tthis.value = isGroupItem ? \"\" : currentItem.text;\n\t\t\tthis.focused = false;\n\t\t\tcurrentItem.focused = true;\n\t\t} else {\n\t\t\tthis.focused = true;\n\t\t\tthis.value = isGroupItem ? nextItem.text : currentItem.text;\n\t\t\tcurrentItem.focused = false;\n\t\t}\n\n\t\tthis._isValueStateFocused = false;\n\n\t\tthis._announceSelectedItem(indexOfItem);\n\t\tthis._scrollToItem(indexOfItem, isForward);\n\n\t\tif (isGroupItem && isOpen) {\n\t\t\treturn;\n\t\t}\n\n\t\t// autocomplete\n\t\tconst item = this._getFirstMatchingItem(this.value);\n\t\titem && this._applyAtomicValueAndSelection(item, (this.open ? this._userTypedValue : \"\"), true);\n\n\t\tif ((item && !item.selected)) {\n\t\t\tthis.fireEvent<ComboBoxSelectionChangeEventDetail>(\"selection-change\", {\n\t\t\t\titem,\n\t\t\t});\n\t\t}\n\n\t\tthis.fireEvent(\"input\");\n\t\tthis._fireChangeEvent();\n\t}\n\n\t_handleArrowDown(e: KeyboardEvent, indexOfItem: number) {\n\t\tconst isOpen = this.open;\n\n\t\tif (this.focused && indexOfItem === -1 && this.hasValueStateText && isOpen) {\n\t\t\tthis._isValueStateFocused = true;\n\t\t\tthis._announceValueStateText();\n\t\t\tthis.focused = false;\n\t\t\treturn;\n\t\t}\n\n\t\tindexOfItem = !isOpen && this.hasValueState && indexOfItem === -1 ? 0 : indexOfItem;\n\n\t\tthis._handleItemNavigation(e, ++indexOfItem, true /* isForward */);\n\t}\n\n\t_handleArrowUp(e: KeyboardEvent, indexOfItem: number) {\n\t\tconst isOpen = this.open;\n\n\t\tif (indexOfItem === 0 && !this.hasValueStateText) {\n\t\t\tthis._clearFocus();\n\t\t\tthis.focused = true;\n\t\t\tthis._itemFocused = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (indexOfItem === 0 && this.hasValueStateText && isOpen) {\n\t\t\tthis._clearFocus();\n\t\t\tthis._itemFocused = false;\n\t\t\tthis._isValueStateFocused = true;\n\t\t\tthis._announceValueStateText();\n\t\t\tthis._filteredItems[0].selected = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isValueStateFocused) {\n\t\t\tthis.focused = true;\n\t\t\tthis._isValueStateFocused = false;\n\t\t\treturn;\n\t\t}\n\n\t\tindexOfItem = !isOpen && this.hasValueState && indexOfItem === -1 ? 0 : indexOfItem;\n\t\tthis._handleItemNavigation(e, --indexOfItem, false /* isForward */);\n\t}\n\n\t_handlePageUp(e: KeyboardEvent, indexOfItem: number) {\n\t\tconst isProposedIndexValid = indexOfItem - SKIP_ITEMS_SIZE > -1;\n\t\tindexOfItem = isProposedIndexValid ? indexOfItem - SKIP_ITEMS_SIZE : 0;\n\t\tconst shouldMoveForward = this._filteredItems[indexOfItem].isGroupItem && !this.open;\n\n\t\tif (!isProposedIndexValid && this.hasValueStateText && this.open) {\n\t\t\tthis._clearFocus();\n\t\t\tthis._itemFocused = false;\n\t\t\tthis._isValueStateFocused = true;\n\t\t\tthis._announceValueStateText();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._handleItemNavigation(e, indexOfItem, shouldMoveForward);\n\t}\n\n\t_handlePageDown(e: KeyboardEvent, indexOfItem: number) {\n\t\tconst itemsLength = this._filteredItems.length;\n\t\tconst isProposedIndexValid = indexOfItem + SKIP_ITEMS_SIZE < itemsLength;\n\n\t\tindexOfItem = isProposedIndexValid ? indexOfItem + SKIP_ITEMS_SIZE : itemsLength - 1;\n\t\tconst shouldMoveForward = this._filteredItems[indexOfItem].isGroupItem && !this.open;\n\n\t\tthis._handleItemNavigation(e, indexOfItem, shouldMoveForward);\n\t}\n\n\t_handleHome(e: KeyboardEvent) {\n\t\tconst shouldMoveForward = this._filteredItems[0].isGroupItem && !this.open;\n\n\t\tif (this.hasValueStateText && this.open) {\n\t\t\tthis._clearFocus();\n\t\t\tthis._itemFocused = false;\n\t\t\tthis._isValueStateFocused = true;\n\t\t\tthis._announceValueStateText();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._handleItemNavigation(e, 0, shouldMoveForward);\n\t}\n\n\t_handleEnd(e: KeyboardEvent) {\n\t\tthis._handleItemNavigation(e, this._filteredItems.length - 1, true /* isForward */);\n\t}\n\n\t_keyup() {\n\t\tthis._userTypedValue = this.value.substring(0, this.inner.selectionStart || 0);\n\t}\n\n\t_keydown(e: KeyboardEvent) {\n\t\tconst isNavKey = isDown(e) || isUp(e) || isPageUp(e) || isPageDown(e) || isHome(e) || isEnd(e);\n\t\tconst picker = this.responsivePopover;\n\n\t\tthis._autocomplete = !(isBackSpace(e) || isDelete(e));\n\t\tthis._isKeyNavigation = false;\n\n\t\tif (isNavKey && !this.readonly && this._filteredItems.length) {\n\t\t\tthis.handleNavKeyPress(e);\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tconst focusedItem = this._filteredItems.find(item => {\n\t\t\t\treturn item.focused;\n\t\t\t});\n\n\t\t\tthis._fireChangeEvent();\n\n\t\t\tif (picker?.opened && !focusedItem?.isGroupItem) {\n\t\t\t\tthis._closeRespPopover();\n\t\t\t\tthis.focused = true;\n\t\t\t\tthis.inner.setSelectionRange(this.value.length, this.value.length);\n\t\t\t} else if (this.FormSupport) {\n\t\t\t\tthis.FormSupport.triggerFormSubmit(this);\n\t\t\t}\n\t\t}\n\n\t\tif (isEscape(e)) {\n\t\t\tthis.focused = true;\n\t\t\tthis.value = !this.open ? this._lastValue : this.value;\n\t\t\tthis._isValueStateFocused = false;\n\t\t}\n\n\t\tif ((isTabNext(e) || isTabPrevious(e)) && this.open) {\n\t\t\tthis._closeRespPopover();\n\t\t}\n\n\t\tif (isShow(e) && !this.readonly && !this.disabled) {\n\t\t\te.preventDefault();\n\n\t\t\tthis._resetFilter();\n\t\t\tthis._toggleRespPopover();\n\n\t\t\tconst selectedItem = this._filteredItems.find(item => {\n\t\t\t\treturn item.selected;\n\t\t\t});\n\n\t\t\tif (selectedItem && this.open) {\n\t\t\t\tthis._itemFocused = true;\n\t\t\t\tselectedItem.focused = true;\n\t\t\t\tthis.focused = false;\n\t\t\t} else if (this.open && this._filteredItems.length) {\n\t\t\t\t// If no item is selected, select the first one on \"Show\" (F4, Alt+Up/Down)\n\t\t\t\tthis._handleItemNavigation(e, 0, true /* isForward */);\n\t\t\t} else {\n\t\t\t\tthis.focused = true;\n\t\t\t}\n\t\t}\n\t}\n\n\t_click() {\n\t\tif (isPhone() && !this.readonly) {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\n\t_closeRespPopover(e?: Event) {\n\t\tconst picker = this.responsivePopover;\n\n\t\tif (e && (e.target as HTMLElement).classList.contains(\"ui5-responsive-popover-close-btn\") && this._selectedItemText) {\n\t\t\tthis.value = this._selectedItemText;\n\t\t\tthis.filterValue = this._selectedItemText;\n\t\t}\n\n\t\tif (e && (e.target as HTMLElement).classList.contains(\"ui5-responsive-popover-close-btn\")) {\n\t\t\tthis.value = this._lastValue || \"\";\n\t\t\tthis.filterValue = this._lastValue || \"\";\n\t\t}\n\n\t\tif (isPhone()) {\n\t\t\tthis._fireChangeEvent();\n\t\t}\n\n\t\tthis._isValueStateFocused = false;\n\t\tthis._clearFocus();\n\n\t\tpicker?.close();\n\t}\n\n\tasync _openRespPopover() {\n\t\t(await this._getPicker()).showAt(this, true);\n\t}\n\n\t_filterItems(str: string) {\n\t\tconst itemsToFilter = this.items.filter(item => !item.isGroupItem);\n\t\tconst filteredItems = (Filters[this.filter] || Filters.StartsWithPerTerm)(str, itemsToFilter, \"text\");\n\n\t\t// Return the filtered items and their group items\n\t\treturn this.items.filter((item, idx, allItems) => ComboBox._groupItemFilter(item, ++idx, allItems, filteredItems) || filteredItems.indexOf(item) !== -1);\n\t}\n\n\t/**\n\t * Returns true if the group header should be shown (if there is a filtered suggestion item for this group item)\n\t * @private\n\t */\n\tstatic _groupItemFilter(item: IComboBoxItem, idx: number, allItems: Array<IComboBoxItem>, filteredItems: Array<IComboBoxItem>) {\n\t\tif (item.isGroupItem) {\n\t\t\tlet groupHasFilteredItems;\n\n\t\t\twhile (allItems[idx] && !allItems[idx].isGroupItem && !groupHasFilteredItems) {\n\t\t\t\tgroupHasFilteredItems = filteredItems.indexOf(allItems[idx]) !== -1;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\treturn groupHasFilteredItems;\n\t\t}\n\t}\n\n\t_getFirstMatchingItem(current: string): ComboBoxItem | undefined {\n\t\tconst currentlyFocusedItem = this.items.find(item => item.focused === true);\n\n\t\tif (currentlyFocusedItem?.isGroupItem) {\n\t\t\tthis.value = this.filterValue;\n\t\t\treturn;\n\t\t}\n\n\t\tconst matchingItems: Array<ComboBoxItem> = (this._startsWithMatchingItems(current).filter(item => !item.isGroupItem) as Array<ComboBoxItem>);\n\n\t\tif (matchingItems.length) {\n\t\t\treturn matchingItems[0];\n\t\t}\n\t}\n\n\t_applyAtomicValueAndSelection(item: ComboBoxItem, filterValue: string, highlightValue: boolean) {\n\t\tconst value = (item && item.text) || \"\";\n\n\t\tthis.inner.value = value;\n\t\tif (highlightValue) {\n\t\t\tthis.inner.setSelectionRange(filterValue.length, value.length);\n\t\t}\n\t\tthis.value = value;\n\t}\n\n\t_selectMatchingItem() {\n\t\tconst currentlyFocusedItem = this.items.find(item => item.focused);\n\t\tconst shouldSelectionBeCleared = currentlyFocusedItem && currentlyFocusedItem.isGroupItem;\n\n\t\tconst itemToBeSelected = this._filteredItems.find(item => {\n\t\t\treturn !item.isGroupItem && (item.text === this.value) && !shouldSelectionBeCleared;\n\t\t});\n\n\t\tthis._filteredItems = this._filteredItems.map(item => {\n\t\t\titem.selected = item === itemToBeSelected;\n\t\t\treturn item;\n\t\t});\n\t}\n\n\t_fireChangeEvent() {\n\t\tif (this.value !== this._lastValue) {\n\t\t\tthis.fireEvent(\"change\");\n\t\t\tthis._lastValue = this.value;\n\t\t}\n\t}\n\n\t_inputChange(e: Event) {\n\t\te.preventDefault();\n\t}\n\n\t_itemMousedown(e: MouseEvent) {\n\t\te.preventDefault();\n\t}\n\n\t_selectItem(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst listItem = e.detail.item as ComboBoxListItem;\n\n\t\tthis._selectedItemText = listItem.mappedItem.text;\n\t\tthis._selectionPerformed = true;\n\n\t\tconst sameItemSelected = this.value === this._selectedItemText;\n\t\tconst sameSelectionPerformed = this.value.toLowerCase() === this.filterValue.toLowerCase();\n\n\t\tif (sameItemSelected && sameSelectionPerformed) {\n\t\t\tthis._fireChangeEvent(); // Click on an already typed, but not memoized value shouold also trigger the change event\n\t\t\treturn this._closeRespPopover();\n\t\t}\n\n\t\tthis.value = this._selectedItemText;\n\n\t\tif (!listItem.mappedItem.selected) {\n\t\t\tthis.fireEvent<ComboBoxSelectionChangeEventDetail>(\"selection-change\", {\n\t\t\t\titem: listItem.mappedItem,\n\t\t\t});\n\t\t}\n\n\t\tthis._filteredItems.map(item => {\n\t\t\titem.selected = (item === listItem.mappedItem && !item.isGroupItem);\n\t\t\treturn item;\n\t\t});\n\n\t\tthis._fireChangeEvent();\n\t\tthis._closeRespPopover();\n\n\t\t// reset selection\n\t\tthis.inner.setSelectionRange(this.value.length, this.value.length);\n\t}\n\n\t_onItemFocus() {\n\t\tthis._itemFocused = true;\n\t}\n\n\t_announceSelectedItem(indexOfItem: number) {\n\t\tconst currentItem = this._filteredItems[indexOfItem];\n\t\tconst nonGroupItems = this._filteredItems.filter(item => !item.isGroupItem);\n\t\tconst currentItemAdditionalText = currentItem.additionalText || \"\";\n\t\tconst isGroupItem = currentItem?.isGroupItem;\n\t\tconst itemPositionText = ComboBox.i18nBundle.getText(LIST_ITEM_POSITION, nonGroupItems.indexOf(currentItem) + 1, nonGroupItems.length);\n\t\tconst groupHeaderText = ComboBox.i18nBundle.getText(LIST_ITEM_GROUP_HEADER);\n\n\t\tif (isGroupItem) {\n\t\t\tannounce(`${groupHeaderText} ${currentItem.text}`, InvisibleMessageMode.Polite);\n\t\t} else {\n\t\t\tannounce(`${currentItemAdditionalText} ${itemPositionText}`.trim(), InvisibleMessageMode.Polite);\n\t\t}\n\t}\n\n\t_clear() {\n\t\tconst selectedItem = this.items.find(item => item.selected) as (ComboBoxItem | undefined);\n\n\t\tif (selectedItem?.text === this.value) {\n\t\t\tthis.fireEvent(\"change\");\n\t\t}\n\n\t\tthis.value = \"\";\n\t\tthis.fireEvent(\"input\");\n\n\t\tif (this._isPhone) {\n\t\t\tthis._lastValue = \"\";\n\t\t\tthis.fireEvent(\"change\");\n\t\t} else {\n\t\t\tthis.focus();\n\t\t}\n\t}\n\n\tasync _scrollToItem(indexOfItem: number, forward: boolean) {\n\t\tconst picker = await this._getPicker();\n\t\tconst list = picker.querySelector(\".ui5-combobox-items-list\") as List;\n\t\tconst listItem = list?.items[indexOfItem];\n\n\t\tif (listItem) {\n\t\t\tconst pickerRect = picker.getBoundingClientRect();\n\t\t\tconst listItemRect = listItem.getBoundingClientRect();\n\t\t\tconst isListItemInVisibleArea = listItemRect.top >= pickerRect.top && listItemRect.bottom <= pickerRect.bottom;\n\n\t\t\tif (!isListItemInVisibleArea) {\n\t\t\t\tlistItem.scrollIntoView({ behavior: \"instant\", block: forward ? \"end\" : \"start\", inline: \"nearest\" });\n\t\t\t}\n\t\t}\n\t}\n\n\t_announceValueStateText() {\n\t\tconst valueStateText = this.shouldDisplayDefaultValueStateMessage ? this.valueStateDefaultText : this.valueStateMessageText.map(el => el.textContent).join(\" \");\n\n\t\tif (valueStateText) {\n\t\t\tannounce(valueStateText, InvisibleMessageMode.Polite);\n\t\t}\n\t}\n\n\tget _headerTitleText() {\n\t\treturn ComboBox.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget _iconAccessibleNameText() {\n\t\treturn ComboBox.i18nBundle.getText(SELECT_OPTIONS);\n\t}\n\n\tget inner(): HTMLInputElement {\n\t\treturn isPhone() ? this.responsivePopover!.querySelector(\"[ui5-input]\")!.shadowRoot!.querySelector(\"input\")! : this.shadowRoot!.querySelector(\"[inner-input]\")!;\n\t}\n\n\tasync _getPicker() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\tconst picker = staticAreaItem!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\n\t\t// backward compatibility\n\t\t// rework all methods to work with async getters\n\t\tthis.responsivePopover = picker;\n\n\t\treturn picker;\n\t}\n\n\tget hasValueState(): boolean {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget hasValueStateText(): boolean {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Success;\n\t}\n\n\tget ariaValueStateHiddenText(): string {\n\t\tif (!this.hasValueState) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tlet text = \"\";\n\n\t\tif (this.valueState !== ValueState.None) {\n\t\t\ttext = this.valueStateTypeMappings[this.valueState];\n\t\t}\n\n\t\tif (this.shouldDisplayDefaultValueStateMessage) {\n\t\t\treturn `${text} ${this.valueStateDefaultText || \"\"}`;\n\t\t}\n\n\t\treturn `${text}`.concat(\" \", this.valueStateMessageText.map(el => el.textContent).join(\" \"));\n\t}\n\n\tget valueStateDefaultText(): string | undefined {\n\t\tif (this.valueState === ValueState.None) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.valueStateTextMappings[this.valueState];\n\t}\n\n\tget valueStateMessageText(): Array<Node> {\n\t\treturn this.getSlottedNodes(\"valueStateMessage\").map(el => el.cloneNode(true));\n\t}\n\n\tget valueStateTextMappings(): ValueStateAnnouncement {\n\t\treturn {\n\t\t\t[ValueState.Success]: ComboBox.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t[ValueState.Error]: ComboBox.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t[ValueState.Warning]: ComboBox.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t\t[ValueState.Information]: ComboBox.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t};\n\t}\n\n\tget valueStateTypeMappings(): ValueStateTypeAnnouncement {\n\t\treturn {\n\t\t\t[ValueState.Success]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n\t\t\t[ValueState.Information]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),\n\t\t\t[ValueState.Error]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t[ValueState.Warning]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n\t\t};\n\t}\n\n\tget shouldOpenValueStateMessagePopover(): boolean {\n\t\treturn this.focused && !this.readonly && this.hasValueStateText && !this._iconPressed\n\t\t\t&& !this.open && !this._isPhone;\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage(): boolean {\n\t\treturn !this.valueStateMessage.length && this.hasValueStateText;\n\t}\n\n\tget _valueStatePopoverHorizontalAlign(): `${PopoverHorizontalAlign}` {\n\t\treturn this.effectiveDir !== \"rtl\" ? PopoverHorizontalAlign.Left : PopoverHorizontalAlign.Right;\n\t}\n\n\t/**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateMessageIcon(): string {\n\t\treturn this.valueState !== ValueState.None ? ValueStateIconMapping[this.valueState] : \"\";\n\t}\n\n\tget open(): boolean {\n\t\treturn this?.responsivePopover?.opened || false;\n\t}\n\n\tget _isPhone(): boolean {\n\t\treturn isPhone();\n\t}\n\n\tget itemTabIndex() {\n\t\treturn undefined;\n\t}\n\n\tget ariaLabelText(): string | undefined {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget clearIconAccessibleName() {\n\t\treturn ComboBox.i18nBundle.getText(INPUT_CLEAR_ICON_ACC_NAME);\n\t}\n\n\tstatic async onDefine() {\n\t\tComboBox.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tget styles() {\n\t\tconst remSizeInPx = parseInt(getComputedStyle(document.documentElement).fontSize);\n\t\treturn {\n\t\t\tpopoverHeader: {\n\t\t\t\t\"width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t\tsuggestionPopoverHeader: {\n\t\t\t\t\"display\": this._listWidth === 0 ? \"none\" : \"inline-block\",\n\t\t\t\t\"width\": `${this._listWidth || \"\"}px`,\n\t\t\t},\n\t\t\tsuggestionsPopover: {\n\t\t\t\t\"min-width\": `${this.offsetWidth || 0}px`,\n\t\t\t\t\"max-width\": (this.offsetWidth / remSizeInPx) > 40 ? `${this.offsetWidth}px` : \"40rem\",\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tpopover: {\n\t\t\t\t\"ui5-suggestions-popover\": true,\n\t\t\t\t\"ui5-popover-with-value-state-header-phone\": this._isPhone && this.hasValueStateText,\n\t\t\t\t\"ui5-popover-with-value-state-header\": !this._isPhone && this.hasValueStateText,\n\t\t\t},\n\t\t\tpopoverValueState: {\n\t\t\t\t\"ui5-valuestatemessage-header\": true,\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Success,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Error,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Warning,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t};\n\t}\n}\n\nComboBox.define();\n\nexport default ComboBox;\n\nexport type {\n\tComboBoxSelectionChangeEventDetail,\n\tIComboBoxItem,\n};\n"]}
1
+ {"version":3,"file":"ComboBox.js","sourceRoot":"","sources":["../src/ComboBox.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,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,SAAS,MAAM,sDAAsD,CAAC;AAC7E,OAAO,UAAU,MAAM,kDAAkD,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,OAAO,MAAM,+CAA+C,CAAC;AACpE,OAAO,oBAAoB,MAAM,4DAA4D,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAC;AACjG,OAAO,QAAQ,MAAM,uDAAuD,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AACvF,OAAO,kDAAkD,CAAC;AAC1D,OAAO,0CAA0C,CAAC;AAClD,OAAO,+CAA+C,CAAC;AACvD,OAAO,wCAAwC,CAAC;AAChD,OAAO,wCAAwC,CAAC;AAChD,OAAO,8CAA8C,CAAC;AACtD,OAAO,8CAA8C,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAC;AAC9E,OAAO,EACN,WAAW,EACX,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,EACT,aAAa,EACb,QAAQ,EACR,UAAU,EACV,MAAM,EACN,KAAK,GACL,MAAM,sCAAsC,CAAC;AAE9C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,OAAO,EACN,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,GACzB,MAAM,mCAAmC,CAAC;AAE3C,YAAY;AACZ,OAAO,gBAAgB,MAAM,+CAA+C,CAAC;AAC7E,OAAO,uBAAuB,MAAM,sDAAsD,CAAC;AAE3F,SAAS;AACT,OAAO,WAAW,MAAM,oCAAoC,CAAC;AAC7D,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAC3E,OAAO,0BAA0B,MAAM,mDAAmD,CAAC;AAC3F,OAAO,oBAAoB,MAAM,6CAA6C,CAAC;AAC/E,OAAO,cAAc,MAAM,uCAAuC,CAAC;AAEnE,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,cAAc,MAAM,2BAA2B,CAAC;AAEvD,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAA2B,MAAM,YAAY,CAAC;AACrD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,MAAM,eAAe,GAAG,EAAE,CAAC;AAsB3B,IAAK,qBAKJ;AALD,WAAK,qBAAqB;IACzB,wCAAe,CAAA;IACf,0CAAiB,CAAA;IACjB,gDAAuB,CAAA;IACvB,oDAA2B,CAAA;AAC5B,CAAC,EALI,qBAAqB,KAArB,qBAAqB,QAKzB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAwDH,IAAM,QAAQ,gBAAd,MAAM,QAAS,SAAQ,UAAU;IA8LhC;QACC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,uEAAuE;QACvE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACtB,MAAM,OAAO,GAAwB,IAAI,CAAC,iBAAiB,CAAC;QAE5D,IAAI,CAAC,WAAW,GAAG,UAAU,CAAsB,aAAa,CAAC,CAAC;QAElE,IAAI,CAAC,uBAAuB,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExG,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;YACrD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;SACjC;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAElD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;SACxD;QAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC9F,OAAO,EAAE,KAAK,EAAE,CAAC;SACjB;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAE/B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAE3F,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzB,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC,qBAAqB,IAAI,CAAC,YAAY,GAAG,CAAE,CAAC;QAC1G,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,UAAU;QACb,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAElD,OAAO,iBAAiB,GAAG,cAAc,GAAG,mBAAmB,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,gBAAgB;QACrB,MAAM,MAAM,GAAsB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAE1D,IAAI,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACpD,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC1B;QAED,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACtE,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAEnC,IAAI,OAAO,EAAE,EAAE;YACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAC9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC3B;IACF,CAAC;IAED,KAAK,CAAC,kBAAkB;QACvB,MAAM,OAAO,GAAsB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAE3D,OAAO,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC;IAC5F,CAAC;IAED,QAAQ,CAAC,CAAa;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,CAAC,OAAO,EAAE,IAAK,CAAC,CAAC,MAA2B,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtF,CAAC;IAED,SAAS,CAAC,CAAa;QACtB,MAAM,WAAW,GAAG,CAAC,CAAC,aAA4B,CAAC;QACnD,MAAM,6BAA6B,GAAG,WAAW,EAAE,UAAU,EAAE,aAAa,CAAC,6BAA6B,CAAC,CAAC;QAC5G,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;QACzF,MAAM,qBAAqB,GAAG,gBAAgB,KAAK,WAAW,IAAI,gBAAgB,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE1G,IAAI,IAAI,CAAC,uBAAuB,IAAI,qBAAqB,EAAE;YAC1D,OAAO;SACP;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,6BAA6B,EAAE;YAClC,CAAC,CAAC,wBAAwB,EAAE,CAAC;YAC7B,OAAO;SACP;QAED,IAAI,CAAC,CAAC,IAAI,CAAC,UAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE;YAC3F,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SACxC;IACF,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,kBAAkB;QACjB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtB,qDAAqD;QACrD,IAAI,OAAO,EAAE,EAAE;YACd,IAAI,CAAC,IAAI,EAAE,CAAC;SACZ;QAED,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;YAC7B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;SACjC;IACF,CAAC;IAED,KAAK,CAAC,kBAAkB;QACvB,MAAM,MAAM,GAAsB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAE1D,IAAI,MAAM,CAAC,MAAM,EAAE;YAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;SACzB;aAAM;YACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACxB;IACF,CAAC;IAED,KAAK,CAAC,2BAA2B;QAChC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClC,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC;SACxD;IACF,CAAC;IAED,uBAAuB,CAAC,IAAa;QACpC,IAAI,IAAI,EAAE;YACT,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC7B;aAAM;YACN,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC9B;IACF,CAAC;IAED,KAAK,CAAC,qBAAqB;QAC1B,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC3B,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,qBAAqB;QAC1B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC5D,MAAM,OAAO,GAAY,cAAe,CAAC,aAAa,CAAU,gCAAgC,CAAE,CAAC;QAEnG,yBAAyB;QACzB,gDAAgD;QAChD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QAEjC,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,YAAY;QACX,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,WAAW;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,OAAO,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAChD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;SAC7B;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,CAAC;IAED,kBAAkB,CAAC,CAAgC;QAClD,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,WAAW,GAAI,MAAgB,CAAC,KAAK,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAI,MAAgB,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,CAAa;QACnB,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAA0B,CAAC;QAC/C,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAEtD,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE;YAC5B,iEAAiE;YACjE,CAAC,CAAC,wBAAwB,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;SAClC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE/C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,eAAe;QACf,IAAI,kBAAkB,IAAI,CAAC,SAAS,EAAE,EAAE;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,IAAI,IAAI,CAAC,6BAA6B,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAE9D,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBAClE,IAAI,CAAC,SAAS,CAAqC,kBAAkB,EAAE;oBACtE,IAAI;iBACJ,CAAC,CAAC;aACH;SACD;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAExB,IAAI,OAAO,EAAE,EAAE;YACd,OAAO;SACP;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,KAAK,KAAK,EAAE,EAAE;YAChD,IAAI,CAAC,iBAAiB,EAAE,CAAC;SACzB;aAAM;YACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACxB;IACF,CAAC;IACD,kBAAkB,CAAC,CAAa;QAC/B,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;QAC9B,MAAM,iBAAiB,GAAG;YACzB,oBAAoB;YACpB,mBAAmB;YACnB,wBAAwB;YACxB,uBAAuB;YACvB,sBAAsB;YACtB,wBAAwB;YACxB,uBAAuB;YACvB,cAAc;YACd,aAAa;YACb,eAAe;YACf,uBAAuB;YACvB,sBAAsB;YACtB,aAAa;SACb,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC;IAED,wBAAwB,CAAC,GAAW;QACnC,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,WAAW;QACV,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAErB,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,CAAgB;QACjC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;YAC1D,OAAO;SACP;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACnD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhF,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;YACxE,OAAO;SACP;QAED,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,KAAK,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YAChE,OAAO;SACP;QAED,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IACC,CAAC,CAAC,GAAG,KAAK,WAAW;eAClB,CAAC,CAAC,GAAG,KAAK,SAAS;eACnB,CAAC,CAAC,GAAG,KAAK,QAAQ;eAClB,CAAC,CAAC,GAAG,KAAK,UAAU;eACpB,CAAC,CAAC,GAAG,KAAK,MAAM;eAChB,CAAC,CAAC,GAAG,KAAK,KAAK,EACjB;YACD,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;SACxC;IACF,CAAC;IAED,qBAAqB,CAAC,CAAgB,EAAE,WAAmB,EAAE,SAAkB;QAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QACzG,MAAM,WAAW,GAAG,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC;QAE3D,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE;YAChF,OAAO;SACP;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,MAAM,EAAE;YACX,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;YACjD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;SAC3B;aAAM;YACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;YAC5D,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;SAC5B;QAED,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAElC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAE3C,IAAI,WAAW,IAAI,MAAM,EAAE;YAC1B,OAAO;SACP;QAED,eAAe;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,IAAI,IAAI,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAEhG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC7B,IAAI,CAAC,SAAS,CAAqC,kBAAkB,EAAE;gBACtE,IAAI;aACJ,CAAC,CAAC;SACH;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACzB,CAAC;IAED,gBAAgB,CAAC,CAAgB,EAAE,WAAmB;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QAEzB,IAAI,IAAI,CAAC,OAAO,IAAI,WAAW,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;YAC3E,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,OAAO;SACP;QAED,WAAW,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,IAAI,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAEpF,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACpE,CAAC;IAED,cAAc,CAAC,CAAgB,EAAE,WAAmB;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QAEzB,IAAI,WAAW,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACjD,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,OAAO;SACP;QAED,IAAI,WAAW,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE;YAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxC,OAAO;SACP;QAED,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,OAAO;SACP;QAED,WAAW,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,IAAI,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QACpF,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IACrE,CAAC;IAED,aAAa,CAAC,CAAgB,EAAE,WAAmB;QAClD,MAAM,oBAAoB,GAAG,WAAW,GAAG,eAAe,GAAG,CAAC,CAAC,CAAC;QAChE,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAErF,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,EAAE;YACjE,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,OAAO;SACP;QAED,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IAED,eAAe,CAAC,CAAgB,EAAE,WAAmB;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAC/C,MAAM,oBAAoB,GAAG,WAAW,GAAG,eAAe,GAAG,WAAW,CAAC;QAEzE,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;QACrF,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAErF,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IAED,WAAW,CAAC,CAAgB;QAC3B,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAE3E,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,EAAE;YACxC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,OAAO;SACP;QAED,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACrD,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACrF,CAAC;IAED,MAAM;QACL,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,QAAQ,CAAC,CAAgB;QACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/F,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEtC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAE9B,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC7D,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SAC1B;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACnD,OAAO,IAAI,CAAC,OAAO,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAExB,IAAI,MAAM,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE;gBAChD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACnE;iBAAM,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC5B,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;aACzC;SACD;QAED,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;YAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACvD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;SAClC;QAED,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;YACpD,IAAI,CAAC,iBAAiB,EAAE,CAAC;SACzB;QAED,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClD,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAE1B,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACpD,OAAO,IAAI,CAAC,QAAQ,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,IAAI,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE;gBAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACrB;iBAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;gBACnD,2EAA2E;gBAC3E,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;aACvD;iBAAM;gBACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACpB;SACD;IACF,CAAC;IAED,MAAM;QACL,IAAI,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACxB;IACF,CAAC;IAED,iBAAiB,CAAC,CAAS;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEtC,IAAI,CAAC,IAAK,CAAC,CAAC,MAAsB,CAAC,SAAS,CAAC,QAAQ,CAAC,kCAAkC,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACpH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC;SAC1C;QAED,IAAI,CAAC,IAAK,CAAC,CAAC,MAAsB,CAAC,SAAS,CAAC,QAAQ,CAAC,kCAAkC,CAAC,EAAE;YAC1F,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;SACzC;QAED,IAAI,OAAO,EAAE,EAAE;YACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACxB;QAED,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,MAAM,EAAE,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,gBAAgB;QACrB,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY,CAAC,GAAW;QACvB,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAEtG,kDAAkD;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,UAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1J,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAmB,EAAE,GAAW,EAAE,QAA8B,EAAE,aAAmC;QAC5H,IAAI,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,qBAAqB,CAAC;YAE1B,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,qBAAqB,EAAE;gBAC7E,qBAAqB,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpE,GAAG,EAAE,CAAC;aACN;YAED,OAAO,qBAAqB,CAAC;SAC7B;IACF,CAAC;IAED,qBAAqB,CAAC,OAAe;QACpC,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;QAE5E,IAAI,oBAAoB,EAAE,WAAW,EAAE;YACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,OAAO;SACP;QAED,MAAM,aAAa,GAAyB,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAyB,CAAC;QAE7I,IAAI,aAAa,CAAC,MAAM,EAAE;YACzB,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;SACxB;IACF,CAAC;IAED,6BAA6B,CAAC,IAAkB,EAAE,WAAmB,EAAE,cAAuB;QAC7F,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAExC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,IAAI,cAAc,EAAE;YACnB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;SAC/D;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,mBAAmB;QAClB,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,wBAAwB,GAAG,oBAAoB,IAAI,oBAAoB,CAAC,WAAW,CAAC;QAE1F,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACxD,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,gBAAgB,CAAC;YAC1C,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,gBAAgB;QACf,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;YACnC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;SAC7B;IACF,CAAC;IAED,YAAY,CAAC,CAAQ;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;IACpB,CAAC;IAED,cAAc,CAAC,CAAa;QAC3B,CAAC,CAAC,cAAc,EAAE,CAAC;IACpB,CAAC;IAED,WAAW,CAAC,CAAwC;QACnD,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,IAAwB,CAAC;QAEnD,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;QAClD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAEhC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,iBAAiB,CAAC;QAC/D,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAE3F,IAAI,gBAAgB,IAAI,sBAAsB,EAAE;YAC/C,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,0FAA0F;YACnH,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAChC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEpC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE;YAClC,IAAI,CAAC,SAAS,CAAqC,kBAAkB,EAAE;gBACtE,IAAI,EAAE,QAAQ,CAAC,UAAU;aACzB,CAAC,CAAC;SACH;QAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC9B,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,kBAAkB;QAClB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,YAAY;QACX,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,qBAAqB,CAAC,WAAmB;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5E,MAAM,yBAAyB,GAAG,WAAW,CAAC,cAAc,IAAI,EAAE,CAAC;QACnE,MAAM,WAAW,GAAG,WAAW,EAAE,WAAW,CAAC;QAC7C,MAAM,gBAAgB,GAAG,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACvI,MAAM,eAAe,GAAG,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE5E,IAAI,WAAW,EAAE;YAChB,QAAQ,CAAC,GAAG,eAAe,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;SAChF;aAAM;YACN,QAAQ,CAAC,GAAG,yBAAyB,IAAI,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;SACjG;IACF,CAAC;IAED,MAAM;QACL,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAA+B,CAAC;QAE1F,IAAI,YAAY,EAAE,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE;YACtC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACzB;QAED,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAExB,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACzB;aAAM;YACN,IAAI,CAAC,KAAK,EAAE,CAAC;SACb;IACF,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAmB,EAAE,OAAgB;QACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,0BAA0B,CAAS,CAAC;QACtE,MAAM,QAAQ,GAAG,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAE1C,IAAI,QAAQ,EAAE;YACb,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC;YACtD,MAAM,uBAAuB,GAAG,YAAY,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,IAAI,YAAY,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC;YAE/G,IAAI,CAAC,uBAAuB,EAAE;gBAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;aACtG;SACD;IACF,CAAC;IAED,uBAAuB;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhK,IAAI,cAAc,EAAE;YACnB,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;SACtD;IACF,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,WAAW;QACd,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,uBAAuB;QAC1B,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,KAAK;QACR,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAkB,CAAC,aAAa,CAAC,aAAa,CAAE,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,eAAe,CAAE,CAAC;IACjK,CAAC;IAED,KAAK,CAAC,UAAU;QACf,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC5D,MAAM,MAAM,GAAG,cAAe,CAAC,aAAa,CAAoB,0BAA0B,CAAE,CAAC;QAE7F,yBAAyB;QACzB,gDAAgD;QAChD,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAEhC,OAAO,MAAM,CAAC;IACf,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,CAAC;IAC5C,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,OAAO,CAAC;IACrE,CAAC;IAED,IAAI,wBAAwB;QAC3B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACxB,OAAO,EAAE,CAAC;SACV;QAED,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,EAAE;YACxC,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACpD;QAED,IAAI,IAAI,CAAC,qCAAqC,EAAE;YAC/C,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,qBAAqB,IAAI,EAAE,EAAE,CAAC;SACrD;QAED,OAAO,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,qBAAqB;QACxB,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,EAAE;YACxC,OAAO;SACP;QAED,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,qBAAqB;QACxB,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,sBAAsB;QACzB,OAAO;YACN,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACtE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC;YAClE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACtE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC;SAC9E,CAAC;IACH,CAAC;IAED,IAAI,sBAAsB;QACzB,OAAO;YACN,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC;YAC3E,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC;YACnF,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC;YACvE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC;SAC3E,CAAC;IACH,CAAC;IAED,IAAI,kCAAkC;QACrC,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,YAAY;eACjF,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,IAAI,qCAAqC;QACxC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC;IACjE,CAAC;IAED,IAAI,iCAAiC;QACpC,OAAO,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC;IACjG,CAAC;IAED;;OAEG;IACH,IAAI,sBAAsB;QACzB,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,EAAE,iBAAiB,EAAE,MAAM,IAAI,KAAK,CAAC;IACjD,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,OAAO,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,YAAY;QACf,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,uBAAuB;QAC1B,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ;QACpB,UAAQ,CAAC,UAAU,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,MAAM;QACT,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClF,OAAO;YACN,aAAa,EAAE;gBACd,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI;aAChC;YACD,uBAAuB,EAAE;gBACxB,SAAS,EAAE,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc;gBAC1D,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI;aACrC;YACD,kBAAkB,EAAE;gBACnB,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI;gBACzC,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,OAAO;aACtF;SACD,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QACV,OAAO;YACN,OAAO,EAAE;gBACR,yBAAyB,EAAE,IAAI;gBAC/B,2CAA2C,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB;gBACpF,qCAAqC,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB;aAC/E;YACD,iBAAiB,EAAE;gBAClB,8BAA8B,EAAE,IAAI;gBACpC,4BAA4B,EAAE,IAAI;gBAClC,gCAAgC,EAAE,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,OAAO;gBACxE,8BAA8B,EAAE,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,KAAK;gBACpE,gCAAgC,EAAE,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,OAAO;gBACxE,oCAAoC,EAAE,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,WAAW;aAChF;SACD,CAAC;IACH,CAAC;CACD,CAAA;AAhiCA;IADC,QAAQ,EAAE;uCACI;AASf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CACN;AAYtB;IADC,QAAQ,EAAE;6CACU;AASrB;IADC,QAAQ,EAAE;6CACU;AAUrB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACT;AAQnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;4CACjC;AAW7B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACT;AAQnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACT;AAQnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yCACV;AAQlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,CAAC,iBAAiB,EAAE,CAAC;wCACtD;AAS7B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACJ;AAOxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yCACV;AAOlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sDACG;AAS/B;IADC,QAAQ,EAAE;gDACa;AASxB;IADC,QAAQ,EAAE;mDACgB;AAG3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;8CACxB;AAGvB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gDACxB;AAGtC;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;4CAChC;AAGpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;yDACb;AAOlC;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;uCAC/C;AAc7B;IADC,IAAI,EAAE;mDACgC;AAQvC;IADC,IAAI,EAAE;sCACa;AA9Kf,QAAQ;IAvDb,aAAa,CAAC;QACd,GAAG,EAAE,cAAc;QACnB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,WAAW;QACnB,gBAAgB,EAAE;YACjB,0BAA0B;YAC1B,oBAAoB;YACpB,kBAAkB;YAClB,cAAc;SACd;QACD,QAAQ,EAAE,gBAAgB;QAC1B,kBAAkB,EAAE,uBAAuB;QAC3C,YAAY,EAAE;YACb,YAAY;YACZ,IAAI;YACJ,iBAAiB;YACjB,IAAI;YACJ,aAAa;YACb,MAAM;YACN,gBAAgB;YAChB,mBAAmB;YACnB,OAAO;YACP,iBAAiB;YACjB,KAAK;YACL,cAAc;SACd;KACD,CAAC;IACF;;;OAGG;;IACF,KAAK,CAAC,QAAQ,CAAC;IAEhB;;;;;OAKG;;IACF,KAAK,CAAC,OAAO,CAAC;IACf;;;;OAIG;;IACF,KAAK,CAAqC,kBAAkB,EAAE;QAC9D,MAAM,EAAE;YACP;;cAEE;YACF,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAC3B;KACD,CAAC;GAEI,QAAQ,CAyiCb;AAED,QAAQ,CAAC,MAAM,EAAE,CAAC;AAElB,eAAe,QAAQ,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { isPhone, isAndroid } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport \"@ui5/webcomponents-icons/dist/not-editable.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport {\n\tisBackSpace,\n\tisDelete,\n\tisShow,\n\tisUp,\n\tisDown,\n\tisEnter,\n\tisEscape,\n\tisTabNext,\n\tisTabPrevious,\n\tisPageUp,\n\tisPageDown,\n\tisHome,\n\tisEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { IIcon } from \"./Icon.js\";\nimport * as Filters from \"./Filters.js\";\n\nimport {\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_TYPE_SUCCESS,\n\tVALUE_STATE_TYPE_INFORMATION,\n\tVALUE_STATE_TYPE_ERROR,\n\tVALUE_STATE_TYPE_WARNING,\n\tINPUT_SUGGESTIONS_TITLE,\n\tCOMBOBOX_AVAILABLE_OPTIONS,\n\tSELECT_OPTIONS,\n\tLIST_ITEM_POSITION,\n\tLIST_ITEM_GROUP_HEADER,\n\tINPUT_CLEAR_ICON_ACC_NAME,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Templates\nimport ComboBoxTemplate from \"./generated/templates/ComboBoxTemplate.lit.js\";\nimport ComboBoxPopoverTemplate from \"./generated/templates/ComboBoxPopoverTemplate.lit.js\";\n\n// Styles\nimport ComboBoxCss from \"./generated/themes/ComboBox.css.js\";\nimport ComboBoxPopoverCss from \"./generated/themes/ComboBoxPopover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport SuggestionsCss from \"./generated/themes/Suggestions.css.js\";\n\nimport ComboBoxItem from \"./ComboBoxItem.js\";\nimport Icon from \"./Icon.js\";\nimport Popover from \"./Popover.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport List from \"./List.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport BusyIndicator from \"./BusyIndicator.js\";\nimport Button from \"./Button.js\";\nimport StandardListItem from \"./StandardListItem.js\";\nimport ComboBoxGroupItem from \"./ComboBoxGroupItem.js\";\nimport GroupHeaderListItem from \"./GroupHeaderListItem.js\";\nimport ComboBoxFilter from \"./types/ComboBoxFilter.js\";\nimport type FormSupportT from \"./features/InputElementsFormSupport.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport Input, { InputEventDetail } from \"./Input.js\";\nimport SuggestionItem from \"./SuggestionItem.js\";\n\nconst SKIP_ITEMS_SIZE = 10;\n\n/**\n * Interface for components that may be slotted inside a `ui5-combobox`\n * @public\n */\ninterface IComboBoxItem extends UI5Element {\n\ttext: string,\n\tfocused: boolean,\n\tisGroupItem: boolean,\n\tselected?: boolean,\n\tadditionalText?: string,\n\tstableDomRef: string,\n}\n\ntype ValueStateAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;\ntype ValueStateTypeAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;\n\ntype ComboBoxListItem = StandardListItem & {\n\tmappedItem: ComboBoxItem\n};\n\nenum ValueStateIconMapping {\n\tError = \"error\",\n\tWarning = \"alert\",\n\tSuccess = \"sys-enter-2\",\n\tInformation = \"information\",\n}\n\ntype ComboBoxSelectionChangeEventDetail = {\n\titem: ComboBoxItem,\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-combobox` component represents a drop-down menu with a list of the available options and a text input field to narrow down the options.\n *\n * It is commonly used to enable users to select an option from a predefined list.\n *\n * ### Structure\n * The `ui5-combobox` consists of the following elements:\n *\n * - Input field - displays the selected option or a custom user entry. Users can type to narrow down the list or enter their own value.\n * - Drop-down arrow - expands\\collapses the option list.\n * - Option list - the list of available options.\n *\n * ### Keyboard Handling\n *\n * The `ui5-combobox` provides advanced keyboard handling.\n *\n * - [F4], [Alt]+[Up], or [Alt]+[Down] - Toggles the picker.\n * - [Escape] - Closes the picker, if open. If closed, cancels changes and reverts the typed in value.\n * - [Enter] or [Return] - If picker is open, takes over the currently selected item and closes it.\n * - [Down] - Selects the next matching item in the picker.\n * - [Up] - Selects the previous matching item in the picker.\n * - [Page Down] - Moves selection down by page size (10 items by default).\n * - [Page Up] - Moves selection up by page size (10 items by default).\n * - [Home] - If focus is in the ComboBox, moves cursor at the beginning of text. If focus is in the picker, selects the first item.\n * - [End] - If focus is in the ComboBox, moves cursor at the end of text. If focus is in the picker, selects the last item.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/ComboBox.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.6\n */\n@customElement({\n\ttag: \"ui5-combobox\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\tstyles: ComboBoxCss,\n\tstaticAreaStyles: [\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t\tComboBoxPopoverCss,\n\t\tSuggestionsCss,\n\t],\n\ttemplate: ComboBoxTemplate,\n\tstaticAreaTemplate: ComboBoxPopoverTemplate,\n\tdependencies: [\n\t\tComboBoxItem,\n\t\tIcon,\n\t\tResponsivePopover,\n\t\tList,\n\t\tBusyIndicator,\n\t\tButton,\n\t\tStandardListItem,\n\t\tGroupHeaderListItem,\n\t\tPopover,\n\t\tComboBoxGroupItem,\n\t\tInput,\n\t\tSuggestionItem,\n\t],\n})\n/**\n * Fired when the input operation has finished by pressing Enter, focusout or an item is selected.\n * @public\n */\n@event(\"change\")\n\n/**\n * Fired when typing in input or clear icon is pressed.\n *\n * **Note:** filterValue property is updated, input is changed.\n * @public\n */\n@event(\"input\")\n/**\n * Fired when selection is changed by user interaction\n * @param {IComboBoxItem} item item to be selected.\n * @public\n */\n@event<ComboBoxSelectionChangeEventDetail>(\"selection-change\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\titem: { type: HTMLElement },\n\t},\n})\n\nclass ComboBox extends UI5Element {\n\t/**\n\t * Defines the value of the component.\n\t * @default \"\"\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property()\n\tvalue!: string;\n\n\t/**\n\t * Defines whether the value will be autocompleted to match an item\n\t * @default false\n\t * @public\n\t * @since 1.19.0\n\t */\n\t@property({ type: Boolean })\n\tnoTypeahead!: boolean;\n\n\t/**\n\t * Defines the \"live\" value of the component.\n\t *\n\t * **Note:** If we have an item e.g. \"Bulgaria\", \"B\" is typed, \"ulgaria\" is typed ahead, value will be \"Bulgaria\", filterValue will be \"B\".\n\t *\n\t * **Note:** Initially the filter value is synced with value.\n\t * @default \"\"\n\t * @private\n\t */\n\t@property()\n\tfilterValue!: string;\n\n\t/**\n\t * Defines a short hint intended to aid the user with data entry when the\n\t * component has no value.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tplaceholder!: string;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is completely noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t *\n\t * **Note:** A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Defines whether the component is required.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired!: boolean;\n\n\t/**\n\t * Indicates whether a loading indicator should be shown in the picker.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tloading!: boolean;\n\n\t/**\n\t * Defines the filter type of the component.\n\t * @default \"StartsWithPerTerm\"\n\t * @public\n\t */\n\t@property({ type: ComboBoxFilter, defaultValue: ComboBoxFilter.StartsWithPerTerm })\n\tfilter!: `${ComboBoxFilter}`;\n\n\t/**\n\t * Defines whether the clear icon of the combobox will be shown.\n\t * @default false\n\t * @public\n\t * @since 1.20.1\n\t */\n\t@property({ type: Boolean })\n\tshowClearIcon!: boolean;\n\n\t/**\n\t * Indicates whether the input is focssed\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * Indicates whether the visual focus is on the value state header\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_isValueStateFocused!: boolean;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\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 \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef!: string;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_iconPressed!: boolean;\n\n\t@property({ type: Object, noAttribute: true, multiple: true })\n\t_filteredItems!: Array<IComboBoxItem>;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_listWidth!: number;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_effectiveShowClearIcon!: boolean;\n\n\t/**\n\t * Defines the component items.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n\titems!: Array<IComboBoxItem>;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t * The value state message slot should contain only one root element.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the `ui5-combobox` is in `Information`, `Warning` or `Error` value state.\n\t * @since 1.0.0-rc.9\n\t * @public\n\t */\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the icon to be displayed in the input field.\n\t * @public\n\t * @since 1.0.0-rc.9\n\t */\n\t@slot()\n\ticon!: Array<IIcon>;\n\n\t_initialRendering: boolean;\n\t_itemFocused: boolean;\n\t// used only for Safari fix (check onAfterRendering)\n\t_autocomplete: boolean;\n\t_isKeyNavigation: boolean;\n\t_selectionPerformed: boolean;\n\t_lastValue: string;\n\t_selectedItemText: string;\n\t_userTypedValue: string;\n\tresponsivePopover?: ResponsivePopover;\n\tvalueStatePopover?: Popover;\n\tFormSupport?: typeof FormSupportT;\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._filteredItems = [];\n\t\tthis._initialRendering = true;\n\t\tthis._itemFocused = false;\n\t\tthis._autocomplete = false;\n\t\tthis._isKeyNavigation = false;\n\t\t// when an initial value is set it should be considered as a _lastValue\n\t\tthis._lastValue = this.getAttribute(\"value\") || \"\";\n\t\tthis._selectionPerformed = false;\n\t\tthis._selectedItemText = \"\";\n\t\tthis._userTypedValue = \"\";\n\t}\n\n\tasync onBeforeRendering() {\n\t\tconst popover: Popover | undefined = this.valueStatePopover;\n\n\t\tthis.FormSupport = getFeature<typeof FormSupportT>(\"FormSupport\");\n\n\t\tthis._effectiveShowClearIcon = (this.showClearIcon && !!this.value && !this.readonly && !this.disabled);\n\n\t\tif (this._initialRendering || this.filter === \"None\") {\n\t\t\tthis._filteredItems = this.items;\n\t\t}\n\n\t\tif (this.open && !this._isKeyNavigation) {\n\t\t\tconst items = this._filterItems(this.filterValue);\n\n\t\t\tthis._filteredItems = items.length ? items : this.items;\n\t\t}\n\n\t\tif (!this._initialRendering && document.activeElement === this && !this._filteredItems.length) {\n\t\t\tpopover?.close();\n\t\t}\n\n\t\tthis._selectMatchingItem();\n\t\tthis._initialRendering = false;\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\n\t\tconst suggestionsPopover = await this._getPicker();\n\t\tthis.items.forEach(item => {\n\t\t\titem._getRealDomRef = () => suggestionsPopover.querySelector(`*[data-ui5-stable=${item.stableDomRef}]`)!;\n\t\t});\n\t}\n\n\tget iconsCount() {\n\t\tconst slottedIconsCount = this.icon?.length || 0;\n\t\tconst clearIconCount = Number(this._effectiveShowClearIcon) ?? 0;\n\t\tconst arrowDownIconsCount = this.readonly ? 0 : 1;\n\n\t\treturn slottedIconsCount + clearIconCount + arrowDownIconsCount;\n\t}\n\n\tasync onAfterRendering() {\n\t\tconst picker: ResponsivePopover = await this._getPicker();\n\n\t\tif ((await this.shouldClosePopover()) && !isPhone()) {\n\t\t\tpicker.close(false, false, true);\n\t\t\tthis._clearFocus();\n\t\t\tthis._itemFocused = false;\n\t\t}\n\n\t\tthis.toggleValueStatePopover(this.shouldOpenValueStateMessagePopover);\n\t\tthis.storeResponsivePopoverWidth();\n\n\t\tif (isPhone()) {\n\t\t\tthis.value = this.inner.value;\n\t\t\tthis._selectMatchingItem();\n\t\t}\n\t}\n\n\tasync shouldClosePopover(): Promise<boolean> {\n\t\tconst popover: ResponsivePopover = await this._getPicker();\n\n\t\treturn popover.opened && !this.focused && !this._itemFocused && !this._isValueStateFocused;\n\t}\n\n\t_focusin(e: FocusEvent) {\n\t\tthis.focused = true;\n\t\tthis._autocomplete = false;\n\n\t\t!isPhone() && (e.target as HTMLInputElement).setSelectionRange(0, this.value.length);\n\t}\n\n\t_focusout(e: FocusEvent) {\n\t\tconst toBeFocused = e.relatedTarget as HTMLElement;\n\t\tconst focusedOutToValueStateMessage = toBeFocused?.shadowRoot?.querySelector(\".ui5-valuestatemessage-root\");\n\t\tconst clearIconWrapper = this.shadowRoot!.querySelector(\".ui5-input-clear-icon-wrapper\");\n\t\tconst focusedOutToClearIcon = clearIconWrapper === toBeFocused || clearIconWrapper?.contains(toBeFocused);\n\n\t\tif (this._effectiveShowClearIcon && focusedOutToClearIcon) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._fireChangeEvent();\n\n\t\tif (focusedOutToValueStateMessage) {\n\t\t\te.stopImmediatePropagation();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!(this.shadowRoot!.contains(toBeFocused)) && (this.staticAreaItem !== e.relatedTarget)) {\n\t\t\tthis.focused = false;\n\t\t\t!isPhone() && this._closeRespPopover(e);\n\t\t}\n\t}\n\n\t_afterOpenPopover() {\n\t\tthis._iconPressed = true;\n\t\tthis.inner.focus();\n\t}\n\n\t_afterClosePopover() {\n\t\tthis._iconPressed = false;\n\t\tthis._filteredItems = this.items;\n\t\tthis.filterValue = \"\";\n\n\t\t// close device's keyboard and prevent further typing\n\t\tif (isPhone()) {\n\t\t\tthis.blur();\n\t\t}\n\n\t\tif (this._selectionPerformed) {\n\t\t\tthis._lastValue = this.value;\n\t\t\tthis._selectionPerformed = false;\n\t\t}\n\t}\n\n\tasync _toggleRespPopover() {\n\t\tconst picker: ResponsivePopover = await this._getPicker();\n\n\t\tif (picker.opened) {\n\t\t\tthis._closeRespPopover();\n\t\t} else {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\n\tasync storeResponsivePopoverWidth() {\n\t\tif (this.open && !this._listWidth) {\n\t\t\tthis._listWidth = (await this._getPicker()).offsetWidth;\n\t\t}\n\t}\n\n\ttoggleValueStatePopover(open: boolean) {\n\t\tif (open) {\n\t\t\tthis.openValueStatePopover();\n\t\t} else {\n\t\t\tthis.closeValueStatePopover();\n\t\t}\n\t}\n\n\tasync openValueStatePopover() {\n\t\t(await this._getValueStatePopover())?.showAt(this);\n\t}\n\n\tasync closeValueStatePopover() {\n\t\t(await this._getValueStatePopover())?.close();\n\t}\n\n\tasync _getValueStatePopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\tconst popover: Popover = staticAreaItem!.querySelector<Popover>(\".ui5-valuestatemessage-popover\")!;\n\n\t\t// backward compatibility\n\t\t// rework all methods to work with async getters\n\t\tthis.valueStatePopover = popover;\n\n\t\treturn popover;\n\t}\n\n\t_resetFilter() {\n\t\tthis._userTypedValue = \"\";\n\t\tthis.inner.setSelectionRange(0, this.value.length);\n\t\tthis._filteredItems = this._filterItems(\"\");\n\t\tthis._selectMatchingItem();\n\t}\n\n\t_arrowClick() {\n\t\tthis.inner.focus();\n\t\tthis._resetFilter();\n\n\t\tif (isPhone() && this.value && !this._lastValue) {\n\t\t\tthis._lastValue = this.value;\n\t\t}\n\n\t\tthis._toggleRespPopover();\n\t}\n\n\t_handleMobileInput(e: CustomEvent<InputEventDetail>) {\n\t\tconst { target } = e;\n\t\tthis.filterValue = (target as Input).value;\n\t\tthis.value = (target as Input).value;\n\t\tthis.fireEvent(\"input\");\n\t}\n\n\t_input(e: InputEvent) {\n\t\tconst { value } = e.target as HTMLInputElement;\n\t\tconst shouldAutocomplete = this.shouldAutocomplete(e);\n\n\t\tif (e.target === this.inner) {\n\t\t\t// stop the native event, as the semantic \"input\" would be fired.\n\t\t\te.stopImmediatePropagation();\n\t\t\tthis.focused = true;\n\t\t\tthis._isValueStateFocused = false;\n\t\t}\n\n\t\tthis._filteredItems = this._filterItems(value);\n\n\t\tthis.value = value;\n\t\tthis.filterValue = value;\n\n\t\tthis._clearFocus();\n\n\t\t// autocomplete\n\t\tif (shouldAutocomplete && !isAndroid()) {\n\t\t\tconst item = this._getFirstMatchingItem(value);\n\t\t\titem && this._applyAtomicValueAndSelection(item, value, true);\n\n\t\t\tif (value !== \"\" && (item && !item.selected && !item.isGroupItem)) {\n\t\t\t\tthis.fireEvent<ComboBoxSelectionChangeEventDetail>(\"selection-change\", {\n\t\t\t\t\titem,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tthis.fireEvent(\"input\");\n\n\t\tif (isPhone()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._filteredItems.length || value === \"\") {\n\t\t\tthis._closeRespPopover();\n\t\t} else {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\tshouldAutocomplete(e: InputEvent): boolean {\n\t\tconst eventType = e.inputType;\n\t\tconst allowedEventTypes = [\n\t\t\t\"deleteWordBackward\",\n\t\t\t\"deleteWordForward\",\n\t\t\t\"deleteSoftLineBackward\",\n\t\t\t\"deleteSoftLineForward\",\n\t\t\t\"deleteEntireSoftLine\",\n\t\t\t\"deleteHardLineBackward\",\n\t\t\t\"deleteHardLineForward\",\n\t\t\t\"deleteByDrag\",\n\t\t\t\"deleteByCut\",\n\t\t\t\"deleteContent\",\n\t\t\t\"deleteContentBackward\",\n\t\t\t\"deleteContentForward\",\n\t\t\t\"historyUndo\",\n\t\t];\n\n\t\treturn !this.noTypeahead && !allowedEventTypes.includes(eventType);\n\t}\n\n\t_startsWithMatchingItems(str: string): Array<IComboBoxItem> {\n\t\treturn Filters.StartsWith(str, this._filteredItems, \"text\");\n\t}\n\n\t_clearFocus() {\n\t\tthis._filteredItems.map(item => {\n\t\t\titem.focused = false;\n\n\t\t\treturn item;\n\t\t});\n\t}\n\n\thandleNavKeyPress(e: KeyboardEvent) {\n\t\tif (this.focused && (isHome(e) || isEnd(e)) && this.value) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isOpen = this.open;\n\t\tconst currentItem = this._filteredItems.find(item => {\n\t\t\treturn isOpen ? item.focused : item.selected;\n\t\t});\n\n\t\tconst indexOfItem = currentItem ? this._filteredItems.indexOf(currentItem) : -1;\n\n\t\te.preventDefault();\n\n\t\tif (this.focused && isOpen && (isUp(e) || isPageUp(e) || isPageDown(e))) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._filteredItems.length - 1 === indexOfItem && isDown(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._isKeyNavigation = true;\n\n\t\tif (\n\t\t\te.key === \"ArrowDown\"\n\t\t\t|| e.key === \"ArrowUp\"\n\t\t\t|| e.key === \"PageUp\"\n\t\t\t|| e.key === \"PageDown\"\n\t\t\t|| e.key === \"Home\"\n\t\t\t|| e.key === \"End\"\n\t\t) {\n\t\t\tthis[`_handle${e.key}`](e, indexOfItem);\n\t\t}\n\t}\n\n\t_handleItemNavigation(e: KeyboardEvent, indexOfItem: number, isForward: boolean) {\n\t\tconst isOpen = this.open;\n\t\tconst currentItem = this._filteredItems[indexOfItem];\n\t\tconst nextItem = isForward ? this._filteredItems[indexOfItem + 1] : this._filteredItems[indexOfItem - 1];\n\t\tconst isGroupItem = currentItem && currentItem.isGroupItem;\n\n\t\tif ((!isOpen) && ((isGroupItem && !nextItem) || (!isGroupItem && !currentItem))) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._clearFocus();\n\n\t\tif (isOpen) {\n\t\t\tthis._itemFocused = true;\n\t\t\tthis.value = isGroupItem ? \"\" : currentItem.text;\n\t\t\tthis.focused = false;\n\t\t\tcurrentItem.focused = true;\n\t\t} else {\n\t\t\tthis.focused = true;\n\t\t\tthis.value = isGroupItem ? nextItem.text : currentItem.text;\n\t\t\tcurrentItem.focused = false;\n\t\t}\n\n\t\tthis._isValueStateFocused = false;\n\n\t\tthis._announceSelectedItem(indexOfItem);\n\t\tthis._scrollToItem(indexOfItem, isForward);\n\n\t\tif (isGroupItem && isOpen) {\n\t\t\treturn;\n\t\t}\n\n\t\t// autocomplete\n\t\tconst item = this._getFirstMatchingItem(this.value);\n\t\titem && this._applyAtomicValueAndSelection(item, (this.open ? this._userTypedValue : \"\"), true);\n\n\t\tif ((item && !item.selected)) {\n\t\t\tthis.fireEvent<ComboBoxSelectionChangeEventDetail>(\"selection-change\", {\n\t\t\t\titem,\n\t\t\t});\n\t\t}\n\n\t\tthis.fireEvent(\"input\");\n\t\tthis._fireChangeEvent();\n\t}\n\n\t_handleArrowDown(e: KeyboardEvent, indexOfItem: number) {\n\t\tconst isOpen = this.open;\n\n\t\tif (this.focused && indexOfItem === -1 && this.hasValueStateText && isOpen) {\n\t\t\tthis._isValueStateFocused = true;\n\t\t\tthis._announceValueStateText();\n\t\t\tthis.focused = false;\n\t\t\treturn;\n\t\t}\n\n\t\tindexOfItem = !isOpen && this.hasValueState && indexOfItem === -1 ? 0 : indexOfItem;\n\n\t\tthis._handleItemNavigation(e, ++indexOfItem, true /* isForward */);\n\t}\n\n\t_handleArrowUp(e: KeyboardEvent, indexOfItem: number) {\n\t\tconst isOpen = this.open;\n\n\t\tif (indexOfItem === 0 && !this.hasValueStateText) {\n\t\t\tthis._clearFocus();\n\t\t\tthis.focused = true;\n\t\t\tthis._itemFocused = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (indexOfItem === 0 && this.hasValueStateText && isOpen) {\n\t\t\tthis._clearFocus();\n\t\t\tthis._itemFocused = false;\n\t\t\tthis._isValueStateFocused = true;\n\t\t\tthis._announceValueStateText();\n\t\t\tthis._filteredItems[0].selected = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isValueStateFocused) {\n\t\t\tthis.focused = true;\n\t\t\tthis._isValueStateFocused = false;\n\t\t\treturn;\n\t\t}\n\n\t\tindexOfItem = !isOpen && this.hasValueState && indexOfItem === -1 ? 0 : indexOfItem;\n\t\tthis._handleItemNavigation(e, --indexOfItem, false /* isForward */);\n\t}\n\n\t_handlePageUp(e: KeyboardEvent, indexOfItem: number) {\n\t\tconst isProposedIndexValid = indexOfItem - SKIP_ITEMS_SIZE > -1;\n\t\tindexOfItem = isProposedIndexValid ? indexOfItem - SKIP_ITEMS_SIZE : 0;\n\t\tconst shouldMoveForward = this._filteredItems[indexOfItem].isGroupItem && !this.open;\n\n\t\tif (!isProposedIndexValid && this.hasValueStateText && this.open) {\n\t\t\tthis._clearFocus();\n\t\t\tthis._itemFocused = false;\n\t\t\tthis._isValueStateFocused = true;\n\t\t\tthis._announceValueStateText();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._handleItemNavigation(e, indexOfItem, shouldMoveForward);\n\t}\n\n\t_handlePageDown(e: KeyboardEvent, indexOfItem: number) {\n\t\tconst itemsLength = this._filteredItems.length;\n\t\tconst isProposedIndexValid = indexOfItem + SKIP_ITEMS_SIZE < itemsLength;\n\n\t\tindexOfItem = isProposedIndexValid ? indexOfItem + SKIP_ITEMS_SIZE : itemsLength - 1;\n\t\tconst shouldMoveForward = this._filteredItems[indexOfItem].isGroupItem && !this.open;\n\n\t\tthis._handleItemNavigation(e, indexOfItem, shouldMoveForward);\n\t}\n\n\t_handleHome(e: KeyboardEvent) {\n\t\tconst shouldMoveForward = this._filteredItems[0].isGroupItem && !this.open;\n\n\t\tif (this.hasValueStateText && this.open) {\n\t\t\tthis._clearFocus();\n\t\t\tthis._itemFocused = false;\n\t\t\tthis._isValueStateFocused = true;\n\t\t\tthis._announceValueStateText();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._handleItemNavigation(e, 0, shouldMoveForward);\n\t}\n\n\t_handleEnd(e: KeyboardEvent) {\n\t\tthis._handleItemNavigation(e, this._filteredItems.length - 1, true /* isForward */);\n\t}\n\n\t_keyup() {\n\t\tthis._userTypedValue = this.value.substring(0, this.inner.selectionStart || 0);\n\t}\n\n\t_keydown(e: KeyboardEvent) {\n\t\tconst isNavKey = isDown(e) || isUp(e) || isPageUp(e) || isPageDown(e) || isHome(e) || isEnd(e);\n\t\tconst picker = this.responsivePopover;\n\n\t\tthis._autocomplete = !(isBackSpace(e) || isDelete(e));\n\t\tthis._isKeyNavigation = false;\n\n\t\tif (isNavKey && !this.readonly && this._filteredItems.length) {\n\t\t\tthis.handleNavKeyPress(e);\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tconst focusedItem = this._filteredItems.find(item => {\n\t\t\t\treturn item.focused;\n\t\t\t});\n\n\t\t\tthis._fireChangeEvent();\n\n\t\t\tif (picker?.opened && !focusedItem?.isGroupItem) {\n\t\t\t\tthis._closeRespPopover();\n\t\t\t\tthis.focused = true;\n\t\t\t\tthis.inner.setSelectionRange(this.value.length, this.value.length);\n\t\t\t} else if (this.FormSupport) {\n\t\t\t\tthis.FormSupport.triggerFormSubmit(this);\n\t\t\t}\n\t\t}\n\n\t\tif (isEscape(e)) {\n\t\t\tthis.focused = true;\n\t\t\tthis.value = !this.open ? this._lastValue : this.value;\n\t\t\tthis._isValueStateFocused = false;\n\t\t}\n\n\t\tif ((isTabNext(e) || isTabPrevious(e)) && this.open) {\n\t\t\tthis._closeRespPopover();\n\t\t}\n\n\t\tif (isShow(e) && !this.readonly && !this.disabled) {\n\t\t\te.preventDefault();\n\n\t\t\tthis._resetFilter();\n\t\t\tthis._toggleRespPopover();\n\n\t\t\tconst selectedItem = this._filteredItems.find(item => {\n\t\t\t\treturn item.selected;\n\t\t\t});\n\n\t\t\tif (selectedItem && this.open) {\n\t\t\t\tthis._itemFocused = true;\n\t\t\t\tselectedItem.focused = true;\n\t\t\t\tthis.focused = false;\n\t\t\t} else if (this.open && this._filteredItems.length) {\n\t\t\t\t// If no item is selected, select the first one on \"Show\" (F4, Alt+Up/Down)\n\t\t\t\tthis._handleItemNavigation(e, 0, true /* isForward */);\n\t\t\t} else {\n\t\t\t\tthis.focused = true;\n\t\t\t}\n\t\t}\n\t}\n\n\t_click() {\n\t\tif (isPhone() && !this.readonly) {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\n\t_closeRespPopover(e?: Event) {\n\t\tconst picker = this.responsivePopover;\n\n\t\tif (e && (e.target as HTMLElement).classList.contains(\"ui5-responsive-popover-close-btn\") && this._selectedItemText) {\n\t\t\tthis.value = this._selectedItemText;\n\t\t\tthis.filterValue = this._selectedItemText;\n\t\t}\n\n\t\tif (e && (e.target as HTMLElement).classList.contains(\"ui5-responsive-popover-close-btn\")) {\n\t\t\tthis.value = this._lastValue || \"\";\n\t\t\tthis.filterValue = this._lastValue || \"\";\n\t\t}\n\n\t\tif (isPhone()) {\n\t\t\tthis._fireChangeEvent();\n\t\t}\n\n\t\tthis._isValueStateFocused = false;\n\t\tthis._clearFocus();\n\n\t\tpicker?.close();\n\t}\n\n\tasync _openRespPopover() {\n\t\t(await this._getPicker()).showAt(this, true);\n\t}\n\n\t_filterItems(str: string) {\n\t\tconst itemsToFilter = this.items.filter(item => !item.isGroupItem);\n\t\tconst filteredItems = (Filters[this.filter] || Filters.StartsWithPerTerm)(str, itemsToFilter, \"text\");\n\n\t\t// Return the filtered items and their group items\n\t\treturn this.items.filter((item, idx, allItems) => ComboBox._groupItemFilter(item, ++idx, allItems, filteredItems) || filteredItems.indexOf(item) !== -1);\n\t}\n\n\t/**\n\t * Returns true if the group header should be shown (if there is a filtered suggestion item for this group item)\n\t * @private\n\t */\n\tstatic _groupItemFilter(item: IComboBoxItem, idx: number, allItems: Array<IComboBoxItem>, filteredItems: Array<IComboBoxItem>) {\n\t\tif (item.isGroupItem) {\n\t\t\tlet groupHasFilteredItems;\n\n\t\t\twhile (allItems[idx] && !allItems[idx].isGroupItem && !groupHasFilteredItems) {\n\t\t\t\tgroupHasFilteredItems = filteredItems.indexOf(allItems[idx]) !== -1;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\treturn groupHasFilteredItems;\n\t\t}\n\t}\n\n\t_getFirstMatchingItem(current: string): ComboBoxItem | undefined {\n\t\tconst currentlyFocusedItem = this.items.find(item => item.focused === true);\n\n\t\tif (currentlyFocusedItem?.isGroupItem) {\n\t\t\tthis.value = this.filterValue;\n\t\t\treturn;\n\t\t}\n\n\t\tconst matchingItems: Array<ComboBoxItem> = (this._startsWithMatchingItems(current).filter(item => !item.isGroupItem) as Array<ComboBoxItem>);\n\n\t\tif (matchingItems.length) {\n\t\t\treturn matchingItems[0];\n\t\t}\n\t}\n\n\t_applyAtomicValueAndSelection(item: ComboBoxItem, filterValue: string, highlightValue: boolean) {\n\t\tconst value = (item && item.text) || \"\";\n\n\t\tthis.inner.value = value;\n\t\tif (highlightValue) {\n\t\t\tthis.inner.setSelectionRange(filterValue.length, value.length);\n\t\t}\n\t\tthis.value = value;\n\t}\n\n\t_selectMatchingItem() {\n\t\tconst currentlyFocusedItem = this.items.find(item => item.focused);\n\t\tconst shouldSelectionBeCleared = currentlyFocusedItem && currentlyFocusedItem.isGroupItem;\n\n\t\tconst itemToBeSelected = this._filteredItems.find(item => {\n\t\t\treturn !item.isGroupItem && (item.text === this.value) && !shouldSelectionBeCleared;\n\t\t});\n\n\t\tthis._filteredItems = this._filteredItems.map(item => {\n\t\t\titem.selected = item === itemToBeSelected;\n\t\t\treturn item;\n\t\t});\n\t}\n\n\t_fireChangeEvent() {\n\t\tif (this.value !== this._lastValue) {\n\t\t\tthis.fireEvent(\"change\");\n\t\t\tthis._lastValue = this.value;\n\t\t}\n\t}\n\n\t_inputChange(e: Event) {\n\t\te.preventDefault();\n\t}\n\n\t_itemMousedown(e: MouseEvent) {\n\t\te.preventDefault();\n\t}\n\n\t_selectItem(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst listItem = e.detail.item as ComboBoxListItem;\n\n\t\tthis._selectedItemText = listItem.mappedItem.text;\n\t\tthis._selectionPerformed = true;\n\n\t\tconst sameItemSelected = this.value === this._selectedItemText;\n\t\tconst sameSelectionPerformed = this.value.toLowerCase() === this.filterValue.toLowerCase();\n\n\t\tif (sameItemSelected && sameSelectionPerformed) {\n\t\t\tthis._fireChangeEvent(); // Click on an already typed, but not memoized value shouold also trigger the change event\n\t\t\treturn this._closeRespPopover();\n\t\t}\n\n\t\tthis.value = this._selectedItemText;\n\n\t\tif (!listItem.mappedItem.selected) {\n\t\t\tthis.fireEvent<ComboBoxSelectionChangeEventDetail>(\"selection-change\", {\n\t\t\t\titem: listItem.mappedItem,\n\t\t\t});\n\t\t}\n\n\t\tthis._filteredItems.map(item => {\n\t\t\titem.selected = (item === listItem.mappedItem && !item.isGroupItem);\n\t\t\treturn item;\n\t\t});\n\n\t\tthis._fireChangeEvent();\n\t\tthis._closeRespPopover();\n\n\t\t// reset selection\n\t\tthis.inner.setSelectionRange(this.value.length, this.value.length);\n\t}\n\n\t_onItemFocus() {\n\t\tthis._itemFocused = true;\n\t}\n\n\t_announceSelectedItem(indexOfItem: number) {\n\t\tconst currentItem = this._filteredItems[indexOfItem];\n\t\tconst nonGroupItems = this._filteredItems.filter(item => !item.isGroupItem);\n\t\tconst currentItemAdditionalText = currentItem.additionalText || \"\";\n\t\tconst isGroupItem = currentItem?.isGroupItem;\n\t\tconst itemPositionText = ComboBox.i18nBundle.getText(LIST_ITEM_POSITION, nonGroupItems.indexOf(currentItem) + 1, nonGroupItems.length);\n\t\tconst groupHeaderText = ComboBox.i18nBundle.getText(LIST_ITEM_GROUP_HEADER);\n\n\t\tif (isGroupItem) {\n\t\t\tannounce(`${groupHeaderText} ${currentItem.text}`, InvisibleMessageMode.Polite);\n\t\t} else {\n\t\t\tannounce(`${currentItemAdditionalText} ${itemPositionText}`.trim(), InvisibleMessageMode.Polite);\n\t\t}\n\t}\n\n\t_clear() {\n\t\tconst selectedItem = this.items.find(item => item.selected) as (ComboBoxItem | undefined);\n\n\t\tif (selectedItem?.text === this.value) {\n\t\t\tthis.fireEvent(\"change\");\n\t\t}\n\n\t\tthis.value = \"\";\n\t\tthis.fireEvent(\"input\");\n\n\t\tif (this._isPhone) {\n\t\t\tthis._lastValue = \"\";\n\t\t\tthis.fireEvent(\"change\");\n\t\t} else {\n\t\t\tthis.focus();\n\t\t}\n\t}\n\n\tasync _scrollToItem(indexOfItem: number, forward: boolean) {\n\t\tconst picker = await this._getPicker();\n\t\tconst list = picker.querySelector(\".ui5-combobox-items-list\") as List;\n\t\tconst listItem = list?.items[indexOfItem];\n\n\t\tif (listItem) {\n\t\t\tconst pickerRect = picker.getBoundingClientRect();\n\t\t\tconst listItemRect = listItem.getBoundingClientRect();\n\t\t\tconst isListItemInVisibleArea = listItemRect.top >= pickerRect.top && listItemRect.bottom <= pickerRect.bottom;\n\n\t\t\tif (!isListItemInVisibleArea) {\n\t\t\t\tlistItem.scrollIntoView({ behavior: \"instant\", block: forward ? \"end\" : \"start\", inline: \"nearest\" });\n\t\t\t}\n\t\t}\n\t}\n\n\t_announceValueStateText() {\n\t\tconst valueStateText = this.shouldDisplayDefaultValueStateMessage ? this.valueStateDefaultText : this.valueStateMessageText.map(el => el.textContent).join(\" \");\n\n\t\tif (valueStateText) {\n\t\t\tannounce(valueStateText, InvisibleMessageMode.Polite);\n\t\t}\n\t}\n\n\tget _headerTitleText() {\n\t\treturn ComboBox.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget _popupLabel() {\n\t\treturn ComboBox.i18nBundle.getText(COMBOBOX_AVAILABLE_OPTIONS);\n\t}\n\n\tget _iconAccessibleNameText() {\n\t\treturn ComboBox.i18nBundle.getText(SELECT_OPTIONS);\n\t}\n\n\tget inner(): HTMLInputElement {\n\t\treturn isPhone() ? this.responsivePopover!.querySelector(\"[ui5-input]\")!.shadowRoot!.querySelector(\"input\")! : this.shadowRoot!.querySelector(\"[inner-input]\")!;\n\t}\n\n\tasync _getPicker() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\tconst picker = staticAreaItem!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\n\t\t// backward compatibility\n\t\t// rework all methods to work with async getters\n\t\tthis.responsivePopover = picker;\n\n\t\treturn picker;\n\t}\n\n\tget hasValueState(): boolean {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget hasValueStateText(): boolean {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Success;\n\t}\n\n\tget ariaValueStateHiddenText(): string {\n\t\tif (!this.hasValueState) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tlet text = \"\";\n\n\t\tif (this.valueState !== ValueState.None) {\n\t\t\ttext = this.valueStateTypeMappings[this.valueState];\n\t\t}\n\n\t\tif (this.shouldDisplayDefaultValueStateMessage) {\n\t\t\treturn `${text} ${this.valueStateDefaultText || \"\"}`;\n\t\t}\n\n\t\treturn `${text}`.concat(\" \", this.valueStateMessageText.map(el => el.textContent).join(\" \"));\n\t}\n\n\tget valueStateDefaultText(): string | undefined {\n\t\tif (this.valueState === ValueState.None) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this.valueStateTextMappings[this.valueState];\n\t}\n\n\tget valueStateMessageText(): Array<Node> {\n\t\treturn this.getSlottedNodes(\"valueStateMessage\").map(el => el.cloneNode(true));\n\t}\n\n\tget valueStateTextMappings(): ValueStateAnnouncement {\n\t\treturn {\n\t\t\t[ValueState.Success]: ComboBox.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t[ValueState.Error]: ComboBox.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t[ValueState.Warning]: ComboBox.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t\t[ValueState.Information]: ComboBox.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t};\n\t}\n\n\tget valueStateTypeMappings(): ValueStateTypeAnnouncement {\n\t\treturn {\n\t\t\t[ValueState.Success]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n\t\t\t[ValueState.Information]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),\n\t\t\t[ValueState.Error]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t[ValueState.Warning]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n\t\t};\n\t}\n\n\tget shouldOpenValueStateMessagePopover(): boolean {\n\t\treturn this.focused && !this.readonly && this.hasValueStateText && !this._iconPressed\n\t\t\t&& !this.open && !this._isPhone;\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage(): boolean {\n\t\treturn !this.valueStateMessage.length && this.hasValueStateText;\n\t}\n\n\tget _valueStatePopoverHorizontalAlign(): `${PopoverHorizontalAlign}` {\n\t\treturn this.effectiveDir !== \"rtl\" ? PopoverHorizontalAlign.Left : PopoverHorizontalAlign.Right;\n\t}\n\n\t/**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateMessageIcon(): string {\n\t\treturn this.valueState !== ValueState.None ? ValueStateIconMapping[this.valueState] : \"\";\n\t}\n\n\tget open(): boolean {\n\t\treturn this?.responsivePopover?.opened || false;\n\t}\n\n\tget _isPhone(): boolean {\n\t\treturn isPhone();\n\t}\n\n\tget itemTabIndex() {\n\t\treturn undefined;\n\t}\n\n\tget ariaLabelText(): string | undefined {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget clearIconAccessibleName() {\n\t\treturn ComboBox.i18nBundle.getText(INPUT_CLEAR_ICON_ACC_NAME);\n\t}\n\n\tstatic async onDefine() {\n\t\tComboBox.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n\n\tget styles() {\n\t\tconst remSizeInPx = parseInt(getComputedStyle(document.documentElement).fontSize);\n\t\treturn {\n\t\t\tpopoverHeader: {\n\t\t\t\t\"width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t\tsuggestionPopoverHeader: {\n\t\t\t\t\"display\": this._listWidth === 0 ? \"none\" : \"inline-block\",\n\t\t\t\t\"width\": `${this._listWidth || \"\"}px`,\n\t\t\t},\n\t\t\tsuggestionsPopover: {\n\t\t\t\t\"min-width\": `${this.offsetWidth || 0}px`,\n\t\t\t\t\"max-width\": (this.offsetWidth / remSizeInPx) > 40 ? `${this.offsetWidth}px` : \"40rem\",\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tpopover: {\n\t\t\t\t\"ui5-suggestions-popover\": true,\n\t\t\t\t\"ui5-popover-with-value-state-header-phone\": this._isPhone && this.hasValueStateText,\n\t\t\t\t\"ui5-popover-with-value-state-header\": !this._isPhone && this.hasValueStateText,\n\t\t\t},\n\t\t\tpopoverValueState: {\n\t\t\t\t\"ui5-valuestatemessage-header\": true,\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Success,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Error,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Warning,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t};\n\t}\n}\n\nComboBox.define();\n\nexport default ComboBox;\n\nexport type {\n\tComboBoxSelectionChangeEventDetail,\n\tIComboBoxItem,\n};\n"]}
@@ -7,6 +7,7 @@ import "@ui5/webcomponents-icons/dist/appointment-2.js";
7
7
  import "@ui5/webcomponents-icons/dist/decline.js";
8
8
  import DateComponentBase from "./DateComponentBase.js";
9
9
  import ResponsivePopover from "./ResponsivePopover.js";
10
+ import Calendar from "./Calendar.js";
10
11
  import type { CalendarSelectedDatesChangeEventDetail } from "./Calendar.js";
11
12
  import Input from "./Input.js";
12
13
  import InputType from "./types/InputType.js";
@@ -212,7 +213,9 @@ declare class DatePicker extends DateComponentBase implements IFormElement {
212
213
  * @protected
213
214
  */
214
215
  onResponsivePopoverAfterClose(): void;
216
+ onResponsivePopoverBeforeOpen(): void;
215
217
  onBeforeRendering(): void;
218
+ get _calendar(): Calendar;
216
219
  /**
217
220
  * Override in derivatives to change calendar selection mode
218
221
  * @protected
@@ -133,6 +133,10 @@ let DatePicker = DatePicker_1 = class DatePicker extends DateComponentBase {
133
133
  this._getInput()?.focus();
134
134
  }
135
135
  }
136
+ onResponsivePopoverBeforeOpen() {
137
+ this._calendar.timestamp = this._calendarTimestamp;
138
+ this._calendarCurrentPicker = this.firstPicker;
139
+ }
136
140
  onBeforeRendering() {
137
141
  this.FormSupport = getFeature("FormSupport");
138
142
  ["minDate", "maxDate"].forEach((prop) => {
@@ -150,6 +154,10 @@ let DatePicker = DatePicker_1 = class DatePicker extends DateComponentBase {
150
154
  this.value = this.normalizeValue(this.value) || this.value;
151
155
  this.liveValue = this.value;
152
156
  }
157
+ get _calendar() {
158
+ return this.staticAreaItem.shadowRoot.querySelector("[ui5-responsive-popover]")
159
+ .querySelector("[ui5-calendar]");
160
+ }
153
161
  /**
154
162
  * Override in derivatives to change calendar selection mode
155
163
  * @protected
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../src/DatePicker.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport modifyDateBy from \"@ui5/webcomponents-localization/dist/dates/modifyDateBy.js\";\nimport getRoundedTimestamp from \"@ui5/webcomponents-localization/dist/dates/getRoundedTimestamp.js\";\nimport getTodayUTCTimestamp from \"@ui5/webcomponents-localization/dist/dates/getTodayUTCTimestamp.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport {\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageDownShift,\n\tisPageUpShiftCtrl,\n\tisPageDownShiftCtrl,\n\tisShow,\n\tisF4,\n\tisEnter,\n\tisTabNext,\n\tisTabPrevious,\n\tisF6Next,\n\tisF6Previous,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isPhone, isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport CalendarPickersMode from \"./types/CalendarPickersMode.js\";\nimport type FormSupportT from \"./features/InputElementsFormSupport.js\";\nimport type { IFormElement } from \"./features/InputElementsFormSupport.js\";\nimport \"@ui5/webcomponents-icons/dist/appointment-2.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport HasPopup from \"./types/HasPopup.js\";\nimport {\n\tDATEPICKER_OPEN_ICON_TITLE,\n\tDATEPICKER_DATE_DESCRIPTION,\n\tINPUT_SUGGESTIONS_TITLE,\n\tDATEPICKER_POPOVER_ACCESSIBLE_NAME,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport DateComponentBase from \"./DateComponentBase.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport Calendar from \"./Calendar.js\";\nimport type { CalendarSelectedDatesChangeEventDetail } from \"./Calendar.js\";\nimport CalendarDateComponent from \"./CalendarDate.js\";\nimport Input from \"./Input.js\";\nimport InputType from \"./types/InputType.js\";\nimport DatePickerTemplate from \"./generated/templates/DatePickerTemplate.lit.js\";\nimport DatePickerPopoverTemplate from \"./generated/templates/DatePickerPopoverTemplate.lit.js\";\n\n// default calendar for bundling\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\";\n\n// Styles\nimport datePickerCss from \"./generated/themes/DatePicker.css.js\";\nimport datePickerPopoverCss from \"./generated/themes/DatePickerPopover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\n\ntype DatePickerChangeEventDetail = {\n\tvalue: string,\n\tvalid: boolean,\n}\n\ntype DatePickerValueStateChangeEventDetail = {\n\tvalueState: `${ValueState}`,\n\tvalid: boolean,\n}\n\ntype DatePickerInputEventDetail = {\n\tvalue: string,\n\tvalid: boolean,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-date-picker` component provides an input field with assigned calendar which opens on user action.\n * The `ui5-date-picker` allows users to select a localized date using touch,\n * mouse, or keyboard input. It consists of two parts: the date input field and the\n * date picker.\n *\n * ### Usage\n *\n * The user can enter a date by:\n *\n * - Using the calendar that opens in a popup\n * - Typing it in directly in the input field\n *\n * When the user makes an entry and presses the enter key, the calendar shows the corresponding date.\n * When the user directly triggers the calendar display, the actual date is displayed.\n *\n * ### Formatting\n *\n * If a date is entered by typing it into\n * the input field, it must fit to the used date format.\n *\n * Supported format options are pattern-based on Unicode LDML Date Format notation.\n * For more information, see [UTS #35: Unicode Locale Data Markup Language](http://unicode.org/reports/tr35/#Date_Field_Symbol_Table).\n *\n * For example, if the `format-pattern` is \"yyyy-MM-dd\",\n * a valid value string is \"2015-07-30\" and the same is displayed in the input.\n *\n * ### Keyboard Handling\n * The `ui5-date-picker` provides advanced keyboard handling.\n * If the `ui5-date-picker` is focused,\n * you can open or close the drop-down by pressing [F4], [Alt] + [Up] or [Alt] + [Down] keys.\n * Once the drop-down is opened, you can use the [Up], [Down], [Left] or [Right] arrow keys\n * to navigate through the dates and select one by pressing the `Space` or `Enter` keys. Moreover you can\n * use TAB to reach the buttons for changing month and year.\n *\n * If the `ui5-date-picker` input field is focused and its corresponding picker dialog is not opened,\n * then users can increment or decrement the date referenced by `dateValue` property\n * by using the following shortcuts:\n *\n * - [Page Down] - Decrements the corresponding day of the month by one\n * - [Shift] + [Page Down] - Decrements the corresponding month by one\n * - [Shift] + [Ctrl] + [Page Down] - Decrements the corresponding year by one\n * - [Page Up] - Increments the corresponding day of the month by one\n * - [Shift] + [Page Up] - Increments the corresponding month by one\n * - [Shift] + [Ctrl] + [Page Up] - Increments the corresponding year by one\n *\n * ### Calendar types\n * The component supports several calendar types - Gregorian, Buddhist, Islamic, Japanese and Persian.\n * By default the Gregorian Calendar is used. In order to use the Buddhist, Islamic, Japanese or Persian calendar,\n * you need to set the `primaryCalendarType` property and import one or more of the following modules:\n *\n * `import \"@ui5/webcomponents-localization/dist/features/calendar/Buddhist.js\";`\n *\n * `import \"@ui5/webcomponents-localization/dist/features/calendar/Islamic.js\";`\n *\n * `import \"@ui5/webcomponents-localization/dist/features/calendar/Japanese.js\";`\n *\n * `import \"@ui5/webcomponents-localization/dist/features/calendar/Persian.js\";`\n *\n * Or, you can use the global configuration and set the `calendarType` key:\n *\n * ```html\n * <script data-id=\"sap-ui-config\" type=\"application/json\">\n * \t{\n * \t\t\"calendarType\": \"Japanese\"\n * \t}\n * <script>\n * ```\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/DatePicker.js\";`\n * @constructor\n * @extends DateComponentBase\n * @public\n */\n\n@customElement({\n\ttag: \"ui5-date-picker\",\n\tlanguageAware: true,\n\ttemplate: DatePickerTemplate,\n\tstaticAreaTemplate: DatePickerPopoverTemplate,\n\tstyles: datePickerCss,\n\tstaticAreaStyles: [\n\t\tResponsivePopoverCommonCss,\n\t\tdatePickerPopoverCss,\n\t],\n\tdependencies: [\n\t\tIcon,\n\t\tResponsivePopover,\n\t\tCalendar,\n\t\tCalendarDateComponent,\n\t\tInput,\n\t\tButton,\n\t],\n})\n/**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n * @allowPreventDefault\n * @public\n * @param {string} value The submitted value.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event<DatePickerChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalid: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\n/**\n * Fired when the value of the component is changed at each key stroke.\n * @allowPreventDefault\n * @public\n * @param {string} value The submitted value.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event<DatePickerInputEventDetail>(\"input\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalid: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\n/**\n * Fired before the value state of the component is updated internally.\n * The event is preventable, meaning that if it's default action is\n * prevented, the component will not update the value state.\n * @allowPreventDefault\n * @public\n * @param {string} valueState The new `valueState` that will be set.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event<DatePickerValueStateChangeEventDetail>(\"value-state-change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalueState: {\n\t\t\ttype: String,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalid: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\nclass DatePicker extends DateComponentBase implements IFormElement {\n\t/**\n\t * Defines a formatted date value.\n\t * @default \"\"\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property()\n\tvalue!: string\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t/**\n\t * Defines whether the component is required.\n\t * @since 1.0.0-rc.9\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired!: boolean;\n\n\t/**\n\t * Determines whether the component is displayed as disabled.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Determines whether the component is displayed as read-only.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Defines a short hint, intended to aid the user with data entry when the\n\t * component has no value.\n\t *\n\t * **Note:** When no placeholder is set, the format pattern is displayed as a placeholder.\n\t * Passing an empty string as the value of this property will make the component appear empty - without placeholder or format pattern.\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ defaultValue: undefined })\n\tplaceholder?: string;\n\n\t/**\n\t * Determines the name with which the component will be submitted in an HTML form.\n\t *\n\t * **Important:** For the `name` property to have effect, you must add the following import to your project:\n\t * `import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`\n\t *\n\t * **Note:** When set, a native `input` HTML element\n\t * will be created inside the component so that it can be submitted as\n\t * part of an HTML form. Do not use this property unless you need to submit a form.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines the visibility of the week numbers column.\n\t *\n\t * **Note:** For calendars other than Gregorian,\n\t * the week numbers are not displayed regardless of what is set.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t */\n\t@property({ type: Boolean })\n\thideWeekNumbers!: boolean;\n\n\t/**\n\t * Defines the aria-label attribute for the component.\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\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 \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ defaultValue: \"\" })\n\taccessibleNameRef!: string;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_isPickerOpen!: boolean;\n\n\t@property({ type: Object })\n\t_respPopoverConfig!: object;\n\n\t@property({ defaultValue: \"day\" })\n\t_calendarCurrentPicker!: string;\n\n\tliveValue?: string;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the component is in `Information`, `Warning` or `Error` value state.\n\t * @since 1.0.0-rc.7\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t/**\n\t * The slot is used to render native `input` HTML element within Light DOM to enable form submit,\n\t * when `name` property is set.\n\t * @private\n\t */\n\t@slot({ type: HTMLElement })\n\tformSupport!: Array<HTMLElement>;\n\n\tresponsivePopover?: ResponsivePopover;\n\n\tFormSupport?: typeof FormSupportT;\n\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * @protected\n\t */\n\tonResponsivePopoverAfterClose() {\n\t\tthis._isPickerOpen = false;\n\t\tif (isPhone()) {\n\t\t\tthis.blur(); // close device's keyboard and prevent further typing\n\t\t} else {\n\t\t\tthis._getInput()?.focus();\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.FormSupport = getFeature<typeof FormSupportT>(\"FormSupport\");\n\n\t\t[\"minDate\", \"maxDate\"].forEach((prop: string) => {\n\t\t\tconst propValue = this[prop as keyof DatePicker] as string;\n\n\t\t\tif (!this.isValid(propValue)) {\n\t\t\t\tconsole.warn(`Invalid value for property \"${prop}\": ${propValue} is not compatible with the configured format pattern: \"${this._displayFormat}\"`); // eslint-disable-line\n\t\t\t}\n\t\t});\n\n\t\tif (this.FormSupport) {\n\t\t\tthis.FormSupport.syncNativeHiddenInput(this);\n\t\t} else if (this.name) {\n\t\t\tconsole.warn(`In order for the \"name\" property to have effect, you should also: import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`); // eslint-disable-line\n\t\t}\n\n\t\tthis.value = this.normalizeValue(this.value) || this.value;\n\t\tthis.liveValue = this.value;\n\t}\n\n\t/**\n\t * Override in derivatives to change calendar selection mode\n\t * @protected\n\t */\n\tget _calendarSelectionMode(): string {\n\t\treturn \"Single\";\n\t}\n\n\t/**\n\t * Used to provide a timestamp to the Calendar (to focus it to a relevant date when open) based on the component's state\n\t * Override in derivatives to provide the calendar a timestamp based on their properties\n\t * By default focus the calendar on the selected date if set, or the current day otherwise\n\t * @protected\n\t */\n\tget _calendarTimestamp(): number {\n\t\tif (this.value && this.dateValueUTC && this._checkValueValidity(this.value)) {\n\t\t\tconst millisecondsUTC = this.dateValueUTC.getTime();\n\t\t\treturn getRoundedTimestamp(millisecondsUTC);\n\t\t}\n\n\t\treturn getTodayUTCTimestamp(this._primaryCalendarType);\n\t}\n\n\t/**\n\t * Used to provide selectedDates to the calendar based on the component's state\n\t * Override in derivatives to provide different rules for setting the calendar's selected dates\n\t * @protected\n\t */\n\tget _calendarSelectedDates(): Array<string> {\n\t\tif (this.value && this._checkValueValidity(this.value)) {\n\t\t\treturn [this.value];\n\t\t}\n\n\t\treturn [];\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isShow(e)) {\n\t\t\te.preventDefault(); // Prevent scroll on Alt/Option + Arrow Up/Down\n\t\t\tif (this.isOpen()) {\n\t\t\t\tif (!isF4(e)) {\n\t\t\t\t\tthis._toggleAndFocusInput();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._toggleAndFocusInput();\n\t\t\t}\n\t\t}\n\n\t\tif ((this._getInput().isEqualNode(e.target as Node) && this.isOpen()) && (isTabNext(e) || isTabPrevious(e) || isF6Next(e) || isF6Previous(e))) {\n\t\t\tthis.closePicker();\n\t\t}\n\n\t\tif (this.isOpen()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tif (this.FormSupport) {\n\t\t\t\tthis.FormSupport.triggerFormSubmit(this);\n\t\t\t}\n\t\t} else if (isPageUpShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyDateValue(1, \"year\");\n\t\t} else if (isPageUpShift(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyDateValue(1, \"month\");\n\t\t} else if (isPageUp(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyDateValue(1, \"day\");\n\t\t} else if (isPageDownShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyDateValue(-1, \"year\");\n\t\t} else if (isPageDownShift(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyDateValue(-1, \"month\");\n\t\t} else if (isPageDown(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyDateValue(-1, \"day\");\n\t\t}\n\t}\n\n\t/**\n\t * @param amount\n\t * @param unit\n\t * @param preserveDate whether to preserve the day of the month (f.e. 15th of March + 1 month = 15th of April)\n\t * @protected\n\t */\n\t_modifyDateValue(amount: number, unit: string, preserveDate?: boolean) {\n\t\tif (!this.dateValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst modifiedDate = modifyDateBy(CalendarDate.fromLocalJSDate(this.dateValue), amount, unit, preserveDate, this._minDate, this._maxDate);\n\t\tconst newValue = this.formatValue(modifiedDate.toUTCJSDate());\n\t\tthis._updateValueAndFireEvents(newValue, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t_updateValueAndFireEvents(value: string, normalizeValue: boolean, events: Array<string>, updateValue = true) {\n\t\tconst valid = this._checkValueValidity(value);\n\n\t\tif (valid && normalizeValue) {\n\t\t\tvalue = this.normalizeValue(value); // transform valid values (in any format) to the correct format\n\t\t}\n\n\t\tlet executeEvent = true;\n\t\tthis.liveValue = value;\n\n\t\tconst previousValue = this.value;\n\n\t\tif (updateValue) {\n\t\t\tthis._getInput().value = value;\n\t\t\tthis.value = value;\n\t\t\tthis._updateValueState(); // Change the value state to Error/None, but only if needed\n\t\t}\n\n\t\tevents.forEach((e: string) => {\n\t\t\tif (!this.fireEvent<DatePickerChangeEventDetail>(e, { value, valid }, true)) {\n\t\t\t\texecuteEvent = false;\n\t\t\t}\n\t\t});\n\n\t\tif (!executeEvent && updateValue) {\n\t\t\tif (this.value !== previousValue && this.value !== this._getInput().value) {\n\t\t\t\treturn; // If the value was changed in the change event, do not revert it\n\t\t\t}\n\n\t\t\tthis._getInput().value = previousValue;\n\n\t\t\tthis.value = previousValue;\n\t\t}\n\t}\n\n\t_updateValueState() {\n\t\tconst valid = this._checkValueValidity(this.value);\n\t\tconst previousValueState = this.valueState;\n\n\t\tthis.valueState = valid ? ValueState.None : ValueState.Error;\n\n\t\tconst eventPrevented = !this.fireEvent<DatePickerValueStateChangeEventDetail>(\"value-state-change\", { valueState: this.valueState, valid }, true);\n\n\t\tif (eventPrevented) {\n\t\t\tthis.valueState = previousValueState;\n\t\t}\n\t}\n\n\t_toggleAndFocusInput() {\n\t\tthis.togglePicker();\n\t\tthis._getInput().focus();\n\t}\n\n\t_getInput(): Input {\n\t\treturn this.shadowRoot!.querySelector<Input>(\"[ui5-input]\")!;\n\t}\n\n\t/**\n\t * The ui5-input \"submit\" event handler - fire change event when the user presses enter\n\t * @protected\n\t */\n\t_onInputSubmit() {}\n\n\t/**\n\t * The ui5-input \"change\" event handler - fire change event when the user focuses out of the input\n\t * @protected\n\t */\n\t_onInputChange(e: Event) {\n\t\tthis._updateValueAndFireEvents((e.target as DatePicker).value, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t/**\n\t * The ui5-input \"input\" event handler - fire input even when the user types\n\t * @protected\n\t */\n\t_onInputInput(e: KeyboardEvent) {\n\t\tthis._updateValueAndFireEvents((e.target as DatePicker).value, false, [\"input\"], false);\n\t}\n\n\t/**\n\t * Checks if the provided value is valid and within valid range.\n\t * @protected\n\t * @param value\n\t */\n\t_checkValueValidity(value: string): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\t\treturn this.isValid(value) && this.isInValidRange(value);\n\t}\n\n\t_click(e: MouseEvent) {\n\t\tif (isPhone()) {\n\t\t\tthis.responsivePopover!.showAt(this);\n\t\t\te.preventDefault(); // prevent immediate selection of any item\n\t\t}\n\t}\n\n\t/**\n\t * Checks if a value is valid against the current date format of the DatePicker.\n\t * @public\n\t * @param value A value to be tested against the current date format\n\t */\n\tisValid(value: string): boolean {\n\t\tif (value === \"\" || value === undefined) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn !!this.getFormat().parse(value);\n\t}\n\n\t/**\n\t * Checks if a date is between the minimum and maximum date.\n\t * @public\n\t * @param value A value to be checked\n\t */\n\tisInValidRange(value: string): boolean {\n\t\tif (value === \"\" || value === undefined) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst calendarDate = this._getCalendarDateFromString(value);\n\n\t\tif (!calendarDate || !this._minDate || !this._maxDate) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn calendarDate.valueOf() >= this._minDate.valueOf() && calendarDate.valueOf() <= this._maxDate.valueOf();\n\t}\n\n\t/**\n\t * The parser understands many formats, but we need one format\n\t * @protected\n\t */\n\tnormalizeValue(value: string) {\n\t\tif (value === \"\") {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn this.getFormat().format(this.getFormat().parse(value, true), true); // it is important to both parse and format the date as UTC\n\t}\n\n\tget _displayFormat(): string {\n\t\t// @ts-ignore oFormatOptions is a private API of DateFormat\n\t\treturn this.getFormat().oFormatOptions.pattern as string;\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\treturn this.placeholder !== undefined ? this.placeholder : this._displayFormat;\n\t}\n\n\tget _headerTitleText() {\n\t\treturn DatePicker.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget phone() {\n\t\treturn isPhone();\n\t}\n\n\tget showHeader() {\n\t\treturn this.phone;\n\t}\n\n\tget showFooter() {\n\t\treturn this.phone;\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\t\"ariaRoledescription\": this.dateAriaDescription,\n\t\t\t\"ariaHasPopup\": HasPopup.Grid.toLowerCase(),\n\t\t\t\"ariaRequired\": this.required,\n\t\t\t\"ariaLabel\": getEffectiveAriaLabelText(this),\n\t\t};\n\t}\n\n\tget openIconTitle() {\n\t\treturn DatePicker.i18nBundle.getText(DATEPICKER_OPEN_ICON_TITLE);\n\t}\n\n\tget openIconName() {\n\t\treturn \"appointment-2\";\n\t}\n\n\tget dateAriaDescription() {\n\t\treturn DatePicker.i18nBundle.getText(DATEPICKER_DATE_DESCRIPTION);\n\t}\n\n\tget pickerAccessibleName() {\n\t\treturn DatePicker.i18nBundle.getText(DATEPICKER_POPOVER_ACCESSIBLE_NAME);\n\t}\n\n\t/**\n\t * Defines whether the dialog on mobile should have header\n\t * @private\n\t */\n\tget _shouldHideHeader() {\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns the first picker depending on the CalendarPickerMode\n\t */\n\tget firstPicker() {\n\t\tconst calendarPickerMode = this._calendarPickersMode;\n\t\tlet firstPicker = \"day\";\n\n\t\tif (calendarPickerMode === CalendarPickersMode.YEAR) {\n\t\t\tfirstPicker = \"year\";\n\t\t} else if (calendarPickerMode === CalendarPickersMode.MONTH_YEAR) {\n\t\t\tfirstPicker = \"month\";\n\t\t}\n\n\t\treturn firstPicker;\n\t}\n\n\t/**\n\t * Defines whether the value help icon is hidden\n\t * @private\n\t */\n\tget _ariaHidden() {\n\t\treturn isDesktop();\n\t}\n\n\tasync _respPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\t_canOpenPicker() {\n\t\treturn !this.disabled && !this.readonly;\n\t}\n\n\tget _calendarPickersMode() {\n\t\tconst format = this.getFormat() as DateFormat & { aFormatArray: Array<{type: string}> };\n\t\tconst patternSymbolTypes = format.aFormatArray.map(patternSymbolSettings => {\n\t\t\treturn patternSymbolSettings.type.toLowerCase();\n\t\t});\n\n\t\tif (patternSymbolTypes.includes(\"day\")) {\n\t\t\treturn CalendarPickersMode.DAY_MONTH_YEAR;\n\t\t}\n\n\t\tif (patternSymbolTypes.includes(\"month\") || patternSymbolTypes.includes(\"monthstandalone\")) {\n\t\t\treturn CalendarPickersMode.MONTH_YEAR;\n\t\t}\n\n\t\treturn CalendarPickersMode.YEAR;\n\t}\n\n\t/**\n\t * The user selected a new date in the calendar\n\t * @param e\n\t * @protected\n\t */\n\tonSelectedDatesChange(e: CustomEvent<CalendarSelectedDatesChangeEventDetail>) {\n\t\te.preventDefault();\n\t\tconst newValue = e.detail.values && e.detail.values[0];\n\t\tthis._updateValueAndFireEvents(newValue, true, [\"change\", \"value-changed\"]);\n\n\t\tthis.closePicker();\n\t}\n\n\t/**\n\t * The user clicked the \"month\" button in the header\n\t */\n\tonHeaderShowMonthPress() {\n\t\tthis._calendarCurrentPicker = \"month\";\n\t}\n\n\t/**\n\t * The user clicked the \"year\" button in the header\n\t */\n\tonHeaderShowYearPress() {\n\t\tthis._calendarCurrentPicker = \"year\";\n\t}\n\n\t/**\n\t * Formats a Java Script date object into a string representing a locale date\n\t * according to the `formatPattern` property of the DatePicker instance\n\t * @public\n\t * @param date A Java Script date object to be formatted as string\n\t * @returns The date as string\n\t */\n\tformatValue(date: Date): string {\n\t\treturn this.getFormat().format(date);\n\t}\n\n\t/**\n\t * Closes the picker.\n\t * @public\n\t */\n\tclosePicker(): void {\n\t\tthis.responsivePopover!.close();\n\t}\n\n\t/**\n\t * Opens the picker.\n\t * @public\n\t * @returns Resolves when the picker is open\n\t */\n\tasync openPicker(): Promise<void> {\n\t\tthis._isPickerOpen = true;\n\t\tthis._calendarCurrentPicker = this.firstPicker;\n\t\tthis.responsivePopover = await this._respPopover();\n\n\t\tthis.responsivePopover.showAt(this);\n\t}\n\n\ttogglePicker() {\n\t\tif (this.isOpen()) {\n\t\t\tthis.closePicker();\n\t\t} else if (this._canOpenPicker()) {\n\t\t\tthis.openPicker();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the picker is open.\n\t * @public\n\t * @returns true if the picker is open, false otherwise\n\t */\n\tisOpen(): boolean {\n\t\treturn !!this._isPickerOpen;\n\t}\n\n\t/**\n\t * Currently selected date represented as a Local JavaScript Date instance.\n\t * @public\n\t * @default null\n\t */\n\tget dateValue(): Date | null {\n\t\treturn this.liveValue ? this.getFormat().parse(this.liveValue) as Date : this.getFormat().parse(this.value) as Date;\n\t}\n\n\tget dateValueUTC(): Date | null {\n\t\treturn this.liveValue ? this.getFormat().parse(this.liveValue, true) as Date : this.getFormat().parse(this.value) as Date;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tmain: {\n\t\t\t\twidth: \"100%\",\n\t\t\t},\n\t\t};\n\t}\n\n\tget type() {\n\t\treturn InputType.Text;\n\t}\n}\n\nDatePicker.define();\n\nexport default DatePicker;\nexport type {\n\tDatePickerChangeEventDetail,\n\tDatePickerInputEventDetail,\n\tDatePickerValueStateChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../src/DatePicker.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getFeature } from \"@ui5/webcomponents-base/dist/FeaturesRegistry.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport modifyDateBy from \"@ui5/webcomponents-localization/dist/dates/modifyDateBy.js\";\nimport getRoundedTimestamp from \"@ui5/webcomponents-localization/dist/dates/getRoundedTimestamp.js\";\nimport getTodayUTCTimestamp from \"@ui5/webcomponents-localization/dist/dates/getTodayUTCTimestamp.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport {\n\tisPageUp,\n\tisPageDown,\n\tisPageUpShift,\n\tisPageDownShift,\n\tisPageUpShiftCtrl,\n\tisPageDownShiftCtrl,\n\tisShow,\n\tisF4,\n\tisEnter,\n\tisTabNext,\n\tisTabPrevious,\n\tisF6Next,\n\tisF6Previous,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isPhone, isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport CalendarPickersMode from \"./types/CalendarPickersMode.js\";\nimport type FormSupportT from \"./features/InputElementsFormSupport.js\";\nimport type { IFormElement } from \"./features/InputElementsFormSupport.js\";\nimport \"@ui5/webcomponents-icons/dist/appointment-2.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport HasPopup from \"./types/HasPopup.js\";\nimport {\n\tDATEPICKER_OPEN_ICON_TITLE,\n\tDATEPICKER_DATE_DESCRIPTION,\n\tINPUT_SUGGESTIONS_TITLE,\n\tDATEPICKER_POPOVER_ACCESSIBLE_NAME,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport DateComponentBase from \"./DateComponentBase.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport Calendar from \"./Calendar.js\";\nimport type { CalendarSelectedDatesChangeEventDetail } from \"./Calendar.js\";\nimport CalendarDateComponent from \"./CalendarDate.js\";\nimport Input from \"./Input.js\";\nimport InputType from \"./types/InputType.js\";\nimport DatePickerTemplate from \"./generated/templates/DatePickerTemplate.lit.js\";\nimport DatePickerPopoverTemplate from \"./generated/templates/DatePickerPopoverTemplate.lit.js\";\n\n// default calendar for bundling\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Gregorian.js\";\n\n// Styles\nimport datePickerCss from \"./generated/themes/DatePicker.css.js\";\nimport datePickerPopoverCss from \"./generated/themes/DatePickerPopover.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\n\ntype DatePickerChangeEventDetail = {\n\tvalue: string,\n\tvalid: boolean,\n}\n\ntype DatePickerValueStateChangeEventDetail = {\n\tvalueState: `${ValueState}`,\n\tvalid: boolean,\n}\n\ntype DatePickerInputEventDetail = {\n\tvalue: string,\n\tvalid: boolean,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-date-picker` component provides an input field with assigned calendar which opens on user action.\n * The `ui5-date-picker` allows users to select a localized date using touch,\n * mouse, or keyboard input. It consists of two parts: the date input field and the\n * date picker.\n *\n * ### Usage\n *\n * The user can enter a date by:\n *\n * - Using the calendar that opens in a popup\n * - Typing it in directly in the input field\n *\n * When the user makes an entry and presses the enter key, the calendar shows the corresponding date.\n * When the user directly triggers the calendar display, the actual date is displayed.\n *\n * ### Formatting\n *\n * If a date is entered by typing it into\n * the input field, it must fit to the used date format.\n *\n * Supported format options are pattern-based on Unicode LDML Date Format notation.\n * For more information, see [UTS #35: Unicode Locale Data Markup Language](http://unicode.org/reports/tr35/#Date_Field_Symbol_Table).\n *\n * For example, if the `format-pattern` is \"yyyy-MM-dd\",\n * a valid value string is \"2015-07-30\" and the same is displayed in the input.\n *\n * ### Keyboard Handling\n * The `ui5-date-picker` provides advanced keyboard handling.\n * If the `ui5-date-picker` is focused,\n * you can open or close the drop-down by pressing [F4], [Alt] + [Up] or [Alt] + [Down] keys.\n * Once the drop-down is opened, you can use the [Up], [Down], [Left] or [Right] arrow keys\n * to navigate through the dates and select one by pressing the `Space` or `Enter` keys. Moreover you can\n * use TAB to reach the buttons for changing month and year.\n *\n * If the `ui5-date-picker` input field is focused and its corresponding picker dialog is not opened,\n * then users can increment or decrement the date referenced by `dateValue` property\n * by using the following shortcuts:\n *\n * - [Page Down] - Decrements the corresponding day of the month by one\n * - [Shift] + [Page Down] - Decrements the corresponding month by one\n * - [Shift] + [Ctrl] + [Page Down] - Decrements the corresponding year by one\n * - [Page Up] - Increments the corresponding day of the month by one\n * - [Shift] + [Page Up] - Increments the corresponding month by one\n * - [Shift] + [Ctrl] + [Page Up] - Increments the corresponding year by one\n *\n * ### Calendar types\n * The component supports several calendar types - Gregorian, Buddhist, Islamic, Japanese and Persian.\n * By default the Gregorian Calendar is used. In order to use the Buddhist, Islamic, Japanese or Persian calendar,\n * you need to set the `primaryCalendarType` property and import one or more of the following modules:\n *\n * `import \"@ui5/webcomponents-localization/dist/features/calendar/Buddhist.js\";`\n *\n * `import \"@ui5/webcomponents-localization/dist/features/calendar/Islamic.js\";`\n *\n * `import \"@ui5/webcomponents-localization/dist/features/calendar/Japanese.js\";`\n *\n * `import \"@ui5/webcomponents-localization/dist/features/calendar/Persian.js\";`\n *\n * Or, you can use the global configuration and set the `calendarType` key:\n *\n * ```html\n * <script data-id=\"sap-ui-config\" type=\"application/json\">\n * \t{\n * \t\t\"calendarType\": \"Japanese\"\n * \t}\n * <script>\n * ```\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/DatePicker.js\";`\n * @constructor\n * @extends DateComponentBase\n * @public\n */\n\n@customElement({\n\ttag: \"ui5-date-picker\",\n\tlanguageAware: true,\n\ttemplate: DatePickerTemplate,\n\tstaticAreaTemplate: DatePickerPopoverTemplate,\n\tstyles: datePickerCss,\n\tstaticAreaStyles: [\n\t\tResponsivePopoverCommonCss,\n\t\tdatePickerPopoverCss,\n\t],\n\tdependencies: [\n\t\tIcon,\n\t\tResponsivePopover,\n\t\tCalendar,\n\t\tCalendarDateComponent,\n\t\tInput,\n\t\tButton,\n\t],\n})\n/**\n * Fired when the input operation has finished by pressing Enter or on focusout.\n * @allowPreventDefault\n * @public\n * @param {string} value The submitted value.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event<DatePickerChangeEventDetail>(\"change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalid: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\n/**\n * Fired when the value of the component is changed at each key stroke.\n * @allowPreventDefault\n * @public\n * @param {string} value The submitted value.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event<DatePickerInputEventDetail>(\"input\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalid: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\n/**\n * Fired before the value state of the component is updated internally.\n * The event is preventable, meaning that if it's default action is\n * prevented, the component will not update the value state.\n * @allowPreventDefault\n * @public\n * @param {string} valueState The new `valueState` that will be set.\n * @param {boolean} valid Indicator if the value is in correct format pattern and in valid range.\n */\n@event<DatePickerValueStateChangeEventDetail>(\"value-state-change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalueState: {\n\t\t\ttype: String,\n\t\t},\n\t\t/**\n\t\t * @public\n\t\t */\n\t\tvalid: {\n\t\t\ttype: Boolean,\n\t\t},\n\t},\n})\nclass DatePicker extends DateComponentBase implements IFormElement {\n\t/**\n\t * Defines a formatted date value.\n\t * @default \"\"\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property()\n\tvalue!: string\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property({ type: ValueState, defaultValue: ValueState.None })\n\tvalueState!: `${ValueState}`;\n\n\t/**\n\t * Defines whether the component is required.\n\t * @since 1.0.0-rc.9\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired!: boolean;\n\n\t/**\n\t * Determines whether the component is displayed as disabled.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Determines whether the component is displayed as read-only.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly!: boolean;\n\n\t/**\n\t * Defines a short hint, intended to aid the user with data entry when the\n\t * component has no value.\n\t *\n\t * **Note:** When no placeholder is set, the format pattern is displayed as a placeholder.\n\t * Passing an empty string as the value of this property will make the component appear empty - without placeholder or format pattern.\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ defaultValue: undefined })\n\tplaceholder?: string;\n\n\t/**\n\t * Determines the name with which the component will be submitted in an HTML form.\n\t *\n\t * **Important:** For the `name` property to have effect, you must add the following import to your project:\n\t * `import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`\n\t *\n\t * **Note:** When set, a native `input` HTML element\n\t * will be created inside the component so that it can be submitted as\n\t * part of an HTML form. Do not use this property unless you need to submit a form.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tname!: string;\n\n\t/**\n\t * Defines the visibility of the week numbers column.\n\t *\n\t * **Note:** For calendars other than Gregorian,\n\t * the week numbers are not displayed regardless of what is set.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t */\n\t@property({ type: Boolean })\n\thideWeekNumbers!: boolean;\n\n\t/**\n\t * Defines the aria-label attribute for the component.\n\t * @default \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\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 \"\"\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ defaultValue: \"\" })\n\taccessibleNameRef!: string;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_isPickerOpen!: boolean;\n\n\t@property({ type: Object })\n\t_respPopoverConfig!: object;\n\n\t@property({ defaultValue: \"day\" })\n\t_calendarCurrentPicker!: string;\n\n\tliveValue?: string;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the component is in `Information`, `Warning` or `Error` value state.\n\t * @since 1.0.0-rc.7\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t/**\n\t * The slot is used to render native `input` HTML element within Light DOM to enable form submit,\n\t * when `name` property is set.\n\t * @private\n\t */\n\t@slot({ type: HTMLElement })\n\tformSupport!: Array<HTMLElement>;\n\n\tresponsivePopover?: ResponsivePopover;\n\n\tFormSupport?: typeof FormSupportT;\n\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * @protected\n\t */\n\tonResponsivePopoverAfterClose() {\n\t\tthis._isPickerOpen = false;\n\t\tif (isPhone()) {\n\t\t\tthis.blur(); // close device's keyboard and prevent further typing\n\t\t} else {\n\t\t\tthis._getInput()?.focus();\n\t\t}\n\t}\n\n\tonResponsivePopoverBeforeOpen() {\n\t\tthis._calendar.timestamp = this._calendarTimestamp;\n\t\tthis._calendarCurrentPicker = this.firstPicker;\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.FormSupport = getFeature<typeof FormSupportT>(\"FormSupport\");\n\n\t\t[\"minDate\", \"maxDate\"].forEach((prop: string) => {\n\t\t\tconst propValue = this[prop as keyof DatePicker] as string;\n\n\t\t\tif (!this.isValid(propValue)) {\n\t\t\t\tconsole.warn(`Invalid value for property \"${prop}\": ${propValue} is not compatible with the configured format pattern: \"${this._displayFormat}\"`); // eslint-disable-line\n\t\t\t}\n\t\t});\n\n\t\tif (this.FormSupport) {\n\t\t\tthis.FormSupport.syncNativeHiddenInput(this);\n\t\t} else if (this.name) {\n\t\t\tconsole.warn(`In order for the \"name\" property to have effect, you should also: import \"@ui5/webcomponents/dist/features/InputElementsFormSupport.js\";`); // eslint-disable-line\n\t\t}\n\n\t\tthis.value = this.normalizeValue(this.value) || this.value;\n\t\tthis.liveValue = this.value;\n\t}\n\n\tget _calendar() {\n\t\treturn this.staticAreaItem!.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!\n\t\t\t.querySelector<Calendar>(\"[ui5-calendar]\")!;\n\t}\n\n\t/**\n\t * Override in derivatives to change calendar selection mode\n\t * @protected\n\t */\n\tget _calendarSelectionMode(): string {\n\t\treturn \"Single\";\n\t}\n\n\t/**\n\t * Used to provide a timestamp to the Calendar (to focus it to a relevant date when open) based on the component's state\n\t * Override in derivatives to provide the calendar a timestamp based on their properties\n\t * By default focus the calendar on the selected date if set, or the current day otherwise\n\t * @protected\n\t */\n\tget _calendarTimestamp(): number {\n\t\tif (this.value && this.dateValueUTC && this._checkValueValidity(this.value)) {\n\t\t\tconst millisecondsUTC = this.dateValueUTC.getTime();\n\t\t\treturn getRoundedTimestamp(millisecondsUTC);\n\t\t}\n\n\t\treturn getTodayUTCTimestamp(this._primaryCalendarType);\n\t}\n\n\t/**\n\t * Used to provide selectedDates to the calendar based on the component's state\n\t * Override in derivatives to provide different rules for setting the calendar's selected dates\n\t * @protected\n\t */\n\tget _calendarSelectedDates(): Array<string> {\n\t\tif (this.value && this._checkValueValidity(this.value)) {\n\t\t\treturn [this.value];\n\t\t}\n\n\t\treturn [];\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isShow(e)) {\n\t\t\te.preventDefault(); // Prevent scroll on Alt/Option + Arrow Up/Down\n\t\t\tif (this.isOpen()) {\n\t\t\t\tif (!isF4(e)) {\n\t\t\t\t\tthis._toggleAndFocusInput();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._toggleAndFocusInput();\n\t\t\t}\n\t\t}\n\n\t\tif ((this._getInput().isEqualNode(e.target as Node) && this.isOpen()) && (isTabNext(e) || isTabPrevious(e) || isF6Next(e) || isF6Previous(e))) {\n\t\t\tthis.closePicker();\n\t\t}\n\n\t\tif (this.isOpen()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tif (this.FormSupport) {\n\t\t\t\tthis.FormSupport.triggerFormSubmit(this);\n\t\t\t}\n\t\t} else if (isPageUpShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyDateValue(1, \"year\");\n\t\t} else if (isPageUpShift(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyDateValue(1, \"month\");\n\t\t} else if (isPageUp(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyDateValue(1, \"day\");\n\t\t} else if (isPageDownShiftCtrl(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyDateValue(-1, \"year\");\n\t\t} else if (isPageDownShift(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyDateValue(-1, \"month\");\n\t\t} else if (isPageDown(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._modifyDateValue(-1, \"day\");\n\t\t}\n\t}\n\n\t/**\n\t * @param amount\n\t * @param unit\n\t * @param preserveDate whether to preserve the day of the month (f.e. 15th of March + 1 month = 15th of April)\n\t * @protected\n\t */\n\t_modifyDateValue(amount: number, unit: string, preserveDate?: boolean) {\n\t\tif (!this.dateValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst modifiedDate = modifyDateBy(CalendarDate.fromLocalJSDate(this.dateValue), amount, unit, preserveDate, this._minDate, this._maxDate);\n\t\tconst newValue = this.formatValue(modifiedDate.toUTCJSDate());\n\t\tthis._updateValueAndFireEvents(newValue, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t_updateValueAndFireEvents(value: string, normalizeValue: boolean, events: Array<string>, updateValue = true) {\n\t\tconst valid = this._checkValueValidity(value);\n\n\t\tif (valid && normalizeValue) {\n\t\t\tvalue = this.normalizeValue(value); // transform valid values (in any format) to the correct format\n\t\t}\n\n\t\tlet executeEvent = true;\n\t\tthis.liveValue = value;\n\n\t\tconst previousValue = this.value;\n\n\t\tif (updateValue) {\n\t\t\tthis._getInput().value = value;\n\t\t\tthis.value = value;\n\t\t\tthis._updateValueState(); // Change the value state to Error/None, but only if needed\n\t\t}\n\n\t\tevents.forEach((e: string) => {\n\t\t\tif (!this.fireEvent<DatePickerChangeEventDetail>(e, { value, valid }, true)) {\n\t\t\t\texecuteEvent = false;\n\t\t\t}\n\t\t});\n\n\t\tif (!executeEvent && updateValue) {\n\t\t\tif (this.value !== previousValue && this.value !== this._getInput().value) {\n\t\t\t\treturn; // If the value was changed in the change event, do not revert it\n\t\t\t}\n\n\t\t\tthis._getInput().value = previousValue;\n\n\t\t\tthis.value = previousValue;\n\t\t}\n\t}\n\n\t_updateValueState() {\n\t\tconst valid = this._checkValueValidity(this.value);\n\t\tconst previousValueState = this.valueState;\n\n\t\tthis.valueState = valid ? ValueState.None : ValueState.Error;\n\n\t\tconst eventPrevented = !this.fireEvent<DatePickerValueStateChangeEventDetail>(\"value-state-change\", { valueState: this.valueState, valid }, true);\n\n\t\tif (eventPrevented) {\n\t\t\tthis.valueState = previousValueState;\n\t\t}\n\t}\n\n\t_toggleAndFocusInput() {\n\t\tthis.togglePicker();\n\t\tthis._getInput().focus();\n\t}\n\n\t_getInput(): Input {\n\t\treturn this.shadowRoot!.querySelector<Input>(\"[ui5-input]\")!;\n\t}\n\n\t/**\n\t * The ui5-input \"submit\" event handler - fire change event when the user presses enter\n\t * @protected\n\t */\n\t_onInputSubmit() {}\n\n\t/**\n\t * The ui5-input \"change\" event handler - fire change event when the user focuses out of the input\n\t * @protected\n\t */\n\t_onInputChange(e: Event) {\n\t\tthis._updateValueAndFireEvents((e.target as DatePicker).value, true, [\"change\", \"value-changed\"]);\n\t}\n\n\t/**\n\t * The ui5-input \"input\" event handler - fire input even when the user types\n\t * @protected\n\t */\n\t_onInputInput(e: KeyboardEvent) {\n\t\tthis._updateValueAndFireEvents((e.target as DatePicker).value, false, [\"input\"], false);\n\t}\n\n\t/**\n\t * Checks if the provided value is valid and within valid range.\n\t * @protected\n\t * @param value\n\t */\n\t_checkValueValidity(value: string): boolean {\n\t\tif (value === \"\") {\n\t\t\treturn true;\n\t\t}\n\t\treturn this.isValid(value) && this.isInValidRange(value);\n\t}\n\n\t_click(e: MouseEvent) {\n\t\tif (isPhone()) {\n\t\t\tthis.responsivePopover!.showAt(this);\n\t\t\te.preventDefault(); // prevent immediate selection of any item\n\t\t}\n\t}\n\n\t/**\n\t * Checks if a value is valid against the current date format of the DatePicker.\n\t * @public\n\t * @param value A value to be tested against the current date format\n\t */\n\tisValid(value: string): boolean {\n\t\tif (value === \"\" || value === undefined) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn !!this.getFormat().parse(value);\n\t}\n\n\t/**\n\t * Checks if a date is between the minimum and maximum date.\n\t * @public\n\t * @param value A value to be checked\n\t */\n\tisInValidRange(value: string): boolean {\n\t\tif (value === \"\" || value === undefined) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst calendarDate = this._getCalendarDateFromString(value);\n\n\t\tif (!calendarDate || !this._minDate || !this._maxDate) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn calendarDate.valueOf() >= this._minDate.valueOf() && calendarDate.valueOf() <= this._maxDate.valueOf();\n\t}\n\n\t/**\n\t * The parser understands many formats, but we need one format\n\t * @protected\n\t */\n\tnormalizeValue(value: string) {\n\t\tif (value === \"\") {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn this.getFormat().format(this.getFormat().parse(value, true), true); // it is important to both parse and format the date as UTC\n\t}\n\n\tget _displayFormat(): string {\n\t\t// @ts-ignore oFormatOptions is a private API of DateFormat\n\t\treturn this.getFormat().oFormatOptions.pattern as string;\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\treturn this.placeholder !== undefined ? this.placeholder : this._displayFormat;\n\t}\n\n\tget _headerTitleText() {\n\t\treturn DatePicker.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget phone() {\n\t\treturn isPhone();\n\t}\n\n\tget showHeader() {\n\t\treturn this.phone;\n\t}\n\n\tget showFooter() {\n\t\treturn this.phone;\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\t\"ariaRoledescription\": this.dateAriaDescription,\n\t\t\t\"ariaHasPopup\": HasPopup.Grid.toLowerCase(),\n\t\t\t\"ariaRequired\": this.required,\n\t\t\t\"ariaLabel\": getEffectiveAriaLabelText(this),\n\t\t};\n\t}\n\n\tget openIconTitle() {\n\t\treturn DatePicker.i18nBundle.getText(DATEPICKER_OPEN_ICON_TITLE);\n\t}\n\n\tget openIconName() {\n\t\treturn \"appointment-2\";\n\t}\n\n\tget dateAriaDescription() {\n\t\treturn DatePicker.i18nBundle.getText(DATEPICKER_DATE_DESCRIPTION);\n\t}\n\n\tget pickerAccessibleName() {\n\t\treturn DatePicker.i18nBundle.getText(DATEPICKER_POPOVER_ACCESSIBLE_NAME);\n\t}\n\n\t/**\n\t * Defines whether the dialog on mobile should have header\n\t * @private\n\t */\n\tget _shouldHideHeader() {\n\t\treturn false;\n\t}\n\n\t/**\n\t * Returns the first picker depending on the CalendarPickerMode\n\t */\n\tget firstPicker() {\n\t\tconst calendarPickerMode = this._calendarPickersMode;\n\t\tlet firstPicker = \"day\";\n\n\t\tif (calendarPickerMode === CalendarPickersMode.YEAR) {\n\t\t\tfirstPicker = \"year\";\n\t\t} else if (calendarPickerMode === CalendarPickersMode.MONTH_YEAR) {\n\t\t\tfirstPicker = \"month\";\n\t\t}\n\n\t\treturn firstPicker;\n\t}\n\n\t/**\n\t * Defines whether the value help icon is hidden\n\t * @private\n\t */\n\tget _ariaHidden() {\n\t\treturn isDesktop();\n\t}\n\n\tasync _respPopover() {\n\t\tconst staticAreaItem = await this.getStaticAreaItemDomRef();\n\t\treturn staticAreaItem!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\t_canOpenPicker() {\n\t\treturn !this.disabled && !this.readonly;\n\t}\n\n\tget _calendarPickersMode() {\n\t\tconst format = this.getFormat() as DateFormat & { aFormatArray: Array<{type: string}> };\n\t\tconst patternSymbolTypes = format.aFormatArray.map(patternSymbolSettings => {\n\t\t\treturn patternSymbolSettings.type.toLowerCase();\n\t\t});\n\n\t\tif (patternSymbolTypes.includes(\"day\")) {\n\t\t\treturn CalendarPickersMode.DAY_MONTH_YEAR;\n\t\t}\n\n\t\tif (patternSymbolTypes.includes(\"month\") || patternSymbolTypes.includes(\"monthstandalone\")) {\n\t\t\treturn CalendarPickersMode.MONTH_YEAR;\n\t\t}\n\n\t\treturn CalendarPickersMode.YEAR;\n\t}\n\n\t/**\n\t * The user selected a new date in the calendar\n\t * @param e\n\t * @protected\n\t */\n\tonSelectedDatesChange(e: CustomEvent<CalendarSelectedDatesChangeEventDetail>) {\n\t\te.preventDefault();\n\t\tconst newValue = e.detail.values && e.detail.values[0];\n\t\tthis._updateValueAndFireEvents(newValue, true, [\"change\", \"value-changed\"]);\n\n\t\tthis.closePicker();\n\t}\n\n\t/**\n\t * The user clicked the \"month\" button in the header\n\t */\n\tonHeaderShowMonthPress() {\n\t\tthis._calendarCurrentPicker = \"month\";\n\t}\n\n\t/**\n\t * The user clicked the \"year\" button in the header\n\t */\n\tonHeaderShowYearPress() {\n\t\tthis._calendarCurrentPicker = \"year\";\n\t}\n\n\t/**\n\t * Formats a Java Script date object into a string representing a locale date\n\t * according to the `formatPattern` property of the DatePicker instance\n\t * @public\n\t * @param date A Java Script date object to be formatted as string\n\t * @returns The date as string\n\t */\n\tformatValue(date: Date): string {\n\t\treturn this.getFormat().format(date);\n\t}\n\n\t/**\n\t * Closes the picker.\n\t * @public\n\t */\n\tclosePicker(): void {\n\t\tthis.responsivePopover!.close();\n\t}\n\n\t/**\n\t * Opens the picker.\n\t * @public\n\t * @returns Resolves when the picker is open\n\t */\n\tasync openPicker(): Promise<void> {\n\t\tthis._isPickerOpen = true;\n\t\tthis._calendarCurrentPicker = this.firstPicker;\n\t\tthis.responsivePopover = await this._respPopover();\n\n\t\tthis.responsivePopover.showAt(this);\n\t}\n\n\ttogglePicker() {\n\t\tif (this.isOpen()) {\n\t\t\tthis.closePicker();\n\t\t} else if (this._canOpenPicker()) {\n\t\t\tthis.openPicker();\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the picker is open.\n\t * @public\n\t * @returns true if the picker is open, false otherwise\n\t */\n\tisOpen(): boolean {\n\t\treturn !!this._isPickerOpen;\n\t}\n\n\t/**\n\t * Currently selected date represented as a Local JavaScript Date instance.\n\t * @public\n\t * @default null\n\t */\n\tget dateValue(): Date | null {\n\t\treturn this.liveValue ? this.getFormat().parse(this.liveValue) as Date : this.getFormat().parse(this.value) as Date;\n\t}\n\n\tget dateValueUTC(): Date | null {\n\t\treturn this.liveValue ? this.getFormat().parse(this.liveValue, true) as Date : this.getFormat().parse(this.value) as Date;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tmain: {\n\t\t\t\twidth: \"100%\",\n\t\t\t},\n\t\t};\n\t}\n\n\tget type() {\n\t\treturn InputType.Text;\n\t}\n}\n\nDatePicker.define();\n\nexport default DatePicker;\nexport type {\n\tDatePickerChangeEventDetail,\n\tDatePickerInputEventDetail,\n\tDatePickerValueStateChangeEventDetail,\n};\n"]}
package/dist/DayPicker.js CHANGED
@@ -97,7 +97,7 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
97
97
  classes: `ui5-dp-item ui5-dp-wday${dayOfTheWeek}`,
98
98
  ariaLabel,
99
99
  ariaSelected: String(isSelected || isSelectedBetween),
100
- ariaDisabled: isOtherMonth ? "true" : undefined,
100
+ ariaDisabled: isDisabled || isOtherMonth ? "true" : undefined,
101
101
  disabled: isDisabled,
102
102
  type: specialDayType,
103
103
  };
@@ -116,8 +116,8 @@ let DayPicker = DayPicker_1 = class DayPicker extends CalendarPart {
116
116
  if (isOtherMonth) {
117
117
  day.classes += " ui5-dp-item--othermonth";
118
118
  }
119
- if (isWeekend) {
120
- day.classes += " ui5-dp-item--weeekend";
119
+ if ((isWeekend || specialDayType === "NonWorking") && specialDayType !== "Working") {
120
+ day.classes += " ui5-dp-item--weekend";
121
121
  }
122
122
  if (isDisabled) {
123
123
  day.classes += " ui5-dp-item--disabled";