@ui5/webcomponents 2.0.0-rc.5 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1048) hide show
  1. package/CHANGELOG.md +240 -0
  2. package/README.md +5 -8
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/Avatar.d.ts +13 -18
  5. package/dist/Avatar.js +77 -17
  6. package/dist/Avatar.js.map +1 -1
  7. package/dist/AvatarGroup.d.ts +1 -1
  8. package/dist/AvatarGroup.js +21 -3
  9. package/dist/AvatarGroup.js.map +1 -1
  10. package/dist/Bar.d.ts +1 -1
  11. package/dist/Bar.js +7 -2
  12. package/dist/Bar.js.map +1 -1
  13. package/dist/Breadcrumbs.d.ts +1 -1
  14. package/dist/Breadcrumbs.js +27 -7
  15. package/dist/Breadcrumbs.js.map +1 -1
  16. package/dist/BreadcrumbsItem.d.ts +3 -3
  17. package/dist/BreadcrumbsItem.js +1 -1
  18. package/dist/BreadcrumbsItem.js.map +1 -1
  19. package/dist/BusyIndicator.d.ts +5 -5
  20. package/dist/BusyIndicator.js +33 -5
  21. package/dist/BusyIndicator.js.map +1 -1
  22. package/dist/Button.d.ts +9 -9
  23. package/dist/Button.js +110 -8
  24. package/dist/Button.js.map +1 -1
  25. package/dist/Calendar.d.ts +47 -8
  26. package/dist/Calendar.js +146 -19
  27. package/dist/Calendar.js.map +1 -1
  28. package/dist/CalendarDate.d.ts +1 -0
  29. package/dist/CalendarDate.js +11 -0
  30. package/dist/CalendarDate.js.map +1 -1
  31. package/dist/CalendarDateRange.d.ts +2 -1
  32. package/dist/CalendarDateRange.js +18 -1
  33. package/dist/CalendarDateRange.js.map +1 -1
  34. package/dist/CalendarLegend.js +24 -0
  35. package/dist/CalendarLegend.js.map +1 -1
  36. package/dist/CalendarLegendItem.d.ts +3 -3
  37. package/dist/CalendarLegendItem.js +16 -3
  38. package/dist/CalendarLegendItem.js.map +1 -1
  39. package/dist/CalendarPart.js +1 -2
  40. package/dist/CalendarPart.js.map +1 -1
  41. package/dist/Card.d.ts +4 -4
  42. package/dist/Card.js.map +1 -1
  43. package/dist/CardHeader.d.ts +6 -6
  44. package/dist/CardHeader.js +20 -2
  45. package/dist/CardHeader.js.map +1 -1
  46. package/dist/Carousel.d.ts +10 -9
  47. package/dist/Carousel.js +105 -14
  48. package/dist/Carousel.js.map +1 -1
  49. package/dist/CheckBox.d.ts +12 -11
  50. package/dist/CheckBox.js +86 -4
  51. package/dist/CheckBox.js.map +1 -1
  52. package/dist/ColorPalette.d.ts +2 -4
  53. package/dist/ColorPalette.js +34 -17
  54. package/dist/ColorPalette.js.map +1 -1
  55. package/dist/ColorPaletteItem.d.ts +3 -3
  56. package/dist/ColorPaletteItem.js +37 -5
  57. package/dist/ColorPaletteItem.js.map +1 -1
  58. package/dist/ColorPalettePopover.js +30 -4
  59. package/dist/ColorPalettePopover.js.map +1 -1
  60. package/dist/ColorPicker.d.ts +3 -3
  61. package/dist/ColorPicker.js +49 -8
  62. package/dist/ColorPicker.js.map +1 -1
  63. package/dist/ComboBox.d.ts +46 -29
  64. package/dist/ComboBox.js +214 -128
  65. package/dist/ComboBox.js.map +1 -1
  66. package/dist/ComboBoxItem.d.ts +4 -4
  67. package/dist/ComboBoxItem.js +18 -0
  68. package/dist/ComboBoxItem.js.map +1 -1
  69. package/dist/ComboBoxItemGroup.d.ts +2 -2
  70. package/dist/ComboBoxItemGroup.js +9 -1
  71. package/dist/ComboBoxItemGroup.js.map +1 -1
  72. package/dist/DateComponentBase.d.ts +3 -3
  73. package/dist/DateComponentBase.js +20 -3
  74. package/dist/DateComponentBase.js.map +1 -1
  75. package/dist/DatePicker.d.ts +8 -7
  76. package/dist/DatePicker.js +62 -6
  77. package/dist/DatePicker.js.map +1 -1
  78. package/dist/DateRangePicker.d.ts +9 -2
  79. package/dist/DateRangePicker.js +21 -5
  80. package/dist/DateRangePicker.js.map +1 -1
  81. package/dist/DateTimePicker.d.ts +7 -0
  82. package/dist/DateTimePicker.js +35 -3
  83. package/dist/DateTimePicker.js.map +1 -1
  84. package/dist/DayPicker.js +52 -18
  85. package/dist/DayPicker.js.map +1 -1
  86. package/dist/Dialog.d.ts +2 -2
  87. package/dist/Dialog.js +48 -2
  88. package/dist/Dialog.js.map +1 -1
  89. package/dist/DropIndicator.js +31 -4
  90. package/dist/DropIndicator.js.map +1 -1
  91. package/dist/FileUploader.d.ts +9 -5
  92. package/dist/FileUploader.js +49 -2
  93. package/dist/FileUploader.js.map +1 -1
  94. package/dist/Filters.js +2 -2
  95. package/dist/Filters.js.map +1 -1
  96. package/dist/Form.d.ts +10 -3
  97. package/dist/Form.js +65 -15
  98. package/dist/Form.js.map +1 -1
  99. package/dist/FormGroup.d.ts +5 -3
  100. package/dist/FormGroup.js +20 -11
  101. package/dist/FormGroup.js.map +1 -1
  102. package/dist/FormItem.d.ts +3 -1
  103. package/dist/FormItem.js +16 -5
  104. package/dist/FormItem.js.map +1 -1
  105. package/dist/GridWalker.d.ts +35 -0
  106. package/dist/GridWalker.js +103 -0
  107. package/dist/GridWalker.js.map +1 -0
  108. package/dist/Icon.d.ts +5 -5
  109. package/dist/Icon.js +38 -6
  110. package/dist/Icon.js.map +1 -1
  111. package/dist/Input.d.ts +35 -40
  112. package/dist/Input.js +197 -79
  113. package/dist/Input.js.map +1 -1
  114. package/dist/Label.d.ts +3 -3
  115. package/dist/Label.js +30 -2
  116. package/dist/Label.js.map +1 -1
  117. package/dist/Link.d.ts +45 -15
  118. package/dist/Link.js +69 -8
  119. package/dist/Link.js.map +1 -1
  120. package/dist/List.d.ts +20 -20
  121. package/dist/List.js +75 -17
  122. package/dist/List.js.map +1 -1
  123. package/dist/ListItem.d.ts +11 -5
  124. package/dist/ListItem.js +70 -11
  125. package/dist/ListItem.js.map +1 -1
  126. package/dist/ListItemBase.d.ts +4 -3
  127. package/dist/ListItemBase.js +47 -4
  128. package/dist/ListItemBase.js.map +1 -1
  129. package/dist/{CustomListItem.d.ts → ListItemCustom.d.ts} +4 -4
  130. package/dist/{CustomListItem.js → ListItemCustom.js} +22 -12
  131. package/dist/ListItemCustom.js.map +1 -0
  132. package/dist/ListItemGroup.d.ts +5 -5
  133. package/dist/ListItemGroup.js +11 -4
  134. package/dist/ListItemGroup.js.map +1 -1
  135. package/dist/ListItemGroupHeader.d.ts +2 -3
  136. package/dist/ListItemGroupHeader.js +0 -6
  137. package/dist/ListItemGroupHeader.js.map +1 -1
  138. package/dist/{StandardListItem.d.ts → ListItemStandard.d.ts} +16 -26
  139. package/dist/{StandardListItem.js → ListItemStandard.js} +64 -31
  140. package/dist/ListItemStandard.js.map +1 -0
  141. package/dist/Menu.d.ts +24 -10
  142. package/dist/Menu.js +49 -16
  143. package/dist/Menu.js.map +1 -1
  144. package/dist/MenuItem.d.ts +21 -33
  145. package/dist/MenuItem.js +42 -9
  146. package/dist/MenuItem.js.map +1 -1
  147. package/dist/MenuSeparator.d.ts +25 -0
  148. package/dist/MenuSeparator.js +59 -0
  149. package/dist/MenuSeparator.js.map +1 -0
  150. package/dist/MessageStrip.d.ts +1 -0
  151. package/dist/MessageStrip.js +46 -6
  152. package/dist/MessageStrip.js.map +1 -1
  153. package/dist/MonthPicker.js +14 -7
  154. package/dist/MonthPicker.js.map +1 -1
  155. package/dist/MultiComboBox.d.ts +40 -25
  156. package/dist/MultiComboBox.js +263 -135
  157. package/dist/MultiComboBox.js.map +1 -1
  158. package/dist/MultiComboBoxItem.d.ts +5 -0
  159. package/dist/MultiComboBoxItem.js +11 -0
  160. package/dist/MultiComboBoxItem.js.map +1 -1
  161. package/dist/{MultiComboBoxGroupItem.d.ts → MultiComboBoxItemGroup.d.ts} +14 -6
  162. package/dist/{MultiComboBoxGroupItem.js → MultiComboBoxItemGroup.js} +22 -10
  163. package/dist/MultiComboBoxItemGroup.js.map +1 -0
  164. package/dist/MultiInput.d.ts +4 -4
  165. package/dist/MultiInput.js +18 -2
  166. package/dist/MultiInput.js.map +1 -1
  167. package/dist/NavigationMenu.d.ts +1 -1
  168. package/dist/NavigationMenu.js +0 -2
  169. package/dist/NavigationMenu.js.map +1 -1
  170. package/dist/NavigationMenuItem.d.ts +5 -5
  171. package/dist/NavigationMenuItem.js.map +1 -1
  172. package/dist/Option.d.ts +15 -10
  173. package/dist/Option.js +4 -8
  174. package/dist/Option.js.map +1 -1
  175. package/dist/OptionCustom.d.ts +13 -8
  176. package/dist/OptionCustom.js +4 -8
  177. package/dist/OptionCustom.js.map +1 -1
  178. package/dist/Panel.d.ts +7 -7
  179. package/dist/Panel.js +64 -4
  180. package/dist/Panel.js.map +1 -1
  181. package/dist/Popover.d.ts +2 -2
  182. package/dist/Popover.js +71 -11
  183. package/dist/Popover.js.map +1 -1
  184. package/dist/Popup.d.ts +5 -5
  185. package/dist/Popup.js +46 -4
  186. package/dist/Popup.js.map +1 -1
  187. package/dist/ProgressIndicator.d.ts +4 -4
  188. package/dist/ProgressIndicator.js +24 -4
  189. package/dist/ProgressIndicator.js.map +1 -1
  190. package/dist/RadioButton.d.ts +11 -11
  191. package/dist/RadioButton.js +78 -5
  192. package/dist/RadioButton.js.map +1 -1
  193. package/dist/RangeSlider.js +22 -3
  194. package/dist/RangeSlider.js.map +1 -1
  195. package/dist/RatingIndicator.d.ts +6 -6
  196. package/dist/RatingIndicator.js +55 -6
  197. package/dist/RatingIndicator.js.map +1 -1
  198. package/dist/ResponsivePopover.js +19 -0
  199. package/dist/ResponsivePopover.js.map +1 -1
  200. package/dist/SegmentedButton.d.ts +4 -1
  201. package/dist/SegmentedButton.js +15 -3
  202. package/dist/SegmentedButton.js.map +1 -1
  203. package/dist/SegmentedButtonItem.d.ts +13 -12
  204. package/dist/SegmentedButtonItem.js +51 -9
  205. package/dist/SegmentedButtonItem.js.map +1 -1
  206. package/dist/Select.d.ts +9 -10
  207. package/dist/Select.js +60 -12
  208. package/dist/Select.js.map +1 -1
  209. package/dist/Slider.js +9 -2
  210. package/dist/Slider.js.map +1 -1
  211. package/dist/SliderBase.d.ts +4 -4
  212. package/dist/SliderBase.js +61 -7
  213. package/dist/SliderBase.js.map +1 -1
  214. package/dist/SpecialCalendarDate.d.ts +11 -4
  215. package/dist/SpecialCalendarDate.js +23 -5
  216. package/dist/SpecialCalendarDate.js.map +1 -1
  217. package/dist/SplitButton.d.ts +3 -3
  218. package/dist/SplitButton.js +54 -4
  219. package/dist/SplitButton.js.map +1 -1
  220. package/dist/StepInput.d.ts +9 -9
  221. package/dist/StepInput.js +71 -21
  222. package/dist/StepInput.js.map +1 -1
  223. package/dist/SuggestionItem.d.ts +16 -60
  224. package/dist/SuggestionItem.js +26 -27
  225. package/dist/SuggestionItem.js.map +1 -1
  226. package/dist/SuggestionItemCustom.d.ts +31 -0
  227. package/dist/SuggestionItemCustom.js +48 -0
  228. package/dist/SuggestionItemCustom.js.map +1 -0
  229. package/dist/SuggestionItemGroup.d.ts +19 -0
  230. package/dist/SuggestionItemGroup.js +35 -0
  231. package/dist/SuggestionItemGroup.js.map +1 -0
  232. package/dist/SuggestionListItem.d.ts +4 -4
  233. package/dist/SuggestionListItem.js +3 -3
  234. package/dist/SuggestionListItem.js.map +1 -1
  235. package/dist/Switch.d.ts +17 -17
  236. package/dist/Switch.js +40 -2
  237. package/dist/Switch.js.map +1 -1
  238. package/dist/Tab.d.ts +12 -12
  239. package/dist/Tab.js +43 -4
  240. package/dist/Tab.js.map +1 -1
  241. package/dist/TabContainer.d.ts +6 -6
  242. package/dist/TabContainer.js +85 -18
  243. package/dist/TabContainer.js.map +1 -1
  244. package/dist/TabSeparator.d.ts +2 -2
  245. package/dist/TabSeparator.js.map +1 -1
  246. package/dist/Table.d.ts +271 -0
  247. package/dist/Table.js +464 -0
  248. package/dist/Table.js.map +1 -0
  249. package/dist/TableCell.d.ts +24 -0
  250. package/dist/TableCell.js +51 -0
  251. package/dist/TableCell.js.map +1 -0
  252. package/dist/TableCellBase.d.ts +27 -0
  253. package/dist/TableCellBase.js +64 -0
  254. package/dist/TableCellBase.js.map +1 -0
  255. package/dist/TableExtension.d.ts +6 -0
  256. package/dist/TableExtension.js +7 -0
  257. package/dist/TableExtension.js.map +1 -0
  258. package/dist/TableGrowing.d.ts +126 -0
  259. package/dist/TableGrowing.js +248 -0
  260. package/dist/TableGrowing.js.map +1 -0
  261. package/dist/TableHeaderCell.d.ts +63 -0
  262. package/dist/TableHeaderCell.js +105 -0
  263. package/dist/TableHeaderCell.js.map +1 -0
  264. package/dist/TableHeaderRow.d.ts +46 -0
  265. package/dist/TableHeaderRow.js +106 -0
  266. package/dist/TableHeaderRow.js.map +1 -0
  267. package/dist/TableNavigation.d.ts +38 -0
  268. package/dist/TableNavigation.js +267 -0
  269. package/dist/TableNavigation.js.map +1 -0
  270. package/dist/TableRow.d.ts +60 -0
  271. package/dist/TableRow.js +141 -0
  272. package/dist/TableRow.js.map +1 -0
  273. package/dist/TableRowBase.d.ts +38 -0
  274. package/dist/TableRowBase.js +111 -0
  275. package/dist/TableRowBase.js.map +1 -0
  276. package/dist/TableSelection.d.ts +104 -0
  277. package/dist/TableSelection.js +332 -0
  278. package/dist/TableSelection.js.map +1 -0
  279. package/dist/TableUtils.d.ts +7 -0
  280. package/dist/TableUtils.js +14 -0
  281. package/dist/TableUtils.js.map +1 -0
  282. package/dist/Tag.d.ts +3 -10
  283. package/dist/Tag.js +65 -14
  284. package/dist/Tag.js.map +1 -1
  285. package/dist/Text.js +10 -2
  286. package/dist/Text.js.map +1 -1
  287. package/dist/TextArea.d.ts +10 -10
  288. package/dist/TextArea.js +97 -8
  289. package/dist/TextArea.js.map +1 -1
  290. package/dist/TimePicker.d.ts +10 -9
  291. package/dist/TimePicker.js +45 -5
  292. package/dist/TimePicker.js.map +1 -1
  293. package/dist/TimePickerClock.d.ts +1 -1
  294. package/dist/TimePickerClock.js +121 -14
  295. package/dist/TimePickerClock.js.map +1 -1
  296. package/dist/TimePickerInternals.d.ts +5 -5
  297. package/dist/TimePickerInternals.js +34 -13
  298. package/dist/TimePickerInternals.js.map +1 -1
  299. package/dist/TimeSelectionClocks.js +15 -0
  300. package/dist/TimeSelectionClocks.js.map +1 -1
  301. package/dist/TimeSelectionInputs.d.ts +2 -2
  302. package/dist/TimeSelectionInputs.js +6 -3
  303. package/dist/TimeSelectionInputs.js.map +1 -1
  304. package/dist/Title.d.ts +1 -1
  305. package/dist/Title.js +20 -3
  306. package/dist/Title.js.map +1 -1
  307. package/dist/Toast.d.ts +1 -7
  308. package/dist/Toast.js +52 -23
  309. package/dist/Toast.js.map +1 -1
  310. package/dist/ToggleButton.js +9 -0
  311. package/dist/ToggleButton.js.map +1 -1
  312. package/dist/ToggleSpinButton.d.ts +1 -1
  313. package/dist/ToggleSpinButton.js +22 -4
  314. package/dist/ToggleSpinButton.js.map +1 -1
  315. package/dist/Token.d.ts +2 -2
  316. package/dist/Token.js +49 -1
  317. package/dist/Token.js.map +1 -1
  318. package/dist/Tokenizer.d.ts +4 -3
  319. package/dist/Tokenizer.js +76 -15
  320. package/dist/Tokenizer.js.map +1 -1
  321. package/dist/Toolbar.d.ts +16 -7
  322. package/dist/Toolbar.js +25 -7
  323. package/dist/Toolbar.js.map +1 -1
  324. package/dist/ToolbarButton.d.ts +15 -14
  325. package/dist/ToolbarButton.js +39 -6
  326. package/dist/ToolbarButton.js.map +1 -1
  327. package/dist/ToolbarItem.d.ts +2 -2
  328. package/dist/ToolbarItem.js +18 -3
  329. package/dist/ToolbarItem.js.map +1 -1
  330. package/dist/ToolbarSelect.d.ts +5 -5
  331. package/dist/ToolbarSelect.js +16 -4
  332. package/dist/ToolbarSelect.js.map +1 -1
  333. package/dist/ToolbarSelectOption.js +9 -0
  334. package/dist/ToolbarSelectOption.js.map +1 -1
  335. package/dist/ToolbarSeparator.js +4 -0
  336. package/dist/ToolbarSeparator.js.map +1 -1
  337. package/dist/ToolbarSpacer.js +1 -2
  338. package/dist/ToolbarSpacer.js.map +1 -1
  339. package/dist/Tree.d.ts +12 -12
  340. package/dist/Tree.js +11 -2
  341. package/dist/Tree.js.map +1 -1
  342. package/dist/TreeItem.d.ts +5 -5
  343. package/dist/TreeItem.js +1 -1
  344. package/dist/TreeItem.js.map +1 -1
  345. package/dist/TreeItemBase.d.ts +5 -5
  346. package/dist/TreeItemBase.js +61 -6
  347. package/dist/TreeItemBase.js.map +1 -1
  348. package/dist/TreeItemCustom.js +9 -0
  349. package/dist/TreeItemCustom.js.map +1 -1
  350. package/dist/YearPicker.js +14 -7
  351. package/dist/YearPicker.js.map +1 -1
  352. package/dist/bundle.common.bootstrap.d.ts +52 -1
  353. package/dist/bundle.common.bootstrap.js +103 -0
  354. package/dist/bundle.common.bootstrap.js.map +1 -1
  355. package/dist/bundle.esm.d.ts +7 -21
  356. package/dist/bundle.esm.js +14 -100
  357. package/dist/bundle.esm.js.map +1 -1
  358. package/dist/css/themes/Avatar.css +1 -1
  359. package/dist/css/themes/AvatarGroup.css +1 -1
  360. package/dist/css/themes/Bar.css +1 -1
  361. package/dist/css/themes/Breadcrumbs.css +1 -1
  362. package/dist/css/themes/BusyIndicator.css +1 -1
  363. package/dist/css/themes/Button.css +1 -1
  364. package/dist/css/themes/Calendar.css +1 -1
  365. package/dist/css/themes/CalendarHeader.css +1 -1
  366. package/dist/css/themes/CalendarLegend.css +1 -1
  367. package/dist/css/themes/CalendarLegendItem.css +1 -1
  368. package/dist/css/themes/Card.css +1 -1
  369. package/dist/css/themes/CardHeader.css +1 -1
  370. package/dist/css/themes/Carousel.css +1 -1
  371. package/dist/css/themes/CheckBox.css +1 -1
  372. package/dist/css/themes/ColorPalette.css +1 -1
  373. package/dist/css/themes/ColorPaletteItem.css +1 -1
  374. package/dist/css/themes/ColorPalettePopover.css +1 -1
  375. package/dist/css/themes/ColorPicker.css +1 -1
  376. package/dist/css/themes/ComboBox.css +1 -1
  377. package/dist/css/themes/DatePicker.css +1 -1
  378. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  379. package/dist/css/themes/DayPicker.css +1 -1
  380. package/dist/css/themes/Dialog.css +1 -1
  381. package/dist/css/themes/FileUploader.css +1 -1
  382. package/dist/css/themes/Form.css +1 -1
  383. package/dist/css/themes/FormItem.css +1 -1
  384. package/dist/css/themes/FormLabelSpan.css +1 -1
  385. package/dist/css/themes/GrowingButton.css +1 -1
  386. package/dist/css/themes/Icon.css +1 -1
  387. package/dist/css/themes/Input.css +1 -1
  388. package/dist/css/themes/InputIcon.css +1 -1
  389. package/dist/css/themes/InputSharedStyles.css +1 -1
  390. package/dist/css/themes/Link.css +1 -1
  391. package/dist/css/themes/List.css +1 -1
  392. package/dist/css/themes/ListItem.css +1 -1
  393. package/dist/css/themes/ListItemBase.css +1 -1
  394. package/dist/css/themes/ListItemCustom.css +1 -0
  395. package/dist/css/themes/ListItemGroup.css +1 -1
  396. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  397. package/dist/css/themes/ListItemIcon.css +1 -1
  398. package/dist/css/themes/Menu.css +1 -1
  399. package/dist/css/themes/MenuItem.css +1 -1
  400. package/dist/css/themes/MenuSeparator.css +1 -0
  401. package/dist/css/themes/MessageStrip.css +1 -1
  402. package/dist/css/themes/MonthPicker.css +1 -1
  403. package/dist/css/themes/MultiComboBox.css +1 -1
  404. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  405. package/dist/css/themes/MultiInput.css +1 -1
  406. package/dist/css/themes/NavigationMenu.css +1 -1
  407. package/dist/css/themes/NavigationMenuItem.css +1 -1
  408. package/dist/css/themes/OptionBase.css +1 -1
  409. package/dist/css/themes/Panel.css +1 -1
  410. package/dist/css/themes/Popover.css +1 -1
  411. package/dist/css/themes/PopupsCommon.css +1 -1
  412. package/dist/css/themes/ProgressIndicator.css +1 -1
  413. package/dist/css/themes/RadioButton.css +1 -1
  414. package/dist/css/themes/RangeSlider.css +1 -1
  415. package/dist/css/themes/RatingIndicator.css +1 -1
  416. package/dist/css/themes/ResponsivePopover.css +1 -1
  417. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  418. package/dist/css/themes/SegmentedButton.css +1 -1
  419. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  420. package/dist/css/themes/Select.css +1 -1
  421. package/dist/css/themes/SliderBase.css +1 -1
  422. package/dist/css/themes/SplitButton.css +1 -1
  423. package/dist/css/themes/StepInput.css +1 -1
  424. package/dist/css/themes/SuggestionItem.css +1 -0
  425. package/dist/css/themes/SuggestionItemCustom.css +1 -0
  426. package/dist/css/themes/Suggestions.css +1 -1
  427. package/dist/css/themes/Switch.css +1 -1
  428. package/dist/css/themes/TabContainer.css +1 -1
  429. package/dist/css/themes/TabInOverflow.css +1 -1
  430. package/dist/css/themes/TabInStrip.css +1 -1
  431. package/dist/css/themes/TabSemanticIcon.css +1 -1
  432. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  433. package/dist/css/themes/Table.css +1 -0
  434. package/dist/css/themes/TableCell.css +1 -0
  435. package/dist/css/themes/TableCellBase.css +1 -0
  436. package/dist/css/themes/TableGrowing.css +1 -0
  437. package/dist/css/themes/TableHeaderCell.css +1 -0
  438. package/dist/css/themes/TableHeaderRow.css +1 -0
  439. package/dist/css/themes/TableRow.css +1 -0
  440. package/dist/css/themes/TableRowBase.css +1 -0
  441. package/dist/css/themes/Tag.css +1 -1
  442. package/dist/css/themes/Text.css +1 -1
  443. package/dist/css/themes/TextArea.css +1 -1
  444. package/dist/css/themes/TimePicker.css +1 -1
  445. package/dist/css/themes/Toast.css +1 -1
  446. package/dist/css/themes/ToggleButton.css +1 -1
  447. package/dist/css/themes/Token.css +1 -1
  448. package/dist/css/themes/Tokenizer.css +1 -1
  449. package/dist/css/themes/TokenizerPopover.css +1 -1
  450. package/dist/css/themes/Toolbar.css +1 -1
  451. package/dist/css/themes/ToolbarPopover.css +1 -1
  452. package/dist/css/themes/TreeItem.css +1 -1
  453. package/dist/css/themes/ValueStateMessage.css +1 -1
  454. package/dist/css/themes/YearPicker.css +1 -1
  455. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  456. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  457. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  458. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  459. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  460. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  461. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  462. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  463. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  464. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  465. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  466. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  467. package/dist/custom-elements-internal.json +7869 -6647
  468. package/dist/custom-elements.json +5851 -4966
  469. package/dist/features/InputSuggestions.d.ts +23 -49
  470. package/dist/features/InputSuggestions.js +63 -107
  471. package/dist/features/InputSuggestions.js.map +1 -1
  472. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  473. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  474. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  475. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  476. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  477. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  478. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  479. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  480. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  481. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  482. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  483. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  484. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  485. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  486. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  487. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  488. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  489. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  490. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  491. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  492. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  493. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  494. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  495. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  496. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  497. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  498. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  499. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  500. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  501. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  502. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  503. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  504. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  505. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  506. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  507. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  508. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  509. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  510. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  511. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  512. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  513. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  514. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  515. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  516. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  517. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  518. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  519. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  520. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  521. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  522. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  523. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  524. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  525. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  526. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  527. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  528. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  529. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  530. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  531. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  532. package/dist/generated/i18n/i18n-defaults.d.ts +11 -2
  533. package/dist/generated/i18n/i18n-defaults.js +11 -2
  534. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  535. package/dist/generated/templates/AvatarTemplate.lit.js +1 -1
  536. package/dist/generated/templates/AvatarTemplate.lit.js.map +1 -1
  537. package/dist/generated/templates/CalendarHeaderTemplate.lit.d.ts +1 -1
  538. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +3 -3
  539. package/dist/generated/templates/CalendarHeaderTemplate.lit.js.map +1 -1
  540. package/dist/generated/templates/CalendarTemplate.lit.js +4 -2
  541. package/dist/generated/templates/CalendarTemplate.lit.js.map +1 -1
  542. package/dist/generated/templates/CarouselTemplate.lit.js +1 -1
  543. package/dist/generated/templates/CarouselTemplate.lit.js.map +1 -1
  544. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +7 -7
  545. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  546. package/dist/generated/templates/ComboBoxTemplate.lit.js +7 -7
  547. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  548. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +1 -1
  549. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
  550. package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
  551. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  552. package/dist/generated/templates/DateRangePickerTemplate.lit.js +1 -1
  553. package/dist/generated/templates/DateRangePickerTemplate.lit.js.map +1 -1
  554. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
  555. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
  556. package/dist/generated/templates/DateTimePickerTemplate.lit.js +1 -1
  557. package/dist/generated/templates/DateTimePickerTemplate.lit.js.map +1 -1
  558. package/dist/generated/templates/InputPopoverTemplate.lit.js +8 -12
  559. package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -1
  560. package/dist/generated/templates/InputTemplate.lit.js +8 -12
  561. package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
  562. package/dist/generated/templates/LinkTemplate.lit.js +5 -3
  563. package/dist/generated/templates/LinkTemplate.lit.js.map +1 -1
  564. package/dist/generated/templates/{CustomListItemTemplate.lit.d.ts → ListItemCustomTemplate.lit.d.ts} +2 -2
  565. package/dist/generated/templates/{CustomListItemTemplate.lit.js → ListItemCustomTemplate.lit.js} +1 -1
  566. package/dist/generated/templates/{CustomListItemTemplate.lit.js.map → ListItemCustomTemplate.lit.js.map} +1 -1
  567. package/dist/generated/templates/{StandardListItemTemplate.lit.d.ts → ListItemStandardTemplate.lit.d.ts} +2 -2
  568. package/dist/generated/templates/{StandardListItemTemplate.lit.js → ListItemStandardTemplate.lit.js} +19 -21
  569. package/dist/generated/templates/ListItemStandardTemplate.lit.js.map +1 -0
  570. package/dist/generated/templates/MenuSeparatorTemplate.lit.d.ts +4 -0
  571. package/dist/generated/templates/MenuSeparatorTemplate.lit.js +5 -0
  572. package/dist/generated/templates/MenuSeparatorTemplate.lit.js.map +1 -0
  573. package/dist/generated/templates/MessageStripTemplate.lit.js +1 -1
  574. package/dist/generated/templates/MessageStripTemplate.lit.js.map +1 -1
  575. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +19 -15
  576. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  577. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +40 -32
  578. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  579. package/dist/generated/templates/MultiInputTemplate.lit.js +7 -11
  580. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
  581. package/dist/generated/templates/SuggestionItemCustomTemplate.lit.d.ts +4 -0
  582. package/dist/generated/templates/SuggestionItemCustomTemplate.lit.js +5 -0
  583. package/dist/generated/templates/SuggestionItemCustomTemplate.lit.js.map +1 -0
  584. package/dist/generated/templates/SuggestionItemGroupTemplate.lit.d.ts +4 -0
  585. package/dist/generated/templates/SuggestionItemGroupTemplate.lit.js +8 -0
  586. package/dist/generated/templates/SuggestionItemGroupTemplate.lit.js.map +1 -0
  587. package/dist/generated/templates/SuggestionItemTemplate.lit.d.ts +4 -0
  588. package/dist/generated/templates/SuggestionItemTemplate.lit.js +6 -0
  589. package/dist/generated/templates/SuggestionItemTemplate.lit.js.map +1 -0
  590. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +21 -23
  591. package/dist/generated/templates/SuggestionListItemTemplate.lit.js.map +1 -1
  592. package/dist/generated/templates/TabContainerTemplate.lit.js +2 -2
  593. package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -1
  594. package/dist/generated/templates/TableCellTemplate.lit.d.ts +4 -0
  595. package/dist/generated/templates/TableCellTemplate.lit.js +8 -0
  596. package/dist/generated/templates/TableCellTemplate.lit.js.map +1 -0
  597. package/dist/generated/templates/TableGrowingTemplate.lit.d.ts +4 -0
  598. package/dist/generated/templates/TableGrowingTemplate.lit.js +7 -0
  599. package/dist/generated/templates/TableGrowingTemplate.lit.js.map +1 -0
  600. package/dist/generated/templates/TableHeaderCellTemplate.lit.d.ts +4 -0
  601. package/dist/generated/templates/TableHeaderCellTemplate.lit.js +5 -0
  602. package/dist/generated/templates/TableHeaderCellTemplate.lit.js.map +1 -0
  603. package/dist/generated/templates/TableHeaderRowTemplate.lit.d.ts +4 -0
  604. package/dist/generated/templates/TableHeaderRowTemplate.lit.js +9 -0
  605. package/dist/generated/templates/TableHeaderRowTemplate.lit.js.map +1 -0
  606. package/dist/generated/templates/TableRowTemplate.lit.d.ts +4 -0
  607. package/dist/generated/templates/TableRowTemplate.lit.js +12 -0
  608. package/dist/generated/templates/TableRowTemplate.lit.js.map +1 -0
  609. package/dist/generated/templates/TableTemplate.lit.d.ts +4 -0
  610. package/dist/generated/templates/TableTemplate.lit.js +10 -0
  611. package/dist/generated/templates/TableTemplate.lit.js.map +1 -0
  612. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +1 -1
  613. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js.map +1 -1
  614. package/dist/generated/templates/TimePickerTemplate.lit.js +1 -1
  615. package/dist/generated/templates/TimePickerTemplate.lit.js.map +1 -1
  616. package/dist/generated/templates/ToastTemplate.lit.js +1 -1
  617. package/dist/generated/templates/ToastTemplate.lit.js.map +1 -1
  618. package/dist/generated/themes/Avatar.css.js +1 -1
  619. package/dist/generated/themes/Avatar.css.js.map +1 -1
  620. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  621. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  622. package/dist/generated/themes/Bar.css.js +1 -1
  623. package/dist/generated/themes/Bar.css.js.map +1 -1
  624. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  625. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  626. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  627. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  628. package/dist/generated/themes/Button.css.js +1 -1
  629. package/dist/generated/themes/Button.css.js.map +1 -1
  630. package/dist/generated/themes/Calendar.css.js +1 -1
  631. package/dist/generated/themes/Calendar.css.js.map +1 -1
  632. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  633. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  634. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  635. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  636. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  637. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  638. package/dist/generated/themes/Card.css.js +1 -1
  639. package/dist/generated/themes/Card.css.js.map +1 -1
  640. package/dist/generated/themes/CardHeader.css.js +1 -1
  641. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  642. package/dist/generated/themes/Carousel.css.js +1 -1
  643. package/dist/generated/themes/Carousel.css.js.map +1 -1
  644. package/dist/generated/themes/CheckBox.css.js +1 -1
  645. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  646. package/dist/generated/themes/ColorPalette.css.js +1 -1
  647. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  648. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  649. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  650. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  651. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  652. package/dist/generated/themes/ColorPicker.css.js +1 -1
  653. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  654. package/dist/generated/themes/ComboBox.css.js +1 -1
  655. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  656. package/dist/generated/themes/DatePicker.css.js +1 -1
  657. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  658. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  659. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  660. package/dist/generated/themes/DayPicker.css.js +1 -1
  661. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  662. package/dist/generated/themes/Dialog.css.js +1 -1
  663. package/dist/generated/themes/Dialog.css.js.map +1 -1
  664. package/dist/generated/themes/FileUploader.css.js +1 -1
  665. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  666. package/dist/generated/themes/Form.css.js +1 -1
  667. package/dist/generated/themes/Form.css.js.map +1 -1
  668. package/dist/generated/themes/FormItem.css.js +1 -1
  669. package/dist/generated/themes/FormItem.css.js.map +1 -1
  670. package/dist/generated/themes/FormLabelSpan.css.js +1 -1
  671. package/dist/generated/themes/FormLabelSpan.css.js.map +1 -1
  672. package/dist/generated/themes/GrowingButton.css.js +1 -1
  673. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  674. package/dist/generated/themes/Icon.css.js +1 -1
  675. package/dist/generated/themes/Icon.css.js.map +1 -1
  676. package/dist/generated/themes/Input.css.js +1 -1
  677. package/dist/generated/themes/Input.css.js.map +1 -1
  678. package/dist/generated/themes/InputIcon.css.js +1 -1
  679. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  680. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  681. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  682. package/dist/generated/themes/Link.css.js +1 -1
  683. package/dist/generated/themes/Link.css.js.map +1 -1
  684. package/dist/generated/themes/List.css.js +1 -1
  685. package/dist/generated/themes/List.css.js.map +1 -1
  686. package/dist/generated/themes/ListItem.css.js +1 -1
  687. package/dist/generated/themes/ListItem.css.js.map +1 -1
  688. package/dist/generated/themes/ListItemBase.css.js +1 -1
  689. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  690. package/dist/generated/themes/ListItemCustom.css.js +9 -0
  691. package/dist/generated/themes/{CustomListItem.css.js.map → ListItemCustom.css.js.map} +1 -1
  692. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  693. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  694. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  695. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  696. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  697. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  698. package/dist/generated/themes/Menu.css.js +1 -1
  699. package/dist/generated/themes/Menu.css.js.map +1 -1
  700. package/dist/generated/themes/MenuItem.css.js +1 -1
  701. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  702. package/dist/generated/themes/MenuSeparator.css.d.ts +3 -0
  703. package/dist/generated/themes/MenuSeparator.css.js +9 -0
  704. package/dist/generated/themes/MenuSeparator.css.js.map +1 -0
  705. package/dist/generated/themes/MessageStrip.css.js +1 -1
  706. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  707. package/dist/generated/themes/MonthPicker.css.js +1 -1
  708. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  709. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  710. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  711. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  712. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  713. package/dist/generated/themes/MultiInput.css.js +1 -1
  714. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  715. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  716. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  717. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  718. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  719. package/dist/generated/themes/OptionBase.css.js +1 -1
  720. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  721. package/dist/generated/themes/Panel.css.js +1 -1
  722. package/dist/generated/themes/Panel.css.js.map +1 -1
  723. package/dist/generated/themes/Popover.css.js +1 -1
  724. package/dist/generated/themes/Popover.css.js.map +1 -1
  725. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  726. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  727. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  728. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  729. package/dist/generated/themes/RadioButton.css.js +1 -1
  730. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  731. package/dist/generated/themes/RangeSlider.css.js +1 -1
  732. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  733. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  734. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  735. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  736. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  737. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  738. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  739. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  740. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  741. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  742. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  743. package/dist/generated/themes/Select.css.js +1 -1
  744. package/dist/generated/themes/Select.css.js.map +1 -1
  745. package/dist/generated/themes/SliderBase.css.js +1 -1
  746. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  747. package/dist/generated/themes/SplitButton.css.js +1 -1
  748. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  749. package/dist/generated/themes/StepInput.css.js +1 -1
  750. package/dist/generated/themes/StepInput.css.js.map +1 -1
  751. package/dist/generated/themes/SuggestionItem.css.d.ts +3 -0
  752. package/dist/generated/themes/SuggestionItem.css.js +9 -0
  753. package/dist/generated/themes/SuggestionItem.css.js.map +1 -0
  754. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +3 -0
  755. package/dist/generated/themes/SuggestionItemCustom.css.js +9 -0
  756. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -0
  757. package/dist/generated/themes/Suggestions.css.js +1 -1
  758. package/dist/generated/themes/Suggestions.css.js.map +1 -1
  759. package/dist/generated/themes/Switch.css.js +1 -1
  760. package/dist/generated/themes/Switch.css.js.map +1 -1
  761. package/dist/generated/themes/TabContainer.css.js +1 -1
  762. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  763. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  764. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  765. package/dist/generated/themes/TabInStrip.css.js +1 -1
  766. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  767. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  768. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  769. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  770. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  771. package/dist/generated/themes/Table.css.d.ts +3 -0
  772. package/dist/generated/themes/Table.css.js +9 -0
  773. package/dist/generated/themes/Table.css.js.map +1 -0
  774. package/dist/generated/themes/TableCell.css.d.ts +3 -0
  775. package/dist/generated/themes/TableCell.css.js +9 -0
  776. package/dist/generated/themes/TableCell.css.js.map +1 -0
  777. package/dist/generated/themes/TableCellBase.css.d.ts +3 -0
  778. package/dist/generated/themes/TableCellBase.css.js +9 -0
  779. package/dist/generated/themes/TableCellBase.css.js.map +1 -0
  780. package/dist/generated/themes/TableGrowing.css.d.ts +3 -0
  781. package/dist/generated/themes/TableGrowing.css.js +9 -0
  782. package/dist/generated/themes/TableGrowing.css.js.map +1 -0
  783. package/dist/generated/themes/TableHeaderCell.css.d.ts +3 -0
  784. package/dist/generated/themes/TableHeaderCell.css.js +9 -0
  785. package/dist/generated/themes/TableHeaderCell.css.js.map +1 -0
  786. package/dist/generated/themes/TableHeaderRow.css.d.ts +3 -0
  787. package/dist/generated/themes/TableHeaderRow.css.js +9 -0
  788. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -0
  789. package/dist/generated/themes/TableRow.css.d.ts +3 -0
  790. package/dist/generated/themes/TableRow.css.js +9 -0
  791. package/dist/generated/themes/TableRow.css.js.map +1 -0
  792. package/dist/generated/themes/TableRowBase.css.d.ts +3 -0
  793. package/dist/generated/themes/TableRowBase.css.js +9 -0
  794. package/dist/generated/themes/TableRowBase.css.js.map +1 -0
  795. package/dist/generated/themes/Tag.css.js +1 -1
  796. package/dist/generated/themes/Tag.css.js.map +1 -1
  797. package/dist/generated/themes/Text.css.js +1 -1
  798. package/dist/generated/themes/Text.css.js.map +1 -1
  799. package/dist/generated/themes/TextArea.css.js +1 -1
  800. package/dist/generated/themes/TextArea.css.js.map +1 -1
  801. package/dist/generated/themes/TimePicker.css.js +1 -1
  802. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  803. package/dist/generated/themes/Toast.css.js +1 -1
  804. package/dist/generated/themes/Toast.css.js.map +1 -1
  805. package/dist/generated/themes/ToggleButton.css.js +1 -1
  806. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  807. package/dist/generated/themes/Token.css.js +1 -1
  808. package/dist/generated/themes/Token.css.js.map +1 -1
  809. package/dist/generated/themes/Tokenizer.css.js +1 -1
  810. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  811. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  812. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  813. package/dist/generated/themes/Toolbar.css.js +1 -1
  814. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  815. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  816. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  817. package/dist/generated/themes/TreeItem.css.js +1 -1
  818. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  819. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  820. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  821. package/dist/generated/themes/YearPicker.css.js +1 -1
  822. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  823. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  824. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  825. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  826. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  827. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  828. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  829. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  830. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  831. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  832. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  833. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  834. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  835. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  836. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  837. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  838. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  839. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  840. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  841. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  842. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  843. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  844. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  845. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  846. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  847. package/dist/popup-utils/OpenedPopupsRegistry.d.ts +1 -1
  848. package/dist/popup-utils/OpenedPopupsRegistry.js +0 -1
  849. package/dist/popup-utils/OpenedPopupsRegistry.js.map +1 -1
  850. package/dist/types/IconMode.d.ts +4 -4
  851. package/dist/types/IconMode.js +4 -4
  852. package/dist/types/IconMode.js.map +1 -1
  853. package/dist/types/{ListSeparators.d.ts → ListSeparator.d.ts} +3 -2
  854. package/dist/types/{ListSeparators.js → ListSeparator.js} +9 -8
  855. package/dist/types/ListSeparator.js.map +1 -0
  856. package/dist/types/TableGrowingMode.d.ts +18 -0
  857. package/dist/types/TableGrowingMode.js +20 -0
  858. package/dist/types/TableGrowingMode.js.map +1 -0
  859. package/dist/types/TableOverflowMode.d.ts +18 -0
  860. package/dist/types/TableOverflowMode.js +20 -0
  861. package/dist/types/TableOverflowMode.js.map +1 -0
  862. package/dist/types/TableSelectionMode.d.ts +23 -0
  863. package/dist/types/TableSelectionMode.js +25 -0
  864. package/dist/types/TableSelectionMode.js.map +1 -0
  865. package/dist/types/TagDesign.d.ts +0 -6
  866. package/dist/types/TagDesign.js +0 -6
  867. package/dist/types/TagDesign.js.map +1 -1
  868. package/dist/types/ToolbarDesign.d.ts +18 -0
  869. package/dist/types/ToolbarDesign.js +20 -0
  870. package/dist/types/ToolbarDesign.js.map +1 -0
  871. package/dist/vscode.html-custom-data.json +375 -228
  872. package/dist/web-types.json +1533 -1160
  873. package/package.json +11 -9
  874. package/src/Avatar.hbs +1 -1
  875. package/src/Calendar.hbs +3 -19
  876. package/src/CalendarHeader.hbs +10 -10
  877. package/src/Carousel.hbs +1 -0
  878. package/src/ComboBoxPopover.hbs +22 -10
  879. package/src/DatePickerPopover.hbs +1 -0
  880. package/src/InputPopover.hbs +1 -22
  881. package/src/Link.hbs +22 -1
  882. package/src/{StandardListItem.hbs → ListItemStandard.hbs} +3 -9
  883. package/src/MenuSeparator.hbs +6 -0
  884. package/src/MessageStrip.hbs +1 -1
  885. package/src/MultiComboBox.hbs +18 -1
  886. package/src/MultiComboBoxPopover.hbs +26 -7
  887. package/src/SuggestionItem.hbs +14 -0
  888. package/src/SuggestionItemCustom.hbs +5 -0
  889. package/src/SuggestionItemGroup.hbs +1 -0
  890. package/src/SuggestionListItem.hbs +1 -1
  891. package/src/TabContainer.hbs +2 -2
  892. package/src/Table.hbs +53 -0
  893. package/src/TableCell.hbs +11 -0
  894. package/src/TableGrowing.hbs +19 -0
  895. package/src/TableHeaderCell.hbs +1 -0
  896. package/src/TableHeaderRow.hbs +23 -0
  897. package/src/TableRow.hbs +34 -0
  898. package/src/TimePickerPopover.hbs +1 -0
  899. package/src/Toast.hbs +1 -1
  900. package/src/i18n/messagebundle.properties +26 -4
  901. package/src/i18n/messagebundle_ar.properties +15 -2
  902. package/src/i18n/messagebundle_bg.properties +15 -2
  903. package/src/i18n/messagebundle_ca.properties +31 -18
  904. package/src/i18n/messagebundle_cnr.properties +15 -2
  905. package/src/i18n/messagebundle_cs.properties +15 -2
  906. package/src/i18n/messagebundle_cy.properties +25 -12
  907. package/src/i18n/messagebundle_da.properties +15 -2
  908. package/src/i18n/messagebundle_de.properties +18 -5
  909. package/src/i18n/messagebundle_el.properties +15 -2
  910. package/src/i18n/messagebundle_en.properties +15 -2
  911. package/src/i18n/messagebundle_en_GB.properties +15 -2
  912. package/src/i18n/messagebundle_en_US_saprigi.properties +15 -2
  913. package/src/i18n/messagebundle_es.properties +15 -2
  914. package/src/i18n/messagebundle_es_MX.properties +18 -5
  915. package/src/i18n/messagebundle_et.properties +15 -2
  916. package/src/i18n/messagebundle_fi.properties +21 -8
  917. package/src/i18n/messagebundle_fr.properties +33 -20
  918. package/src/i18n/messagebundle_fr_CA.properties +33 -20
  919. package/src/i18n/messagebundle_hi.properties +15 -2
  920. package/src/i18n/messagebundle_hr.properties +15 -2
  921. package/src/i18n/messagebundle_hu.properties +15 -2
  922. package/src/i18n/messagebundle_id.properties +15 -2
  923. package/src/i18n/messagebundle_it.properties +19 -6
  924. package/src/i18n/messagebundle_iw.properties +17 -4
  925. package/src/i18n/messagebundle_ja.properties +15 -2
  926. package/src/i18n/messagebundle_kk.properties +19 -6
  927. package/src/i18n/messagebundle_ko.properties +18 -5
  928. package/src/i18n/messagebundle_lt.properties +15 -2
  929. package/src/i18n/messagebundle_lv.properties +15 -2
  930. package/src/i18n/messagebundle_mk.properties +15 -2
  931. package/src/i18n/messagebundle_ms.properties +15 -2
  932. package/src/i18n/messagebundle_nl.properties +15 -2
  933. package/src/i18n/messagebundle_no.properties +15 -2
  934. package/src/i18n/messagebundle_pl.properties +15 -2
  935. package/src/i18n/messagebundle_pt.properties +15 -2
  936. package/src/i18n/messagebundle_pt_PT.properties +15 -2
  937. package/src/i18n/messagebundle_ro.properties +15 -2
  938. package/src/i18n/messagebundle_ru.properties +15 -2
  939. package/src/i18n/messagebundle_sh.properties +15 -2
  940. package/src/i18n/messagebundle_sk.properties +15 -2
  941. package/src/i18n/messagebundle_sl.properties +15 -2
  942. package/src/i18n/messagebundle_sr.properties +15 -2
  943. package/src/i18n/messagebundle_sv.properties +21 -8
  944. package/src/i18n/messagebundle_th.properties +16 -3
  945. package/src/i18n/messagebundle_tr.properties +16 -3
  946. package/src/i18n/messagebundle_uk.properties +16 -3
  947. package/src/i18n/messagebundle_vi.properties +15 -2
  948. package/src/i18n/messagebundle_zh_CN.properties +15 -2
  949. package/src/i18n/messagebundle_zh_TW.properties +15 -2
  950. package/src/themes/Avatar.css +1 -5
  951. package/src/themes/AvatarGroup.css +3 -3
  952. package/src/themes/BusyIndicator.css +4 -0
  953. package/src/themes/Calendar.css +6 -5
  954. package/src/themes/CheckBox.css +7 -12
  955. package/src/themes/Icon.css +1 -1
  956. package/src/themes/Link.css +27 -0
  957. package/src/themes/ListItem.css +9 -13
  958. package/src/themes/ListItemBase.css +10 -9
  959. package/src/themes/MenuItem.css +0 -4
  960. package/src/themes/MenuSeparator.css +11 -0
  961. package/src/themes/SegmentedButtonItem.css +7 -1
  962. package/src/themes/SuggestionItem.css +14 -0
  963. package/src/themes/SuggestionItemCustom.css +3 -0
  964. package/src/themes/Suggestions.css +0 -5
  965. package/src/themes/TabContainer.css +1 -1
  966. package/src/themes/Table.css +42 -0
  967. package/src/themes/TableCell.css +9 -0
  968. package/src/themes/TableCellBase.css +21 -0
  969. package/src/themes/TableGrowing.css +41 -0
  970. package/src/themes/TableHeaderCell.css +8 -0
  971. package/src/themes/TableHeaderRow.css +20 -0
  972. package/src/themes/TableRow.css +48 -0
  973. package/src/themes/TableRowBase.css +20 -0
  974. package/src/themes/Tag.css +21 -102
  975. package/src/themes/TextArea.css +2 -2
  976. package/src/themes/Toolbar.css +7 -1
  977. package/src/themes/TreeItem.css +5 -6
  978. package/src/themes/base/BusyIndicator-parameters.css +1 -0
  979. package/src/themes/base/CheckBox-parameters.css +2 -4
  980. package/src/themes/base/Table-parameters.css +5 -0
  981. package/src/themes/base/Tag-parameters.css +3 -51
  982. package/src/themes/base/sizes-parameters.css +3 -2
  983. package/src/themes/sap_fiori_3/CheckBox-parameters.css +0 -3
  984. package/src/themes/sap_fiori_3/Tag-parameters.css +5 -0
  985. package/src/themes/sap_fiori_3/parameters-bundle.css +2 -1
  986. package/src/themes/sap_fiori_3_dark/CheckBox-parameters.css +0 -3
  987. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
  988. package/src/themes/sap_fiori_3_hcb/BusyIndicator-parameters.css +5 -0
  989. package/src/themes/sap_fiori_3_hcb/CheckBox-parameters.css +1 -0
  990. package/src/themes/sap_fiori_3_hcb/Tag-parameters.css +0 -45
  991. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +3 -2
  992. package/src/themes/sap_fiori_3_hcb/sizes-parameters.css +4 -0
  993. package/src/themes/sap_fiori_3_hcw/BusyIndicator-parameters.css +5 -0
  994. package/src/themes/sap_fiori_3_hcw/CheckBox-parameters.css +1 -0
  995. package/src/themes/sap_fiori_3_hcw/Tag-parameters.css +0 -45
  996. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +3 -2
  997. package/src/themes/sap_fiori_3_hcw/sizes-parameters.css +4 -0
  998. package/src/themes/sap_horizon/CheckBox-parameters.css +0 -1
  999. package/src/themes/sap_horizon/ProgressIndicatorLayout-parameters.css +0 -5
  1000. package/src/themes/sap_horizon/RatingIndicator-parameters.css +5 -3
  1001. package/src/themes/sap_horizon/Tag-parameters.css +0 -33
  1002. package/src/themes/sap_horizon/parameters-bundle.css +1 -0
  1003. package/src/themes/sap_horizon/rtl-parameters.css +2 -0
  1004. package/src/themes/sap_horizon/sizes-parameters.css +3 -0
  1005. package/src/themes/sap_horizon_dark/CheckBox-parameters.css +0 -1
  1006. package/src/themes/sap_horizon_dark/RatingIndicator-parameters.css +5 -3
  1007. package/src/themes/sap_horizon_dark/Tag-parameters.css +0 -33
  1008. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -0
  1009. package/src/themes/sap_horizon_dark/sizes-parameters.css +3 -0
  1010. package/src/themes/sap_horizon_dark_exp/Tag-parameters.css +1 -43
  1011. package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -0
  1012. package/src/themes/sap_horizon_exp/CheckBox-parameters.css +0 -1
  1013. package/src/themes/sap_horizon_exp/Tag-parameters.css +1 -43
  1014. package/src/themes/sap_horizon_exp/parameters-bundle.css +1 -0
  1015. package/src/themes/sap_horizon_hcb/BusyIndicator-parameters.css +1 -0
  1016. package/src/themes/sap_horizon_hcb/CheckBox-parameters.css +1 -1
  1017. package/src/themes/sap_horizon_hcb/RatingIndicator-parameters.css +5 -3
  1018. package/src/themes/sap_horizon_hcb/Tag-parameters.css +0 -39
  1019. package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -0
  1020. package/src/themes/sap_horizon_hcb/sizes-parameters.css +4 -0
  1021. package/src/themes/sap_horizon_hcb_exp/Tag-parameters.css +1 -43
  1022. package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -0
  1023. package/src/themes/sap_horizon_hcw/BusyIndicator-parameters.css +1 -0
  1024. package/src/themes/sap_horizon_hcw/CheckBox-parameters.css +1 -1
  1025. package/src/themes/sap_horizon_hcw/RatingIndicator-parameters.css +5 -3
  1026. package/src/themes/sap_horizon_hcw/Tag-parameters.css +0 -41
  1027. package/src/themes/sap_horizon_hcw/sizes-parameters.css +4 -0
  1028. package/src/themes/sap_horizon_hcw_exp/Tag-parameters.css +1 -43
  1029. package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -0
  1030. package/dist/CalendarHeader.d.ts +0 -80
  1031. package/dist/CalendarHeader.js +0 -160
  1032. package/dist/CalendarHeader.js.map +0 -1
  1033. package/dist/CustomListItem.js.map +0 -1
  1034. package/dist/MultiComboBoxGroupItem.js.map +0 -1
  1035. package/dist/StandardListItem.js.map +0 -1
  1036. package/dist/SuggestionGroupItem.d.ts +0 -28
  1037. package/dist/SuggestionGroupItem.js +0 -43
  1038. package/dist/SuggestionGroupItem.js.map +0 -1
  1039. package/dist/css/themes/CustomListItem.css +0 -1
  1040. package/dist/generated/templates/StandardListItemTemplate.lit.js.map +0 -1
  1041. package/dist/generated/themes/CustomListItem.css.js +0 -9
  1042. package/dist/styles/Icon.css +0 -33
  1043. package/dist/styles/Icon.module.css +0 -33
  1044. package/dist/types/ListSeparators.js.map +0 -1
  1045. package/src/styles/Icon.module.css +0 -1
  1046. /package/dist/generated/themes/{CustomListItem.css.d.ts → ListItemCustom.css.d.ts} +0 -0
  1047. /package/src/{CustomListItem.hbs → ListItemCustom.hbs} +0 -0
  1048. /package/src/themes/{CustomListItem.css → ListItemCustom.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.js","sourceRoot":"","sources":["../src/ComboBox.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,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,mEAAmE,CAAC;AAE/F,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,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,GACvB,MAAM,mCAAmC,CAAC;AAE3C,YAAY;AACZ,OAAO,gBAAgB,MAAM,+CAA+C,CAAC;AAE7E,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,EAAE,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAA2B,MAAM,YAAY,CAAC;AACrD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,MAAM,eAAe,GAAG,EAAE,CAAC;AAwB3B,IAAK,qBAKJ;AALD,WAAK,qBAAqB;IACzB,2CAAkB,CAAA;IAClB,2CAAkB,CAAA;IAClB,iDAAwB,CAAA;IACxB,oDAA2B,CAAA;AAC5B,CAAC,EALI,qBAAqB,KAArB,qBAAqB,QAKzB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAyDH,IAAM,QAAQ,gBAAd,MAAM,QAAS,SAAQ,UAAU;IAwMhC,IAAI,mBAAmB;QACtB,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,YAAY;QACf,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,iBAAiB;QACtB,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED;QACC,KAAK,EAAE,CAAC;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,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;YAClD,IAAI,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;SACpD;QAED,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAEtG,6FAA6F;QAC7F,IAAI,CAAC,CAAC,iBAAiB,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;YACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;SACjC;QAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,OAAO,EAAE;YACzG,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;SACrB;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,mBAAmB,GAAG,IAAI,CAAC;YAClC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;YACpB,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,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC;IAC1F,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,MAAM,OAAO,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;QAC3E,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE;YAChF,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,IAAI,EAAE;YAChB,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,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7D,IAAI,iBAAiB,EAAE;YACtB,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC;YAChC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC;SAC9B;IACF,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC3B,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7D,IAAI,iBAAiB,EAAE;YACtB,iBAAiB,CAAC,IAAI,GAAG,KAAK,CAAC;SAC/B;IACF,CAAC;IAED,KAAK,CAAC,qBAAqB;QAC1B,MAAM,cAAc,EAAE,CAAC;QACvB,MAAM,OAAO,GAAY,IAAI,CAAC,UAAW,CAAC,aAAa,CAAU,gCAAgC,CAAE,CAAC;QAEpG,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,oBAAoB;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzB,IAAI,6BAA6B,CAAC,IAAI,CAAC,EAAE;gBACxC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE;oBACvB,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;gBACtB,CAAC,CAAC,CAAC;gBACH,OAAO;aACP;YAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC;IACJ,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,EAAE,IAAoB;iBAC1B,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,MAAM,QAAQ,GAAwB,IAAI,CAAC,SAAS,EAAE,CAAC;QACvD,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,WAAW;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAElC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAErB,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,SAAS;QACR,MAAM,QAAQ,GAAyB,EAAE,CAAC;QAE1C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAClC,IAAI,6BAA6B,CAAC,IAAI,CAAC,EAAE;gBACxC,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3C,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;gBAC/B,OAAO;aACP;YAED,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,iBAAiB,CAAC,CAAgB;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAElC,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,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACxC,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,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,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,QAAQ,CAAC,MAAM,GAAG,CAAC,KAAK,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YACrD,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,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAElC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,MAAM,WAAW,GAAkB,QAAQ,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC;QAC3D,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QAEnF,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;YAErB,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;QACD,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,EAAE,IAAoB;aAC1B,CAAC,CAAC;SACH;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,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,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,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,6BAA6B,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAE7F,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,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;QACpC,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,6BAA6B,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAE7F,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IAED,WAAW,CAAC,CAAgB;QAC3B,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAE9F,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,SAAS,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAClF,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;QACtC,MAAM,QAAQ,GAAyB,IAAI,CAAC,SAAS,EAAE,CAAC;QAExD,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,IAAI,WAAsC,CAAC;YAE3C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAClC,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBACxD,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;iBAC9D;gBAED,IAAI,IAAI,CAAC,OAAO,EAAE;oBACjB,WAAW,GAAG,IAAI,CAAC;iBACnB;YACF,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAExB,IAAI,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE;gBAC9C,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,UAAU,EAAE,IAAI,EAAE;gBACjC,UAAU,CAAC,IAAI,CAAC,CAAC;aACjB;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,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACzC,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,IAAI,MAAM,EAAE;YACX,MAAM,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACnC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;SACpB;IACF,CAAC;IAED,KAAK,CAAC,gBAAgB;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,YAAY,CAAC,GAAW;QACvB,IAAI,YAA0B,CAAC;QAC/B,IAAI,kBAAkB,GAAyB,EAAE,CAAC;QAClD,MAAM,aAAa,GAAyB,EAAE,CAAC;QAC/C,MAAM,kBAAkB,GAAyB,EAAE,CAAC;QAEpD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzB,IAAI,6BAA6B,CAAC,IAAI,CAAC,EAAE;gBACxC,kBAAkB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAClG,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBAC9B,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;gBACrB,CAAC,CAAC,CAAC;gBAEH,IAAI,kBAAkB,CAAC,MAAM,EAAE;oBAC9B,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC9B;gBAED,OAAO;aACP;YAED,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YAE1F,IAAI,YAAY,EAAE;gBACjB,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC/B,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACjC;QACF,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,kBAAkB,EAAE,GAAG,aAAa,CAAC,CAAC;IAClD,CAAC;IAED,qBAAqB,CAAC,OAAe;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;QAE1E,IAAI,oBAAoB,EAAE,WAAW,EAAE;YACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,OAAO;SACP;QAED,MAAM,aAAa,GAAyB,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE1I,IAAI,aAAa,CAAC,MAAM,EAAE;YACzB,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;SACxB;IACF,CAAC;IAED,6BAA6B,CAAC,IAAmB,EAAE,WAAmB,EAAE,cAAuB;QAC9F,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;QAC1F,IAAI,gBAA2C,CAAC;QAEhD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,wBAAwB,IAAI,CAAC,gBAAgB,EAAE;gBACnD,gBAAgB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAC9H;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACpD,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,EAAE;gBACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,gBAAgB,CAAC;gBAC1C,OAAO,IAAI,CAAC;aACZ;YAED,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC/B,SAAS,CAAC,QAAQ,GAAG,gBAAgB,KAAK,SAAS,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,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,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,yBAAyB,GAAG,WAAW,EAAE,cAAc,IAAI,EAAE,CAAC;QACpE,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,CAAC,CAAC;QAE5D,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,eAAe,CAAC,IAAmB;QAClC,IAAI,6BAA6B,CAAC,IAAI,CAAC,EAAE;YACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC9B,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,OAAO;SACP;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACxB,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,SAAS,CAAC,WAAW,CAAC,CAAC;QAE9C,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,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,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAoB,0BAA0B,CAAE,CAAC;QAE9F,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,QAAQ,CAAC;IACtE,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,QAAQ,CAAC,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACvE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACrE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACvE,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,QAAQ,CAAC,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC;YAC5E,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC;YACnF,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC;YAC1E,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC;SAC5E,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,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC;IAChG,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,IAAI,IAAI,KAAK,CAAC;IAC/C,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;YACD,wBAAwB,EAAE,EAAE;SAC5B,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,QAAQ;gBACzE,8BAA8B,EAAE,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,QAAQ;gBACvE,gCAAgC,EAAE,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,QAAQ;gBACzE,oCAAoC,EAAE,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,WAAW;aAChF;SACD,CAAC;IACH,CAAC;CACD,CAAA;AAvpCA;IADC,QAAQ,EAAE;uCACI;AAWf;IADC,QAAQ,EAAE;sCACG;AASd;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;AAzLf,QAAQ;IAxDb,aAAa,CAAC;QACd,GAAG,EAAE,cAAc;QACnB,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE;YACP,WAAW;YACX,0BAA0B;YAC1B,oBAAoB;YACpB,kBAAkB;YAClB,cAAc;SACd;QACD,QAAQ,EAAE,gBAAgB;QAC1B,YAAY,EAAE;YACb,YAAY;YACZ,IAAI;YACJ,iBAAiB;YACjB,IAAI;YACJ,aAAa;YACb,MAAM;YACN,gBAAgB;YAChB,aAAa;YACb,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,CAgqCb;AAED,QAAQ,CAAC,MAAM,EAAE,CAAC;AAElB,eAAe,QAAQ,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.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 { submitForm } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.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\tFORM_TEXTFIELD_REQUIRED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Templates\nimport ComboBoxTemplate from \"./generated/templates/ComboBoxTemplate.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 ComboBoxItemGroup, { isInstanceOfComboBoxItemGroup } from \"./ComboBoxItemGroup.js\";\nimport ListItemGroup from \"./ListItemGroup.js\";\nimport ListItemGroupHeader from \"./ListItemGroupHeader.js\";\nimport ComboBoxFilter from \"./types/ComboBoxFilter.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\t_isVisible?: boolean,\n\titems?: Array<IComboBoxItem>\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\tNegative = \"error\",\n\tCritical = \"alert\",\n\tPositive = \"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\tformAssociated: true,\n\trenderer: litRender,\n\tstyles: [\n\t\tComboBoxCss,\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t\tComboBoxPopoverCss,\n\t\tSuggestionsCss,\n\t],\n\ttemplate: ComboBoxTemplate,\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\tListItemGroup,\n\t\tListItemGroupHeader,\n\t\tPopover,\n\t\tComboBoxItemGroup,\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 implements IFormInputElement {\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 * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default \"\"\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\tname!: 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\tstatic i18nBundle: I18nBundle;\n\n\tget formValidityMessage() {\n\t\treturn ComboBox.i18nBundle.getText(FORM_TEXTFIELD_REQUIRED);\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\treturn { valueMissing: this.required && !this.value };\n\t}\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue() {\n\t\treturn this.value;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\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._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\t\t\tthis._filteredItems = (items.length && items) || [];\n\t\t}\n\n\t\tconst hasNoVisibleItems = !this._filteredItems.length || !this._filteredItems.some(i => i._isVisible);\n\n\t\t// If there is no filtered items matching the value, show all items when the arrow is pressed\n\t\tif (((hasNoVisibleItems && !isPhone()) && this.value)) {\n\t\t\tthis.items.forEach(this._makeAllVisible.bind(this));\n\t\t\tthis._filteredItems = this.items;\n\t\t}\n\n\t\tif (!this._initialRendering && document.activeElement === this && !this._filteredItems.length && popover) {\n\t\t\tpopover.open = false;\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.preventFocusRestore = true;\n\t\t\tpicker.open = false;\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.open && !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\tconst popover = this.shadowRoot!.querySelector(\"[ui5-responsive-popover]\");\n\t\tif (!(this.getDomRef()!.contains(toBeFocused)) && (popover !== 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.open) {\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\tconst valueStatePopover = await this._getValueStatePopover();\n\t\tif (valueStatePopover) {\n\t\t\tvalueStatePopover.opener = this;\n\t\t\tvalueStatePopover.open = true;\n\t\t}\n\t}\n\n\tasync closeValueStatePopover() {\n\t\tconst valueStatePopover = await this._getValueStatePopover();\n\t\tif (valueStatePopover) {\n\t\t\tvalueStatePopover.open = false;\n\t\t}\n\t}\n\n\tasync _getValueStatePopover() {\n\t\tawait renderFinished();\n\t\tconst popover: Popover = this.shadowRoot!.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_resetItemVisibility() {\n\t\tthis.items.forEach(item => {\n\t\t\tif (isInstanceOfComboBoxItemGroup(item)) {\n\t\t\t\titem.items?.forEach(i => {\n\t\t\t\t\ti._isVisible = false;\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\titem._isVisible = false;\n\t\t});\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: item as ComboBoxItem,\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\tconst allItems:Array<IComboBoxItem> = this._getItems();\n\t\treturn Filters.StartsWith(str, allItems, \"text\");\n\t}\n\n\t_clearFocus() {\n\t\tconst allItems = this._getItems();\n\n\t\tallItems.map(item => {\n\t\t\titem.focused = false;\n\n\t\t\treturn item;\n\t\t});\n\t}\n\n\t// Get groups and items as a flat array for filtering\n\t_getItems() {\n\t\tconst allItems: Array<IComboBoxItem> = [];\n\n\t\tthis._filteredItems.forEach(item => {\n\t\t\tif (isInstanceOfComboBoxItemGroup(item)) {\n\t\t\t\tconst groupedItems = [item, ...item.items];\n\t\t\t\tallItems.push(...groupedItems);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tallItems.push(item);\n\t\t});\n\n\t\treturn allItems;\n\t}\n\n\thandleNavKeyPress(e: KeyboardEvent) {\n\t\tconst allItems = this._getItems();\n\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 = allItems.find(item => {\n\t\t\treturn isOpen ? item.focused : item.selected;\n\t\t});\n\n\t\tconst indexOfItem = currentItem ? allItems.indexOf(currentItem) : -1;\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 (allItems.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 allItems = this._getItems();\n\n\t\tconst isOpen = this.open;\n\t\tconst currentItem: IComboBoxItem = allItems[indexOfItem];\n\t\tconst isGroupItem = currentItem && currentItem.isGroupItem;\n\t\tconst nextItem = isForward ? allItems[indexOfItem + 1] : allItems[indexOfItem - 1];\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\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\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: item as ComboBoxItem,\n\t\t\t});\n\t\t}\n\n\t\tthis.fireEvent(\"input\");\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 allItems = this._getItems();\n\t\tconst isProposedIndexValid = indexOfItem - SKIP_ITEMS_SIZE > -1;\n\t\tindexOfItem = isProposedIndexValid ? indexOfItem - SKIP_ITEMS_SIZE : 0;\n\t\tconst shouldMoveForward = isInstanceOfComboBoxItemGroup(allItems[indexOfItem]) && !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 allItems = this._getItems();\n\t\tconst itemsLength = allItems.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 = isInstanceOfComboBoxItemGroup(allItems[indexOfItem]) && !this.open;\n\n\t\tthis._handleItemNavigation(e, indexOfItem, shouldMoveForward);\n\t}\n\n\t_handleHome(e: KeyboardEvent) {\n\t\tconst shouldMoveForward = isInstanceOfComboBoxItemGroup(this._filteredItems[0]) && !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._getItems().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\t\tconst allItems: Array<IComboBoxItem> = this._getItems();\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\tlet focusedItem: IComboBoxItem | undefined;\n\n\t\t\tthis._filteredItems.forEach(item => {\n\t\t\t\tif (isInstanceOfComboBoxItemGroup(item) && !focusedItem) {\n\t\t\t\t\tfocusedItem = item.items.find(groupItem => groupItem.focused);\n\t\t\t\t}\n\n\t\t\t\tif (item.focused) {\n\t\t\t\t\tfocusedItem = item;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis._fireChangeEvent();\n\n\t\t\tif (picker?.open && !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._internals?.form) {\n\t\t\t\tsubmitForm(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 = allItems.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\tif (picker) {\n\t\t\tpicker.preventFocusRestore = false;\n\t\t\tpicker.open = false;\n\t\t}\n\t}\n\n\tasync _openRespPopover() {\n\t\tconst picker = await this._getPicker();\n\t\tpicker.opener = this;\n\t\tpicker.open = true;\n\t}\n\n\t_filterItems(str: string) {\n\t\tlet filteredItem:IComboBoxItem;\n\t\tlet filteredGroupItems: Array<IComboBoxItem> = [];\n\t\tconst filteredItems: Array<IComboBoxItem> = [];\n\t\tconst filteredItemGroups: Array<IComboBoxItem> = [];\n\n\t\tthis._resetItemVisibility();\n\t\tthis.items.forEach(item => {\n\t\t\tif (isInstanceOfComboBoxItemGroup(item)) {\n\t\t\t\tfilteredGroupItems = (Filters[this.filter] || Filters.StartsWithPerTerm)(str, item.items, \"text\");\n\t\t\t\tfilteredGroupItems.forEach(i => {\n\t\t\t\t\ti._isVisible = true;\n\t\t\t\t});\n\n\t\t\t\tif (filteredGroupItems.length) {\n\t\t\t\t\tfilteredItemGroups.push(item);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t[filteredItem] = (Filters[this.filter] || Filters.StartsWithPerTerm)(str, [item], \"text\");\n\n\t\t\tif (filteredItem) {\n\t\t\t\tfilteredItem._isVisible = true;\n\t\t\t\tfilteredItems.push(filteredItem);\n\t\t\t}\n\t\t});\n\n\t\treturn [...filteredItemGroups, ...filteredItems];\n\t}\n\n\t_getFirstMatchingItem(current: string): IComboBoxItem | void {\n\t\tconst allItems = this._getItems();\n\t\tconst currentlyFocusedItem = allItems.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<IComboBoxItem> = (this._startsWithMatchingItems(current).filter(item => !isInstanceOfComboBoxItemGroup(item)));\n\n\t\tif (matchingItems.length) {\n\t\t\treturn matchingItems[0];\n\t\t}\n\t}\n\n\t_applyAtomicValueAndSelection(item: IComboBoxItem, 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\t\tlet itemToBeSelected: IComboBoxItem | undefined;\n\n\t\tthis._filteredItems.forEach(item => {\n\t\t\tif (!shouldSelectionBeCleared && !itemToBeSelected) {\n\t\t\t\titemToBeSelected = ((!item.isGroupItem && (item.text === this.value)) ? item : item?.items?.find(i => i.text === this.value));\n\t\t\t}\n\t\t});\n\n\t\tthis._filteredItems = this._filteredItems.map(item => {\n\t\t\tif (!isInstanceOfComboBoxItemGroup(item)) {\n\t\t\t\titem.selected = item === itemToBeSelected;\n\t\t\t\treturn item;\n\t\t\t}\n\n\t\t\titem.items?.forEach(groupItem => {\n\t\t\t\tgroupItem.selected = itemToBeSelected === groupItem;\n\t\t\t});\n\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 allItems = this._getItems();\n\t\tconst currentItem = allItems[indexOfItem];\n\t\tconst nonGroupItems = allItems.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);\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\t_makeAllVisible(item: IComboBoxItem) {\n\t\tif (isInstanceOfComboBoxItemGroup(item)) {\n\t\t\titem.items.forEach(groupItem => {\n\t\t\t\tgroupItem._isVisible = true;\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\titem._isVisible = true;\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?.listItems[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\tawait renderFinished();\n\t\tconst picker = this.shadowRoot!.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.Positive;\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.Positive]: ComboBox.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t[ValueState.Negative]: ComboBox.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t[ValueState.Critical]: 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.Positive]: 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.Negative]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t[ValueState.Critical]: 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.Start : PopoverHorizontalAlign.End;\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?.open || 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\tpopoverValueStateMessage: {},\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.Positive,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Negative,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Critical,\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":"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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 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 { submitForm } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.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\tFORM_TEXTFIELD_REQUIRED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Templates\nimport ComboBoxTemplate from \"./generated/templates/ComboBoxTemplate.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 ListItemStandard from \"./ListItemStandard.js\";\nimport ComboBoxItemGroup, { isInstanceOfComboBoxItemGroup } from \"./ComboBoxItemGroup.js\";\nimport ListItemGroup from \"./ListItemGroup.js\";\nimport ListItemGroupHeader from \"./ListItemGroupHeader.js\";\nimport type ComboBoxFilter from \"./types/ComboBoxFilter.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport Input from \"./Input.js\";\nimport type { 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\theaderText?: string,\n\tfocused: boolean,\n\tisGroupItem?: boolean,\n\tselected?: boolean,\n\tadditionalText?: string,\n\tstableDomRef: string,\n\t_isVisible?: boolean,\n\titems?: Array<IComboBoxItem>\n}\n\ntype ValueStateAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;\ntype ValueStateTypeAnnouncement = Record<Exclude<ValueState, ValueState.None>, string>;\n\ntype ComboBoxListItem = ListItemStandard & {\n\tmappedItem: ComboBoxItem\n};\n\nenum ValueStateIconMapping {\n\tNegative = \"error\",\n\tCritical = \"alert\",\n\tPositive = \"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\tformAssociated: true,\n\trenderer: litRender,\n\tstyles: [\n\t\tComboBoxCss,\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t\tComboBoxPopoverCss,\n\t\tSuggestionsCss,\n\t],\n\ttemplate: ComboBoxTemplate,\n\tdependencies: [\n\t\tComboBoxItem,\n\t\tIcon,\n\t\tResponsivePopover,\n\t\tList,\n\t\tBusyIndicator,\n\t\tButton,\n\t\tListItemStandard,\n\t\tListItemGroup,\n\t\tListItemGroupHeader,\n\t\tPopover,\n\t\tComboBoxItemGroup,\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 implements IFormInputElement {\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 = \"\";\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * 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 = false;\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 = \"\"\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 undefined\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 = false;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\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 = false;\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 = false;\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 = false;\n\n\t/**\n\t * Defines the filter type of the component.\n\t * @default \"StartsWithPerTerm\"\n\t * @public\n\t */\n\t@property()\n\tfilter: `${ComboBoxFilter}` = \"StartsWithPerTerm\";\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 = false;\n\n\t/**\n\t * Indicates whether the input is focssed\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused = false;\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 = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\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 undefined\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 = false;\n\n\t@property({ type: Array })\n\t_filteredItems: Array<IComboBoxItem> = [];\n\n\t@property({ type: Number, noAttribute: true })\n\t_listWidth?: number;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_effectiveShowClearIcon = false\n\n\t/**\n\t * Indicates whether the value state message popover is open.\n\t * @private\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\tvalueStateOpen = false;\n\n\t/**\n\t * Indicates whether the items picker is open.\n\t * @private\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\topen = false;\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 = true;\n\t_itemFocused = false;\n\t// used only for Safari fix (check onAfterRendering)\n\t_autocomplete = false;\n\t_isKeyNavigation = false;\n\t_selectionPerformed = false;\n\t_lastValue: string;\n\t_selectedItemText = \"\";\n\t_userTypedValue = \"\";\n\tstatic i18nBundle: I18nBundle;\n\n\tget formValidityMessage() {\n\t\treturn ComboBox.i18nBundle.getText(FORM_TEXTFIELD_REQUIRED);\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\treturn { valueMissing: this.required && !this.value };\n\t}\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue() {\n\t\treturn this.value;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// when an initial value is set it should be considered as a _lastValue\n\t\tthis._lastValue = this.getAttribute(\"value\") || \"\";\n\t}\n\n\tonBeforeRendering() {\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\t\t\tthis._filteredItems = (items.length && items) || [];\n\t\t}\n\n\t\tconst hasNoVisibleItems = !this._filteredItems.length || !this._filteredItems.some(i => i._isVisible);\n\n\t\t// If there is no filtered items matching the value, show all items when the arrow is pressed\n\t\tif (((hasNoVisibleItems && !isPhone()) && this.value)) {\n\t\t\tthis.items.forEach(this._makeAllVisible.bind(this));\n\t\t\tthis._filteredItems = this.items;\n\t\t}\n\n\t\tif (this.shouldOpenValueStateMessagePopover) {\n\t\t\tthis.valueStateOpen = true;\n\t\t} else {\n\t\t\tthis.valueStateOpen = false;\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\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\tonAfterRendering() {\n\t\tif (this.inner && this.value !== this.inner.value) {\n\t\t\tthis.value = this.inner.value;\n\t\t}\n\n\t\tthis.storeResponsivePopoverWidth();\n\n\t\tthis.items.forEach(item => {\n\t\t\titem._getRealDomRef = () => this._getPicker().querySelector(`*[data-ui5-stable=${item.stableDomRef}]`)!;\n\t\t});\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 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\tconst focusedOutToItemsPicker = this.open && this._getPicker().contains(toBeFocused);\n\t\tconst focusedOutToValueState = this.valueStateOpen && this._getValueStatePopover().contains(toBeFocused);\n\n\t\tif (focusedOutToItemsPicker || focusedOutToValueState) {\n\t\t\te.stopImmediatePropagation();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!(this.getDomRef()!.contains(toBeFocused)) && (this._getPicker() !== e.relatedTarget)) {\n\t\t\tthis.focused = false;\n\t\t}\n\t}\n\n\t_beforeOpenPopover() {\n\t\tif (isPhone()) {\n\t\t\tthis._getPickerInput().value = this.value;\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\t\tthis._selectedItemText = \"\";\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\n\t\tthis.open = false;\n\t}\n\n\t_toggleRespPopover() {\n\t\tif (this.open) {\n\t\t\tthis._closeRespPopover();\n\t\t} else {\n\t\t\tthis._openRespPopover();\n\t\t}\n\t}\n\n\tstoreResponsivePopoverWidth() {\n\t\tif (this.open && !this._listWidth) {\n\t\t\tthis._listWidth = this._getPicker().offsetWidth;\n\t\t}\n\t}\n\n\t_handleValueStatePopoverFocusout() {\n\t\tthis.focused = false;\n\t}\n\n\t_handleValueStatePopoverAfterClose() {\n\t\tthis.valueStateOpen = false;\n\t}\n\n\t_getValueStatePopover() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\".ui5-valuestatemessage-popover\")!;\n\t}\n\n\t_getItemsList(): List {\n\t\treturn this._getPicker().querySelector(\".ui5-combobox-items-list\") as List;\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_resetItemVisibility() {\n\t\tthis.items.forEach(item => {\n\t\t\tif (isInstanceOfComboBoxItemGroup(item)) {\n\t\t\t\titem.items?.forEach(i => {\n\t\t\t\t\ti._isVisible = false;\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\titem._isVisible = false;\n\t\t});\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_handleMobileKeydown(e: KeyboardEvent) {\n\t\tif (isEscape(e)) {\n\t\t\tthis.value = this._lastValue || \"\";\n\t\t\tthis.filterValue = this._lastValue || \"\";\n\t\t\tthis._closeRespPopover();\n\t\t}\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\tthis._handleTypeAhead(value, value, true);\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\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\tconst allItems:Array<IComboBoxItem> = this._getItems().filter(item => !isInstanceOfComboBoxItemGroup(item));\n\t\treturn Filters.StartsWith(str, allItems, \"text\");\n\t}\n\n\t_clearFocus() {\n\t\tconst allItems = this._getItems();\n\n\t\tallItems.map(item => {\n\t\t\titem.focused = false;\n\n\t\t\treturn item;\n\t\t});\n\t}\n\n\t// Get groups and items as a flat array for filtering\n\t_getItems() {\n\t\tconst allItems: Array<IComboBoxItem> = [];\n\n\t\tthis._filteredItems.forEach(item => {\n\t\t\tif (isInstanceOfComboBoxItemGroup(item)) {\n\t\t\t\tconst groupedItems = [item, ...item.items];\n\t\t\t\tallItems.push(...groupedItems);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tallItems.push(item);\n\t\t});\n\n\t\treturn allItems;\n\t}\n\n\thandleNavKeyPress(e: KeyboardEvent) {\n\t\tconst allItems = this._getItems();\n\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 = allItems.find(item => {\n\t\t\treturn isOpen ? item.focused : item.selected;\n\t\t});\n\n\t\tconst indexOfItem = currentItem ? allItems.indexOf(currentItem) : -1;\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 (allItems.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 allItems = this._getItems();\n\n\t\tconst currentItem: IComboBoxItem = allItems[indexOfItem];\n\t\tconst isGroupItem = currentItem && currentItem.isGroupItem;\n\t\tconst nextItem = isForward ? allItems[indexOfItem + 1] : allItems[indexOfItem - 1];\n\n\t\tif ((!this.open) && ((isGroupItem && !nextItem) || (!isGroupItem && !currentItem))) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._clearFocus();\n\n\t\tif (this.open) {\n\t\t\tthis._itemFocused = true;\n\t\t\tthis.value = isGroupItem ? \"\" : currentItem.text!;\n\t\t\tthis.focused = false;\n\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 && this.open) {\n\t\t\treturn;\n\t\t}\n\t\t// autocomplete\n\t\tthis._handleTypeAhead(this.value, this.open ? this._userTypedValue : \"\", false);\n\n\t\tthis.fireEvent(\"input\");\n\t}\n\n\t_handleTypeAhead(value: string, filterValue: string, checkForGroupItem: boolean) {\n\t\tconst item = this._getFirstMatchingItem(value);\n\n\t\tif (!item) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._applyAtomicValueAndSelection(item, filterValue);\n\n\t\tif (value !== \"\" && !item.selected && (!checkForGroupItem || !item.isGroupItem)) {\n\t\t\tthis.fireEvent<ComboBoxSelectionChangeEventDetail>(\"selection-change\", {\n\t\t\t\titem: item as ComboBoxItem,\n\t\t\t});\n\t\t}\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 allItems = this._getItems();\n\t\tconst isProposedIndexValid = indexOfItem - SKIP_ITEMS_SIZE > -1;\n\t\tindexOfItem = isProposedIndexValid ? indexOfItem - SKIP_ITEMS_SIZE : 0;\n\t\tconst shouldMoveForward = isInstanceOfComboBoxItemGroup(allItems[indexOfItem]) && !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 allItems = this._getItems();\n\t\tconst itemsLength = allItems.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 = isInstanceOfComboBoxItemGroup(allItems[indexOfItem]) && !this.open;\n\n\t\tthis._handleItemNavigation(e, indexOfItem, shouldMoveForward);\n\t}\n\n\t_handleHome(e: KeyboardEvent) {\n\t\tconst shouldMoveForward = isInstanceOfComboBoxItemGroup(this._filteredItems[0]) && !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._getItems().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 allItems: Array<IComboBoxItem> = this._getItems();\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\tlet focusedItem: IComboBoxItem | undefined;\n\n\t\t\tthis._filteredItems.forEach(item => {\n\t\t\t\tif (isInstanceOfComboBoxItemGroup(item) && !focusedItem) {\n\t\t\t\t\tfocusedItem = item.items.find(groupItem => groupItem.focused);\n\t\t\t\t}\n\n\t\t\t\tif (item.focused) {\n\t\t\t\t\tfocusedItem = item;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis._fireChangeEvent();\n\n\t\t\tif (this.open && !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._internals?.form) {\n\t\t\t\tsubmitForm(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 = allItems.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 && !this.value.length) {\n\t\t\t\t// If no item is selected, select the first non-group item on \"Show\" (F4, Alt+Up/Down)\n\t\t\t\tconst firstNonGroupItem = this._getItems().findIndex(item => item._isVisible && !item.isGroupItem);\n\t\t\t\tthis._handleItemNavigation(e, firstNonGroupItem, 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_handlePopoverKeydown(e: KeyboardEvent) {\n\t\tif (isTabNext(e)) {\n\t\t\tthis._closeRespPopover();\n\t\t}\n\t}\n\n\t_handlePopoverFocusout() {\n\t\tthis.focused = false;\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 | null) {\n\t\tif ((e && (e.target as HTMLElement).classList.contains(\"ui5-responsive-popover-close-btn\"))) {\n\t\t\tif (this._selectedItemText) {\n\t\t\t\tthis.value = this._selectedItemText;\n\t\t\t\tthis.filterValue = this._selectedItemText;\n\t\t\t} else {\n\t\t\t\tthis.value = this._lastValue || \"\";\n\t\t\t\tthis.filterValue = this._lastValue || \"\";\n\t\t\t}\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\t\tthis.open = false;\n\t\tthis.valueStateOpen = false;\n\t}\n\n\t_openRespPopover() {\n\t\tthis.open = true;\n\t}\n\n\t_filterItems(str: string) {\n\t\tlet filteredItem:IComboBoxItem;\n\t\tlet filteredGroupItems: Array<IComboBoxItem> = [];\n\t\tconst filteredItems: Array<IComboBoxItem> = [];\n\t\tconst filteredItemGroups: Array<IComboBoxItem> = [];\n\n\t\tthis._resetItemVisibility();\n\t\tthis.items.forEach(item => {\n\t\t\tif (isInstanceOfComboBoxItemGroup(item)) {\n\t\t\t\tfilteredGroupItems = (Filters[this.filter] || Filters.StartsWithPerTerm)(str, item.items, \"text\");\n\t\t\t\tfilteredGroupItems.forEach(i => {\n\t\t\t\t\ti._isVisible = true;\n\t\t\t\t});\n\n\t\t\t\tif (filteredGroupItems.length) {\n\t\t\t\t\tfilteredItemGroups.push(item);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t[filteredItem] = (Filters[this.filter] || Filters.StartsWithPerTerm)(str, [item], \"text\");\n\n\t\t\tif (filteredItem) {\n\t\t\t\tfilteredItem._isVisible = true;\n\t\t\t\tfilteredItems.push(filteredItem);\n\t\t\t}\n\t\t});\n\n\t\treturn [...filteredItemGroups, ...filteredItems];\n\t}\n\n\t_getFirstMatchingItem(current: string): IComboBoxItem | void {\n\t\tconst allItems = this._getItems();\n\t\tconst currentlyFocusedItem = allItems.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<IComboBoxItem> = this._startsWithMatchingItems(current);\n\n\t\tif (matchingItems.length) {\n\t\t\treturn matchingItems[0];\n\t\t}\n\t}\n\n\t_applyAtomicValueAndSelection(item: IComboBoxItem, filterValue: string) {\n\t\tconst value = (item && item.text) || \"\";\n\n\t\tthis.inner.value = value;\n\t\tthis.inner.setSelectionRange(filterValue.length, value.length);\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\t\tlet itemToBeSelected: IComboBoxItem | undefined;\n\n\t\tthis._filteredItems.forEach(item => {\n\t\t\tif (!shouldSelectionBeCleared && !itemToBeSelected) {\n\t\t\t\titemToBeSelected = ((!item.isGroupItem && (item.text === this.value)) ? item : item?.items?.find(i => i.text === this.value));\n\t\t\t}\n\t\t});\n\n\t\tthis._filteredItems = this._filteredItems.map(item => {\n\t\t\tif (!isInstanceOfComboBoxItemGroup(item)) {\n\t\t\t\titem.selected = item === itemToBeSelected;\n\t\t\t\treturn item;\n\t\t\t}\n\n\t\t\titem.items?.forEach(groupItem => {\n\t\t\t\tgroupItem.selected = itemToBeSelected === groupItem;\n\t\t\t});\n\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 allItems = this._getItems();\n\t\tconst currentItem = allItems[indexOfItem];\n\t\tconst nonGroupItems = allItems.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.headerText}`, 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);\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\t_makeAllVisible(item: IComboBoxItem) {\n\t\tif (isInstanceOfComboBoxItemGroup(item)) {\n\t\t\titem.items.forEach(groupItem => {\n\t\t\t\tgroupItem._isVisible = true;\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\titem._isVisible = true;\n\t}\n\n\t_scrollToItem(indexOfItem: number, forward: boolean) {\n\t\tconst picker = this._getPicker();\n\t\tconst list = this._getItemsList();\n\t\tconst listItem = list?.listItems[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.open)\n\t\t\t? this._getPickerInput().shadowRoot!.querySelector(\"input\")!\n\t\t\t: this.shadowRoot!.querySelector<HTMLInputElement>(\"[inner-input]\")!;\n\t}\n\n\t_getPicker() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\t_getPickerInput() {\n\t\treturn this._getPicker()!.querySelector<HTMLInputElement>(\"[ui5-input]\")!;\n\t}\n\n\tget openOnMobile() {\n\t\treturn this._isPhone && this.open;\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.Positive;\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.Positive]: ComboBox.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t[ValueState.Negative]: ComboBox.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t[ValueState.Critical]: 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.Positive]: 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.Negative]: ComboBox.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t[ValueState.Critical]: 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.Start : PopoverHorizontalAlign.End;\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 _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\tpopoverValueStateMessage: {},\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.Positive,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Negative,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Critical,\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"]}
@@ -12,17 +12,17 @@ import type { IComboBoxItem } from "./ComboBox.js";
12
12
  declare class ComboBoxItem extends UI5Element implements IComboBoxItem {
13
13
  /**
14
14
  * Defines the text of the component.
15
- * @default ""
15
+ * @default undefined
16
16
  * @public
17
17
  */
18
- text: string;
18
+ text?: string;
19
19
  /**
20
20
  * Defines the additional text of the component.
21
- * @default ""
21
+ * @default undefined
22
22
  * @since 1.0.0-rc.11
23
23
  * @public
24
24
  */
25
- additionalText: string;
25
+ additionalText?: string;
26
26
  /**
27
27
  * Indicates whether the item is filtered
28
28
  * @private
@@ -17,6 +17,24 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
17
17
  * @public
18
18
  */
19
19
  let ComboBoxItem = class ComboBoxItem extends UI5Element {
20
+ constructor() {
21
+ super(...arguments);
22
+ /**
23
+ * Indicates whether the item is filtered
24
+ * @private
25
+ */
26
+ this._isVisible = false;
27
+ /**
28
+ * Indicates whether the item is focssed
29
+ * @protected
30
+ */
31
+ this.focused = false;
32
+ /**
33
+ * Indicates whether the item is selected
34
+ * @protected
35
+ */
36
+ this.selected = false;
37
+ }
20
38
  get stableDomRef() {
21
39
  return this.getAttribute("stable-dom-ref") || `${this._id}-stable-dom-ref`;
22
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBoxItem.js","sourceRoot":"","sources":["../src/ComboBoxItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAGpE;;;;;;;;GAQG;AAEH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU;IAuCpC,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC;IAC5E,CAAC;CACD,CAAA;AAnCA;IADC,QAAQ,EAAE;0CACE;AASb;IADC,QAAQ,EAAE;oDACY;AAOvB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;gDAC1B;AAOrB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CACV;AAOlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8CACT;AArCd,YAAY;IADjB,aAAa,CAAC,aAAa,CAAC;GACvB,YAAY,CA0CjB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { IComboBoxItem } from \"./ComboBox.js\";\n\n/**\n * @class\n * The `ui5-cb-item` represents the item for a `ui5-combobox`.\n * @constructor\n * @extends UI5Element\n * @abstract\n * @implements {IComboBoxItem}\n * @public\n */\n@customElement(\"ui5-cb-item\")\nclass ComboBoxItem extends UI5Element implements IComboBoxItem {\n\t/**\n\t * Defines the text of the component.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\ttext!: string\n\n\t/**\n\t * Defines the additional text of the component.\n\t * @default \"\"\n\t * @since 1.0.0-rc.11\n\t * @public\n\t */\n\t@property()\n\tadditionalText!: string\n\n\t/**\n\t * Indicates whether the item is filtered\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_isVisible!: boolean;\n\n\t/**\n\t * Indicates whether the item is focssed\n\t * @protected\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * Indicates whether the item is selected\n\t * @protected\n\t */\n\t@property({ type: Boolean })\n\tselected!: boolean;\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n}\n\nComboBoxItem.define();\n\nexport default ComboBoxItem;\n"]}
1
+ {"version":3,"file":"ComboBoxItem.js","sourceRoot":"","sources":["../src/ComboBoxItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAGpE;;;;;;;;GAQG;AAEH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU;IAArC;;QAkBC;;;WAGG;QAEH,eAAU,GAAG,KAAK,CAAC;QAEnB;;;WAGG;QAEH,YAAO,GAAG,KAAK,CAAC;QAEhB;;;WAGG;QAEH,aAAQ,GAAG,KAAK,CAAC;IAKlB,CAAC;IAHA,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC;IAC5E,CAAC;CACD,CAAA;AAnCA;IADC,QAAQ,EAAE;0CACG;AASd;IADC,QAAQ,EAAE;oDACa;AAOxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;gDAC5B;AAOnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CACZ;AAOhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8CACX;AArCZ,YAAY;IADjB,aAAa,CAAC,aAAa,CAAC;GACvB,YAAY,CA0CjB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { IComboBoxItem } from \"./ComboBox.js\";\n\n/**\n * @class\n * The `ui5-cb-item` represents the item for a `ui5-combobox`.\n * @constructor\n * @extends UI5Element\n * @abstract\n * @implements {IComboBoxItem}\n * @public\n */\n@customElement(\"ui5-cb-item\")\nclass ComboBoxItem extends UI5Element implements IComboBoxItem {\n\t/**\n\t * Defines the text of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttext?: string;\n\n\t/**\n\t * Defines the additional text of the component.\n\t * @default undefined\n\t * @since 1.0.0-rc.11\n\t * @public\n\t */\n\t@property()\n\tadditionalText?: string;\n\n\t/**\n\t * Indicates whether the item is filtered\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_isVisible = false;\n\n\t/**\n\t * Indicates whether the item is focssed\n\t * @protected\n\t */\n\t@property({ type: Boolean })\n\tfocused = false;\n\n\t/**\n\t * Indicates whether the item is selected\n\t * @protected\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n}\n\nComboBoxItem.define();\n\nexport default ComboBoxItem;\n"]}
@@ -14,10 +14,10 @@ import type { IComboBoxItem } from "./ComboBox.js";
14
14
  declare class ComboBoxItemGroup extends UI5Element implements IComboBoxItem {
15
15
  /**
16
16
  * Defines the text of the component.
17
- * @default ""
17
+ * @default undefined
18
18
  * @public
19
19
  */
20
- text: string;
20
+ headerText?: string;
21
21
  /**
22
22
  * Indicates whether the item is focused
23
23
  * @protected
@@ -20,6 +20,14 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
20
20
  * @since 1.0.0-rc.15
21
21
  */
22
22
  let ComboBoxItemGroup = class ComboBoxItemGroup extends UI5Element {
23
+ constructor() {
24
+ super(...arguments);
25
+ /**
26
+ * Indicates whether the item is focused
27
+ * @protected
28
+ */
29
+ this.focused = false;
30
+ }
23
31
  /**
24
32
  * Used to avoid tag name checks
25
33
  * @protected
@@ -36,7 +44,7 @@ let ComboBoxItemGroup = class ComboBoxItemGroup extends UI5Element {
36
44
  };
37
45
  __decorate([
38
46
  property()
39
- ], ComboBoxItemGroup.prototype, "text", void 0);
47
+ ], ComboBoxItemGroup.prototype, "headerText", void 0);
40
48
  __decorate([
41
49
  property({ type: Boolean })
42
50
  ], ComboBoxItemGroup.prototype, "focused", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBoxItemGroup.js","sourceRoot":"","sources":["../src/ComboBoxItemGroup.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAGpE;;;;;;;;;;GAUG;AAEH,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,UAAU;IA2BxC;;;OAGG;IACH,IAAI,WAAW;QACd,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC;IAC5E,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAnCC;IADC,QAAQ,EAAE;+CACG;AAOd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDACV;AAWlB;IALC,IAAI,CAAC;QACL,SAAS,EAAE,IAAI;QACf,uBAAuB,EAAE,IAAI;QAC7B,IAAI,EAAE,WAAW;KACjB,CAAC;gDAC2B;AAzBzB,iBAAiB;IADtB,aAAa,CAAC,mBAAmB,CAAC;GAC7B,iBAAiB,CA0CtB;AAED,iBAAiB,CAAC,MAAM,EAAE,CAAC;AAE3B,MAAM,6BAA6B,GAAG,CAAC,MAAW,EAA+B,EAAE;IAClF,OAAO,aAAa,IAAI,MAAM,CAAC;AAChC,CAAC,CAAC;AAEF,OAAO,EAAE,6BAA6B,EAAE,CAAC;AACzC,eAAe,iBAAiB,CAAC","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 UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { IComboBoxItem } from \"./ComboBox.js\";\n\n/**\n * @class\n * The `ui5-cb-group-item` is type of suggestion item,\n * that can be used to split the `ui5-combobox` suggestions into groups.\n * @constructor\n * @extends UI5Element\n * @abstract\n * @public\n * @implements {IComboBoxItem}\n * @since 1.0.0-rc.15\n */\n@customElement(\"ui5-cb-item-group\")\nclass ComboBoxItemGroup extends UI5Element implements IComboBoxItem {\n\t\t/**\n\t\t * Defines the text of the component.\n\t\t * @default \"\"\n\t\t * @public\n\t\t */\n\t\t@property()\n\t\ttext!: string;\n\n\t\t/**\n\t\t * Indicates whether the item is focused\n\t\t * @protected\n\t\t */\n\t\t@property({ type: Boolean })\n\t\tfocused!: boolean;\n\n\t\t/**\n\t\t * Defines the items of the <code>ui5-cb-item-group</code>.\n\t\t * @public\n\t\t */\n\t\t@slot({\n\t\t\t\"default\": true,\n\t\t\tinvalidateOnChildChange: true,\n\t\t\ttype: HTMLElement,\n\t\t})\n\t\titems!: Array<IComboBoxItem>;\n\n\t\t/**\n\t\t * Used to avoid tag name checks\n\t\t * @protected\n\t\t */\n\t\tget isGroupItem(): boolean {\n\t\t\treturn true;\n\t\t}\n\n\t\tget stableDomRef() {\n\t\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t\t}\n\n\t\tget _isVisible() {\n\t\t\treturn this.items.some(item => item._isVisible);\n\t\t}\n}\n\nComboBoxItemGroup.define();\n\nconst isInstanceOfComboBoxItemGroup = (object: any): object is ComboBoxItemGroup => {\n\treturn \"isGroupItem\" in object;\n};\n\nexport { isInstanceOfComboBoxItemGroup };\nexport default ComboBoxItemGroup;\n"]}
1
+ {"version":3,"file":"ComboBoxItemGroup.js","sourceRoot":"","sources":["../src/ComboBoxItemGroup.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAGpE;;;;;;;;;;GAUG;AAEH,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,UAAU;IAA1C;;QASE;;;WAGG;QAEH,YAAO,GAAG,KAAK,CAAA;IA4BjB,CAAC;IAfC;;;OAGG;IACH,IAAI,WAAW;QACd,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC;IAC5E,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAnCC;IADC,QAAQ,EAAE;qDACS;AAOpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDACb;AAWf;IALC,IAAI,CAAC;QACL,SAAS,EAAE,IAAI;QACf,uBAAuB,EAAE,IAAI;QAC7B,IAAI,EAAE,WAAW;KACjB,CAAC;gDAC2B;AAzBzB,iBAAiB;IADtB,aAAa,CAAC,mBAAmB,CAAC;GAC7B,iBAAiB,CA0CtB;AAED,iBAAiB,CAAC,MAAM,EAAE,CAAC;AAE3B,MAAM,6BAA6B,GAAG,CAAC,MAAW,EAA+B,EAAE;IAClF,OAAO,aAAa,IAAI,MAAM,CAAC;AAChC,CAAC,CAAC;AAEF,OAAO,EAAE,6BAA6B,EAAE,CAAC;AACzC,eAAe,iBAAiB,CAAC","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 UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { IComboBoxItem } from \"./ComboBox.js\";\n\n/**\n * @class\n * The `ui5-cb-group-item` is type of suggestion item,\n * that can be used to split the `ui5-combobox` suggestions into groups.\n * @constructor\n * @extends UI5Element\n * @abstract\n * @public\n * @implements {IComboBoxItem}\n * @since 1.0.0-rc.15\n */\n@customElement(\"ui5-cb-item-group\")\nclass ComboBoxItemGroup extends UI5Element implements IComboBoxItem {\n\t\t/**\n\t\t * Defines the text of the component.\n\t\t * @default undefined\n\t\t * @public\n\t\t */\n\t\t@property()\n\t\theaderText?: string;\n\n\t\t/**\n\t\t * Indicates whether the item is focused\n\t\t * @protected\n\t\t */\n\t\t@property({ type: Boolean })\n\t\tfocused = false\n\n\t\t/**\n\t\t * Defines the items of the <code>ui5-cb-item-group</code>.\n\t\t * @public\n\t\t */\n\t\t@slot({\n\t\t\t\"default\": true,\n\t\t\tinvalidateOnChildChange: true,\n\t\t\ttype: HTMLElement,\n\t\t})\n\t\titems!: Array<IComboBoxItem>;\n\n\t\t/**\n\t\t * Used to avoid tag name checks\n\t\t * @protected\n\t\t */\n\t\tget isGroupItem(): boolean {\n\t\t\treturn true;\n\t\t}\n\n\t\tget stableDomRef() {\n\t\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t\t}\n\n\t\tget _isVisible() {\n\t\t\treturn this.items.some(item => item._isVisible);\n\t\t}\n}\n\nComboBoxItemGroup.define();\n\nconst isInstanceOfComboBoxItemGroup = (object: any): object is ComboBoxItemGroup => {\n\treturn \"isGroupItem\" in object;\n};\n\nexport { isInstanceOfComboBoxItemGroup };\nexport default ComboBoxItemGroup;\n"]}
@@ -2,7 +2,7 @@
2
2
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
3
3
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
4
4
  import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
5
- import CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
5
+ import type CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
6
6
  import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
7
7
  /**
8
8
  * @class
@@ -35,10 +35,10 @@ declare class DateComponentBase extends UI5Element {
35
35
  secondaryCalendarType?: `${CalendarType}`;
36
36
  /**
37
37
  * Determines the format, displayed in the input field.
38
- * @default ""
38
+ * @default undefined
39
39
  * @public
40
40
  */
41
- formatPattern: string;
41
+ formatPattern?: string;
42
42
  /**
43
43
  * Determines the minimum date available for selection.
44
44
  *
@@ -14,7 +14,6 @@ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
14
14
  import { getCalendarType, getSecondaryCalendarType } from "@ui5/webcomponents-base/dist/config/CalendarType.js";
15
15
  import DateFormat from "@ui5/webcomponents-localization/dist/DateFormat.js";
16
16
  import getCachedLocaleDataInstance from "@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js";
17
- import CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
18
17
  import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
19
18
  import CalendarDate from "@ui5/webcomponents-localization/dist/dates/CalendarDate.js";
20
19
  import { getMaxCalendarDate, getMinCalendarDate } from "@ui5/webcomponents-localization/dist/dates/ExtremeDates.js";
@@ -35,6 +34,24 @@ import UI5Date from "@ui5/webcomponents-localization/dist/dates/UI5Date.js";
35
34
  let DateComponentBase = DateComponentBase_1 = class DateComponentBase extends UI5Element {
36
35
  constructor() {
37
36
  super();
37
+ /**
38
+ * Determines the minimum date available for selection.
39
+ *
40
+ * **Note:** If the formatPattern property is not set, the minDate value must be provided in the ISO date format (YYYY-MM-dd).
41
+ * @default ""
42
+ * @since 1.0.0-rc.6
43
+ * @public
44
+ */
45
+ this.minDate = "";
46
+ /**
47
+ * Determines the maximum date available for selection.
48
+ *
49
+ * **Note:** If the formatPattern property is not set, the maxDate value must be provided in the ISO date format (YYYY-MM-dd).
50
+ * @default ""
51
+ * @since 1.0.0-rc.6
52
+ * @public
53
+ */
54
+ this.maxDate = "";
38
55
  }
39
56
  get _primaryCalendarType() {
40
57
  const localeData = getCachedLocaleDataInstance(getLocale());
@@ -122,10 +139,10 @@ let DateComponentBase = DateComponentBase_1 = class DateComponentBase extends UI
122
139
  }
123
140
  };
124
141
  __decorate([
125
- property({ type: CalendarType })
142
+ property()
126
143
  ], DateComponentBase.prototype, "primaryCalendarType", void 0);
127
144
  __decorate([
128
- property({ type: CalendarType })
145
+ property()
129
146
  ], DateComponentBase.prototype, "secondaryCalendarType", void 0);
130
147
  __decorate([
131
148
  property()
@@ -1 +1 @@
1
- {"version":3,"file":"DateComponentBase.js","sourceRoot":"","sources":["../src/DateComponentBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport { fetchCldr } from \"@ui5/webcomponents-base/dist/asset-registries/LocaleData.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getCalendarType, getSecondaryCalendarType } from \"@ui5/webcomponents-base/dist/config/CalendarType.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport { getMaxCalendarDate, getMinCalendarDate } from \"@ui5/webcomponents-localization/dist/dates/ExtremeDates.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\n\n/**\n * @class\n *\n * Abstract class that provides common functionality for date-related components (day picker, month picker, year picker, calendar, date picker, date range picker, date time picker)\n * This includes:\n * - \"languageAware: true\" metadata setting, CLDR fetch and i18n initialization\n * - common properties (primaryCalendar, minDate, maxDate and formatPattern) declaration and methods that operate on them\n * - additional common methods\n * @constructor\n * @abstract\n * @extends UI5Element\n * @public\n */\n@customElement({\n\tlanguageAware: true,\n\trenderer: litRender,\n})\nclass DateComponentBase extends UI5Element {\n\t/**\n\t * Sets a calendar type used for display.\n\t * If not set, the calendar type of the global configuration is used.\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: CalendarType })\n\tprimaryCalendarType?: `${CalendarType}`;\n\n\t/**\n\t * Defines the secondary calendar type.\n\t * If not set, the calendar will only show the primary calendar type.\n\t * @since 1.0.0-rc.16\n\t * @default undefined\n\t * @public\n\t */\n\t@property({ type: CalendarType })\n\tsecondaryCalendarType?: `${CalendarType}`;\n\n\t/**\n\t * Determines the format, displayed in the input field.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tformatPattern!: string;\n\n\t/**\n\t * Determines the minimum date available for selection.\n\t *\n\t * **Note:** If the formatPattern property is not set, the minDate value must be provided in the ISO date format (YYYY-MM-dd).\n\t * @default \"\"\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@property()\n\tminDate!: string;\n\n\t/**\n\t * Determines the maximum date available for selection.\n\t *\n\t * **Note:** If the formatPattern property is not set, the maxDate value must be provided in the ISO date format (YYYY-MM-dd).\n\t * @default \"\"\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@property()\n\tmaxDate!: string;\n\n\tstatic i18nBundle?: I18nBundle;\n\n\t/**\n\t * Cached instance of DateFormat with a format pattern of \"YYYY-MM-dd\".\n\t * Used by the getISOFormat method to avoid creating a new DateFormat instance on each call.\n\t * @private\n\t */\n\t_isoFormatInstance?: DateFormat;\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tget _primaryCalendarType() {\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\treturn this.primaryCalendarType || getCalendarType() || localeData.getPreferredCalendarType();\n\t}\n\n\tget _secondaryCalendarType() {\n\t\treturn this.secondaryCalendarType || getSecondaryCalendarType();\n\t}\n\n\tget _minDate() {\n\t\tlet minDate;\n\n\t\tif (this.minDate) {\n\t\t\tminDate = this._getMinMaxCalendarDateFromString(this.minDate);\n\t\t}\n\n\t\treturn minDate || getMinCalendarDate(this._primaryCalendarType);\n\t}\n\n\tget _maxDate() {\n\t\tlet maxDate;\n\n\t\tif (this.maxDate) {\n\t\t\tmaxDate = this._getMinMaxCalendarDateFromString(this.maxDate)!;\n\t\t}\n\n\t\treturn maxDate || getMaxCalendarDate(this._primaryCalendarType);\n\t}\n\n\tget _formatPattern() {\n\t\treturn this.formatPattern || \"medium\"; // get from config\n\t}\n\n\tget _isPattern() {\n\t\treturn this._formatPattern !== \"medium\" && this._formatPattern !== \"short\" && this._formatPattern !== \"long\";\n\t}\n\n\tget hasSecondaryCalendarType() {\n\t\treturn !!this.secondaryCalendarType && this.secondaryCalendarType !== this.primaryCalendarType;\n\t}\n\n\t_getMinMaxCalendarDateFromString(date: string) {\n\t\tif (this.getFormat().parse(date)) {\n\t\t\treturn this._getCalendarDateFromString(date);\n\t\t}\n\n\t\tconst jsDate = this.getISOFormat().parse(date) as Date;\n\t\tif (jsDate) {\n\t\t\treturn CalendarDate.fromLocalJSDate(jsDate, this._primaryCalendarType);\n\t\t}\n\t}\n\n\t_getCalendarDateFromString(value: string) {\n\t\tconst jsDate = this.getFormat().parse(value) as Date;\n\t\tif (jsDate) {\n\t\t\treturn CalendarDate.fromLocalJSDate(jsDate, this._primaryCalendarType);\n\t\t}\n\t}\n\n\t_getTimeStampFromString(value: string) {\n\t\tconst calDate = this._getCalendarDateFromString(value);\n\t\tif (calDate) {\n\t\t\treturn calDate.toUTCJSDate().valueOf();\n\t\t}\n\t}\n\n\t_getStringFromTimestamp(timestamp: number) {\n\t\tconst localDate = UI5Date.getInstance(timestamp);\n\t\treturn this.getFormat().format(localDate, true);\n\t}\n\n\tgetFormat() {\n\t\treturn this._isPattern\n\t\t\t? DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._formatPattern,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t})\n\t\t\t: DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._formatPattern,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t});\n\t}\n\n\tgetISOFormat() {\n\t\tif (!this._isoFormatInstance) {\n\t\t\tthis._isoFormatInstance = DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: \"YYYY-MM-dd\",\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t});\n\t\t}\n\t\treturn this._isoFormatInstance;\n\t}\n\n\tstatic async onDefine() {\n\t\t[DateComponentBase.i18nBundle] = await Promise.all([\n\t\t\tgetI18nBundle(\"@ui5/webcomponents\"),\n\t\t\tfetchCldr(getLocale().getLanguage(), getLocale().getRegion(), getLocale().getScript()),\n\t\t]);\n\t}\n}\n\nexport default DateComponentBase;\n"]}
1
+ {"version":3,"file":"DateComponentBase.js","sourceRoot":"","sources":["../src/DateComponentBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport { fetchCldr } from \"@ui5/webcomponents-base/dist/asset-registries/LocaleData.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { getCalendarType, getSecondaryCalendarType } from \"@ui5/webcomponents-base/dist/config/CalendarType.js\";\nimport DateFormat from \"@ui5/webcomponents-localization/dist/DateFormat.js\";\nimport getCachedLocaleDataInstance from \"@ui5/webcomponents-localization/dist/getCachedLocaleDataInstance.js\";\nimport type CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport CalendarDate from \"@ui5/webcomponents-localization/dist/dates/CalendarDate.js\";\nimport { getMaxCalendarDate, getMinCalendarDate } from \"@ui5/webcomponents-localization/dist/dates/ExtremeDates.js\";\nimport UI5Date from \"@ui5/webcomponents-localization/dist/dates/UI5Date.js\";\n\n/**\n * @class\n *\n * Abstract class that provides common functionality for date-related components (day picker, month picker, year picker, calendar, date picker, date range picker, date time picker)\n * This includes:\n * - \"languageAware: true\" metadata setting, CLDR fetch and i18n initialization\n * - common properties (primaryCalendar, minDate, maxDate and formatPattern) declaration and methods that operate on them\n * - additional common methods\n * @constructor\n * @abstract\n * @extends UI5Element\n * @public\n */\n@customElement({\n\tlanguageAware: true,\n\trenderer: litRender,\n})\nclass DateComponentBase extends UI5Element {\n\t/**\n\t * Sets a calendar type used for display.\n\t * If not set, the calendar type of the global configuration is used.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tprimaryCalendarType?: `${CalendarType}`;\n\n\t/**\n\t * Defines the secondary calendar type.\n\t * If not set, the calendar will only show the primary calendar type.\n\t * @since 1.0.0-rc.16\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tsecondaryCalendarType?: `${CalendarType}`;\n\n\t/**\n\t * Determines the format, displayed in the input field.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tformatPattern?: string;\n\n\t/**\n\t * Determines the minimum date available for selection.\n\t *\n\t * **Note:** If the formatPattern property is not set, the minDate value must be provided in the ISO date format (YYYY-MM-dd).\n\t * @default \"\"\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@property()\n\tminDate = \"\";\n\n\t/**\n\t * Determines the maximum date available for selection.\n\t *\n\t * **Note:** If the formatPattern property is not set, the maxDate value must be provided in the ISO date format (YYYY-MM-dd).\n\t * @default \"\"\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@property()\n\tmaxDate = \"\";\n\n\tstatic i18nBundle?: I18nBundle;\n\n\t/**\n\t * Cached instance of DateFormat with a format pattern of \"YYYY-MM-dd\".\n\t * Used by the getISOFormat method to avoid creating a new DateFormat instance on each call.\n\t * @private\n\t */\n\t_isoFormatInstance?: DateFormat;\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tget _primaryCalendarType() {\n\t\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\t\treturn this.primaryCalendarType || getCalendarType() || localeData.getPreferredCalendarType();\n\t}\n\n\tget _secondaryCalendarType() {\n\t\treturn this.secondaryCalendarType || getSecondaryCalendarType();\n\t}\n\n\tget _minDate() {\n\t\tlet minDate;\n\n\t\tif (this.minDate) {\n\t\t\tminDate = this._getMinMaxCalendarDateFromString(this.minDate);\n\t\t}\n\n\t\treturn minDate || getMinCalendarDate(this._primaryCalendarType);\n\t}\n\n\tget _maxDate() {\n\t\tlet maxDate;\n\n\t\tif (this.maxDate) {\n\t\t\tmaxDate = this._getMinMaxCalendarDateFromString(this.maxDate)!;\n\t\t}\n\n\t\treturn maxDate || getMaxCalendarDate(this._primaryCalendarType);\n\t}\n\n\tget _formatPattern() {\n\t\treturn this.formatPattern || \"medium\"; // get from config\n\t}\n\n\tget _isPattern() {\n\t\treturn this._formatPattern !== \"medium\" && this._formatPattern !== \"short\" && this._formatPattern !== \"long\";\n\t}\n\n\tget hasSecondaryCalendarType() {\n\t\treturn !!this.secondaryCalendarType && this.secondaryCalendarType !== this.primaryCalendarType;\n\t}\n\n\t_getMinMaxCalendarDateFromString(date: string) {\n\t\tif (this.getFormat().parse(date)) {\n\t\t\treturn this._getCalendarDateFromString(date);\n\t\t}\n\n\t\tconst jsDate = this.getISOFormat().parse(date) as Date;\n\t\tif (jsDate) {\n\t\t\treturn CalendarDate.fromLocalJSDate(jsDate, this._primaryCalendarType);\n\t\t}\n\t}\n\n\t_getCalendarDateFromString(value: string) {\n\t\tconst jsDate = this.getFormat().parse(value) as Date;\n\t\tif (jsDate) {\n\t\t\treturn CalendarDate.fromLocalJSDate(jsDate, this._primaryCalendarType);\n\t\t}\n\t}\n\n\t_getTimeStampFromString(value: string) {\n\t\tconst calDate = this._getCalendarDateFromString(value);\n\t\tif (calDate) {\n\t\t\treturn calDate.toUTCJSDate().valueOf();\n\t\t}\n\t}\n\n\t_getStringFromTimestamp(timestamp: number) {\n\t\tconst localDate = UI5Date.getInstance(timestamp);\n\t\treturn this.getFormat().format(localDate, true);\n\t}\n\n\tgetFormat() {\n\t\treturn this._isPattern\n\t\t\t? DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: this._formatPattern,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t})\n\t\t\t: DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tstyle: this._formatPattern,\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t});\n\t}\n\n\tgetISOFormat() {\n\t\tif (!this._isoFormatInstance) {\n\t\t\tthis._isoFormatInstance = DateFormat.getDateInstance({\n\t\t\t\tstrictParsing: true,\n\t\t\t\tpattern: \"YYYY-MM-dd\",\n\t\t\t\tcalendarType: this._primaryCalendarType,\n\t\t\t});\n\t\t}\n\t\treturn this._isoFormatInstance;\n\t}\n\n\tstatic async onDefine() {\n\t\t[DateComponentBase.i18nBundle] = await Promise.all([\n\t\t\tgetI18nBundle(\"@ui5/webcomponents\"),\n\t\t\tfetchCldr(getLocale().getLanguage(), getLocale().getRegion(), getLocale().getScript()),\n\t\t]);\n\t}\n}\n\nexport default DateComponentBase;\n"]}