@ui5/webcomponents 0.0.0-4e88b8243 → 0.0.0-50f1454ef

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 (1756) hide show
  1. package/CHANGELOG.md +489 -0
  2. package/README.md +22 -17
  3. package/cypress/specs/Avatar.cy.tsx +55 -0
  4. package/cypress/specs/AvatarGroup.cy.tsx +66 -0
  5. package/cypress/specs/Breadcrumbs.mobile.cy.tsx +53 -0
  6. package/cypress/specs/{Button.cy.ts → Button.cy.tsx} +109 -37
  7. package/cypress/specs/Calendar.cy.tsx +710 -0
  8. package/cypress/specs/CalendarLegend.cy.tsx +77 -0
  9. package/cypress/specs/Card.cy.tsx +338 -0
  10. package/cypress/specs/Carousel.cy.tsx +581 -0
  11. package/cypress/specs/Carousel.mobile.cy.tsx +67 -0
  12. package/cypress/specs/ColorPalette.cy.tsx +213 -0
  13. package/cypress/specs/ColorPicker.cy.tsx +332 -0
  14. package/cypress/specs/ComboBox.cy.tsx +198 -0
  15. package/cypress/specs/DateControlsWithTimezone.cy.tsx +75 -0
  16. package/cypress/specs/DatePicker.cy.tsx +1699 -0
  17. package/cypress/specs/DateRangePicker.cy.tsx +594 -0
  18. package/cypress/specs/DateTimePicker.cy.tsx +568 -0
  19. package/cypress/specs/DayPicker.cy.tsx +81 -0
  20. package/cypress/specs/Dialog.cy.tsx +133 -0
  21. package/cypress/specs/{ExpandableText.cy.ts → ExpandableText.cy.tsx} +27 -23
  22. package/cypress/specs/F6.cy.tsx +977 -0
  23. package/cypress/specs/Form.cy.tsx +1022 -0
  24. package/cypress/specs/FormSupport.cy.tsx +975 -0
  25. package/cypress/specs/Input.cy.tsx +978 -0
  26. package/cypress/specs/Label.cy.tsx +144 -0
  27. package/cypress/specs/Link.cy.tsx +216 -0
  28. package/cypress/specs/List.cy.tsx +309 -0
  29. package/cypress/specs/List.mobile.cy.tsx +31 -0
  30. package/cypress/specs/{LitKeyFunction.cy.ts → LitKeyFunction.cy.tsx} +10 -9
  31. package/cypress/specs/{Menu.cy.ts → Menu.cy.tsx} +210 -92
  32. package/cypress/specs/MessageStrip.cy.tsx +171 -0
  33. package/cypress/specs/MultiComboBox.cy.tsx +189 -0
  34. package/cypress/specs/MultiInput.cy.tsx +72 -0
  35. package/cypress/specs/Popover.cy.tsx +419 -0
  36. package/cypress/specs/RTL.cy.tsx +18 -0
  37. package/cypress/specs/RadioButton.cy.tsx +499 -0
  38. package/cypress/specs/RangeSlider.cy.tsx +52 -0
  39. package/cypress/specs/RatingIndicator.cy.tsx +279 -0
  40. package/cypress/specs/{ResponsivePopover.mobile.cy.ts → ResponsivePopover.mobile.cy.tsx} +35 -16
  41. package/cypress/specs/SegmentedButton.cy.tsx +215 -0
  42. package/cypress/specs/Select.cy.tsx +241 -0
  43. package/cypress/specs/Slider.cy.tsx +87 -0
  44. package/cypress/specs/{StepInput.cy.ts → StepInput.cy.tsx} +4 -6
  45. package/cypress/specs/TabContainer.cy.tsx +78 -0
  46. package/cypress/specs/Table.cy.tsx +1025 -0
  47. package/cypress/specs/{TableDragAndDrop.cy.ts → TableDragAndDrop.cy.tsx} +27 -24
  48. package/cypress/specs/TableGrowing.cy.tsx +336 -0
  49. package/cypress/specs/TableLoading.cy.tsx +48 -0
  50. package/cypress/specs/TableNavigation.cy.tsx +223 -0
  51. package/cypress/specs/TableNavigationFixedHeader.cy.tsx +199 -0
  52. package/cypress/specs/TableRowActions.cy.tsx +239 -0
  53. package/cypress/specs/TableSelection.cy.tsx +275 -0
  54. package/cypress/specs/TableSelections.cy.tsx +332 -0
  55. package/cypress/specs/TableUtils.cy.tsx +63 -0
  56. package/cypress/specs/{TableVirtualizer.cy.ts → TableVirtualizer.cy.tsx} +12 -15
  57. package/cypress/specs/Tag.cy.tsx +120 -0
  58. package/cypress/specs/Text.cy.tsx +46 -0
  59. package/cypress/specs/{TextArea.cy.ts → TextArea.cy.tsx} +85 -49
  60. package/cypress/specs/Title.cy.tsx +36 -0
  61. package/cypress/specs/{Toast.cy.ts → Toast.cy.tsx} +17 -16
  62. package/cypress/specs/Tokenizer.cy.tsx +209 -0
  63. package/cypress/specs/Toolbar.cy.tsx +194 -0
  64. package/cypress/specs/Tree.cy.tsx +72 -0
  65. package/cypress/specs/base/{AccessibilityTextsHelper.cy.ts → AccessibilityTextsHelper.cy.tsx} +193 -41
  66. package/cypress/specs/base/{Events.cy.ts → Events.cy.tsx} +78 -60
  67. package/cypress/specs/base/{IconCollection.cy.ts → IconCollection.cy.tsx} +4 -4
  68. package/cypress/specs/base/{IgnoreCustomElements.cy.ts → IgnoreCustomElements.cy.tsx} +15 -12
  69. package/cypress/specs/base/Tooltips.cy.tsx +64 -0
  70. package/cypress/support/commands/Calendar.commands.ts +21 -0
  71. package/cypress/support/commands/ColorPalette.commands.ts +27 -3
  72. package/cypress/support/commands/ColorPicker.commands.ts +38 -0
  73. package/cypress/support/commands/DatePicker.commands.ts +218 -0
  74. package/cypress/support/commands/DateTimePicker.commands.ts +105 -0
  75. package/cypress/support/commands/Dialog.commands.ts +16 -0
  76. package/cypress/support/commands/Menu.commands.ts +7 -7
  77. package/cypress/support/commands/Popover.commands.ts +16 -0
  78. package/cypress/support/commands/ResponsivePopover.commands.ts +42 -0
  79. package/cypress/support/commands/SegmentedButton.commands.ts +32 -0
  80. package/cypress/support/commands/utils/popup-open.ts +35 -0
  81. package/cypress/support/commands.ts +37 -2
  82. package/cypress/support/component-index.html +12 -0
  83. package/cypress/support/component.ts +19 -2
  84. package/cypress/tsconfig.json +9 -3
  85. package/cypress.config.js +11 -6
  86. package/dist/.tsbuildinfo +1 -1
  87. package/dist/Avatar.d.ts +10 -5
  88. package/dist/Avatar.js +9 -6
  89. package/dist/Avatar.js.map +1 -1
  90. package/dist/AvatarGroup.d.ts +4 -3
  91. package/dist/AvatarGroup.js +6 -2
  92. package/dist/AvatarGroup.js.map +1 -1
  93. package/dist/AvatarGroupTemplate.js +1 -0
  94. package/dist/AvatarGroupTemplate.js.map +1 -1
  95. package/dist/AvatarTemplate.js +1 -1
  96. package/dist/AvatarTemplate.js.map +1 -1
  97. package/dist/Bar.d.ts +18 -0
  98. package/dist/Bar.js +22 -0
  99. package/dist/Bar.js.map +1 -1
  100. package/dist/BarTemplate.js +1 -1
  101. package/dist/BarTemplate.js.map +1 -1
  102. package/dist/Breadcrumbs.d.ts +5 -0
  103. package/dist/Breadcrumbs.js +9 -0
  104. package/dist/Breadcrumbs.js.map +1 -1
  105. package/dist/BreadcrumbsPopoverTemplate.js +5 -1
  106. package/dist/BreadcrumbsPopoverTemplate.js.map +1 -1
  107. package/dist/BusyIndicatorTemplate.js +1 -1
  108. package/dist/BusyIndicatorTemplate.js.map +1 -1
  109. package/dist/Button.d.ts +24 -6
  110. package/dist/Button.js +72 -18
  111. package/dist/Button.js.map +1 -1
  112. package/dist/ButtonBadge.d.ts +38 -0
  113. package/dist/ButtonBadge.js +71 -0
  114. package/dist/ButtonBadge.js.map +1 -0
  115. package/dist/ButtonBadgeTemplate.d.ts +2 -0
  116. package/dist/ButtonBadgeTemplate.js +6 -0
  117. package/dist/ButtonBadgeTemplate.js.map +1 -0
  118. package/dist/ButtonTemplate.js +9 -4
  119. package/dist/ButtonTemplate.js.map +1 -1
  120. package/dist/Calendar.d.ts +4 -0
  121. package/dist/Calendar.js +21 -11
  122. package/dist/Calendar.js.map +1 -1
  123. package/dist/CalendarHeaderTemplate.js +2 -1
  124. package/dist/CalendarHeaderTemplate.js.map +1 -1
  125. package/dist/CardHeader.d.ts +1 -1
  126. package/dist/CardHeader.js +1 -1
  127. package/dist/CardHeader.js.map +1 -1
  128. package/dist/CardHeaderTemplate.js +1 -1
  129. package/dist/CardHeaderTemplate.js.map +1 -1
  130. package/dist/Carousel.d.ts +4 -1
  131. package/dist/Carousel.js +4 -1
  132. package/dist/Carousel.js.map +1 -1
  133. package/dist/CarouselTemplate.js +2 -2
  134. package/dist/CarouselTemplate.js.map +1 -1
  135. package/dist/CheckBox.d.ts +3 -0
  136. package/dist/CheckBox.js +3 -0
  137. package/dist/CheckBox.js.map +1 -1
  138. package/dist/ColorPalette.d.ts +21 -12
  139. package/dist/ColorPalette.js +38 -32
  140. package/dist/ColorPalette.js.map +1 -1
  141. package/dist/ColorPaletteItemTemplate.js +1 -1
  142. package/dist/ColorPaletteItemTemplate.js.map +1 -1
  143. package/dist/ColorPalettePopover.d.ts +0 -1
  144. package/dist/ColorPalettePopover.js +0 -1
  145. package/dist/ColorPalettePopover.js.map +1 -1
  146. package/dist/ColorPaletteTemplate.js +2 -2
  147. package/dist/ColorPaletteTemplate.js.map +1 -1
  148. package/dist/ColorPicker.d.ts +33 -28
  149. package/dist/ColorPicker.js +146 -100
  150. package/dist/ColorPicker.js.map +1 -1
  151. package/dist/ColorPickerTemplate.js +5 -3
  152. package/dist/ColorPickerTemplate.js.map +1 -1
  153. package/dist/ComboBox.d.ts +4 -3
  154. package/dist/ComboBox.js +28 -7
  155. package/dist/ComboBox.js.map +1 -1
  156. package/dist/ComboBoxItemGroupTemplate.js +2 -2
  157. package/dist/ComboBoxItemGroupTemplate.js.map +1 -1
  158. package/dist/DatePicker.d.ts +9 -5
  159. package/dist/DatePicker.js +42 -22
  160. package/dist/DatePicker.js.map +1 -1
  161. package/dist/DatePickerInputTemplate.js +2 -2
  162. package/dist/DatePickerInputTemplate.js.map +1 -1
  163. package/dist/DatePickerPopoverTemplate.js +34 -1
  164. package/dist/DatePickerPopoverTemplate.js.map +1 -1
  165. package/dist/DateRangePicker.d.ts +6 -2
  166. package/dist/DateRangePicker.js +10 -8
  167. package/dist/DateRangePicker.js.map +1 -1
  168. package/dist/DateTimeInput.d.ts +21 -0
  169. package/dist/DateTimeInput.js +48 -0
  170. package/dist/DateTimeInput.js.map +1 -0
  171. package/dist/DateTimePicker.d.ts +1 -18
  172. package/dist/DateTimePicker.js +5 -25
  173. package/dist/DateTimePicker.js.map +1 -1
  174. package/dist/DateTimePickerTemplate.js +16 -18
  175. package/dist/DateTimePickerTemplate.js.map +1 -1
  176. package/dist/DayPicker.d.ts +5 -0
  177. package/dist/DayPicker.js +24 -6
  178. package/dist/DayPicker.js.map +1 -1
  179. package/dist/DayPickerTemplate.js +1 -1
  180. package/dist/DayPickerTemplate.js.map +1 -1
  181. package/dist/Dialog.js +1 -0
  182. package/dist/Dialog.js.map +1 -1
  183. package/dist/DialogTemplate.js +1 -1
  184. package/dist/DialogTemplate.js.map +1 -1
  185. package/dist/ExpandableText.d.ts +3 -2
  186. package/dist/ExpandableText.js +0 -7
  187. package/dist/ExpandableText.js.map +1 -1
  188. package/dist/ExpandableTextTemplate.js +1 -1
  189. package/dist/ExpandableTextTemplate.js.map +1 -1
  190. package/dist/FileUploader.js +1 -1
  191. package/dist/FileUploader.js.map +1 -1
  192. package/dist/Form.d.ts +23 -3
  193. package/dist/Form.js +40 -5
  194. package/dist/Form.js.map +1 -1
  195. package/dist/FormGroup.d.ts +9 -1
  196. package/dist/FormGroup.js +11 -1
  197. package/dist/FormGroup.js.map +1 -1
  198. package/dist/FormItem.d.ts +0 -1
  199. package/dist/FormItem.js +0 -1
  200. package/dist/FormItem.js.map +1 -1
  201. package/dist/FormTemplate.js +3 -3
  202. package/dist/FormTemplate.js.map +1 -1
  203. package/dist/Icon.d.ts +1 -1
  204. package/dist/Icon.js +3 -4
  205. package/dist/Icon.js.map +1 -1
  206. package/dist/Input.d.ts +43 -17
  207. package/dist/Input.js +91 -38
  208. package/dist/Input.js.map +1 -1
  209. package/dist/InputPopoverTemplate.d.ts +4 -1
  210. package/dist/InputPopoverTemplate.js +3 -2
  211. package/dist/InputPopoverTemplate.js.map +1 -1
  212. package/dist/InputTemplate.d.ts +3 -1
  213. package/dist/InputTemplate.js +7 -5
  214. package/dist/InputTemplate.js.map +1 -1
  215. package/dist/Link.d.ts +15 -0
  216. package/dist/Link.js +17 -0
  217. package/dist/Link.js.map +1 -1
  218. package/dist/List.d.ts +18 -6
  219. package/dist/List.js +63 -18
  220. package/dist/List.js.map +1 -1
  221. package/dist/ListBoxItemGroupTemplate.d.ts +4 -0
  222. package/dist/ListBoxItemGroupTemplate.js +13 -0
  223. package/dist/ListBoxItemGroupTemplate.js.map +1 -0
  224. package/dist/ListItem.d.ts +7 -8
  225. package/dist/ListItem.js +18 -10
  226. package/dist/ListItem.js.map +1 -1
  227. package/dist/ListItemGroupHeader.d.ts +6 -0
  228. package/dist/ListItemGroupHeader.js +19 -2
  229. package/dist/ListItemGroupHeader.js.map +1 -1
  230. package/dist/ListItemGroupHeaderTemplate.js +3 -3
  231. package/dist/ListItemGroupHeaderTemplate.js.map +1 -1
  232. package/dist/ListItemGroupTemplate.d.ts +1 -3
  233. package/dist/ListItemGroupTemplate.js +5 -8
  234. package/dist/ListItemGroupTemplate.js.map +1 -1
  235. package/dist/ListItemStandard.d.ts +48 -6
  236. package/dist/ListItemStandard.js +69 -9
  237. package/dist/ListItemStandard.js.map +1 -1
  238. package/dist/ListItemStandardTemplate.js +33 -1
  239. package/dist/ListItemStandardTemplate.js.map +1 -1
  240. package/dist/ListItemTemplate.js +3 -3
  241. package/dist/ListItemTemplate.js.map +1 -1
  242. package/dist/ListTemplate.js +2 -2
  243. package/dist/ListTemplate.js.map +1 -1
  244. package/dist/Menu.d.ts +17 -6
  245. package/dist/Menu.js +99 -55
  246. package/dist/Menu.js.map +1 -1
  247. package/dist/MenuItem.d.ts +30 -7
  248. package/dist/MenuItem.js +148 -24
  249. package/dist/MenuItem.js.map +1 -1
  250. package/dist/MenuItemTemplate.d.ts +1 -5
  251. package/dist/MenuItemTemplate.js +3 -3
  252. package/dist/MenuItemTemplate.js.map +1 -1
  253. package/dist/MenuTemplate.js +2 -2
  254. package/dist/MenuTemplate.js.map +1 -1
  255. package/dist/MessageStrip.js +1 -3
  256. package/dist/MessageStrip.js.map +1 -1
  257. package/dist/MessageStripTemplate.js +3 -3
  258. package/dist/MessageStripTemplate.js.map +1 -1
  259. package/dist/MonthPicker.js +7 -1
  260. package/dist/MonthPicker.js.map +1 -1
  261. package/dist/MultiComboBox.d.ts +7 -12
  262. package/dist/MultiComboBox.js +48 -52
  263. package/dist/MultiComboBox.js.map +1 -1
  264. package/dist/MultiComboBoxItemGroupTemplate.js +2 -2
  265. package/dist/MultiComboBoxItemGroupTemplate.js.map +1 -1
  266. package/dist/MultiComboBoxPopoverTemplate.d.ts +2 -0
  267. package/dist/MultiComboBoxPopoverTemplate.js +35 -0
  268. package/dist/MultiComboBoxPopoverTemplate.js.map +1 -0
  269. package/dist/MultiComboBoxTemplate.d.ts +2 -0
  270. package/dist/MultiComboBoxTemplate.js +26 -0
  271. package/dist/MultiComboBoxTemplate.js.map +1 -0
  272. package/dist/MultiInput.d.ts +4 -1
  273. package/dist/MultiInput.js +8 -2
  274. package/dist/MultiInput.js.map +1 -1
  275. package/dist/MultiInputTemplate.js +2 -1
  276. package/dist/MultiInputTemplate.js.map +1 -1
  277. package/dist/OptionCustom.d.ts +1 -3
  278. package/dist/OptionCustom.js.map +1 -1
  279. package/dist/Panel.d.ts +3 -1
  280. package/dist/Panel.js +1 -1
  281. package/dist/Panel.js.map +1 -1
  282. package/dist/Popover.d.ts +6 -8
  283. package/dist/Popover.js +23 -22
  284. package/dist/Popover.js.map +1 -1
  285. package/dist/Popup.js +5 -8
  286. package/dist/Popup.js.map +1 -1
  287. package/dist/PopupTemplate.d.ts +1 -1
  288. package/dist/RadioButtonGroup.js +3 -2
  289. package/dist/RadioButtonGroup.js.map +1 -1
  290. package/dist/RangeSliderTemplate.js +2 -2
  291. package/dist/RangeSliderTemplate.js.map +1 -1
  292. package/dist/RatingIndicator.js +4 -1
  293. package/dist/RatingIndicator.js.map +1 -1
  294. package/dist/ResponsivePopoverTemplate.js +1 -1
  295. package/dist/ResponsivePopoverTemplate.js.map +1 -1
  296. package/dist/Select.d.ts +66 -10
  297. package/dist/Select.js +95 -29
  298. package/dist/Select.js.map +1 -1
  299. package/dist/SelectPopoverTemplate.d.ts +2 -0
  300. package/dist/SelectPopoverTemplate.js +28 -0
  301. package/dist/SelectPopoverTemplate.js.map +1 -0
  302. package/dist/SelectTemplate.d.ts +2 -0
  303. package/dist/SelectTemplate.js +23 -0
  304. package/dist/SelectTemplate.js.map +1 -0
  305. package/dist/Slider.d.ts +1 -0
  306. package/dist/Slider.js +8 -0
  307. package/dist/Slider.js.map +1 -1
  308. package/dist/SliderBase.d.ts +2 -1
  309. package/dist/SliderBase.js +14 -2
  310. package/dist/SliderBase.js.map +1 -1
  311. package/dist/SliderBaseTemplate.js +3 -4
  312. package/dist/SliderBaseTemplate.js.map +1 -1
  313. package/dist/SliderTemplate.js +1 -1
  314. package/dist/SliderTemplate.js.map +1 -1
  315. package/dist/SpecialCalendarDate.d.ts +6 -0
  316. package/dist/SpecialCalendarDate.js +9 -0
  317. package/dist/SpecialCalendarDate.js.map +1 -1
  318. package/dist/SplitButton.d.ts +9 -21
  319. package/dist/SplitButton.js +40 -74
  320. package/dist/SplitButton.js.map +1 -1
  321. package/dist/SplitButtonTemplate.js +1 -1
  322. package/dist/SplitButtonTemplate.js.map +1 -1
  323. package/dist/SuggestionItemGroup.js +2 -0
  324. package/dist/SuggestionItemGroup.js.map +1 -1
  325. package/dist/SuggestionListItem.d.ts +1 -1
  326. package/dist/SuggestionListItem.js +1 -1
  327. package/dist/SuggestionListItem.js.map +1 -1
  328. package/dist/Switch.js +0 -1
  329. package/dist/Switch.js.map +1 -1
  330. package/dist/SwitchTemplate.js +1 -1
  331. package/dist/SwitchTemplate.js.map +1 -1
  332. package/dist/Tab.d.ts +1 -1
  333. package/dist/TabContainer.d.ts +10 -21
  334. package/dist/TabContainer.js +22 -32
  335. package/dist/TabContainer.js.map +1 -1
  336. package/dist/TabContainerTemplate.js +1 -0
  337. package/dist/TabContainerTemplate.js.map +1 -1
  338. package/dist/Table.d.ts +70 -36
  339. package/dist/Table.js +130 -115
  340. package/dist/Table.js.map +1 -1
  341. package/dist/TableCell.d.ts +3 -1
  342. package/dist/TableCell.js +23 -5
  343. package/dist/TableCell.js.map +1 -1
  344. package/dist/TableCellBase.d.ts +4 -2
  345. package/dist/TableCellBase.js +11 -14
  346. package/dist/TableCellBase.js.map +1 -1
  347. package/dist/TableCellTemplate.d.ts +2 -0
  348. package/dist/TableCellTemplate.js +6 -0
  349. package/dist/TableCellTemplate.js.map +1 -0
  350. package/dist/TableDragAndDrop.d.ts +1 -1
  351. package/dist/TableDragAndDrop.js.map +1 -1
  352. package/dist/TableExtension.d.ts +1 -1
  353. package/dist/TableExtension.js +1 -1
  354. package/dist/TableExtension.js.map +1 -1
  355. package/dist/TableGrowing.d.ts +19 -14
  356. package/dist/TableGrowing.js +33 -31
  357. package/dist/TableGrowing.js.map +1 -1
  358. package/dist/TableGrowingTemplate.d.ts +2 -0
  359. package/dist/TableGrowingTemplate.js +6 -0
  360. package/dist/TableGrowingTemplate.js.map +1 -0
  361. package/dist/TableHeaderCell.d.ts +53 -13
  362. package/dist/TableHeaderCell.js +37 -37
  363. package/dist/TableHeaderCell.js.map +1 -1
  364. package/dist/TableHeaderCellActionAI.d.ts +29 -0
  365. package/dist/TableHeaderCellActionAI.js +49 -0
  366. package/dist/TableHeaderCellActionAI.js.map +1 -0
  367. package/dist/TableHeaderCellActionBase.d.ts +35 -0
  368. package/dist/TableHeaderCellActionBase.js +57 -0
  369. package/dist/TableHeaderCellActionBase.js.map +1 -0
  370. package/dist/TableHeaderCellActionBaseTemplate.d.ts +2 -0
  371. package/dist/TableHeaderCellActionBaseTemplate.js +7 -0
  372. package/dist/TableHeaderCellActionBaseTemplate.js.map +1 -0
  373. package/dist/TableHeaderCellTemplate.d.ts +2 -0
  374. package/dist/TableHeaderCellTemplate.js +19 -0
  375. package/dist/TableHeaderCellTemplate.js.map +1 -0
  376. package/dist/TableHeaderRow.d.ts +4 -3
  377. package/dist/TableHeaderRow.js +11 -11
  378. package/dist/TableHeaderRow.js.map +1 -1
  379. package/dist/TableHeaderRowTemplate.d.ts +2 -0
  380. package/dist/TableHeaderRowTemplate.js +11 -0
  381. package/dist/TableHeaderRowTemplate.js.map +1 -0
  382. package/dist/TableNavigation.d.ts +2 -2
  383. package/dist/TableNavigation.js +6 -7
  384. package/dist/TableNavigation.js.map +1 -1
  385. package/dist/TableRow.d.ts +26 -7
  386. package/dist/TableRow.js +66 -45
  387. package/dist/TableRow.js.map +1 -1
  388. package/dist/TableRowAction.d.ts +47 -0
  389. package/dist/TableRowAction.js +71 -0
  390. package/dist/TableRowAction.js.map +1 -0
  391. package/dist/TableRowActionBase.d.ts +39 -0
  392. package/dist/TableRowActionBase.js +112 -0
  393. package/dist/TableRowActionBase.js.map +1 -0
  394. package/dist/TableRowActionBaseTemplate.d.ts +2 -0
  395. package/dist/TableRowActionBaseTemplate.js +15 -0
  396. package/dist/TableRowActionBaseTemplate.js.map +1 -0
  397. package/dist/TableRowActionNavigation.d.ts +38 -0
  398. package/dist/TableRowActionNavigation.js +65 -0
  399. package/dist/TableRowActionNavigation.js.map +1 -0
  400. package/dist/TableRowBase.d.ts +9 -6
  401. package/dist/TableRowBase.js +30 -27
  402. package/dist/TableRowBase.js.map +1 -1
  403. package/dist/TableRowTemplate.d.ts +2 -0
  404. package/dist/TableRowTemplate.js +18 -0
  405. package/dist/TableRowTemplate.js.map +1 -0
  406. package/dist/TableSelection.d.ts +10 -8
  407. package/dist/TableSelection.js +40 -39
  408. package/dist/TableSelection.js.map +1 -1
  409. package/dist/TableSelectionBase.d.ts +77 -0
  410. package/dist/TableSelectionBase.js +107 -0
  411. package/dist/TableSelectionBase.js.map +1 -0
  412. package/dist/TableSelectionMulti.d.ts +90 -0
  413. package/dist/TableSelectionMulti.js +255 -0
  414. package/dist/TableSelectionMulti.js.map +1 -0
  415. package/dist/TableSelectionSingle.d.ts +49 -0
  416. package/dist/TableSelectionSingle.js +67 -0
  417. package/dist/TableSelectionSingle.js.map +1 -0
  418. package/dist/TableTemplate.d.ts +2 -0
  419. package/dist/TableTemplate.js +18 -0
  420. package/dist/TableTemplate.js.map +1 -0
  421. package/dist/TableUtils.d.ts +9 -1
  422. package/dist/TableUtils.js +26 -2
  423. package/dist/TableUtils.js.map +1 -1
  424. package/dist/TableVirtualizer.d.ts +2 -2
  425. package/dist/TableVirtualizer.js +7 -5
  426. package/dist/TableVirtualizer.js.map +1 -1
  427. package/dist/Tag.d.ts +3 -2
  428. package/dist/Tag.js +3 -1
  429. package/dist/Tag.js.map +1 -1
  430. package/dist/TagTemplate.js +2 -2
  431. package/dist/TagTemplate.js.map +1 -1
  432. package/dist/TextArea.js +1 -4
  433. package/dist/TextArea.js.map +1 -1
  434. package/dist/TimePicker.d.ts +15 -7
  435. package/dist/TimePicker.js +61 -19
  436. package/dist/TimePicker.js.map +1 -1
  437. package/dist/TimePickerClock.d.ts +22 -52
  438. package/dist/TimePickerClock.js +71 -224
  439. package/dist/TimePickerClock.js.map +1 -1
  440. package/dist/TimePickerClockTemplate.js +9 -6
  441. package/dist/TimePickerClockTemplate.js.map +1 -1
  442. package/dist/TimePickerInternals.d.ts +2 -1
  443. package/dist/TimePickerInternals.js.map +1 -1
  444. package/dist/TimePickerPopoverTemplate.js +34 -2
  445. package/dist/TimePickerPopoverTemplate.js.map +1 -1
  446. package/dist/TimePickerTemplate.js +4 -3
  447. package/dist/TimePickerTemplate.js.map +1 -1
  448. package/dist/TimeSelectionClocks.d.ts +15 -3
  449. package/dist/TimeSelectionClocks.js +64 -28
  450. package/dist/TimeSelectionClocks.js.map +1 -1
  451. package/dist/TimeSelectionClocksTemplate.js +1 -1
  452. package/dist/TimeSelectionClocksTemplate.js.map +1 -1
  453. package/dist/ToastTemplate.js +3 -2
  454. package/dist/ToastTemplate.js.map +1 -1
  455. package/dist/Token.d.ts +1 -5
  456. package/dist/Token.js +6 -8
  457. package/dist/Token.js.map +1 -1
  458. package/dist/TokenTemplate.js +1 -1
  459. package/dist/TokenTemplate.js.map +1 -1
  460. package/dist/Tokenizer.d.ts +7 -2
  461. package/dist/Tokenizer.js +3 -26
  462. package/dist/Tokenizer.js.map +1 -1
  463. package/dist/TokenizerPopoverTemplate.js +0 -1
  464. package/dist/TokenizerPopoverTemplate.js.map +1 -1
  465. package/dist/Toolbar.d.ts +6 -5
  466. package/dist/Toolbar.js +15 -51
  467. package/dist/Toolbar.js.map +1 -1
  468. package/dist/ToolbarButton.d.ts +7 -5
  469. package/dist/ToolbarButton.js +15 -4
  470. package/dist/ToolbarButton.js.map +1 -1
  471. package/dist/ToolbarButtonTemplate.js +1 -1
  472. package/dist/ToolbarButtonTemplate.js.map +1 -1
  473. package/dist/ToolbarItem.d.ts +6 -17
  474. package/dist/ToolbarItem.js +18 -8
  475. package/dist/ToolbarItem.js.map +1 -1
  476. package/dist/ToolbarPopoverButtonTemplate.js +1 -1
  477. package/dist/ToolbarPopoverButtonTemplate.js.map +1 -1
  478. package/dist/ToolbarPopoverSelectTemplate.js +1 -1
  479. package/dist/ToolbarPopoverSelectTemplate.js.map +1 -1
  480. package/dist/ToolbarPopoverTemplate.js +1 -1
  481. package/dist/ToolbarPopoverTemplate.js.map +1 -1
  482. package/dist/ToolbarSelect.d.ts +9 -11
  483. package/dist/ToolbarSelect.js +41 -41
  484. package/dist/ToolbarSelect.js.map +1 -1
  485. package/dist/ToolbarSelectTemplate.js +1 -1
  486. package/dist/ToolbarSelectTemplate.js.map +1 -1
  487. package/dist/ToolbarTemplate.js +1 -1
  488. package/dist/ToolbarTemplate.js.map +1 -1
  489. package/dist/Tree.js +3 -0
  490. package/dist/Tree.js.map +1 -1
  491. package/dist/TreeItemBase.d.ts +16 -1
  492. package/dist/TreeItemBase.js +14 -0
  493. package/dist/TreeItemBase.js.map +1 -1
  494. package/dist/TreeItemBaseTemplate.js +5 -1
  495. package/dist/TreeItemBaseTemplate.js.map +1 -1
  496. package/dist/TreeItemCustom.js +5 -1
  497. package/dist/TreeItemCustom.js.map +1 -1
  498. package/dist/TreeItemTemplate.js +1 -1
  499. package/dist/TreeItemTemplate.js.map +1 -1
  500. package/dist/TreeList.js +3 -1
  501. package/dist/TreeList.js.map +1 -1
  502. package/dist/YearPicker.js +2 -2
  503. package/dist/YearPicker.js.map +1 -1
  504. package/dist/YearPickerTemplate.js +1 -1
  505. package/dist/YearPickerTemplate.js.map +1 -1
  506. package/dist/bundle.esm.d.ts +2 -3
  507. package/dist/bundle.esm.js +8 -7
  508. package/dist/bundle.esm.js.map +1 -1
  509. package/dist/colorpicker-utils/ColorValue.d.ts +53 -0
  510. package/dist/colorpicker-utils/ColorValue.js +143 -0
  511. package/dist/colorpicker-utils/ColorValue.js.map +1 -0
  512. package/dist/css/themes/Avatar.css +1 -1
  513. package/dist/css/themes/AvatarGroup.css +1 -1
  514. package/dist/css/themes/Bar.css +1 -1
  515. package/dist/css/themes/Breadcrumbs.css +1 -1
  516. package/dist/css/themes/BusyIndicator.css +1 -1
  517. package/dist/css/themes/Button.css +1 -1
  518. package/dist/css/themes/ButtonBadge.css +1 -0
  519. package/dist/css/themes/Calendar.css +1 -1
  520. package/dist/css/themes/CalendarHeader.css +1 -1
  521. package/dist/css/themes/CalendarLegend.css +1 -1
  522. package/dist/css/themes/CalendarLegendItem.css +1 -1
  523. package/dist/css/themes/Card.css +1 -1
  524. package/dist/css/themes/CardHeader.css +1 -1
  525. package/dist/css/themes/Carousel.css +1 -1
  526. package/dist/css/themes/CheckBox.css +1 -1
  527. package/dist/css/themes/ColorPalette.css +1 -1
  528. package/dist/css/themes/ColorPaletteItem.css +1 -1
  529. package/dist/css/themes/ColorPalettePopover.css +1 -1
  530. package/dist/css/themes/ColorPicker.css +1 -1
  531. package/dist/css/themes/ComboBox.css +1 -1
  532. package/dist/css/themes/ComboBoxItem.css +1 -1
  533. package/dist/css/themes/ComboBoxPopover.css +1 -1
  534. package/dist/css/themes/DatePicker.css +1 -1
  535. package/dist/css/themes/DatePickerPopover.css +1 -1
  536. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  537. package/dist/css/themes/DayPicker.css +1 -1
  538. package/dist/css/themes/Dialog.css +1 -1
  539. package/dist/css/themes/FileUploader.css +1 -1
  540. package/dist/css/themes/Form.css +1 -1
  541. package/dist/css/themes/FormItem.css +1 -1
  542. package/dist/css/themes/FormItemSpan.css +1 -1
  543. package/dist/css/themes/GrowingButton.css +1 -1
  544. package/dist/css/themes/Icon.css +1 -1
  545. package/dist/css/themes/Input.css +1 -1
  546. package/dist/css/themes/InputIcon.css +1 -1
  547. package/dist/css/themes/InputSharedStyles.css +1 -1
  548. package/dist/css/themes/Label.css +1 -1
  549. package/dist/css/themes/Link.css +1 -1
  550. package/dist/css/themes/List.css +1 -1
  551. package/dist/css/themes/ListItem.css +1 -1
  552. package/dist/css/themes/ListItemBase.css +1 -1
  553. package/dist/css/themes/ListItemCustom.css +1 -1
  554. package/dist/css/themes/ListItemGroup.css +1 -1
  555. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  556. package/dist/css/themes/ListItemIcon.css +1 -1
  557. package/dist/css/themes/Menu.css +1 -1
  558. package/dist/css/themes/MenuItem.css +1 -1
  559. package/dist/css/themes/MessageStrip.css +1 -1
  560. package/dist/css/themes/MonthPicker.css +1 -1
  561. package/dist/css/themes/MultiComboBox.css +1 -1
  562. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  563. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  564. package/dist/css/themes/MultiInput.css +1 -1
  565. package/dist/css/themes/OptionBase.css +1 -1
  566. package/dist/css/themes/Panel.css +1 -1
  567. package/dist/css/themes/Popover.css +1 -1
  568. package/dist/css/themes/PopupsCommon.css +1 -1
  569. package/dist/css/themes/ProgressIndicator.css +1 -1
  570. package/dist/css/themes/RadioButton.css +1 -1
  571. package/dist/css/themes/RangeSlider.css +1 -1
  572. package/dist/css/themes/RatingIndicator.css +1 -1
  573. package/dist/css/themes/ResponsivePopover.css +1 -1
  574. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  575. package/dist/css/themes/SegmentedButton.css +1 -1
  576. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  577. package/dist/css/themes/Select.css +1 -1
  578. package/dist/css/themes/SliderBase.css +1 -1
  579. package/dist/css/themes/SplitButton.css +1 -1
  580. package/dist/css/themes/StepInput.css +1 -1
  581. package/dist/css/themes/SuggestionItem.css +1 -1
  582. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  583. package/dist/css/themes/Switch.css +1 -1
  584. package/dist/css/themes/TabContainer.css +1 -1
  585. package/dist/css/themes/TabInOverflow.css +1 -1
  586. package/dist/css/themes/TabInStrip.css +1 -1
  587. package/dist/css/themes/TabSemanticIcon.css +1 -1
  588. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  589. package/dist/css/themes/Table.css +1 -1
  590. package/dist/css/themes/TableCell.css +1 -1
  591. package/dist/css/themes/TableCellBase.css +1 -1
  592. package/dist/css/themes/TableGrowing.css +1 -1
  593. package/dist/css/themes/TableHeaderCell.css +1 -1
  594. package/dist/css/themes/TableHeaderCellActionBase.css +1 -0
  595. package/dist/css/themes/TableHeaderRow.css +1 -1
  596. package/dist/css/themes/TableRow.css +1 -1
  597. package/dist/css/themes/TableRowActionBase.css +1 -0
  598. package/dist/css/themes/TableRowBase.css +1 -1
  599. package/dist/css/themes/Tag.css +1 -1
  600. package/dist/css/themes/Text.css +1 -1
  601. package/dist/css/themes/TextArea.css +1 -1
  602. package/dist/css/themes/TimePicker.css +1 -1
  603. package/dist/css/themes/TimePickerClock.css +1 -1
  604. package/dist/css/themes/TimePickerPopover.css +1 -1
  605. package/dist/css/themes/Toast.css +1 -1
  606. package/dist/css/themes/ToggleButton.css +1 -1
  607. package/dist/css/themes/Token.css +1 -1
  608. package/dist/css/themes/Tokenizer.css +1 -1
  609. package/dist/css/themes/TokenizerPopover.css +1 -1
  610. package/dist/css/themes/Toolbar.css +1 -1
  611. package/dist/css/themes/ToolbarPopover.css +1 -1
  612. package/dist/css/themes/ToolbarSelect.css +1 -0
  613. package/dist/css/themes/TreeItem.css +1 -1
  614. package/dist/css/themes/ValueStateMessage.css +1 -1
  615. package/dist/css/themes/YearPicker.css +1 -1
  616. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  617. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  618. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  619. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  620. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  621. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  622. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  623. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  624. package/dist/custom-elements-internal.json +11970 -9476
  625. package/dist/custom-elements.json +2993 -1158
  626. package/dist/features/ColorPaletteMoreColors.d.ts +1 -11
  627. package/dist/features/ColorPaletteMoreColors.js +3 -18
  628. package/dist/features/ColorPaletteMoreColors.js.map +1 -1
  629. package/dist/features/ColorPaletteMoreColorsTemplate.js +1 -1
  630. package/dist/features/ColorPaletteMoreColorsTemplate.js.map +1 -1
  631. package/dist/features/InputSuggestions.d.ts +4 -7
  632. package/dist/features/InputSuggestions.js +11 -20
  633. package/dist/features/InputSuggestions.js.map +1 -1
  634. package/dist/features/InputSuggestionsTemplate.d.ts +5 -1
  635. package/dist/features/InputSuggestionsTemplate.js +9 -5
  636. package/dist/features/InputSuggestionsTemplate.js.map +1 -1
  637. package/dist/features/ListItemStandardExpandableText.d.ts +1 -0
  638. package/dist/features/ListItemStandardExpandableText.js +5 -0
  639. package/dist/features/ListItemStandardExpandableText.js.map +1 -0
  640. package/dist/features/ListItemStandardExpandableTextTemplate.d.ts +10 -0
  641. package/dist/features/ListItemStandardExpandableTextTemplate.js +14 -0
  642. package/dist/features/ListItemStandardExpandableTextTemplate.js.map +1 -0
  643. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  644. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  645. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  646. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  647. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  648. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  649. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  650. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  651. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  652. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  653. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  654. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  655. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  656. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  657. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  658. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  659. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  660. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  661. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  662. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  663. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  664. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  665. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  666. package/dist/generated/assets/i18n/messagebundle_id.json +1 -0
  667. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  668. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  669. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  670. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  671. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  672. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  673. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  674. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  675. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  676. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  677. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  678. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  679. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  680. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  681. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  682. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  683. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  684. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  685. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  686. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  687. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  688. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  689. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  690. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  691. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  692. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  693. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  694. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  695. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  696. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  697. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  698. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  699. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  700. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  701. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  702. package/dist/generated/i18n/i18n-defaults.d.ts +19 -2
  703. package/dist/generated/i18n/i18n-defaults.js +20 -3
  704. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  705. package/dist/generated/json-imports/Themes-fetch.js +1 -5
  706. package/dist/generated/json-imports/Themes-fetch.js.map +1 -1
  707. package/dist/generated/json-imports/Themes.js +1 -5
  708. package/dist/generated/json-imports/Themes.js.map +1 -1
  709. package/dist/generated/json-imports/i18n-fetch.js +2 -2
  710. package/dist/generated/json-imports/i18n-fetch.js.map +1 -1
  711. package/dist/generated/json-imports/i18n.js +2 -2
  712. package/dist/generated/json-imports/i18n.js.map +1 -1
  713. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  714. package/dist/generated/themes/Avatar.css.js +1 -1
  715. package/dist/generated/themes/Avatar.css.js.map +1 -1
  716. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  717. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  718. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  719. package/dist/generated/themes/Bar.css.d.ts +1 -1
  720. package/dist/generated/themes/Bar.css.js +1 -1
  721. package/dist/generated/themes/Bar.css.js.map +1 -1
  722. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  723. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  724. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  725. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  726. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  727. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  728. package/dist/generated/themes/Button.css.d.ts +1 -1
  729. package/dist/generated/themes/Button.css.js +1 -1
  730. package/dist/generated/themes/Button.css.js.map +1 -1
  731. package/dist/generated/themes/ButtonBadge.css.d.ts +2 -0
  732. package/dist/generated/themes/ButtonBadge.css.js +8 -0
  733. package/dist/generated/themes/ButtonBadge.css.js.map +1 -0
  734. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  735. package/dist/generated/themes/Calendar.css.js +1 -1
  736. package/dist/generated/themes/Calendar.css.js.map +1 -1
  737. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  738. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  739. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  740. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  741. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  742. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  743. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  744. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  745. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  746. package/dist/generated/themes/Card.css.d.ts +1 -1
  747. package/dist/generated/themes/Card.css.js +1 -1
  748. package/dist/generated/themes/Card.css.js.map +1 -1
  749. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  750. package/dist/generated/themes/CardHeader.css.js +1 -1
  751. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  752. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  753. package/dist/generated/themes/Carousel.css.js +1 -1
  754. package/dist/generated/themes/Carousel.css.js.map +1 -1
  755. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  756. package/dist/generated/themes/CheckBox.css.js +1 -1
  757. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  758. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  759. package/dist/generated/themes/ColorPalette.css.js +1 -1
  760. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  761. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  762. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  763. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  764. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  765. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  766. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  767. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  768. package/dist/generated/themes/ColorPicker.css.js +1 -1
  769. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  770. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  771. package/dist/generated/themes/ComboBox.css.js +1 -1
  772. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  773. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  774. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  775. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  776. package/dist/generated/themes/ComboBoxPopover.css.d.ts +1 -1
  777. package/dist/generated/themes/ComboBoxPopover.css.js +1 -1
  778. package/dist/generated/themes/ComboBoxPopover.css.js.map +1 -1
  779. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  780. package/dist/generated/themes/DatePicker.css.js +1 -1
  781. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  782. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  783. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  784. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  785. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  786. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  787. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  788. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  789. package/dist/generated/themes/DayPicker.css.js +1 -1
  790. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  791. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  792. package/dist/generated/themes/Dialog.css.js +1 -1
  793. package/dist/generated/themes/Dialog.css.js.map +1 -1
  794. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  795. package/dist/generated/themes/FileUploader.css.js +1 -1
  796. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  797. package/dist/generated/themes/Form.css.d.ts +1 -1
  798. package/dist/generated/themes/Form.css.js +1 -1
  799. package/dist/generated/themes/Form.css.js.map +1 -1
  800. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  801. package/dist/generated/themes/FormItem.css.js +1 -1
  802. package/dist/generated/themes/FormItem.css.js.map +1 -1
  803. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  804. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  805. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  806. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  807. package/dist/generated/themes/GrowingButton.css.js +1 -1
  808. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  809. package/dist/generated/themes/Icon.css.d.ts +1 -1
  810. package/dist/generated/themes/Icon.css.js +1 -1
  811. package/dist/generated/themes/Icon.css.js.map +1 -1
  812. package/dist/generated/themes/Input.css.d.ts +1 -1
  813. package/dist/generated/themes/Input.css.js +1 -1
  814. package/dist/generated/themes/Input.css.js.map +1 -1
  815. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  816. package/dist/generated/themes/InputIcon.css.js +1 -1
  817. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  818. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  819. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  820. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  821. package/dist/generated/themes/Label.css.d.ts +1 -1
  822. package/dist/generated/themes/Label.css.js +1 -1
  823. package/dist/generated/themes/Label.css.js.map +1 -1
  824. package/dist/generated/themes/Link.css.d.ts +1 -1
  825. package/dist/generated/themes/Link.css.js +1 -1
  826. package/dist/generated/themes/Link.css.js.map +1 -1
  827. package/dist/generated/themes/List.css.d.ts +1 -1
  828. package/dist/generated/themes/List.css.js +1 -1
  829. package/dist/generated/themes/List.css.js.map +1 -1
  830. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  831. package/dist/generated/themes/ListItem.css.js +1 -1
  832. package/dist/generated/themes/ListItem.css.js.map +1 -1
  833. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  834. package/dist/generated/themes/ListItemBase.css.js +1 -1
  835. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  836. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  837. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  838. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  839. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  840. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  841. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  842. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  843. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  844. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  845. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  846. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  847. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  848. package/dist/generated/themes/Menu.css.d.ts +1 -1
  849. package/dist/generated/themes/Menu.css.js +1 -1
  850. package/dist/generated/themes/Menu.css.js.map +1 -1
  851. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  852. package/dist/generated/themes/MenuItem.css.js +1 -1
  853. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  854. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  855. package/dist/generated/themes/MessageStrip.css.js +1 -1
  856. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  857. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  858. package/dist/generated/themes/MonthPicker.css.js +1 -1
  859. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  860. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  861. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  862. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  863. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  864. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  865. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  866. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  867. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  868. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  869. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  870. package/dist/generated/themes/MultiInput.css.js +1 -1
  871. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  872. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  873. package/dist/generated/themes/OptionBase.css.js +1 -1
  874. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  875. package/dist/generated/themes/Panel.css.d.ts +1 -1
  876. package/dist/generated/themes/Panel.css.js +1 -1
  877. package/dist/generated/themes/Panel.css.js.map +1 -1
  878. package/dist/generated/themes/Popover.css.d.ts +1 -1
  879. package/dist/generated/themes/Popover.css.js +1 -1
  880. package/dist/generated/themes/Popover.css.js.map +1 -1
  881. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  882. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  883. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  884. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  885. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  886. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  887. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  888. package/dist/generated/themes/RadioButton.css.js +1 -1
  889. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  890. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  891. package/dist/generated/themes/RangeSlider.css.js +1 -1
  892. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  893. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  894. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  895. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  896. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  897. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  898. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  899. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  900. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  901. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  902. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  903. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  904. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  905. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  906. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  907. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  908. package/dist/generated/themes/Select.css.d.ts +1 -1
  909. package/dist/generated/themes/Select.css.js +1 -1
  910. package/dist/generated/themes/Select.css.js.map +1 -1
  911. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  912. package/dist/generated/themes/SliderBase.css.js +1 -1
  913. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  914. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  915. package/dist/generated/themes/SplitButton.css.js +1 -1
  916. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  917. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  918. package/dist/generated/themes/StepInput.css.js +1 -1
  919. package/dist/generated/themes/StepInput.css.js.map +1 -1
  920. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  921. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  922. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  923. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  924. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  925. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  926. package/dist/generated/themes/Switch.css.d.ts +1 -1
  927. package/dist/generated/themes/Switch.css.js +1 -1
  928. package/dist/generated/themes/Switch.css.js.map +1 -1
  929. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  930. package/dist/generated/themes/TabContainer.css.js +1 -1
  931. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  932. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  933. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  934. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  935. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  936. package/dist/generated/themes/TabInStrip.css.js +1 -1
  937. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  938. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  939. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  940. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  941. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  942. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  943. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  944. package/dist/generated/themes/Table.css.d.ts +1 -1
  945. package/dist/generated/themes/Table.css.js +1 -1
  946. package/dist/generated/themes/Table.css.js.map +1 -1
  947. package/dist/generated/themes/TableCell.css.d.ts +1 -1
  948. package/dist/generated/themes/TableCell.css.js +1 -1
  949. package/dist/generated/themes/TableCell.css.js.map +1 -1
  950. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  951. package/dist/generated/themes/TableCellBase.css.js +1 -1
  952. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  953. package/dist/generated/themes/TableGrowing.css.d.ts +1 -1
  954. package/dist/generated/themes/TableGrowing.css.js +1 -1
  955. package/dist/generated/themes/TableGrowing.css.js.map +1 -1
  956. package/dist/generated/themes/TableHeaderCell.css.d.ts +1 -1
  957. package/dist/generated/themes/TableHeaderCell.css.js +1 -1
  958. package/dist/generated/themes/TableHeaderCell.css.js.map +1 -1
  959. package/dist/generated/themes/TableHeaderCellActionBase.css.d.ts +2 -0
  960. package/dist/generated/themes/TableHeaderCellActionBase.css.js +8 -0
  961. package/dist/generated/themes/TableHeaderCellActionBase.css.js.map +1 -0
  962. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  963. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  964. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  965. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  966. package/dist/generated/themes/TableRow.css.js +1 -1
  967. package/dist/generated/themes/TableRow.css.js.map +1 -1
  968. package/dist/generated/themes/TableRowActionBase.css.d.ts +2 -0
  969. package/dist/generated/themes/TableRowActionBase.css.js +8 -0
  970. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -0
  971. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  972. package/dist/generated/themes/TableRowBase.css.js +1 -1
  973. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  974. package/dist/generated/themes/Tag.css.d.ts +1 -1
  975. package/dist/generated/themes/Tag.css.js +1 -1
  976. package/dist/generated/themes/Tag.css.js.map +1 -1
  977. package/dist/generated/themes/Text.css.d.ts +1 -1
  978. package/dist/generated/themes/Text.css.js +1 -1
  979. package/dist/generated/themes/Text.css.js.map +1 -1
  980. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  981. package/dist/generated/themes/TextArea.css.js +1 -1
  982. package/dist/generated/themes/TextArea.css.js.map +1 -1
  983. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  984. package/dist/generated/themes/TimePicker.css.js +1 -1
  985. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  986. package/dist/generated/themes/TimePickerClock.css.d.ts +1 -1
  987. package/dist/generated/themes/TimePickerClock.css.js +1 -1
  988. package/dist/generated/themes/TimePickerClock.css.js.map +1 -1
  989. package/dist/generated/themes/TimePickerPopover.css.d.ts +1 -1
  990. package/dist/generated/themes/TimePickerPopover.css.js +1 -1
  991. package/dist/generated/themes/TimePickerPopover.css.js.map +1 -1
  992. package/dist/generated/themes/Toast.css.d.ts +1 -1
  993. package/dist/generated/themes/Toast.css.js +1 -1
  994. package/dist/generated/themes/Toast.css.js.map +1 -1
  995. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  996. package/dist/generated/themes/ToggleButton.css.js +1 -1
  997. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  998. package/dist/generated/themes/Token.css.d.ts +1 -1
  999. package/dist/generated/themes/Token.css.js +1 -1
  1000. package/dist/generated/themes/Token.css.js.map +1 -1
  1001. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  1002. package/dist/generated/themes/Tokenizer.css.js +1 -1
  1003. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  1004. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  1005. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  1006. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  1007. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  1008. package/dist/generated/themes/Toolbar.css.js +1 -1
  1009. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  1010. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  1011. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  1012. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  1013. package/dist/generated/themes/ToolbarSelect.css.d.ts +2 -0
  1014. package/dist/generated/themes/{MyDemo.css.js → ToolbarSelect.css.js} +3 -2
  1015. package/dist/generated/themes/ToolbarSelect.css.js.map +1 -0
  1016. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  1017. package/dist/generated/themes/TreeItem.css.js +1 -1
  1018. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  1019. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  1020. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  1021. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  1022. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  1023. package/dist/generated/themes/YearPicker.css.js +1 -1
  1024. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  1025. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  1026. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  1027. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  1028. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  1029. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  1030. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  1031. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  1032. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  1033. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  1034. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  1035. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  1036. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  1037. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  1038. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  1039. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  1040. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  1041. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  1042. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  1043. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  1044. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  1045. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  1046. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  1047. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  1048. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  1049. package/dist/popup-utils/PopoverRegistry.js +2 -2
  1050. package/dist/popup-utils/PopoverRegistry.js.map +1 -1
  1051. package/dist/types/AvatarColorScheme.d.ts +5 -0
  1052. package/dist/types/AvatarColorScheme.js +5 -0
  1053. package/dist/types/AvatarColorScheme.js.map +1 -1
  1054. package/dist/types/BarAccessibleRole.d.ts +18 -0
  1055. package/dist/types/BarAccessibleRole.js +20 -0
  1056. package/dist/types/BarAccessibleRole.js.map +1 -0
  1057. package/dist/types/ButtonBadgeDesign.d.ts +25 -0
  1058. package/dist/types/ButtonBadgeDesign.js +27 -0
  1059. package/dist/types/ButtonBadgeDesign.js.map +1 -0
  1060. package/dist/types/ExpandableTextTemplateParams.d.ts +13 -0
  1061. package/dist/types/ExpandableTextTemplateParams.js +2 -0
  1062. package/dist/types/ExpandableTextTemplateParams.js.map +1 -0
  1063. package/dist/types/InputKeyHint.d.ts +16 -0
  1064. package/dist/types/InputKeyHint.js +18 -0
  1065. package/dist/types/InputKeyHint.js.map +1 -0
  1066. package/dist/types/InteractiveAreaSize.d.ts +19 -0
  1067. package/dist/types/InteractiveAreaSize.js +21 -0
  1068. package/dist/types/InteractiveAreaSize.js.map +1 -0
  1069. package/dist/types/ListItemAccessibleRole.d.ts +5 -0
  1070. package/dist/types/ListItemAccessibleRole.js +5 -0
  1071. package/dist/types/ListItemAccessibleRole.js.map +1 -1
  1072. package/dist/types/TableCellHorizontalAlign.d.ts +1 -0
  1073. package/dist/types/TableCellHorizontalAlign.js +1 -0
  1074. package/dist/types/TableCellHorizontalAlign.js.map +1 -1
  1075. package/dist/types/TableGrowingMode.d.ts +3 -0
  1076. package/dist/types/TableGrowingMode.js +3 -0
  1077. package/dist/types/TableGrowingMode.js.map +1 -1
  1078. package/dist/types/TableOverflowMode.d.ts +1 -0
  1079. package/dist/types/TableOverflowMode.js +1 -0
  1080. package/dist/types/TableOverflowMode.js.map +1 -1
  1081. package/dist/types/TableSelectionMode.d.ts +2 -0
  1082. package/dist/types/TableSelectionMode.js +2 -0
  1083. package/dist/types/TableSelectionMode.js.map +1 -1
  1084. package/dist/vscode.html-custom-data.json +339 -105
  1085. package/dist/web-types.json +885 -208
  1086. package/package-scripts.cjs +4 -0
  1087. package/package.json +18 -11
  1088. package/src/AvatarGroupTemplate.tsx +1 -0
  1089. package/src/AvatarTemplate.tsx +1 -1
  1090. package/src/BarTemplate.tsx +2 -2
  1091. package/src/BreadcrumbsPopoverTemplate.tsx +6 -1
  1092. package/src/BusyIndicatorTemplate.tsx +1 -0
  1093. package/src/ButtonBadgeTemplate.tsx +6 -0
  1094. package/src/ButtonTemplate.tsx +8 -5
  1095. package/src/CalendarHeaderTemplate.tsx +12 -0
  1096. package/src/CardHeaderTemplate.tsx +1 -2
  1097. package/src/CarouselTemplate.tsx +3 -2
  1098. package/src/ColorPaletteItemTemplate.tsx +1 -0
  1099. package/src/ColorPaletteTemplate.tsx +2 -2
  1100. package/src/ColorPickerTemplate.tsx +37 -37
  1101. package/src/ComboBoxItemGroupTemplate.tsx +2 -2
  1102. package/src/DatePickerInputTemplate.tsx +5 -4
  1103. package/src/DatePickerPopoverTemplate.tsx +51 -0
  1104. package/src/DateTimePickerTemplate.tsx +48 -51
  1105. package/src/DayPickerTemplate.tsx +1 -0
  1106. package/src/DialogTemplate.tsx +1 -1
  1107. package/src/ExpandableTextTemplate.tsx +0 -1
  1108. package/src/FormTemplate.tsx +3 -2
  1109. package/src/InputPopoverTemplate.tsx +5 -2
  1110. package/src/InputTemplate.tsx +14 -4
  1111. package/src/ListBoxItemGroupTemplate.tsx +33 -0
  1112. package/src/ListItemGroupHeaderTemplate.tsx +5 -3
  1113. package/src/ListItemGroupTemplate.tsx +21 -19
  1114. package/src/ListItemStandardTemplate.tsx +55 -16
  1115. package/src/ListItemTemplate.tsx +2 -4
  1116. package/src/ListTemplate.tsx +2 -1
  1117. package/src/MenuItemTemplate.tsx +7 -19
  1118. package/src/MenuTemplate.tsx +2 -0
  1119. package/src/MessageStripTemplate.tsx +4 -3
  1120. package/src/MultiComboBoxItemGroupTemplate.tsx +2 -2
  1121. package/src/MultiComboBoxPopoverTemplate.tsx +150 -0
  1122. package/src/MultiComboBoxTemplate.tsx +121 -0
  1123. package/src/MultiInputTemplate.tsx +4 -0
  1124. package/src/RangeSliderTemplate.tsx +2 -2
  1125. package/src/ResponsivePopoverTemplate.tsx +1 -0
  1126. package/src/SelectPopoverTemplate.tsx +107 -0
  1127. package/src/SelectTemplate.tsx +78 -0
  1128. package/src/SliderBaseTemplate.tsx +2 -9
  1129. package/src/SliderTemplate.tsx +3 -2
  1130. package/src/SplitButtonTemplate.tsx +0 -1
  1131. package/src/SwitchTemplate.tsx +1 -7
  1132. package/src/TabContainerTemplate.tsx +1 -0
  1133. package/src/TableCellTemplate.tsx +15 -0
  1134. package/src/TableGrowingTemplate.tsx +23 -0
  1135. package/src/TableHeaderCellActionBaseTemplate.tsx +14 -0
  1136. package/src/TableHeaderCellTemplate.tsx +26 -0
  1137. package/src/TableHeaderRowTemplate.tsx +44 -0
  1138. package/src/TableRowActionBaseTemplate.tsx +30 -0
  1139. package/src/TableRowTemplate.tsx +77 -0
  1140. package/src/TableTemplate.tsx +77 -0
  1141. package/src/TagTemplate.tsx +2 -1
  1142. package/src/TimePickerClockTemplate.tsx +35 -36
  1143. package/src/TimePickerPopoverTemplate.tsx +54 -1
  1144. package/src/TimePickerTemplate.tsx +7 -5
  1145. package/src/TimeSelectionClocksTemplate.tsx +2 -1
  1146. package/src/ToastTemplate.tsx +6 -4
  1147. package/src/TokenTemplate.tsx +1 -0
  1148. package/src/TokenizerPopoverTemplate.tsx +0 -1
  1149. package/src/ToolbarButtonTemplate.tsx +1 -0
  1150. package/src/ToolbarPopoverButtonTemplate.tsx +1 -0
  1151. package/src/ToolbarPopoverSelectTemplate.tsx +4 -0
  1152. package/src/ToolbarPopoverTemplate.tsx +1 -0
  1153. package/src/ToolbarSelectTemplate.tsx +4 -0
  1154. package/src/ToolbarTemplate.tsx +1 -0
  1155. package/src/TreeItemBaseTemplate.tsx +7 -1
  1156. package/src/TreeItemTemplate.tsx +1 -1
  1157. package/src/YearPickerTemplate.tsx +1 -1
  1158. package/src/features/ColorPaletteMoreColorsTemplate.tsx +2 -2
  1159. package/src/features/InputSuggestionsTemplate.tsx +12 -6
  1160. package/src/features/ListItemStandardExpandableTextTemplate.tsx +31 -0
  1161. package/src/i18n/messagebundle.properties +57 -10
  1162. package/src/i18n/messagebundle_ar.properties +32 -8
  1163. package/src/i18n/messagebundle_bg.properties +33 -9
  1164. package/src/i18n/messagebundle_ca.properties +32 -8
  1165. package/src/i18n/messagebundle_cnr.properties +32 -8
  1166. package/src/i18n/messagebundle_cs.properties +26 -2
  1167. package/src/i18n/messagebundle_cy.properties +32 -8
  1168. package/src/i18n/messagebundle_da.properties +32 -8
  1169. package/src/i18n/messagebundle_de.properties +33 -9
  1170. package/src/i18n/messagebundle_el.properties +32 -8
  1171. package/src/i18n/messagebundle_en.properties +246 -3
  1172. package/src/i18n/messagebundle_en_GB.properties +27 -3
  1173. package/src/i18n/messagebundle_en_US_sappsd.properties +27 -3
  1174. package/src/i18n/messagebundle_en_US_saprigi.properties +29 -3
  1175. package/src/i18n/messagebundle_en_US_saptrc.properties +27 -3
  1176. package/src/i18n/messagebundle_es.properties +33 -9
  1177. package/src/i18n/messagebundle_es_MX.properties +32 -8
  1178. package/src/i18n/messagebundle_et.properties +32 -8
  1179. package/src/i18n/messagebundle_fi.properties +32 -8
  1180. package/src/i18n/messagebundle_fr.properties +37 -13
  1181. package/src/i18n/messagebundle_fr_CA.properties +36 -12
  1182. package/src/i18n/messagebundle_hi.properties +32 -8
  1183. package/src/i18n/messagebundle_hr.properties +38 -14
  1184. package/src/i18n/messagebundle_hu.properties +33 -9
  1185. package/src/i18n/messagebundle_id.properties +32 -8
  1186. package/src/i18n/messagebundle_it.properties +48 -24
  1187. package/src/i18n/messagebundle_iw.properties +32 -8
  1188. package/src/i18n/messagebundle_ja.properties +32 -8
  1189. package/src/i18n/messagebundle_kk.properties +27 -3
  1190. package/src/i18n/messagebundle_ko.properties +33 -9
  1191. package/src/i18n/messagebundle_lt.properties +32 -8
  1192. package/src/i18n/messagebundle_lv.properties +45 -21
  1193. package/src/i18n/messagebundle_mk.properties +32 -8
  1194. package/src/i18n/messagebundle_ms.properties +34 -10
  1195. package/src/i18n/messagebundle_nl.properties +32 -8
  1196. package/src/i18n/messagebundle_no.properties +32 -8
  1197. package/src/i18n/messagebundle_pl.properties +32 -8
  1198. package/src/i18n/messagebundle_pt.properties +33 -9
  1199. package/src/i18n/messagebundle_pt_PT.properties +32 -8
  1200. package/src/i18n/messagebundle_ro.properties +34 -10
  1201. package/src/i18n/messagebundle_ru.properties +34 -10
  1202. package/src/i18n/messagebundle_sh.properties +32 -8
  1203. package/src/i18n/messagebundle_sk.properties +33 -9
  1204. package/src/i18n/messagebundle_sl.properties +34 -10
  1205. package/src/i18n/messagebundle_sr.properties +32 -8
  1206. package/src/i18n/messagebundle_sv.properties +33 -9
  1207. package/src/i18n/messagebundle_th.properties +33 -9
  1208. package/src/i18n/messagebundle_tr.properties +31 -7
  1209. package/src/i18n/messagebundle_uk.properties +30 -6
  1210. package/src/i18n/messagebundle_vi.properties +34 -10
  1211. package/src/i18n/messagebundle_zh_CN.properties +32 -8
  1212. package/src/i18n/messagebundle_zh_TW.properties +32 -8
  1213. package/src/themes/Avatar.css +57 -3
  1214. package/src/themes/Bar.css +22 -29
  1215. package/src/themes/Breadcrumbs.css +1 -1
  1216. package/src/themes/BusyIndicator.css +2 -2
  1217. package/src/themes/Button.css +39 -1
  1218. package/src/themes/ButtonBadge.css +17 -0
  1219. package/src/themes/CalendarHeader.css +10 -0
  1220. package/src/themes/CalendarLegendItem.css +14 -1
  1221. package/src/themes/CheckBox.css +14 -1
  1222. package/src/themes/ColorPaletteItem.css +3 -3
  1223. package/src/themes/ColorPicker.css +51 -46
  1224. package/src/themes/ComboBoxPopover.css +1 -2
  1225. package/src/themes/DatePicker.css +4 -0
  1226. package/src/themes/DatePickerPopover.css +7 -0
  1227. package/src/themes/DateTimePickerPopover.css +9 -0
  1228. package/src/themes/DayPicker.css +2 -1
  1229. package/src/themes/FormItem.css +4 -5
  1230. package/src/themes/Icon.css +1 -1
  1231. package/src/themes/Input.css +8 -3
  1232. package/src/themes/Label.css +1 -1
  1233. package/src/themes/Link.css +9 -0
  1234. package/src/themes/List.css +4 -3
  1235. package/src/themes/ListItem.css +85 -13
  1236. package/src/themes/ListItemBase.css +6 -6
  1237. package/src/themes/Menu.css +7 -0
  1238. package/src/themes/MenuItem.css +5 -1
  1239. package/src/themes/MessageStrip.css +3 -3
  1240. package/src/themes/OptionBase.css +1 -0
  1241. package/src/themes/PopupsCommon.css +7 -4
  1242. package/src/themes/SegmentedButton.css +1 -1
  1243. package/src/themes/Select.css +14 -0
  1244. package/src/themes/SplitButton.css +8 -8
  1245. package/src/themes/Switch.css +1 -10
  1246. package/src/themes/TabContainer.css +4 -0
  1247. package/src/themes/TabInOverflow.css +6 -6
  1248. package/src/themes/TabInStrip.css +48 -28
  1249. package/src/themes/TabSemanticIcon.css +3 -3
  1250. package/src/themes/Table.css +3 -3
  1251. package/src/themes/TableCell.css +6 -1
  1252. package/src/themes/TableCellBase.css +2 -2
  1253. package/src/themes/TableGrowing.css +9 -6
  1254. package/src/themes/TableHeaderCell.css +20 -3
  1255. package/src/themes/TableHeaderCellActionBase.css +23 -0
  1256. package/src/themes/TableHeaderRow.css +2 -0
  1257. package/src/themes/TableRow.css +99 -73
  1258. package/src/themes/TableRowActionBase.css +14 -0
  1259. package/src/themes/TableRowBase.css +26 -8
  1260. package/src/themes/Tag.css +1 -6
  1261. package/src/themes/Text.css +9 -5
  1262. package/src/themes/TextArea.css +10 -24
  1263. package/src/themes/TimePicker.css +4 -0
  1264. package/src/themes/TimePickerClock.css +180 -9
  1265. package/src/themes/TimePickerPopover.css +5 -0
  1266. package/src/themes/Toast.css +1 -1
  1267. package/src/themes/Token.css +10 -10
  1268. package/src/themes/Toolbar.css +13 -1
  1269. package/src/themes/ToolbarSelect.css +8 -0
  1270. package/src/themes/TreeItem.css +9 -0
  1271. package/src/themes/base/Avatar-parameters.css +1 -4
  1272. package/src/themes/base/Bar-parameters.css +2 -6
  1273. package/src/themes/base/BusyIndicator-parameters.css +1 -2
  1274. package/src/themes/base/Button-parameters.css +1 -9
  1275. package/src/themes/base/ButtonBadge-parameters.css +3 -0
  1276. package/src/themes/base/CalendarHeader-parameters.css +0 -1
  1277. package/src/themes/base/CalendarLegendItem-parameters.css +1 -1
  1278. package/src/themes/base/CheckBox-parameters.css +0 -7
  1279. package/src/themes/base/ColorPalette-parameters.css +0 -5
  1280. package/src/themes/base/ColorPicker-parameters.css +4 -5
  1281. package/src/themes/base/DatePicker-parameters.css +0 -3
  1282. package/src/themes/base/DayPicker-parameters.css +0 -18
  1283. package/src/themes/base/Input-parameters.css +1 -5
  1284. package/src/themes/base/InputIcon-parameters.css +2 -2
  1285. package/src/themes/base/Link-parameters.css +1 -1
  1286. package/src/themes/base/ListItemBase-parameters.css +0 -2
  1287. package/src/themes/base/Menu-parameters.css +0 -1
  1288. package/src/themes/base/MessageStrip-parameters.css +4 -15
  1289. package/src/themes/base/Panel-parameters.css +0 -1
  1290. package/src/themes/base/ProgressIndicator-parameters.css +0 -1
  1291. package/src/themes/base/RadioButton-parameters.css +0 -1
  1292. package/src/themes/base/SegmentedButtton-parameters.css +0 -4
  1293. package/src/themes/base/Select-parameters.css +0 -5
  1294. package/src/themes/base/SliderBase-parameters.css +0 -1
  1295. package/src/themes/base/SplitButton-parameters.css +1 -16
  1296. package/src/themes/base/Switch-parameters.css +0 -3
  1297. package/src/themes/base/TabContainer-parameters.css +4 -27
  1298. package/src/themes/base/Table-parameters.css +4 -9
  1299. package/src/themes/base/Tag-parameters.css +0 -3
  1300. package/src/themes/base/TextArea-parameters.css +0 -2
  1301. package/src/themes/base/TimePicker-parameters.css +0 -1
  1302. package/src/themes/base/TimelineItem-parameters.css +0 -5
  1303. package/src/themes/base/Toast-parameters.css +2 -2
  1304. package/src/themes/base/ToggleButton-parameters.css +0 -6
  1305. package/src/themes/base/Token-parameters.css +0 -5
  1306. package/src/themes/base/Toolbar-parameters.css +2 -1
  1307. package/src/themes/base/YearPicker-parameters.css +0 -1
  1308. package/src/themes/base/rtl-parameters.css +0 -4
  1309. package/src/themes/base/sizes-parameters.css +35 -39
  1310. package/src/themes/sap_fiori_3/Button-parameters.css +0 -4
  1311. package/src/themes/sap_fiori_3/DayPicker-parameters.css +0 -1
  1312. package/src/themes/sap_fiori_3/Input-parameters.css +1 -0
  1313. package/src/themes/sap_fiori_3/MessageStrip-parameters.css +2 -3
  1314. package/src/themes/sap_fiori_3/TabContainer-parameters.css +0 -3
  1315. package/src/themes/sap_fiori_3/parameters-bundle.css +2 -2
  1316. package/src/themes/sap_fiori_3/sizes-parameters.css +6 -0
  1317. package/src/themes/sap_fiori_3_dark/Button-parameters.css +0 -4
  1318. package/src/themes/sap_fiori_3_dark/Input-parameters.css +1 -0
  1319. package/src/themes/sap_fiori_3_dark/MessageStrip-parameters.css +2 -4
  1320. package/src/themes/sap_fiori_3_dark/TabContainer-parameters.css +0 -3
  1321. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  1322. package/src/themes/sap_fiori_3_dark/sizes-parameters.css +6 -0
  1323. package/src/themes/sap_fiori_3_hcb/Button-parameters.css +0 -2
  1324. package/src/themes/sap_fiori_3_hcb/ColorPicker-parameters.css +5 -1
  1325. package/src/themes/sap_fiori_3_hcb/DayPicker-parameters.css +0 -1
  1326. package/src/themes/sap_fiori_3_hcb/Input-parameters.css +1 -2
  1327. package/src/themes/sap_fiori_3_hcb/MessageStrip-parameters.css +3 -6
  1328. package/src/themes/sap_fiori_3_hcb/Select-parameters.css +0 -5
  1329. package/src/themes/sap_fiori_3_hcb/SliderBase-parameters.css +0 -1
  1330. package/src/themes/sap_fiori_3_hcb/SplitButton-parameters.css +4 -10
  1331. package/src/themes/sap_fiori_3_hcb/TabContainer-parameters.css +2 -21
  1332. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +4 -5
  1333. package/src/themes/sap_fiori_3_hcb/sizes-parameters.css +5 -2
  1334. package/src/themes/sap_fiori_3_hcw/Button-parameters.css +0 -2
  1335. package/src/themes/sap_fiori_3_hcw/ColorPicker-parameters.css +5 -1
  1336. package/src/themes/sap_fiori_3_hcw/DayPicker-parameters.css +0 -1
  1337. package/src/themes/sap_fiori_3_hcw/Input-parameters.css +1 -2
  1338. package/src/themes/sap_fiori_3_hcw/MessageStrip-parameters.css +3 -6
  1339. package/src/themes/sap_fiori_3_hcw/Select-parameters.css +0 -5
  1340. package/src/themes/sap_fiori_3_hcw/SliderBase-parameters.css +0 -1
  1341. package/src/themes/sap_fiori_3_hcw/SplitButton-parameters.css +3 -9
  1342. package/src/themes/sap_fiori_3_hcw/TabContainer-parameters.css +2 -21
  1343. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +5 -5
  1344. package/src/themes/sap_fiori_3_hcw/sizes-parameters.css +5 -2
  1345. package/src/themes/sap_horizon/Avatar-parameters.css +2 -2
  1346. package/src/themes/sap_horizon/Button-parameters.css +1 -3
  1347. package/src/themes/sap_horizon/CalendarHeader-parameters.css +0 -1
  1348. package/src/themes/sap_horizon/CalendarLegendItem-parameters.css +1 -0
  1349. package/src/themes/sap_horizon/ColorPalette-parameters.css +0 -5
  1350. package/src/themes/sap_horizon/ColorPicker-parameters.css +0 -4
  1351. package/src/themes/sap_horizon/DatePicker-parameters.css +0 -1
  1352. package/src/themes/sap_horizon/DayPicker-parameters.css +0 -5
  1353. package/src/themes/sap_horizon/InputIcon-parameters.css +1 -1
  1354. package/src/themes/sap_horizon/Link-parameters.css +1 -0
  1355. package/src/themes/sap_horizon/Panel-parameters.css +0 -1
  1356. package/src/themes/sap_horizon/ProgressIndicatorLayout-parameters.css +0 -1
  1357. package/src/themes/sap_horizon/RadioButton-parameters.css +5 -1
  1358. package/src/themes/sap_horizon/SegmentedButtton-parameters.css +0 -4
  1359. package/src/themes/sap_horizon/SplitButton-parameters.css +1 -6
  1360. package/src/themes/sap_horizon/Switch-parameters.css +7 -9
  1361. package/src/themes/sap_horizon/TabContainer-parameters.css +4 -10
  1362. package/src/themes/sap_horizon/Tag-parameters.css +32 -2
  1363. package/src/themes/sap_horizon/TimePicker-parameters.css +0 -1
  1364. package/src/themes/sap_horizon/Token-parameters.css +0 -5
  1365. package/src/themes/sap_horizon/parameters-bundle.css +3 -4
  1366. package/src/themes/sap_horizon/sizes-parameters.css +0 -4
  1367. package/src/themes/sap_horizon_dark/Avatar-parameters.css +1 -1
  1368. package/src/themes/sap_horizon_dark/Button-parameters.css +1 -3
  1369. package/src/themes/sap_horizon_dark/CalendarHeader-parameters.css +0 -1
  1370. package/src/themes/sap_horizon_dark/CalendarLegendItem-parameters.css +1 -0
  1371. package/src/themes/sap_horizon_dark/ColorPalette-parameters.css +0 -5
  1372. package/src/themes/sap_horizon_dark/ColorPicker-parameters.css +0 -4
  1373. package/src/themes/sap_horizon_dark/DatePicker-parameters.css +0 -1
  1374. package/src/themes/sap_horizon_dark/DayPicker-parameters.css +0 -5
  1375. package/src/themes/sap_horizon_dark/InputIcon-parameters.css +1 -1
  1376. package/src/themes/sap_horizon_dark/Link-parameters.css +1 -0
  1377. package/src/themes/sap_horizon_dark/MessageStrip-parameters.css +2 -4
  1378. package/src/themes/sap_horizon_dark/Panel-parameters.css +0 -1
  1379. package/src/themes/sap_horizon_dark/RadioButton-parameters.css +5 -1
  1380. package/src/themes/sap_horizon_dark/SegmentedButtton-parameters.css +0 -4
  1381. package/src/themes/sap_horizon_dark/SplitButton-parameters.css +0 -5
  1382. package/src/themes/sap_horizon_dark/Switch-parameters.css +7 -9
  1383. package/src/themes/sap_horizon_dark/TabContainer-parameters.css +4 -10
  1384. package/src/themes/sap_horizon_dark/Tag-parameters.css +32 -2
  1385. package/src/themes/sap_horizon_dark/TimePicker-parameters.css +0 -1
  1386. package/src/themes/sap_horizon_dark/Token-parameters.css +0 -5
  1387. package/src/themes/sap_horizon_dark/parameters-bundle.css +4 -4
  1388. package/src/themes/sap_horizon_dark/sizes-parameters.css +0 -4
  1389. package/src/themes/sap_horizon_hcb/Avatar-parameters.css +2 -2
  1390. package/src/themes/sap_horizon_hcb/BusyIndicator-parameters.css +0 -1
  1391. package/src/themes/sap_horizon_hcb/CalendarHeader-parameters.css +0 -1
  1392. package/src/themes/sap_horizon_hcb/ColorPicker-parameters.css +3 -4
  1393. package/src/themes/sap_horizon_hcb/DayPicker-parameters.css +0 -5
  1394. package/src/themes/sap_horizon_hcb/Input-parameters.css +1 -2
  1395. package/src/themes/sap_horizon_hcb/Link-parameters.css +1 -0
  1396. package/src/themes/sap_horizon_hcb/MessageStrip-parameters.css +3 -6
  1397. package/src/themes/sap_horizon_hcb/Panel-parameters.css +0 -1
  1398. package/src/themes/sap_horizon_hcb/RadioButton-parameters.css +5 -5
  1399. package/src/themes/sap_horizon_hcb/SegmentedButtton-parameters.css +0 -7
  1400. package/src/themes/sap_horizon_hcb/Select-parameters.css +0 -5
  1401. package/src/themes/sap_horizon_hcb/SplitButton-parameters.css +4 -10
  1402. package/src/themes/sap_horizon_hcb/Switch-parameters.css +7 -30
  1403. package/src/themes/sap_horizon_hcb/TabContainer-parameters.css +6 -24
  1404. package/src/themes/sap_horizon_hcb/Tag-parameters.css +20 -22
  1405. package/src/themes/sap_horizon_hcb/parameters-bundle.css +4 -4
  1406. package/src/themes/sap_horizon_hcb/sizes-parameters.css +2 -3
  1407. package/src/themes/sap_horizon_hcw/Avatar-parameters.css +2 -2
  1408. package/src/themes/sap_horizon_hcw/BusyIndicator-parameters.css +0 -1
  1409. package/src/themes/sap_horizon_hcw/CalendarHeader-parameters.css +0 -1
  1410. package/src/themes/sap_horizon_hcw/ColorPicker-parameters.css +3 -4
  1411. package/src/themes/sap_horizon_hcw/DayPicker-parameters.css +0 -5
  1412. package/src/themes/sap_horizon_hcw/Input-parameters.css +1 -2
  1413. package/src/themes/sap_horizon_hcw/Link-parameters.css +1 -0
  1414. package/src/themes/sap_horizon_hcw/MessageStrip-parameters.css +3 -6
  1415. package/src/themes/sap_horizon_hcw/Panel-parameters.css +0 -1
  1416. package/src/themes/sap_horizon_hcw/RadioButton-parameters.css +5 -5
  1417. package/src/themes/sap_horizon_hcw/SegmentedButtton-parameters.css +0 -7
  1418. package/src/themes/sap_horizon_hcw/Select-parameters.css +0 -5
  1419. package/src/themes/sap_horizon_hcw/SplitButton-parameters.css +4 -10
  1420. package/src/themes/sap_horizon_hcw/Switch-parameters.css +7 -9
  1421. package/src/themes/sap_horizon_hcw/TabContainer-parameters.css +6 -24
  1422. package/src/themes/sap_horizon_hcw/Tag-parameters.css +20 -23
  1423. package/src/themes/sap_horizon_hcw/parameters-bundle.css +4 -4
  1424. package/src/themes/sap_horizon_hcw/sizes-parameters.css +2 -3
  1425. package/vitest.config.js +9 -0
  1426. package/cypress/specs/ColorPalette.cy.ts +0 -47
  1427. package/cypress/specs/ColorPicker.cy.ts +0 -27
  1428. package/cypress/specs/ComboBox.cy.ts +0 -22
  1429. package/cypress/specs/F6.cy.ts +0 -793
  1430. package/cypress/specs/Form.cy.ts +0 -856
  1431. package/cypress/specs/FormSupport.cy.ts +0 -960
  1432. package/cypress/specs/Input.cy.ts +0 -131
  1433. package/cypress/specs/Link.cy.ts +0 -16
  1434. package/cypress/specs/List.cy.ts +0 -155
  1435. package/cypress/specs/MessageStrip.cy.ts +0 -91
  1436. package/cypress/specs/MultiComboBox.cy.ts +0 -22
  1437. package/cypress/specs/MultiInput.cy.ts +0 -47
  1438. package/cypress/specs/Popover.cy.ts +0 -62
  1439. package/cypress/specs/RTL.cy.ts +0 -17
  1440. package/cypress/specs/RatingIndicator.cy.ts +0 -66
  1441. package/cypress/specs/Select.cy.ts +0 -39
  1442. package/cypress/specs/Table.cy.ts +0 -606
  1443. package/cypress/specs/TableGrowing.cy.ts +0 -280
  1444. package/cypress/specs/TableLoading.cy.ts +0 -44
  1445. package/cypress/specs/TableUtils.cy.ts +0 -26
  1446. package/cypress/specs/Tokenizer.cy.ts +0 -114
  1447. package/cypress/specs/Toolbar.cy.ts +0 -99
  1448. package/cypress/specs/Tree.cy.ts +0 -29
  1449. package/cypress/specs/base/Tooltips.cy.ts +0 -55
  1450. package/dist/MyDemo.d.ts +0 -34
  1451. package/dist/MyDemo.js +0 -59
  1452. package/dist/MyDemo.js.map +0 -1
  1453. package/dist/MyDemoTemplate.d.ts +0 -2
  1454. package/dist/MyDemoTemplate.js +0 -5
  1455. package/dist/MyDemoTemplate.js.map +0 -1
  1456. package/dist/NavigationMenu.d.ts +0 -34
  1457. package/dist/NavigationMenu.js +0 -64
  1458. package/dist/NavigationMenu.js.map +0 -1
  1459. package/dist/NavigationMenuItem.d.ts +0 -76
  1460. package/dist/NavigationMenuItem.js +0 -76
  1461. package/dist/NavigationMenuItem.js.map +0 -1
  1462. package/dist/NavigationMenuItemTemplate.d.ts +0 -3
  1463. package/dist/NavigationMenuItemTemplate.js +0 -44
  1464. package/dist/NavigationMenuItemTemplate.js.map +0 -1
  1465. package/dist/NavigationMenuTemplate.d.ts +0 -2
  1466. package/dist/NavigationMenuTemplate.js +0 -15
  1467. package/dist/NavigationMenuTemplate.js.map +0 -1
  1468. package/dist/SuggestionItemGroupTemplate.d.ts +0 -2
  1469. package/dist/SuggestionItemGroupTemplate.js +0 -5
  1470. package/dist/SuggestionItemGroupTemplate.js.map +0 -1
  1471. package/dist/css/themes/BrowserScrollbar.css +0 -1
  1472. package/dist/css/themes/MyDemo.css +0 -0
  1473. package/dist/css/themes/NavigationMenu.css +0 -1
  1474. package/dist/css/themes/NavigationMenuItem.css +0 -1
  1475. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +0 -1
  1476. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +0 -1
  1477. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +0 -1
  1478. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +0 -1
  1479. package/dist/generated/assets/i18n/messagebundle_in.json +0 -1
  1480. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +0 -1
  1481. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +0 -1
  1482. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +0 -1
  1483. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +0 -1
  1484. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.d.ts +0 -3
  1485. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +0 -29
  1486. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +0 -1
  1487. package/dist/generated/templates/MultiComboBoxTemplate.lit.d.ts +0 -3
  1488. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +0 -39
  1489. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +0 -1
  1490. package/dist/generated/templates/SelectPopoverTemplate.lit.d.ts +0 -3
  1491. package/dist/generated/templates/SelectPopoverTemplate.lit.js +0 -19
  1492. package/dist/generated/templates/SelectPopoverTemplate.lit.js.map +0 -1
  1493. package/dist/generated/templates/SelectTemplate.lit.d.ts +0 -3
  1494. package/dist/generated/templates/SelectTemplate.lit.js +0 -24
  1495. package/dist/generated/templates/SelectTemplate.lit.js.map +0 -1
  1496. package/dist/generated/templates/TableCellTemplate.lit.d.ts +0 -3
  1497. package/dist/generated/templates/TableCellTemplate.lit.js +0 -10
  1498. package/dist/generated/templates/TableCellTemplate.lit.js.map +0 -1
  1499. package/dist/generated/templates/TableGrowingTemplate.lit.d.ts +0 -3
  1500. package/dist/generated/templates/TableGrowingTemplate.lit.js +0 -9
  1501. package/dist/generated/templates/TableGrowingTemplate.lit.js.map +0 -1
  1502. package/dist/generated/templates/TableHeaderCellTemplate.lit.d.ts +0 -3
  1503. package/dist/generated/templates/TableHeaderCellTemplate.lit.js +0 -7
  1504. package/dist/generated/templates/TableHeaderCellTemplate.lit.js.map +0 -1
  1505. package/dist/generated/templates/TableHeaderRowTemplate.lit.d.ts +0 -3
  1506. package/dist/generated/templates/TableHeaderRowTemplate.lit.js +0 -11
  1507. package/dist/generated/templates/TableHeaderRowTemplate.lit.js.map +0 -1
  1508. package/dist/generated/templates/TableRowTemplate.lit.d.ts +0 -3
  1509. package/dist/generated/templates/TableRowTemplate.lit.js +0 -14
  1510. package/dist/generated/templates/TableRowTemplate.lit.js.map +0 -1
  1511. package/dist/generated/templates/TableTemplate.lit.d.ts +0 -3
  1512. package/dist/generated/templates/TableTemplate.lit.js +0 -12
  1513. package/dist/generated/templates/TableTemplate.lit.js.map +0 -1
  1514. package/dist/generated/themes/BrowserScrollbar.css.d.ts +0 -2
  1515. package/dist/generated/themes/BrowserScrollbar.css.js +0 -8
  1516. package/dist/generated/themes/BrowserScrollbar.css.js.map +0 -1
  1517. package/dist/generated/themes/MyDemo.css.d.ts +0 -2
  1518. package/dist/generated/themes/MyDemo.css.js.map +0 -1
  1519. package/dist/generated/themes/NavigationMenu.css.d.ts +0 -2
  1520. package/dist/generated/themes/NavigationMenu.css.js +0 -8
  1521. package/dist/generated/themes/NavigationMenu.css.js.map +0 -1
  1522. package/dist/generated/themes/NavigationMenuItem.css.d.ts +0 -2
  1523. package/dist/generated/themes/NavigationMenuItem.css.js +0 -8
  1524. package/dist/generated/themes/NavigationMenuItem.css.js.map +0 -1
  1525. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.d.ts +0 -2
  1526. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +0 -3
  1527. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +0 -1
  1528. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.d.ts +0 -2
  1529. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +0 -3
  1530. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +0 -1
  1531. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.d.ts +0 -2
  1532. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +0 -3
  1533. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +0 -1
  1534. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.d.ts +0 -2
  1535. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +0 -3
  1536. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +0 -1
  1537. package/src/MultiComboBox.hbs +0 -106
  1538. package/src/MultiComboBoxPopover.hbs +0 -144
  1539. package/src/NavigationMenuItemTemplate.tsx +0 -144
  1540. package/src/NavigationMenuTemplate.tsx +0 -67
  1541. package/src/Select.hbs +0 -51
  1542. package/src/SelectPopover.hbs +0 -78
  1543. package/src/SuggestionItemGroupTemplate.tsx +0 -6
  1544. package/src/Table.hbs +0 -63
  1545. package/src/TableCell.hbs +0 -11
  1546. package/src/TableGrowing.hbs +0 -19
  1547. package/src/TableHeaderCell.hbs +0 -1
  1548. package/src/TableHeaderRow.hbs +0 -24
  1549. package/src/TableRow.hbs +0 -36
  1550. package/src/i18n/messagebundle_in.properties +0 -172
  1551. package/src/themes/BrowserScrollbar.css +0 -25
  1552. package/src/themes/NavigationMenu.css +0 -17
  1553. package/src/themes/NavigationMenuItem.css +0 -54
  1554. package/src/themes/base/MultiComboBox-parameters.css +0 -3
  1555. package/src/themes/base/SelectPopover-parameters.css +0 -4
  1556. package/src/themes/sap_fiori_3/MultiComboBox-parameters.css +0 -5
  1557. package/src/themes/sap_fiori_3/TimePicker-parameters.css +0 -5
  1558. package/src/themes/sap_fiori_3_dark/MultiComboBox-parameters.css +0 -5
  1559. package/src/themes/sap_fiori_3_hcb/BusyIndicator-parameters.css +0 -5
  1560. package/src/themes/sap_fiori_3_hcb/DatePicker-parameters.css +0 -5
  1561. package/src/themes/sap_fiori_3_hcb/TimePicker-parameters.css +0 -5
  1562. package/src/themes/sap_fiori_3_hcb/ToggleButton-parameters.css +0 -6
  1563. package/src/themes/sap_fiori_3_hcw/BusyIndicator-parameters.css +0 -5
  1564. package/src/themes/sap_fiori_3_hcw/DatePicker-parameters.css +0 -5
  1565. package/src/themes/sap_fiori_3_hcw/TimePicker-parameters.css +0 -5
  1566. package/src/themes/sap_fiori_3_hcw/ToggleButton-parameters.css +0 -6
  1567. package/src/themes/sap_horizon/ListItemBase-parameters.css +0 -5
  1568. package/src/themes/sap_horizon/MultiComboBox-parameters.css +0 -5
  1569. package/src/themes/sap_horizon/SelectPopover-parameters.css +0 -4
  1570. package/src/themes/sap_horizon/ToggleButton-parameters.css +0 -1
  1571. package/src/themes/sap_horizon_dark/ListItemBase-parameters.css +0 -5
  1572. package/src/themes/sap_horizon_dark/MultiComboBox-parameters.css +0 -5
  1573. package/src/themes/sap_horizon_dark/SelectPopover-parameters.css +0 -4
  1574. package/src/themes/sap_horizon_dark/ToggleButton-parameters.css +0 -1
  1575. package/src/themes/sap_horizon_dark_exp/Avatar-parameters.css +0 -54
  1576. package/src/themes/sap_horizon_dark_exp/Breadcrumbs-parameters.css +0 -3
  1577. package/src/themes/sap_horizon_dark_exp/Button-parameters.css +0 -17
  1578. package/src/themes/sap_horizon_dark_exp/CalendarHeader-parameters.css +0 -19
  1579. package/src/themes/sap_horizon_dark_exp/CalendarLegendItem-parameters.css +0 -6
  1580. package/src/themes/sap_horizon_dark_exp/Card-parameters.css +0 -15
  1581. package/src/themes/sap_horizon_dark_exp/Carousel-parameters.css +0 -5
  1582. package/src/themes/sap_horizon_dark_exp/CheckBox-parameters.css +0 -44
  1583. package/src/themes/sap_horizon_dark_exp/ColorPalette-parameters.css +0 -25
  1584. package/src/themes/sap_horizon_dark_exp/ColorPicker-parameters.css +0 -12
  1585. package/src/themes/sap_horizon_dark_exp/DatePicker-parameters.css +0 -6
  1586. package/src/themes/sap_horizon_dark_exp/DayPicker-parameters.css +0 -68
  1587. package/src/themes/sap_horizon_dark_exp/Dialog-parameters.css +0 -9
  1588. package/src/themes/sap_horizon_dark_exp/FileUploader-parameters.css +0 -5
  1589. package/src/themes/sap_horizon_dark_exp/GrowingButton-parameters.css +0 -6
  1590. package/src/themes/sap_horizon_dark_exp/Icon-parameters.css +0 -3
  1591. package/src/themes/sap_horizon_dark_exp/Input-parameters.css +0 -34
  1592. package/src/themes/sap_horizon_dark_exp/InputIcon-parameters.css +0 -24
  1593. package/src/themes/sap_horizon_dark_exp/Link-parameters.css +0 -15
  1594. package/src/themes/sap_horizon_dark_exp/List-parameters.css +0 -5
  1595. package/src/themes/sap_horizon_dark_exp/ListItemBase-parameters.css +0 -5
  1596. package/src/themes/sap_horizon_dark_exp/Menu-parameters.css +0 -5
  1597. package/src/themes/sap_horizon_dark_exp/MessageStrip-parameters.css +0 -5
  1598. package/src/themes/sap_horizon_dark_exp/MonthPicker-parameters.css +0 -16
  1599. package/src/themes/sap_horizon_dark_exp/MultiComboBox-parameters.css +0 -5
  1600. package/src/themes/sap_horizon_dark_exp/Panel-parameters.css +0 -14
  1601. package/src/themes/sap_horizon_dark_exp/PopupsCommon-parameters.css +0 -5
  1602. package/src/themes/sap_horizon_dark_exp/RadioButton-parameters.css +0 -23
  1603. package/src/themes/sap_horizon_dark_exp/RatingIndicator-parameters.css +0 -17
  1604. package/src/themes/sap_horizon_dark_exp/SegmentedButtton-parameters.css +0 -13
  1605. package/src/themes/sap_horizon_dark_exp/Select-parameters.css +0 -5
  1606. package/src/themes/sap_horizon_dark_exp/SelectPopover-parameters.css +0 -4
  1607. package/src/themes/sap_horizon_dark_exp/SliderBase-parameters.css +0 -72
  1608. package/src/themes/sap_horizon_dark_exp/SplitButton-parameters.css +0 -31
  1609. package/src/themes/sap_horizon_dark_exp/StepInput-parameters.css +0 -25
  1610. package/src/themes/sap_horizon_dark_exp/Switch-parameters.css +0 -148
  1611. package/src/themes/sap_horizon_dark_exp/TabContainer-parameters.css +0 -38
  1612. package/src/themes/sap_horizon_dark_exp/Tag-parameters.css +0 -1
  1613. package/src/themes/sap_horizon_dark_exp/TextArea-parameters.css +0 -45
  1614. package/src/themes/sap_horizon_dark_exp/TimePicker-parameters.css +0 -6
  1615. package/src/themes/sap_horizon_dark_exp/ToggleButton-parameters.css +0 -1
  1616. package/src/themes/sap_horizon_dark_exp/Token-parameters.css +0 -28
  1617. package/src/themes/sap_horizon_dark_exp/Tokenizer-parameters.css +0 -5
  1618. package/src/themes/sap_horizon_dark_exp/ValueStateMessage-parameters.css +0 -12
  1619. package/src/themes/sap_horizon_dark_exp/YearPicker-parameters.css +0 -15
  1620. package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +0 -57
  1621. package/src/themes/sap_horizon_dark_exp/rtl-parameters.css +0 -6
  1622. package/src/themes/sap_horizon_dark_exp/sizes-parameters.css +0 -52
  1623. package/src/themes/sap_horizon_exp/Avatar-parameters.css +0 -54
  1624. package/src/themes/sap_horizon_exp/AvatarGroup-parameters.css +0 -5
  1625. package/src/themes/sap_horizon_exp/Breadcrumbs-parameters.css +0 -3
  1626. package/src/themes/sap_horizon_exp/Button-parameters.css +0 -17
  1627. package/src/themes/sap_horizon_exp/CalendarHeader-parameters.css +0 -19
  1628. package/src/themes/sap_horizon_exp/Card-parameters.css +0 -15
  1629. package/src/themes/sap_horizon_exp/Carousel-parameters.css +0 -5
  1630. package/src/themes/sap_horizon_exp/CheckBox-parameters.css +0 -44
  1631. package/src/themes/sap_horizon_exp/ColorPalette-parameters.css +0 -25
  1632. package/src/themes/sap_horizon_exp/ColorPicker-parameters.css +0 -12
  1633. package/src/themes/sap_horizon_exp/DatePicker-parameters.css +0 -6
  1634. package/src/themes/sap_horizon_exp/DayPicker-parameters.css +0 -71
  1635. package/src/themes/sap_horizon_exp/Dialog-parameters.css +0 -9
  1636. package/src/themes/sap_horizon_exp/FileUploader-parameters.css +0 -5
  1637. package/src/themes/sap_horizon_exp/GrowingButton-parameters.css +0 -6
  1638. package/src/themes/sap_horizon_exp/Icon-parameters.css +0 -3
  1639. package/src/themes/sap_horizon_exp/Input-parameters.css +0 -34
  1640. package/src/themes/sap_horizon_exp/InputIcon-parameters.css +0 -24
  1641. package/src/themes/sap_horizon_exp/Link-parameters.css +0 -15
  1642. package/src/themes/sap_horizon_exp/List-parameters.css +0 -5
  1643. package/src/themes/sap_horizon_exp/ListItemBase-parameters.css +0 -5
  1644. package/src/themes/sap_horizon_exp/Menu-parameters.css +0 -5
  1645. package/src/themes/sap_horizon_exp/MessageStrip-parameters.css +0 -5
  1646. package/src/themes/sap_horizon_exp/MonthPicker-parameters.css +0 -16
  1647. package/src/themes/sap_horizon_exp/MultiComboBox-parameters.css +0 -5
  1648. package/src/themes/sap_horizon_exp/Panel-parameters.css +0 -14
  1649. package/src/themes/sap_horizon_exp/PopupsCommon-parameters.css +0 -5
  1650. package/src/themes/sap_horizon_exp/ProgressIndicator-parameters.css +0 -32
  1651. package/src/themes/sap_horizon_exp/ProgressIndicatorLayout-parameters.css +0 -40
  1652. package/src/themes/sap_horizon_exp/RadioButton-parameters.css +0 -23
  1653. package/src/themes/sap_horizon_exp/RatingIndicator-parameters.css +0 -17
  1654. package/src/themes/sap_horizon_exp/SegmentedButtton-parameters.css +0 -13
  1655. package/src/themes/sap_horizon_exp/Select-parameters.css +0 -5
  1656. package/src/themes/sap_horizon_exp/SelectPopover-parameters.css +0 -4
  1657. package/src/themes/sap_horizon_exp/SliderBase-parameters.css +0 -71
  1658. package/src/themes/sap_horizon_exp/SplitButton-parameters.css +0 -31
  1659. package/src/themes/sap_horizon_exp/StepInput-parameters.css +0 -25
  1660. package/src/themes/sap_horizon_exp/Switch-parameters.css +0 -150
  1661. package/src/themes/sap_horizon_exp/TabContainer-parameters.css +0 -38
  1662. package/src/themes/sap_horizon_exp/Tag-parameters.css +0 -1
  1663. package/src/themes/sap_horizon_exp/TextArea-parameters.css +0 -45
  1664. package/src/themes/sap_horizon_exp/TimePicker-parameters.css +0 -6
  1665. package/src/themes/sap_horizon_exp/ToggleButton-parameters.css +0 -1
  1666. package/src/themes/sap_horizon_exp/Token-parameters.css +0 -28
  1667. package/src/themes/sap_horizon_exp/Tokenizer-parameters.css +0 -5
  1668. package/src/themes/sap_horizon_exp/ValueStateMessage-parameters.css +0 -12
  1669. package/src/themes/sap_horizon_exp/YearPicker-parameters.css +0 -15
  1670. package/src/themes/sap_horizon_exp/parameters-bundle.css +0 -57
  1671. package/src/themes/sap_horizon_exp/rtl-parameters.css +0 -6
  1672. package/src/themes/sap_horizon_exp/sizes-parameters.css +0 -51
  1673. package/src/themes/sap_horizon_hcb/DatePicker-parameters.css +0 -5
  1674. package/src/themes/sap_horizon_hcb/TimePicker-parameters.css +0 -5
  1675. package/src/themes/sap_horizon_hcb/ToggleButton-parameters.css +0 -1
  1676. package/src/themes/sap_horizon_hcb_exp/Avatar-parameters.css +0 -54
  1677. package/src/themes/sap_horizon_hcb_exp/BusyIndicator-parameters.css +0 -5
  1678. package/src/themes/sap_horizon_hcb_exp/Button-parameters.css +0 -9
  1679. package/src/themes/sap_horizon_hcb_exp/CalendarHeader-parameters.css +0 -11
  1680. package/src/themes/sap_horizon_hcb_exp/Card-parameters.css +0 -11
  1681. package/src/themes/sap_horizon_hcb_exp/Carousel-parameters.css +0 -9
  1682. package/src/themes/sap_horizon_hcb_exp/CheckBox-parameters.css +0 -45
  1683. package/src/themes/sap_horizon_hcb_exp/ColorPicker-parameters.css +0 -10
  1684. package/src/themes/sap_horizon_hcb_exp/DatePicker-parameters.css +0 -5
  1685. package/src/themes/sap_horizon_hcb_exp/DayPicker-parameters.css +0 -70
  1686. package/src/themes/sap_horizon_hcb_exp/FileUploader-parameters.css +0 -6
  1687. package/src/themes/sap_horizon_hcb_exp/GrowingButton-parameters.css +0 -8
  1688. package/src/themes/sap_horizon_hcb_exp/Input-parameters.css +0 -32
  1689. package/src/themes/sap_horizon_hcb_exp/InputIcon-parameters.css +0 -11
  1690. package/src/themes/sap_horizon_hcb_exp/Link-parameters.css +0 -11
  1691. package/src/themes/sap_horizon_hcb_exp/ListItem-parameters.css +0 -3
  1692. package/src/themes/sap_horizon_hcb_exp/Menu-parameters.css +0 -5
  1693. package/src/themes/sap_horizon_hcb_exp/MessageStrip-parameters.css +0 -10
  1694. package/src/themes/sap_horizon_hcb_exp/MonthPicker-parameters.css +0 -12
  1695. package/src/themes/sap_horizon_hcb_exp/Panel-parameters.css +0 -10
  1696. package/src/themes/sap_horizon_hcb_exp/PopupsCommon-parameters.css +0 -5
  1697. package/src/themes/sap_horizon_hcb_exp/ProgressIndicator-parameters.css +0 -15
  1698. package/src/themes/sap_horizon_hcb_exp/RadioButton-parameters.css +0 -26
  1699. package/src/themes/sap_horizon_hcb_exp/RatingIndicator-parameters.css +0 -16
  1700. package/src/themes/sap_horizon_hcb_exp/SegmentedButtton-parameters.css +0 -8
  1701. package/src/themes/sap_horizon_hcb_exp/Select-parameters.css +0 -10
  1702. package/src/themes/sap_horizon_hcb_exp/SliderBase-parameters.css +0 -78
  1703. package/src/themes/sap_horizon_hcb_exp/SplitButton-parameters.css +0 -34
  1704. package/src/themes/sap_horizon_hcb_exp/Switch-parameters.css +0 -144
  1705. package/src/themes/sap_horizon_hcb_exp/TabContainer-parameters.css +0 -49
  1706. package/src/themes/sap_horizon_hcb_exp/Tag-parameters.css +0 -1
  1707. package/src/themes/sap_horizon_hcb_exp/TextArea-parameters.css +0 -42
  1708. package/src/themes/sap_horizon_hcb_exp/TimePicker-parameters.css +0 -5
  1709. package/src/themes/sap_horizon_hcb_exp/ToggleButton-parameters.css +0 -1
  1710. package/src/themes/sap_horizon_hcb_exp/Token-parameters.css +0 -17
  1711. package/src/themes/sap_horizon_hcb_exp/ValueStateMessage-parameters.css +0 -13
  1712. package/src/themes/sap_horizon_hcb_exp/YearPicker-parameters.css +0 -12
  1713. package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +0 -52
  1714. package/src/themes/sap_horizon_hcb_exp/sizes-parameters.css +0 -16
  1715. package/src/themes/sap_horizon_hcw/DatePicker-parameters.css +0 -5
  1716. package/src/themes/sap_horizon_hcw/TimePicker-parameters.css +0 -5
  1717. package/src/themes/sap_horizon_hcw/ToggleButton-parameters.css +0 -1
  1718. package/src/themes/sap_horizon_hcw_exp/Avatar-parameters.css +0 -54
  1719. package/src/themes/sap_horizon_hcw_exp/BusyIndicator-parameters.css +0 -5
  1720. package/src/themes/sap_horizon_hcw_exp/Button-parameters.css +0 -9
  1721. package/src/themes/sap_horizon_hcw_exp/CalendarHeader-parameters.css +0 -11
  1722. package/src/themes/sap_horizon_hcw_exp/Card-parameters.css +0 -11
  1723. package/src/themes/sap_horizon_hcw_exp/Carousel-parameters.css +0 -9
  1724. package/src/themes/sap_horizon_hcw_exp/CheckBox-parameters.css +0 -45
  1725. package/src/themes/sap_horizon_hcw_exp/ColorPicker-parameters.css +0 -10
  1726. package/src/themes/sap_horizon_hcw_exp/DatePicker-parameters.css +0 -5
  1727. package/src/themes/sap_horizon_hcw_exp/DayPicker-parameters.css +0 -69
  1728. package/src/themes/sap_horizon_hcw_exp/FileUploader-parameters.css +0 -6
  1729. package/src/themes/sap_horizon_hcw_exp/GrowingButton-parameters.css +0 -8
  1730. package/src/themes/sap_horizon_hcw_exp/Input-parameters.css +0 -32
  1731. package/src/themes/sap_horizon_hcw_exp/InputIcon-parameters.css +0 -11
  1732. package/src/themes/sap_horizon_hcw_exp/Link-parameters.css +0 -11
  1733. package/src/themes/sap_horizon_hcw_exp/ListItem-parameters.css +0 -3
  1734. package/src/themes/sap_horizon_hcw_exp/Menu-parameters.css +0 -5
  1735. package/src/themes/sap_horizon_hcw_exp/MessageStrip-parameters.css +0 -10
  1736. package/src/themes/sap_horizon_hcw_exp/MonthPicker-parameters.css +0 -12
  1737. package/src/themes/sap_horizon_hcw_exp/Panel-parameters.css +0 -11
  1738. package/src/themes/sap_horizon_hcw_exp/PopupsCommon-parameters.css +0 -5
  1739. package/src/themes/sap_horizon_hcw_exp/RadioButton-parameters.css +0 -30
  1740. package/src/themes/sap_horizon_hcw_exp/RatingIndicator-parameters.css +0 -16
  1741. package/src/themes/sap_horizon_hcw_exp/SegmentedButtton-parameters.css +0 -8
  1742. package/src/themes/sap_horizon_hcw_exp/Select-parameters.css +0 -10
  1743. package/src/themes/sap_horizon_hcw_exp/SliderBase-parameters.css +0 -78
  1744. package/src/themes/sap_horizon_hcw_exp/SplitButton-parameters.css +0 -34
  1745. package/src/themes/sap_horizon_hcw_exp/Switch-parameters.css +0 -149
  1746. package/src/themes/sap_horizon_hcw_exp/TabContainer-parameters.css +0 -49
  1747. package/src/themes/sap_horizon_hcw_exp/Tag-parameters.css +0 -1
  1748. package/src/themes/sap_horizon_hcw_exp/TextArea-parameters.css +0 -42
  1749. package/src/themes/sap_horizon_hcw_exp/TimePicker-parameters.css +0 -5
  1750. package/src/themes/sap_horizon_hcw_exp/ToggleButton-parameters.css +0 -1
  1751. package/src/themes/sap_horizon_hcw_exp/Token-parameters.css +0 -17
  1752. package/src/themes/sap_horizon_hcw_exp/ValueStateMessage-parameters.css +0 -13
  1753. package/src/themes/sap_horizon_hcw_exp/YearPicker-parameters.css +0 -12
  1754. package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +0 -52
  1755. package/src/themes/sap_horizon_hcw_exp/sizes-parameters.css +0 -16
  1756. /package/cypress/specs/base/{InvisibleMessage.cy.ts → InvisibleMessage.cy.tsx} +0 -0
package/dist/Popover.js CHANGED
@@ -5,6 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  var Popover_1;
8
+ import { instanceOfUI5Element } from "@ui5/webcomponents-base/dist/UI5Element.js";
8
9
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
11
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
@@ -106,12 +107,6 @@ let Popover = Popover_1 = class Popover extends Popup {
106
107
  * @public
107
108
  */
108
109
  this.allowTargetOverlap = false;
109
- /**
110
- * Defines whether the content is scrollable.
111
- * @default false
112
- * @private
113
- */
114
- this.disableScrolling = false;
115
110
  /**
116
111
  * Sets the X translation of the arrow
117
112
  * @private
@@ -167,14 +162,17 @@ let Popover = Popover_1 = class Popover extends Popup {
167
162
  }
168
163
  isOpenerClicked(e) {
169
164
  const target = e.target;
170
- if (target === this._opener) {
165
+ const opener = this.getOpenerHTMLElement(this.opener);
166
+ if (!opener) {
167
+ return false;
168
+ }
169
+ if (target === opener) {
171
170
  return true;
172
171
  }
173
- const ui5ElementTarget = target;
174
- if (ui5ElementTarget.getFocusDomRef && ui5ElementTarget.getFocusDomRef() === this._opener) {
172
+ if (this._isUI5AbstractElement(target) && target.getFocusDomRef() === opener) {
175
173
  return true;
176
174
  }
177
- return e.composedPath().indexOf(this._opener) > -1;
175
+ return e.composedPath().indexOf(opener) > -1;
178
176
  }
179
177
  /**
180
178
  * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)
@@ -195,7 +193,7 @@ let Popover = Popover_1 = class Popover extends Popup {
195
193
  return opener;
196
194
  }
197
195
  if (opener instanceof HTMLElement) {
198
- return this._isUI5Element(opener) ? opener.getFocusDomRef() : opener;
196
+ return this._isUI5AbstractElement(opener) ? opener.getFocusDomRef() : opener;
199
197
  }
200
198
  let rootNode = this.getRootNode();
201
199
  if (rootNode === this) {
@@ -205,8 +203,8 @@ let Popover = Popover_1 = class Popover extends Popup {
205
203
  if (rootNode instanceof ShadowRoot && !openerHTMLElement) {
206
204
  openerHTMLElement = document.getElementById(opener);
207
205
  }
208
- if (openerHTMLElement && this._isUI5Element(openerHTMLElement)) {
209
- return openerHTMLElement.getFocusDomRef() || openerHTMLElement;
206
+ if (openerHTMLElement) {
207
+ return this._isUI5AbstractElement(openerHTMLElement) ? openerHTMLElement.getFocusDomRef() : openerHTMLElement;
210
208
  }
211
209
  return openerHTMLElement;
212
210
  }
@@ -223,7 +221,7 @@ let Popover = Popover_1 = class Popover extends Popup {
223
221
  let overflowsBottom = false;
224
222
  let overflowsTop = false;
225
223
  if (closedPopupParent instanceof Popover_1) {
226
- const contentRect = closedPopupParent.contentDOM.getBoundingClientRect();
224
+ const contentRect = closedPopupParent.getBoundingClientRect();
227
225
  overflowsBottom = openerRect.top > (contentRect.top + contentRect.height);
228
226
  overflowsTop = (openerRect.top + openerRect.height) < contentRect.top;
229
227
  }
@@ -256,7 +254,7 @@ let Popover = Popover_1 = class Popover extends Popup {
256
254
  async _show() {
257
255
  super._show();
258
256
  const opener = this.getOpenerHTMLElement(this.opener);
259
- if (opener && this._isUI5Element(opener) && !opener.getDomRef()) {
257
+ if (opener && instanceOfUI5Element(opener) && !opener.getDomRef()) {
260
258
  return;
261
259
  }
262
260
  if (!this._opened) {
@@ -332,12 +330,18 @@ let Popover = Popover_1 = class Popover extends Popup {
332
330
  left: "-10000px",
333
331
  });
334
332
  }
335
- _isUI5Element(el) {
336
- return "isUI5Element" in el;
333
+ _isUI5AbstractElement(el) {
334
+ return instanceOfUI5Element(el) && el.isUI5AbstractElement;
337
335
  }
338
336
  get arrowDOM() {
339
337
  return this.shadowRoot.querySelector(".ui5-popover-arrow");
340
338
  }
339
+ /**
340
+ * @protected
341
+ */
342
+ focusOpener() {
343
+ this.getOpenerHTMLElement(this.opener)?.focus();
344
+ }
341
345
  /**
342
346
  * @private
343
347
  */
@@ -467,9 +471,9 @@ let Popover = Popover_1 = class Popover extends Popup {
467
471
  }
468
472
  // Restricts the arrow's translate value along each dimension,
469
473
  // so that the arrow does not clip over the popover's rounded borders.
470
- const safeRangeForArrowY = popoverSize.height / 2 - borderRadius - ARROW_SIZE / 2;
474
+ const safeRangeForArrowY = popoverSize.height / 2 - borderRadius - ARROW_SIZE / 2 - 2;
471
475
  arrowTranslateY = clamp(arrowTranslateY, -safeRangeForArrowY, safeRangeForArrowY);
472
- const safeRangeForArrowX = popoverSize.width / 2 - borderRadius - ARROW_SIZE / 2;
476
+ const safeRangeForArrowX = popoverSize.width / 2 - borderRadius - ARROW_SIZE / 2 - 2;
473
477
  arrowTranslateX = clamp(arrowTranslateX, -safeRangeForArrowX, safeRangeForArrowX);
474
478
  return {
475
479
  x: Math.round(arrowTranslateX),
@@ -629,9 +633,6 @@ __decorate([
629
633
  __decorate([
630
634
  property({ type: Boolean })
631
635
  ], Popover.prototype, "allowTargetOverlap", void 0);
632
- __decorate([
633
- property({ type: Boolean })
634
- ], Popover.prototype, "disableScrolling", void 0);
635
636
  __decorate([
636
637
  property({ type: Number, noAttribute: true })
637
638
  ], Popover.prototype, "arrowTranslateX", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../src/Popover.ts"],"names":[],"mappings":"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","sourcesContent":["import type 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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport { isIOS } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getClosedPopupParent } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\n\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport Popup from \"./Popup.js\";\nimport PopoverPlacement from \"./types/PopoverPlacement.js\";\nimport PopoverVerticalAlign from \"./types/PopoverVerticalAlign.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport { addOpenedPopover, removeOpenedPopover } from \"./popup-utils/PopoverRegistry.js\";\n\n// Template\nimport PopoverTemplate from \"./PopoverTemplate.js\";\n// Styles\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport PopoverCss from \"./generated/themes/Popover.css.js\";\n\nconst ARROW_SIZE = 8;\n\ntype PopoverSize = {\n\twidth: number;\n\theight: number;\n}\n\ntype ArrowPosition = {\n\tx: number;\n\ty: number;\n}\n\ntype CalculatedPlacement = {\n\tarrow: ArrowPosition,\n\ttop: number,\n\tleft: number,\n\tplacement: `${PopoverPlacement}`,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-popover` component displays additional information for an object\n * in a compact way and without leaving the page.\n * The Popover can contain various UI elements, such as fields, tables, images, and charts.\n * It can also include actions in the footer.\n *\n * ### Structure\n *\n * The popover has three main areas:\n *\n * - Header (optional)\n * - Content\n * - Footer (optional)\n *\n * **Note:** The `ui5-popover` is closed when the user clicks\n * or taps outside the popover\n * or selects an action within the popover. You can prevent this with the\n * `modal` property.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Popover.js\";`\n *\n * @constructor\n * @extends Popup\n * @since 1.0.0-rc.6\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-popover\",\n\tstyles: [\n\t\tPopup.styles,\n\t\tPopupsCommonCss,\n\t\tPopoverCss,\n\t\tgetEffectiveScrollbarStyle(),\n\t],\n\ttemplate: PopoverTemplate,\n})\nclass Popover extends Popup {\n\teventDetails!: Popup[\"eventDetails\"];\n\t/**\n\t * Defines the header text.\n\t *\n\t * **Note:** If `header` slot is provided, the `headerText` is ignored.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\theaderText?: string;\n\n\t/**\n\t * Determines on which side the component is placed at.\n\t * @default \"End\"\n\t * @public\n\t */\n\t@property()\n\tplacement: `${PopoverPlacement}` = \"End\";\n\n\t/**\n\t * Determines the horizontal alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property()\n\thorizontalAlign: `${PopoverHorizontalAlign}` = \"Center\";\n\n\t/**\n\t * Determines the vertical alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property()\n\tverticalAlign: `${PopoverVerticalAlign}` = \"Center\";\n\n\t/**\n\t * Defines whether the component should close when\n\t * clicking/tapping outside of the popover.\n\t * If enabled, it blocks any interaction with the background.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmodal = false;\n\n\t/**\n\t * Determines whether the component arrow is hidden.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\thideArrow = false;\n\n\t/**\n\t * Determines if there is no enough space, the component can be placed\n\t * over the target.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tallowTargetOverlap = false;\n\n\t/**\n\t * Defines whether the content is scrollable.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdisableScrolling = false;\n\n\t/**\n\t * Sets the X translation of the arrow\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tarrowTranslateX = 0;\n\n\t/**\n\t * Sets the Y translation of the arrow\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tarrowTranslateY = 0;\n\n\t/**\n\t * Returns the calculated placement depending on the free space\n\t * @private\n\t */\n\t@property()\n\tactualPlacement: `${PopoverPlacement}` = \"End\";\n\n\t@property({ type: Number, noAttribute: true })\n\t_maxHeight?: number;\n\n\t@property({ type: Number, noAttribute: true })\n\t_maxWidth?: number;\n\n\t/**\n\t * Defines the header HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\tfooter!: Array<HTMLElement>;\n\n\t_opener?: HTMLElement | string;\n\t_openerRect?: DOMRect;\n\t_preventRepositionAndClose?: boolean;\n\t_top?: number;\n\t_left?: number;\n\t_oldPlacement?: CalculatedPlacement;\n\t_width?: string;\n\t_height?: string;\n\n\tstatic get VIEWPORT_MARGIN() {\n\t\treturn 10; // px\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t/**\n\t * Defines the ID or DOM Reference of the element at which the popover is shown.\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * @public\n\t * @default undefined\n\t * @since 1.2.0\n\t */\n\t@property({ converter: DOMReferenceConverter })\n\tset opener(value: HTMLElement | string) {\n\t\tif (this._opener === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = value;\n\n\t\tif (value && this.open) {\n\t\t\tthis.openPopup();\n\t\t}\n\t}\n\n\tget opener(): HTMLElement | string | undefined {\n\t\treturn this._opener;\n\t}\n\n\tasync openPopup() {\n\t\tif (this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (!opener) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isOpenerOutsideViewport(opener.getBoundingClientRect())) {\n\t\t\tawait renderFinished();\n\t\t\tthis.open = false;\n\t\t\tthis.fireDecoratorEvent(\"close\");\n\t\t\treturn;\n\t\t}\n\n\t\tthis._openerRect = opener.getBoundingClientRect();\n\n\t\tawait super.openPopup();\n\t}\n\n\tisOpenerClicked(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst ui5ElementTarget = target as UI5Element;\n\n\t\tif (ui5ElementTarget.getFocusDomRef && ui5ElementTarget.getFocusDomRef() === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn e.composedPath().indexOf(this._opener as EventTarget) > -1;\n\t}\n\n\t/**\n\t * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)\n\t * @private\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopover(this);\n\t}\n\n\t/**\n\t * Override for the _removeOpenedPopup hook, which would otherwise just call removeOpenedPopup(this)\n\t * @private\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopover(this);\n\t}\n\n\tgetOpenerHTMLElement(opener: HTMLElement | string | undefined): HTMLElement | null | undefined {\n\t\tif (opener === undefined) {\n\t\t\treturn opener;\n\t\t}\n\n\t\tif (opener instanceof HTMLElement) {\n\t\t\treturn this._isUI5Element(opener) ? opener.getFocusDomRef() : opener;\n\t\t}\n\n\t\tlet rootNode = this.getRootNode();\n\n\t\tif (rootNode === this) {\n\t\t\trootNode = document;\n\t\t}\n\n\t\tlet openerHTMLElement = (rootNode as Document | ShadowRoot).getElementById(opener);\n\n\t\tif (rootNode instanceof ShadowRoot && !openerHTMLElement) {\n\t\t\topenerHTMLElement = document.getElementById(opener);\n\t\t}\n\n\t\tif (openerHTMLElement && this._isUI5Element(openerHTMLElement)) {\n\t\t\treturn openerHTMLElement.getFocusDomRef() || openerHTMLElement;\n\t\t}\n\n\t\treturn openerHTMLElement;\n\t}\n\n\tshouldCloseDueToOverflow(placement: `${PopoverPlacement}`, openerRect: DOMRect): boolean {\n\t\tconst threshold = 32;\n\t\tconst limits = {\n\t\t\t\"Start\": openerRect.right,\n\t\t\t\"End\": openerRect.left,\n\t\t\t\"Top\": openerRect.top,\n\t\t\t\"Bottom\": openerRect.bottom,\n\t\t};\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\t\tconst closedPopupParent = getClosedPopupParent(opener!);\n\t\tlet overflowsBottom = false;\n\t\tlet overflowsTop = false;\n\n\t\tif (closedPopupParent instanceof Popover) {\n\t\t\tconst contentRect = closedPopupParent.contentDOM.getBoundingClientRect();\n\t\t\toverflowsBottom = openerRect.top > (contentRect.top + contentRect.height);\n\t\t\toverflowsTop = (openerRect.top + openerRect.height) < contentRect.top;\n\t\t}\n\n\t\treturn (limits[placement] < 0 || (limits[placement] + threshold > (closedPopupParent as unknown as Window).innerHeight)) || overflowsBottom || overflowsTop;\n\t}\n\n\tshouldCloseDueToNoOpener(openerRect: DOMRect): boolean {\n\t\treturn openerRect.top === 0\n\t\t\t&& openerRect.bottom === 0\n\t\t\t&& openerRect.left === 0\n\t\t\t&& openerRect.right === 0;\n\t}\n\n\tisOpenerOutsideViewport(openerRect: DOMRect): boolean {\n\t\treturn openerRect.bottom < 0\n\t\t\t|| openerRect.top > window.innerHeight\n\t\t\t|| openerRect.right < 0\n\t\t\t|| openerRect.left > window.innerWidth;\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (this.open) {\n\t\t\tthis.reposition();\n\t\t}\n\t}\n\n\treposition() {\n\t\tthis._show();\n\t}\n\n\tasync _show() {\n\t\tsuper._show();\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (opener && this._isUI5Element(opener) && !opener.getDomRef()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._opened) {\n\t\t\tthis._showOutsideViewport();\n\t\t}\n\n\t\tconst popoverSize = this.getPopoverSize();\n\t\tlet placement;\n\n\t\tif (popoverSize.width === 0 || popoverSize.height === 0) {\n\t\t\t// size can not be determined properly at this point, popover will be shown with the next reposition\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.open) {\n\t\t\t// update opener rect if it was changed during the popover being opened\n\t\t\tthis._openerRect = opener!.getBoundingClientRect();\n\t\t}\n\n\t\tif (this._oldPlacement && this.shouldCloseDueToNoOpener(this._openerRect!) && this.isFocusWithin()) {\n\t\t\t// reuse the old placement as the opener is not available,\n\t\t\t// but keep the popover open as the focus is within\n\t\t\tplacement = this._oldPlacement;\n\t\t} else {\n\t\t\tplacement = this.calcPlacement(this._openerRect!, popoverSize);\n\t\t}\n\n\t\tif (this._preventRepositionAndClose || this.isOpenerOutsideViewport(this._openerRect!)) {\n\t\t\tawait this._waitForDomRef();\n\t\t\treturn this.closePopup();\n\t\t}\n\n\t\tthis._oldPlacement = placement;\n\t\tthis.actualPlacement = placement.placement;\n\n\t\tlet left = clamp(\n\t\t\tthis._left!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientWidth - popoverSize.width - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.End) {\n\t\t\tleft = Math.max(left, this._left!);\n\t\t}\n\n\t\tlet top = clamp(\n\t\t\tthis._top!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientHeight - popoverSize.height - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.Bottom) {\n\t\t\ttop = Math.max(top, this._top!);\n\t\t}\n\n\t\tthis.arrowTranslateX = placement.arrow.x;\n\t\tthis.arrowTranslateY = placement.arrow.y;\n\n\t\ttop = this._adjustForIOSKeyboard(top);\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && this._width) {\n\t\t\tthis.style.width = this._width;\n\t\t}\n\n\t\tif (this.verticalAlign === PopoverVerticalAlign.Stretch && this._height) {\n\t\t\tthis.style.height = this._height;\n\t\t}\n\t}\n\n\t/**\n\t * Adjust the desired top position to compensate for shift of the screen\n\t * caused by opened keyboard on iOS which affects all elements with position:fixed.\n\t * @private\n\t * @param top The target top in px.\n\t * @returns The adjusted top in px.\n\t */\n\t_adjustForIOSKeyboard(top: number): number {\n\t\tif (!isIOS()) {\n\t\t\treturn top;\n\t\t}\n\n\t\tconst actualTop = Math.ceil(this.getBoundingClientRect().top);\n\n\t\treturn top + (Number.parseInt(this.style.top || \"0\") - actualTop);\n\t}\n\n\tgetPopoverSize(): PopoverSize {\n\t\tconst rect = this.getBoundingClientRect(),\n\t\t\twidth = rect.width,\n\t\t\theight = rect.height;\n\n\t\treturn { width, height };\n\t}\n\n\t_showOutsideViewport() {\n\t\tObject.assign(this.style, {\n\t\t\ttop: \"-10000px\",\n\t\t\tleft: \"-10000px\",\n\t\t});\n\t}\n\n\t_isUI5Element(el: HTMLElement): el is UI5Element {\n\t\treturn \"isUI5Element\" in el;\n\t}\n\n\tget arrowDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popover-arrow\")!;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tcalcPlacement(targetRect: DOMRect, popoverSize: PopoverSize): CalculatedPlacement {\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\t\tlet top = 0;\n\t\tconst allowTargetOverlap = this.allowTargetOverlap;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tlet maxHeight = clientHeight;\n\t\tlet maxWidth = clientWidth;\n\n\t\tconst placement = this.getActualPlacement(targetRect, popoverSize);\n\n\t\tthis._preventRepositionAndClose = this.shouldCloseDueToNoOpener(targetRect) || this.shouldCloseDueToOverflow(placement, targetRect);\n\n\t\tconst isVertical = placement === PopoverPlacement.Top\n\t\t\t|| placement === PopoverPlacement.Bottom;\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && isVertical) {\n\t\t\tpopoverSize.width = targetRect.width;\n\t\t\tthis._width = `${targetRect.width}px`;\n\t\t} else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {\n\t\t\tpopoverSize.height = targetRect.height;\n\t\t\tthis._height = `${targetRect.height}px`;\n\t\t}\n\n\t\tconst arrowOffset = this.hideArrow ? 0 : ARROW_SIZE;\n\n\t\t// calc popover positions\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = Math.max(targetRect.top - popoverSize.height - arrowOffset, 0);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxHeight = targetRect.top - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = targetRect.bottom + arrowOffset;\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\ttop = Math.max(Math.min(top, clientHeight - popoverSize.height), 0);\n\t\t\t} else {\n\t\t\t\tmaxHeight = clientHeight - targetRect.bottom - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tleft = Math.max(targetRect.left - popoverSize.width - arrowOffset, 0);\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxWidth = targetRect.left - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tleft = targetRect.left + targetRect.width + arrowOffset;\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\tleft = Math.max(Math.min(left, clientWidth - popoverSize.width), 0);\n\t\t\t} else {\n\t\t\t\tmaxWidth = clientWidth - targetRect.right - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// correct popover positions\n\t\tif (isVertical) {\n\t\t\tif (popoverSize.width > clientWidth || left < Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (left + popoverSize.width > clientWidth - Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = clientWidth - Popover.VIEWPORT_MARGIN - popoverSize.width;\n\t\t\t}\n\t\t} else {\n\t\t\tif (popoverSize.height > clientHeight || top < Popover.VIEWPORT_MARGIN) { // eslint-disable-line\n\t\t\t\ttop = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (top + popoverSize.height > clientHeight - Popover.VIEWPORT_MARGIN) {\n\t\t\t\ttop = clientHeight - Popover.VIEWPORT_MARGIN - popoverSize.height;\n\t\t\t}\n\t\t}\n\n\t\tthis._maxHeight = Math.round(maxHeight - Popover.VIEWPORT_MARGIN);\n\t\tthis._maxWidth = Math.round(maxWidth - Popover.VIEWPORT_MARGIN);\n\n\t\tif (this._left === undefined || Math.abs(this._left - left) > 1.5) {\n\t\t\tthis._left = Math.round(left);\n\t\t}\n\n\t\tif (this._top === undefined || Math.abs(this._top - top) > 1.5) {\n\t\t\tthis._top = Math.round(top);\n\t\t}\n\n\t\tconst borderRadius = Number.parseInt(window.getComputedStyle(this).getPropertyValue(\"border-radius\"));\n\t\tconst arrowPos = this.getArrowPosition(targetRect, popoverSize, left, top, isVertical, borderRadius);\n\n\t\tthis._left += this.getRTLCorrectionLeft();\n\n\t\treturn {\n\t\t\tarrow: arrowPos,\n\t\t\ttop: this._top,\n\t\t\tleft: this._left,\n\t\t\tplacement,\n\t\t};\n\t}\n\n\tgetRTLCorrectionLeft() {\n\t\treturn parseFloat(window.getComputedStyle(this).left) - this.getBoundingClientRect().left;\n\t}\n\n\t/**\n\t * Calculates the position for the arrow.\n\t * @private\n\t * @param targetRect BoundingClientRect of the target element\n\t * @param popoverSize Width and height of the popover\n\t * @param left Left offset of the popover\n\t * @param top Top offset of the popover\n\t * @param isVertical If the popover is positioned vertically to the target element\n\t * @param borderRadius Value of the border-radius property\n\t * @returns Arrow's coordinates\n\t */\n\tgetArrowPosition(targetRect: DOMRect, popoverSize: PopoverSize, left: number, top: number, isVertical: boolean, borderRadius: number): ArrowPosition {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet arrowXCentered = horizontalAlign === PopoverHorizontalAlign.Center || horizontalAlign === PopoverHorizontalAlign.Stretch;\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.End && left <= targetRect.left) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.Start && left + popoverSize.width >= targetRect.left + targetRect.width) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tlet arrowTranslateX = 0;\n\t\tif (isVertical && arrowXCentered) {\n\t\t\tarrowTranslateX = targetRect.left + targetRect.width / 2 - left - popoverSize.width / 2;\n\t\t}\n\n\t\tlet arrowTranslateY = 0;\n\t\tif (!isVertical) {\n\t\t\tarrowTranslateY = targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2;\n\t\t}\n\n\t\t// Restricts the arrow's translate value along each dimension,\n\t\t// so that the arrow does not clip over the popover's rounded borders.\n\t\tconst safeRangeForArrowY = popoverSize.height / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateY = clamp(\n\t\t\tarrowTranslateY,\n\t\t\t-safeRangeForArrowY,\n\t\t\tsafeRangeForArrowY,\n\t\t);\n\n\t\tconst safeRangeForArrowX = popoverSize.width / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateX = clamp(\n\t\t\tarrowTranslateX,\n\t\t\t-safeRangeForArrowX,\n\t\t\tsafeRangeForArrowX,\n\t\t);\n\n\t\treturn {\n\t\t\tx: Math.round(arrowTranslateX),\n\t\t\ty: Math.round(arrowTranslateY),\n\t\t};\n\t}\n\n\t/**\n\t * Fallbacks to new placement, prioritizing `Left` and `Right` placements.\n\t * @private\n\t */\n\tfallbackPlacement(clientWidth: number, clientHeight: number, targetRect: DOMRect, popoverSize: PopoverSize): PopoverPlacement | undefined {\n\t\tif (targetRect.left > popoverSize.width) {\n\t\t\treturn PopoverPlacement.Start;\n\t\t}\n\n\t\tif (clientWidth - targetRect.right > targetRect.left) {\n\t\t\treturn PopoverPlacement.End;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom > popoverSize.height) {\n\t\t\treturn PopoverPlacement.Bottom;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\treturn PopoverPlacement.Top;\n\t\t}\n\t}\n\n\tgetActualPlacement(targetRect: DOMRect, popoverSize: PopoverSize): `${PopoverPlacement}` {\n\t\tconst placement = this.placement;\n\t\tlet actualPlacement = placement;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tif (targetRect.top < popoverSize.height\n\t\t\t\t&& targetRect.top < clientHeight - targetRect.bottom) {\n\t\t\t\tactualPlacement = PopoverPlacement.Bottom;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tif (clientHeight - targetRect.bottom < popoverSize.height\n\t\t\t\t&& clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\t\tactualPlacement = PopoverPlacement.Top;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tif (targetRect.left < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tif (clientWidth - targetRect.right < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\treturn actualPlacement;\n\t}\n\n\tgetVerticalLeft(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\n\t\tswitch (horizontalAlign) {\n\t\tcase PopoverHorizontalAlign.Center:\n\t\tcase PopoverHorizontalAlign.Stretch:\n\t\t\tleft = targetRect.left - (popoverSize.width - targetRect.width) / 2;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.Start:\n\t\t\tleft = targetRect.left;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.End:\n\t\t\tleft = targetRect.right - popoverSize.width;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn left;\n\t}\n\n\tgetHorizontalTop(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tlet top = 0;\n\n\t\tswitch (this.verticalAlign) {\n\t\tcase PopoverVerticalAlign.Center:\n\t\tcase PopoverVerticalAlign.Stretch:\n\t\t\ttop = targetRect.top - (popoverSize.height - targetRect.height) / 2;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Top:\n\t\t\ttop = targetRect.top;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Bottom:\n\t\t\ttop = targetRect.bottom - popoverSize.height;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\tget isModal() { // Required by Popup.js\n\t\treturn this.modal;\n\t}\n\n\tget _ariaLabelledBy() { // Required by Popup.js\n\t\tif (!this._ariaLabel && this._displayHeader) {\n\t\t\treturn \"ui5-popup-header\";\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\t...super.styles,\n\t\t\troot: {\n\t\t\t\t\"max-height\": this._maxHeight ? `${this._maxHeight}px` : \"\",\n\t\t\t\t\"max-width\": this._maxWidth ? `${this._maxWidth}px` : \"\",\n\t\t\t},\n\t\t\tarrow: {\n\t\t\t\ttransform: `translate(${this.arrowTranslateX}px, ${this.arrowTranslateY}px)`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\tconst allClasses = super.classes;\n\t\tallClasses.root[\"ui5-popover-root\"] = true;\n\n\t\treturn allClasses;\n\t}\n\n\t/**\n\t * Hook for descendants to hide header.\n\t */\n\tget _displayHeader() {\n\t\treturn !!(this.header.length || this.headerText);\n\t}\n\n\t/**\n\t * Hook for descendants to hide footer.\n\t */\n\tget _displayFooter() {\n\t\treturn true;\n\t}\n\n\tget _actualHorizontalAlign() {\n\t\tif (this.effectiveDir === \"rtl\") {\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Start) {\n\t\t\t\treturn PopoverHorizontalAlign.End;\n\t\t\t}\n\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.End) {\n\t\t\t\treturn PopoverHorizontalAlign.Start;\n\t\t\t}\n\t\t}\n\n\t\treturn this.horizontalAlign;\n\t}\n}\n\nconst instanceOfPopover = (object: any): object is Popover => {\n\treturn \"opener\" in object;\n};\n\nPopover.define();\n\nexport default Popover;\n\nexport { instanceOfPopover };\n"]}
1
+ {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../src/Popover.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAElF,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,KAAK,MAAM,4CAA4C,CAAC;AAC/D,OAAO,0BAA0B,MAAM,iEAAiE,CAAC;AACzG,OAAO,qBAAqB,MAAM,yDAAyD,CAAC;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEzF,WAAW;AACX,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,SAAS;AACT,OAAO,eAAe,MAAM,wCAAwC,CAAC;AACrE,OAAO,UAAU,MAAM,mCAAmC,CAAC;AAE3D,MAAM,UAAU,GAAG,CAAC,CAAC;AAmBrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAWH,IAAM,OAAO,eAAb,MAAM,OAAQ,SAAQ,KAAK;IAkH1B,MAAM,KAAK,eAAe;QACzB,OAAO,EAAE,CAAC,CAAC,KAAK;IACjB,CAAC;IAED;QACC,KAAK,EAAE,CAAC;QA3GT;;;;WAIG;QAEH,cAAS,GAA0B,KAAK,CAAC;QAEzC;;;;WAIG;QAEH,oBAAe,GAAgC,QAAQ,CAAC;QAExD;;;;WAIG;QAEH,kBAAa,GAA8B,QAAQ,CAAC;QAEpD;;;;;;WAMG;QAEH,UAAK,GAAG,KAAK,CAAC;QAEd;;;;;WAKG;QAEH,cAAS,GAAG,KAAK,CAAC;QAElB;;;;;WAKG;QAEH,uBAAkB,GAAG,KAAK,CAAC;QAE3B;;;WAGG;QAEH,oBAAe,GAAG,CAAC,CAAC;QAEpB;;;WAGG;QAEH,oBAAe,GAAG,CAAC,CAAC;QAEpB;;;WAGG;QAEH,oBAAe,GAA0B,KAAK,CAAC;IAqC/C,CAAC;IAED;;;;;;;OAOG;IAEH,IAAI,MAAM,CAAC,KAA2B;QACrC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC5B,OAAO;QACR,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,EAAE,CAAC;QAClB,CAAC;IACF,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,SAAS;QACd,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEtD,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC;YAClE,MAAM,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO;QACR,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAElD,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;IACzB,CAAC;IAED,eAAe,CAAC,CAAa;QAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEtD,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACd,CAAC;QAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,KAAK,MAAM,EAAE,CAAC;YAC9E,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,eAAe;QACd,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,kBAAkB;QACjB,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,oBAAoB,CAAC,MAAwC;QAC5D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC;QACf,CAAC;QAED,IAAI,MAAM,YAAY,WAAW,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9E,CAAC;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAElC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACvB,QAAQ,GAAG,QAAQ,CAAC;QACrB,CAAC;QAED,IAAI,iBAAiB,GAAI,QAAkC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAEnF,IAAI,QAAQ,YAAY,UAAU,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1D,iBAAiB,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC/G,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IAED,wBAAwB,CAAC,SAAgC,EAAE,UAAmB;QAC7E,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG;YACd,OAAO,EAAE,UAAU,CAAC,KAAK;YACzB,KAAK,EAAE,UAAU,CAAC,IAAI;YACtB,KAAK,EAAE,UAAU,CAAC,GAAG;YACrB,QAAQ,EAAE,UAAU,CAAC,MAAM;SAC3B,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,MAAO,CAAC,CAAC;QACxD,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,IAAI,iBAAiB,YAAY,SAAO,EAAE,CAAC;YAC1C,MAAM,WAAW,GAAG,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;YAC9D,eAAe,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1E,YAAY,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC;QACvE,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,GAAI,iBAAuC,CAAC,WAAW,CAAC,CAAC,IAAI,eAAe,IAAI,YAAY,CAAC;IAC7J,CAAC;IAED,wBAAwB,CAAC,UAAmB;QAC3C,OAAO,UAAU,CAAC,GAAG,KAAK,CAAC;eACvB,UAAU,CAAC,MAAM,KAAK,CAAC;eACvB,UAAU,CAAC,IAAI,KAAK,CAAC;eACrB,UAAU,CAAC,KAAK,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,uBAAuB,CAAC,UAAmB;QAC1C,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC;eACxB,UAAU,CAAC,GAAG,GAAG,MAAM,CAAC,WAAW;eACnC,UAAU,CAAC,KAAK,GAAG,CAAC;eACpB,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,OAAO;QACN,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,EAAE,CAAC;QACnB,CAAC;IACF,CAAC;IAED,UAAU;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAK;QACV,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEtD,IAAI,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;YACnE,OAAO;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,SAAS,CAAC;QAEd,IAAI,WAAW,CAAC,KAAK,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,oGAAoG;YACpG,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,uEAAuE;YACvE,IAAI,CAAC,WAAW,GAAG,MAAO,CAAC,qBAAqB,EAAE,CAAC;QACpD,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAY,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACpG,0DAA0D;YAC1D,mDAAmD;YACnD,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;QAChC,CAAC;aAAM,CAAC;YACP,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAY,EAAE,WAAW,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAY,CAAC,EAAE,CAAC;YACxF,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC;QAE3C,IAAI,IAAI,GAAG,KAAK,CACf,IAAI,CAAC,KAAM,EACX,SAAO,CAAC,eAAe,EACvB,QAAQ,CAAC,eAAe,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,GAAG,SAAO,CAAC,eAAe,CAClF,CAAC;QAEF,IAAI,IAAI,CAAC,eAAe,KAAK,gBAAgB,CAAC,GAAG,EAAE,CAAC;YACnD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAM,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,GAAG,GAAG,KAAK,CACd,IAAI,CAAC,IAAK,EACV,SAAO,CAAC,eAAe,EACvB,QAAQ,CAAC,eAAe,CAAC,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,SAAO,CAAC,eAAe,CACpF,CAAC;QAEF,IAAI,IAAI,CAAC,eAAe,KAAK,gBAAgB,CAAC,MAAM,EAAE,CAAC;YACtD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAK,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAEzC,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAEtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YACzB,GAAG,EAAE,GAAG,GAAG,IAAI;YACf,IAAI,EAAE,GAAG,IAAI,IAAI;SACjB,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,eAAe,KAAK,sBAAsB,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5E,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,KAAK,oBAAoB,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACzE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAClC,CAAC;IACF,CAAC;IAED;;;;;;OAMG;IACH,qBAAqB,CAAC,GAAW;QAChC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACd,OAAO,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC;QAE9D,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,cAAc;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE,EACxC,KAAK,GAAG,IAAI,CAAC,KAAK,EAClB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAEtB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,oBAAoB;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YACzB,GAAG,EAAE,UAAU;YACf,IAAI,EAAE,UAAU;SAChB,CAAC,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,EAAe;QACpC,OAAO,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,oBAAoB,CAAC;IAC5D,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,oBAAoB,CAAE,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,WAAW;QACV,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,UAAmB,EAAE,WAAwB;QAC1D,IAAI,IAAI,GAAG,SAAO,CAAC,eAAe,CAAC;QACnC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAEnD,MAAM,WAAW,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC;QACzD,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;QAE3D,IAAI,SAAS,GAAG,YAAY,CAAC;QAC7B,IAAI,QAAQ,GAAG,WAAW,CAAC;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAEnE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAEpI,MAAM,UAAU,GAAG,SAAS,KAAK,gBAAgB,CAAC,GAAG;eACjD,SAAS,KAAK,gBAAgB,CAAC,MAAM,CAAC;QAE1C,IAAI,IAAI,CAAC,eAAe,KAAK,sBAAsB,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC;YAC3E,WAAW,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YACrC,IAAI,CAAC,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,IAAI,CAAC;QACvC,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,KAAK,oBAAoB,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/E,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC;QACzC,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAEpD,yBAAyB;QACzB,QAAQ,SAAS,EAAE,CAAC;YACpB,KAAK,gBAAgB,CAAC,GAAG;gBACxB,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBACrD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;gBAErE,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACzB,SAAS,GAAG,UAAU,CAAC,GAAG,GAAG,WAAW,CAAC;gBAC1C,CAAC;gBACD,MAAM;YACP,KAAK,gBAAgB,CAAC,MAAM;gBAC3B,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBACrD,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC;gBAEtC,IAAI,kBAAkB,EAAE,CAAC;oBACxB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrE,CAAC;qBAAM,CAAC;oBACP,SAAS,GAAG,YAAY,GAAG,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC;gBAC5D,CAAC;gBACD,MAAM;YACP,KAAK,gBAAgB,CAAC,KAAK;gBAC1B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;gBACtE,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBAErD,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACzB,QAAQ,GAAG,UAAU,CAAC,IAAI,GAAG,WAAW,CAAC;gBAC1C,CAAC;gBACD,MAAM;YACP,KAAK,gBAAgB,CAAC,GAAG;gBACxB,IAAI,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC;gBACxD,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBAErD,IAAI,kBAAkB,EAAE,CAAC;oBACxB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrE,CAAC;qBAAM,CAAC;oBACP,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC;gBACzD,CAAC;gBACD,MAAM;QACP,CAAC;QAED,4BAA4B;QAC5B,IAAI,UAAU,EAAE,CAAC;YAChB,IAAI,WAAW,CAAC,KAAK,GAAG,WAAW,IAAI,IAAI,GAAG,SAAO,CAAC,eAAe,EAAE,CAAC;gBACvE,IAAI,GAAG,SAAO,CAAC,eAAe,CAAC;YAChC,CAAC;iBAAM,IAAI,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,GAAG,SAAO,CAAC,eAAe,EAAE,CAAC;gBAC7E,IAAI,GAAG,WAAW,GAAG,SAAO,CAAC,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC;YAClE,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,WAAW,CAAC,MAAM,GAAG,YAAY,IAAI,GAAG,GAAG,SAAO,CAAC,eAAe,EAAE,CAAC,CAAC,sBAAsB;gBAC/F,GAAG,GAAG,SAAO,CAAC,eAAe,CAAC;YAC/B,CAAC;iBAAM,IAAI,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,YAAY,GAAG,SAAO,CAAC,eAAe,EAAE,CAAC;gBAC9E,GAAG,GAAG,YAAY,GAAG,SAAO,CAAC,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC;YACnE,CAAC;QACF,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAO,CAAC,eAAe,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAO,CAAC,eAAe,CAAC,CAAC;QAEhE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YACnE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;YAChE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;QACtG,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAErG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE1C,OAAO;YACN,KAAK,EAAE,QAAQ;YACf,GAAG,EAAE,IAAI,CAAC,IAAI;YACd,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,SAAS;SACT,CAAC;IACH,CAAC;IAED,oBAAoB;QACnB,OAAO,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC;IAC3F,CAAC;IAED;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,UAAmB,EAAE,WAAwB,EAAE,IAAY,EAAE,GAAW,EAAE,UAAmB,EAAE,YAAoB;QACnI,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC;QACpD,IAAI,cAAc,GAAG,eAAe,KAAK,sBAAsB,CAAC,MAAM,IAAI,eAAe,KAAK,sBAAsB,CAAC,OAAO,CAAC;QAE7H,IAAI,eAAe,KAAK,sBAAsB,CAAC,GAAG,IAAI,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YAC/E,cAAc,GAAG,IAAI,CAAC;QACvB,CAAC;QAED,IAAI,eAAe,KAAK,sBAAsB,CAAC,KAAK,IAAI,IAAI,GAAG,WAAW,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;YACxH,cAAc,GAAG,IAAI,CAAC;QACvB,CAAC;QAED,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,UAAU,IAAI,cAAc,EAAE,CAAC;YAClC,eAAe,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,eAAe,GAAG,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QACzF,CAAC;QAED,8DAA8D;QAC9D,sEAAsE;QACtE,MAAM,kBAAkB,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,YAAY,GAAG,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;QACtF,eAAe,GAAG,KAAK,CACtB,eAAe,EACf,CAAC,kBAAkB,EACnB,kBAAkB,CAClB,CAAC;QAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,YAAY,GAAG,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;QACrF,eAAe,GAAG,KAAK,CACtB,eAAe,EACf,CAAC,kBAAkB,EACnB,kBAAkB,CAClB,CAAC;QAEF,OAAO;YACN,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;YAC9B,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;SAC9B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,WAAmB,EAAE,YAAoB,EAAE,UAAmB,EAAE,WAAwB;QACzG,IAAI,UAAU,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;YACzC,OAAO,gBAAgB,CAAC,KAAK,CAAC;QAC/B,CAAC;QAED,IAAI,WAAW,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;YACtD,OAAO,gBAAgB,CAAC,GAAG,CAAC;QAC7B,CAAC;QAED,IAAI,YAAY,GAAG,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;YAC3D,OAAO,gBAAgB,CAAC,MAAM,CAAC;QAChC,CAAC;QAED,IAAI,YAAY,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;YACvD,OAAO,gBAAgB,CAAC,GAAG,CAAC;QAC7B,CAAC;IACF,CAAC;IAED,kBAAkB,CAAC,UAAmB,EAAE,WAAwB;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,eAAe,GAAG,SAAS,CAAC;QAEhC,MAAM,WAAW,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC;QACzD,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;QAE3D,QAAQ,SAAS,EAAE,CAAC;YACpB,KAAK,gBAAgB,CAAC,GAAG;gBACxB,IAAI,UAAU,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM;uBACnC,UAAU,CAAC,GAAG,GAAG,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;oBACvD,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBAC3C,CAAC;gBACD,MAAM;YACP,KAAK,gBAAgB,CAAC,MAAM;gBAC3B,IAAI,YAAY,GAAG,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM;uBACrD,YAAY,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;oBACvD,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC;gBACxC,CAAC;gBACD,MAAM;YACP,KAAK,gBAAgB,CAAC,KAAK;gBAC1B,IAAI,UAAU,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;oBACzC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,IAAI,SAAS,CAAC;gBAC3G,CAAC;gBACD,MAAM;YACP,KAAK,gBAAgB,CAAC,GAAG;gBACxB,IAAI,WAAW,GAAG,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;oBACxD,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,IAAI,SAAS,CAAC;gBAC3G,CAAC;gBACD,MAAM;QACP,CAAC;QAED,OAAO,eAAe,CAAC;IACxB,CAAC;IAED,eAAe,CAAC,UAAmB,EAAE,WAAwB;QAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC;QACpD,IAAI,IAAI,GAAG,SAAO,CAAC,eAAe,CAAC;QAEnC,QAAQ,eAAe,EAAE,CAAC;YAC1B,KAAK,sBAAsB,CAAC,MAAM,CAAC;YACnC,KAAK,sBAAsB,CAAC,OAAO;gBAClC,IAAI,GAAG,UAAU,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACpE,MAAM;YACP,KAAK,sBAAsB,CAAC,KAAK;gBAChC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;gBACvB,MAAM;YACP,KAAK,sBAAsB,CAAC,GAAG;gBAC9B,IAAI,GAAG,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;gBAC5C,MAAM;QACP,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,gBAAgB,CAAC,UAAmB,EAAE,WAAwB;QAC7D,IAAI,GAAG,GAAG,CAAC,CAAC;QAEZ,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7B,KAAK,oBAAoB,CAAC,MAAM,CAAC;YACjC,KAAK,oBAAoB,CAAC,OAAO;gBAChC,GAAG,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpE,MAAM;YACP,KAAK,oBAAoB,CAAC,GAAG;gBAC5B,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;gBACrB,MAAM;YACP,KAAK,oBAAoB,CAAC,MAAM;gBAC/B,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;gBAC7C,MAAM;QACP,CAAC;QAED,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,IAAI,eAAe;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7C,OAAO,kBAAkB,CAAC;QAC3B,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,MAAM;QACT,OAAO;YACN,GAAG,KAAK,CAAC,MAAM;YACf,IAAI,EAAE;gBACL,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC3D,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE;aACxD;YACD,KAAK,EAAE;gBACN,SAAS,EAAE,aAAa,IAAI,CAAC,eAAe,OAAO,IAAI,CAAC,eAAe,KAAK;aAC5E;SACD,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QACV,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC;QACjC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;QAE3C,OAAO,UAAU,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QACjB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,sBAAsB;QACzB,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,eAAe,KAAK,sBAAsB,CAAC,KAAK,EAAE,CAAC;gBAC3D,OAAO,sBAAsB,CAAC,GAAG,CAAC;YACnC,CAAC;YAED,IAAI,IAAI,CAAC,eAAe,KAAK,sBAAsB,CAAC,GAAG,EAAE,CAAC;gBACzD,OAAO,sBAAsB,CAAC,KAAK,CAAC;YACrC,CAAC;QACF,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;CACD,CAAA;AAvtBA;IADC,QAAQ,EAAE;2CACS;AAQpB;IADC,QAAQ,EAAE;0CAC8B;AAQzC;IADC,QAAQ,EAAE;gDAC6C;AAQxD;IADC,QAAQ,EAAE;8CACyC;AAUpD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sCACd;AASd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACV;AASlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDACD;AAO3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;gDAC1B;AAOpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;gDAC1B;AAOpB;IADC,QAAQ,EAAE;gDACoC;AAG/C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;2CAC1B;AAGpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;0CAC3B;AAOnB;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;uCACA;AAO5B;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;uCACA;AA4B5B;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;qCAW9C;AA7II,OAAO;IAVZ,aAAa,CAAC;QACd,GAAG,EAAE,aAAa;QAClB,MAAM,EAAE;YACP,KAAK,CAAC,MAAM;YACZ,eAAe;YACf,UAAU;YACV,0BAA0B,EAAE;SAC5B;QACD,QAAQ,EAAE,eAAe;KACzB,CAAC;GACI,OAAO,CAiuBZ;AAED,MAAM,iBAAiB,GAAG,CAAC,MAAW,EAAqB,EAAE;IAC5D,OAAO,QAAQ,IAAI,MAAM,CAAC;AAC3B,CAAC,CAAC;AAEF,OAAO,CAAC,MAAM,EAAE,CAAC;AAEjB,eAAe,OAAO,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,CAAC","sourcesContent":["import { instanceOfUI5Element } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type 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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport { isIOS } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getClosedPopupParent } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport Popup from \"./Popup.js\";\nimport PopoverPlacement from \"./types/PopoverPlacement.js\";\nimport PopoverVerticalAlign from \"./types/PopoverVerticalAlign.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport { addOpenedPopover, removeOpenedPopover } from \"./popup-utils/PopoverRegistry.js\";\n\n// Template\nimport PopoverTemplate from \"./PopoverTemplate.js\";\n// Styles\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport PopoverCss from \"./generated/themes/Popover.css.js\";\n\nconst ARROW_SIZE = 8;\n\ntype PopoverSize = {\n\twidth: number;\n\theight: number;\n}\n\ntype ArrowPosition = {\n\tx: number;\n\ty: number;\n}\n\ntype CalculatedPlacement = {\n\tarrow: ArrowPosition,\n\ttop: number,\n\tleft: number,\n\tplacement: `${PopoverPlacement}`,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-popover` component displays additional information for an object\n * in a compact way and without leaving the page.\n * The Popover can contain various UI elements, such as fields, tables, images, and charts.\n * It can also include actions in the footer.\n *\n * ### Structure\n *\n * The popover has three main areas:\n *\n * - Header (optional)\n * - Content\n * - Footer (optional)\n *\n * **Note:** The `ui5-popover` is closed when the user clicks\n * or taps outside the popover\n * or selects an action within the popover. You can prevent this with the\n * `modal` property.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Popover.js\";`\n *\n * @constructor\n * @extends Popup\n * @since 1.0.0-rc.6\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-popover\",\n\tstyles: [\n\t\tPopup.styles,\n\t\tPopupsCommonCss,\n\t\tPopoverCss,\n\t\tgetEffectiveScrollbarStyle(),\n\t],\n\ttemplate: PopoverTemplate,\n})\nclass Popover extends Popup {\n\teventDetails!: Popup[\"eventDetails\"];\n\t/**\n\t * Defines the header text.\n\t *\n\t * **Note:** If `header` slot is provided, the `headerText` is ignored.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\theaderText?: string;\n\n\t/**\n\t * Determines on which side the component is placed at.\n\t * @default \"End\"\n\t * @public\n\t */\n\t@property()\n\tplacement: `${PopoverPlacement}` = \"End\";\n\n\t/**\n\t * Determines the horizontal alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property()\n\thorizontalAlign: `${PopoverHorizontalAlign}` = \"Center\";\n\n\t/**\n\t * Determines the vertical alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property()\n\tverticalAlign: `${PopoverVerticalAlign}` = \"Center\";\n\n\t/**\n\t * Defines whether the component should close when\n\t * clicking/tapping outside of the popover.\n\t * If enabled, it blocks any interaction with the background.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmodal = false;\n\n\t/**\n\t * Determines whether the component arrow is hidden.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\thideArrow = false;\n\n\t/**\n\t * Determines if there is no enough space, the component can be placed\n\t * over the target.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tallowTargetOverlap = false;\n\n\t/**\n\t * Sets the X translation of the arrow\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tarrowTranslateX = 0;\n\n\t/**\n\t * Sets the Y translation of the arrow\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tarrowTranslateY = 0;\n\n\t/**\n\t * Returns the calculated placement depending on the free space\n\t * @private\n\t */\n\t@property()\n\tactualPlacement: `${PopoverPlacement}` = \"End\";\n\n\t@property({ type: Number, noAttribute: true })\n\t_maxHeight?: number;\n\n\t@property({ type: Number, noAttribute: true })\n\t_maxWidth?: number;\n\n\t/**\n\t * Defines the header HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\tfooter!: Array<HTMLElement>;\n\n\t_opener?: HTMLElement | string;\n\t_openerRect?: DOMRect;\n\t_preventRepositionAndClose?: boolean;\n\t_top?: number;\n\t_left?: number;\n\t_oldPlacement?: CalculatedPlacement;\n\t_width?: string;\n\t_height?: string;\n\n\tstatic get VIEWPORT_MARGIN() {\n\t\treturn 10; // px\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t/**\n\t * Defines the ID or DOM Reference of the element at which the popover is shown.\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * @public\n\t * @default undefined\n\t * @since 1.2.0\n\t */\n\t@property({ converter: DOMReferenceConverter })\n\tset opener(value: HTMLElement | string) {\n\t\tif (this._opener === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = value;\n\n\t\tif (value && this.open) {\n\t\t\tthis.openPopup();\n\t\t}\n\t}\n\n\tget opener(): HTMLElement | string | undefined {\n\t\treturn this._opener;\n\t}\n\n\tasync openPopup() {\n\t\tif (this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (!opener) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isOpenerOutsideViewport(opener.getBoundingClientRect())) {\n\t\t\tawait renderFinished();\n\t\t\tthis.open = false;\n\t\t\tthis.fireDecoratorEvent(\"close\");\n\t\t\treturn;\n\t\t}\n\n\t\tthis._openerRect = opener.getBoundingClientRect();\n\n\t\tawait super.openPopup();\n\t}\n\n\tisOpenerClicked(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (!opener) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (target === opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (this._isUI5AbstractElement(target) && target.getFocusDomRef() === opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn e.composedPath().indexOf(opener) > -1;\n\t}\n\n\t/**\n\t * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)\n\t * @private\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopover(this);\n\t}\n\n\t/**\n\t * Override for the _removeOpenedPopup hook, which would otherwise just call removeOpenedPopup(this)\n\t * @private\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopover(this);\n\t}\n\n\tgetOpenerHTMLElement(opener: HTMLElement | string | undefined): HTMLElement | null | undefined {\n\t\tif (opener === undefined) {\n\t\t\treturn opener;\n\t\t}\n\n\t\tif (opener instanceof HTMLElement) {\n\t\t\treturn this._isUI5AbstractElement(opener) ? opener.getFocusDomRef() : opener;\n\t\t}\n\n\t\tlet rootNode = this.getRootNode();\n\n\t\tif (rootNode === this) {\n\t\t\trootNode = document;\n\t\t}\n\n\t\tlet openerHTMLElement = (rootNode as Document | ShadowRoot).getElementById(opener);\n\n\t\tif (rootNode instanceof ShadowRoot && !openerHTMLElement) {\n\t\t\topenerHTMLElement = document.getElementById(opener);\n\t\t}\n\n\t\tif (openerHTMLElement) {\n\t\t\treturn this._isUI5AbstractElement(openerHTMLElement) ? openerHTMLElement.getFocusDomRef() : openerHTMLElement;\n\t\t}\n\n\t\treturn openerHTMLElement;\n\t}\n\n\tshouldCloseDueToOverflow(placement: `${PopoverPlacement}`, openerRect: DOMRect): boolean {\n\t\tconst threshold = 32;\n\t\tconst limits = {\n\t\t\t\"Start\": openerRect.right,\n\t\t\t\"End\": openerRect.left,\n\t\t\t\"Top\": openerRect.top,\n\t\t\t\"Bottom\": openerRect.bottom,\n\t\t};\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\t\tconst closedPopupParent = getClosedPopupParent(opener!);\n\t\tlet overflowsBottom = false;\n\t\tlet overflowsTop = false;\n\n\t\tif (closedPopupParent instanceof Popover) {\n\t\t\tconst contentRect = closedPopupParent.getBoundingClientRect();\n\t\t\toverflowsBottom = openerRect.top > (contentRect.top + contentRect.height);\n\t\t\toverflowsTop = (openerRect.top + openerRect.height) < contentRect.top;\n\t\t}\n\n\t\treturn (limits[placement] < 0 || (limits[placement] + threshold > (closedPopupParent as unknown as Window).innerHeight)) || overflowsBottom || overflowsTop;\n\t}\n\n\tshouldCloseDueToNoOpener(openerRect: DOMRect): boolean {\n\t\treturn openerRect.top === 0\n\t\t\t&& openerRect.bottom === 0\n\t\t\t&& openerRect.left === 0\n\t\t\t&& openerRect.right === 0;\n\t}\n\n\tisOpenerOutsideViewport(openerRect: DOMRect): boolean {\n\t\treturn openerRect.bottom < 0\n\t\t\t|| openerRect.top > window.innerHeight\n\t\t\t|| openerRect.right < 0\n\t\t\t|| openerRect.left > window.innerWidth;\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (this.open) {\n\t\t\tthis.reposition();\n\t\t}\n\t}\n\n\treposition() {\n\t\tthis._show();\n\t}\n\n\tasync _show() {\n\t\tsuper._show();\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (opener && instanceOfUI5Element(opener) && !opener.getDomRef()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._opened) {\n\t\t\tthis._showOutsideViewport();\n\t\t}\n\n\t\tconst popoverSize = this.getPopoverSize();\n\t\tlet placement;\n\n\t\tif (popoverSize.width === 0 || popoverSize.height === 0) {\n\t\t\t// size can not be determined properly at this point, popover will be shown with the next reposition\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.open) {\n\t\t\t// update opener rect if it was changed during the popover being opened\n\t\t\tthis._openerRect = opener!.getBoundingClientRect();\n\t\t}\n\n\t\tif (this._oldPlacement && this.shouldCloseDueToNoOpener(this._openerRect!) && this.isFocusWithin()) {\n\t\t\t// reuse the old placement as the opener is not available,\n\t\t\t// but keep the popover open as the focus is within\n\t\t\tplacement = this._oldPlacement;\n\t\t} else {\n\t\t\tplacement = this.calcPlacement(this._openerRect!, popoverSize);\n\t\t}\n\n\t\tif (this._preventRepositionAndClose || this.isOpenerOutsideViewport(this._openerRect!)) {\n\t\t\tawait this._waitForDomRef();\n\t\t\treturn this.closePopup();\n\t\t}\n\n\t\tthis._oldPlacement = placement;\n\t\tthis.actualPlacement = placement.placement;\n\n\t\tlet left = clamp(\n\t\t\tthis._left!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientWidth - popoverSize.width - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.End) {\n\t\t\tleft = Math.max(left, this._left!);\n\t\t}\n\n\t\tlet top = clamp(\n\t\t\tthis._top!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientHeight - popoverSize.height - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.Bottom) {\n\t\t\ttop = Math.max(top, this._top!);\n\t\t}\n\n\t\tthis.arrowTranslateX = placement.arrow.x;\n\t\tthis.arrowTranslateY = placement.arrow.y;\n\n\t\ttop = this._adjustForIOSKeyboard(top);\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && this._width) {\n\t\t\tthis.style.width = this._width;\n\t\t}\n\n\t\tif (this.verticalAlign === PopoverVerticalAlign.Stretch && this._height) {\n\t\t\tthis.style.height = this._height;\n\t\t}\n\t}\n\n\t/**\n\t * Adjust the desired top position to compensate for shift of the screen\n\t * caused by opened keyboard on iOS which affects all elements with position:fixed.\n\t * @private\n\t * @param top The target top in px.\n\t * @returns The adjusted top in px.\n\t */\n\t_adjustForIOSKeyboard(top: number): number {\n\t\tif (!isIOS()) {\n\t\t\treturn top;\n\t\t}\n\n\t\tconst actualTop = Math.ceil(this.getBoundingClientRect().top);\n\n\t\treturn top + (Number.parseInt(this.style.top || \"0\") - actualTop);\n\t}\n\n\tgetPopoverSize(): PopoverSize {\n\t\tconst rect = this.getBoundingClientRect(),\n\t\t\twidth = rect.width,\n\t\t\theight = rect.height;\n\n\t\treturn { width, height };\n\t}\n\n\t_showOutsideViewport() {\n\t\tObject.assign(this.style, {\n\t\t\ttop: \"-10000px\",\n\t\t\tleft: \"-10000px\",\n\t\t});\n\t}\n\n\t_isUI5AbstractElement(el: HTMLElement): el is UI5Element {\n\t\treturn instanceOfUI5Element(el) && el.isUI5AbstractElement;\n\t}\n\n\tget arrowDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popover-arrow\")!;\n\t}\n\n\t/**\n\t * @protected\n\t */\n\tfocusOpener() {\n\t\tthis.getOpenerHTMLElement(this.opener)?.focus();\n\t}\n\n\t/**\n\t * @private\n\t */\n\tcalcPlacement(targetRect: DOMRect, popoverSize: PopoverSize): CalculatedPlacement {\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\t\tlet top = 0;\n\t\tconst allowTargetOverlap = this.allowTargetOverlap;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tlet maxHeight = clientHeight;\n\t\tlet maxWidth = clientWidth;\n\n\t\tconst placement = this.getActualPlacement(targetRect, popoverSize);\n\n\t\tthis._preventRepositionAndClose = this.shouldCloseDueToNoOpener(targetRect) || this.shouldCloseDueToOverflow(placement, targetRect);\n\n\t\tconst isVertical = placement === PopoverPlacement.Top\n\t\t\t|| placement === PopoverPlacement.Bottom;\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && isVertical) {\n\t\t\tpopoverSize.width = targetRect.width;\n\t\t\tthis._width = `${targetRect.width}px`;\n\t\t} else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {\n\t\t\tpopoverSize.height = targetRect.height;\n\t\t\tthis._height = `${targetRect.height}px`;\n\t\t}\n\n\t\tconst arrowOffset = this.hideArrow ? 0 : ARROW_SIZE;\n\n\t\t// calc popover positions\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = Math.max(targetRect.top - popoverSize.height - arrowOffset, 0);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxHeight = targetRect.top - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = targetRect.bottom + arrowOffset;\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\ttop = Math.max(Math.min(top, clientHeight - popoverSize.height), 0);\n\t\t\t} else {\n\t\t\t\tmaxHeight = clientHeight - targetRect.bottom - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tleft = Math.max(targetRect.left - popoverSize.width - arrowOffset, 0);\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxWidth = targetRect.left - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tleft = targetRect.left + targetRect.width + arrowOffset;\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\tleft = Math.max(Math.min(left, clientWidth - popoverSize.width), 0);\n\t\t\t} else {\n\t\t\t\tmaxWidth = clientWidth - targetRect.right - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// correct popover positions\n\t\tif (isVertical) {\n\t\t\tif (popoverSize.width > clientWidth || left < Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (left + popoverSize.width > clientWidth - Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = clientWidth - Popover.VIEWPORT_MARGIN - popoverSize.width;\n\t\t\t}\n\t\t} else {\n\t\t\tif (popoverSize.height > clientHeight || top < Popover.VIEWPORT_MARGIN) { // eslint-disable-line\n\t\t\t\ttop = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (top + popoverSize.height > clientHeight - Popover.VIEWPORT_MARGIN) {\n\t\t\t\ttop = clientHeight - Popover.VIEWPORT_MARGIN - popoverSize.height;\n\t\t\t}\n\t\t}\n\n\t\tthis._maxHeight = Math.round(maxHeight - Popover.VIEWPORT_MARGIN);\n\t\tthis._maxWidth = Math.round(maxWidth - Popover.VIEWPORT_MARGIN);\n\n\t\tif (this._left === undefined || Math.abs(this._left - left) > 1.5) {\n\t\t\tthis._left = Math.round(left);\n\t\t}\n\n\t\tif (this._top === undefined || Math.abs(this._top - top) > 1.5) {\n\t\t\tthis._top = Math.round(top);\n\t\t}\n\n\t\tconst borderRadius = Number.parseInt(window.getComputedStyle(this).getPropertyValue(\"border-radius\"));\n\t\tconst arrowPos = this.getArrowPosition(targetRect, popoverSize, left, top, isVertical, borderRadius);\n\n\t\tthis._left += this.getRTLCorrectionLeft();\n\n\t\treturn {\n\t\t\tarrow: arrowPos,\n\t\t\ttop: this._top,\n\t\t\tleft: this._left,\n\t\t\tplacement,\n\t\t};\n\t}\n\n\tgetRTLCorrectionLeft() {\n\t\treturn parseFloat(window.getComputedStyle(this).left) - this.getBoundingClientRect().left;\n\t}\n\n\t/**\n\t * Calculates the position for the arrow.\n\t * @private\n\t * @param targetRect BoundingClientRect of the target element\n\t * @param popoverSize Width and height of the popover\n\t * @param left Left offset of the popover\n\t * @param top Top offset of the popover\n\t * @param isVertical If the popover is positioned vertically to the target element\n\t * @param borderRadius Value of the border-radius property\n\t * @returns Arrow's coordinates\n\t */\n\tgetArrowPosition(targetRect: DOMRect, popoverSize: PopoverSize, left: number, top: number, isVertical: boolean, borderRadius: number): ArrowPosition {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet arrowXCentered = horizontalAlign === PopoverHorizontalAlign.Center || horizontalAlign === PopoverHorizontalAlign.Stretch;\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.End && left <= targetRect.left) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.Start && left + popoverSize.width >= targetRect.left + targetRect.width) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tlet arrowTranslateX = 0;\n\t\tif (isVertical && arrowXCentered) {\n\t\t\tarrowTranslateX = targetRect.left + targetRect.width / 2 - left - popoverSize.width / 2;\n\t\t}\n\n\t\tlet arrowTranslateY = 0;\n\t\tif (!isVertical) {\n\t\t\tarrowTranslateY = targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2;\n\t\t}\n\n\t\t// Restricts the arrow's translate value along each dimension,\n\t\t// so that the arrow does not clip over the popover's rounded borders.\n\t\tconst safeRangeForArrowY = popoverSize.height / 2 - borderRadius - ARROW_SIZE / 2 - 2;\n\t\tarrowTranslateY = clamp(\n\t\t\tarrowTranslateY,\n\t\t\t-safeRangeForArrowY,\n\t\t\tsafeRangeForArrowY,\n\t\t);\n\n\t\tconst safeRangeForArrowX = popoverSize.width / 2 - borderRadius - ARROW_SIZE / 2 - 2;\n\t\tarrowTranslateX = clamp(\n\t\t\tarrowTranslateX,\n\t\t\t-safeRangeForArrowX,\n\t\t\tsafeRangeForArrowX,\n\t\t);\n\n\t\treturn {\n\t\t\tx: Math.round(arrowTranslateX),\n\t\t\ty: Math.round(arrowTranslateY),\n\t\t};\n\t}\n\n\t/**\n\t * Fallbacks to new placement, prioritizing `Left` and `Right` placements.\n\t * @private\n\t */\n\tfallbackPlacement(clientWidth: number, clientHeight: number, targetRect: DOMRect, popoverSize: PopoverSize): PopoverPlacement | undefined {\n\t\tif (targetRect.left > popoverSize.width) {\n\t\t\treturn PopoverPlacement.Start;\n\t\t}\n\n\t\tif (clientWidth - targetRect.right > targetRect.left) {\n\t\t\treturn PopoverPlacement.End;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom > popoverSize.height) {\n\t\t\treturn PopoverPlacement.Bottom;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\treturn PopoverPlacement.Top;\n\t\t}\n\t}\n\n\tgetActualPlacement(targetRect: DOMRect, popoverSize: PopoverSize): `${PopoverPlacement}` {\n\t\tconst placement = this.placement;\n\t\tlet actualPlacement = placement;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tif (targetRect.top < popoverSize.height\n\t\t\t\t&& targetRect.top < clientHeight - targetRect.bottom) {\n\t\t\t\tactualPlacement = PopoverPlacement.Bottom;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tif (clientHeight - targetRect.bottom < popoverSize.height\n\t\t\t\t&& clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\t\tactualPlacement = PopoverPlacement.Top;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tif (targetRect.left < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tif (clientWidth - targetRect.right < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\treturn actualPlacement;\n\t}\n\n\tgetVerticalLeft(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\n\t\tswitch (horizontalAlign) {\n\t\tcase PopoverHorizontalAlign.Center:\n\t\tcase PopoverHorizontalAlign.Stretch:\n\t\t\tleft = targetRect.left - (popoverSize.width - targetRect.width) / 2;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.Start:\n\t\t\tleft = targetRect.left;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.End:\n\t\t\tleft = targetRect.right - popoverSize.width;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn left;\n\t}\n\n\tgetHorizontalTop(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tlet top = 0;\n\n\t\tswitch (this.verticalAlign) {\n\t\tcase PopoverVerticalAlign.Center:\n\t\tcase PopoverVerticalAlign.Stretch:\n\t\t\ttop = targetRect.top - (popoverSize.height - targetRect.height) / 2;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Top:\n\t\t\ttop = targetRect.top;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Bottom:\n\t\t\ttop = targetRect.bottom - popoverSize.height;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\tget isModal() { // Required by Popup.js\n\t\treturn this.modal;\n\t}\n\n\tget _ariaLabelledBy() { // Required by Popup.js\n\t\tif (!this._ariaLabel && this._displayHeader) {\n\t\t\treturn \"ui5-popup-header\";\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\t...super.styles,\n\t\t\troot: {\n\t\t\t\t\"max-height\": this._maxHeight ? `${this._maxHeight}px` : \"\",\n\t\t\t\t\"max-width\": this._maxWidth ? `${this._maxWidth}px` : \"\",\n\t\t\t},\n\t\t\tarrow: {\n\t\t\t\ttransform: `translate(${this.arrowTranslateX}px, ${this.arrowTranslateY}px)`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\tconst allClasses = super.classes;\n\t\tallClasses.root[\"ui5-popover-root\"] = true;\n\n\t\treturn allClasses;\n\t}\n\n\t/**\n\t * Hook for descendants to hide header.\n\t */\n\tget _displayHeader() {\n\t\treturn !!(this.header.length || this.headerText);\n\t}\n\n\t/**\n\t * Hook for descendants to hide footer.\n\t */\n\tget _displayFooter() {\n\t\treturn true;\n\t}\n\n\tget _actualHorizontalAlign() {\n\t\tif (this.effectiveDir === \"rtl\") {\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Start) {\n\t\t\t\treturn PopoverHorizontalAlign.End;\n\t\t\t}\n\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.End) {\n\t\t\t\treturn PopoverHorizontalAlign.Start;\n\t\t\t}\n\t\t}\n\n\t\treturn this.horizontalAlign;\n\t}\n}\n\nconst instanceOfPopover = (object: any): object is Popover => {\n\treturn \"opener\" in object;\n};\n\nPopover.define();\n\nexport default Popover;\n\nexport { instanceOfPopover };\n"]}
package/dist/Popup.js CHANGED
@@ -162,15 +162,16 @@ let Popup = Popup_1 = class Popup extends UI5Element {
162
162
  return;
163
163
  }
164
164
  const prevented = !this.fireDecoratorEvent("before-open");
165
- if (prevented || this._opened) {
165
+ if (prevented) {
166
+ this.open = false;
166
167
  return;
167
168
  }
168
- this._opened = true;
169
169
  if (this.isModal) {
170
170
  Popup_1.blockPageScrolling(this);
171
171
  }
172
172
  this._focusedElementBeforeOpen = getFocusedElement();
173
173
  this._show();
174
+ this._opened = true;
174
175
  if (this.getDomRef()) {
175
176
  this._updateMediaRange();
176
177
  }
@@ -179,8 +180,6 @@ let Popup = Popup_1 = class Popup extends UI5Element {
179
180
  // initial focus, if focused element is statically created
180
181
  await this.applyInitialFocus();
181
182
  await renderFinished();
182
- // initial focus, if focused element is dynamically created
183
- await this.applyInitialFocus();
184
183
  if (this.isConnected) {
185
184
  this.fireDecoratorEvent("open");
186
185
  }
@@ -339,6 +338,7 @@ let Popup = Popup_1 = class Popup extends UI5Element {
339
338
  }
340
339
  const prevented = !this.fireDecoratorEvent("before-close", { escPressed });
341
340
  if (prevented) {
341
+ this.open = true;
342
342
  return;
343
343
  }
344
344
  this._opened = false;
@@ -367,10 +367,7 @@ let Popup = Popup_1 = class Popup extends UI5Element {
367
367
  * @protected
368
368
  */
369
369
  resetFocus() {
370
- if (!this._focusedElementBeforeOpen) {
371
- return;
372
- }
373
- this._focusedElementBeforeOpen.focus();
370
+ this._focusedElementBeforeOpen?.focus();
374
371
  this._focusedElementBeforeOpen = null;
375
372
  }
376
373
  /**
package/dist/Popup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Popup.js","sourceRoot":"","sources":["../src/Popup.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport jsxRender from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport {\n\tisChrome,\n\tisDesktop,\n\tisPhone,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getFirstFocusableElement, getLastFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport { hasStyle, createStyle } from \"@ui5/webcomponents-base/dist/ManagedStyles.js\";\nimport { isEnter, isTabPrevious } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getFocusedElement, isFocusedElementWithinNode } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport MediaRange from \"@ui5/webcomponents-base/dist/MediaRange.js\";\nimport toLowercaseEnumValue from \"@ui5/webcomponents-base/dist/util/toLowercaseEnumValue.js\";\nimport PopupTemplate from \"./PopupTemplate.js\";\nimport PopupAccessibleRole from \"./types/PopupAccessibleRole.js\";\nimport { addOpenedPopup, removeOpenedPopup } from \"./popup-utils/OpenedPopupsRegistry.js\";\n\n// Styles\nimport popupStlyes from \"./generated/themes/Popup.css.js\";\nimport popupBlockLayerStyles from \"./generated/themes/PopupBlockLayer.css.js\";\nimport globalStyles from \"./generated/themes/PopupGlobal.css.js\";\n\nconst createBlockingStyle = (): void => {\n\tif (!hasStyle(\"data-ui5-popup-scroll-blocker\")) {\n\t\tcreateStyle(globalStyles, \"data-ui5-popup-scroll-blocker\");\n\t}\n};\n\ncreateBlockingStyle();\n\nconst pageScrollingBlockers = new Set<Popup>();\n\ntype PopupScrollEventDetail = {\n\tscrollTop: number;\n\ttargetRef: HTMLElement;\n}\n\ntype PopupBeforeCloseEventDetail = {\n\tescPressed: boolean;\n}\n\n/**\n * @class\n * ### Overview\n * Base class for all popup Web Components.\n *\n * If you need to create your own popup-like custom UI5 Web Components.\n *\n * 1. The Popup class handles modality:\n * - The \"isModal\" getter can be overridden by derivatives to provide their own conditions when they are modal or not\n * - Derivatives may call the \"blockPageScrolling\" and \"unblockPageScrolling\" static methods to temporarily remove scrollbars on the html element\n * - Derivatives may call the \"openPopup\" and \"closePopup\" methods which handle focus, manage the popup registry and for modal popups, manage the blocking layer\n *\n * 2. Provides blocking layer (relevant for modal popups only):\n * - Controlled by the \"open\" and \"close\" methods\n *\n * 3. The Popup class \"traps\" focus:\n * - Derivatives may call the \"applyInitialFocus\" method (usually when opening, to transfer focus inside the popup)\n *\n * 4. The template of this component exposes two inline partials you can override in derivatives:\n * - beforeContent (upper part of the box, useful for header/title/close button)\n * - afterContent (lower part, useful for footer/action buttons)\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n\trenderer: jsxRender,\n\tstyles: [popupStlyes, popupBlockLayerStyles],\n\ttemplate: PopupTemplate,\n})\n/**\n * Fired before the component is opened. This event can be cancelled, which will prevent the popup from opening.\n * @public\n */\n@event(\"before-open\", {\n\tcancelable: true,\n})\n\n/**\n * Fired after the component is opened.\n * @public\n */\n@event(\"open\")\n\n/**\n * Fired before the component is closed. This event can be cancelled, which will prevent the popup from closing.\n * @public\n * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.\n */\n@event(\"before-close\", {\n\tcancelable: true,\n})\n\n/**\n * Fired after the component is closed.\n * @public\n */\n@event(\"close\")\n\n/**\n * Fired whenever the popup content area is scrolled\n * @private\n */\n@event(\"scroll\", {\n\tbubbles: true,\n})\nabstract class Popup extends UI5Element {\n\teventDetails!: {\n\t\t\"before-open\": void\n\t\t\"open\": void\n\t\t\"before-close\": PopupBeforeCloseEventDetail\n\t\t\"close\": void\n\t\t\"scroll\": PopupScrollEventDetail\n\t}\n\n\t/**\n\t * Defines the ID of the HTML Element, which will get the initial focus.\n\t *\n\t * **Note:** If an element with `autofocus` attribute is added inside the component,\n\t * `initialFocus` won't take effect.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tinitialFocus?: string;\n\n\t/**\n\t * Defines if the focus should be returned to the previously focused element,\n\t * when the popup closes.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t*/\n\t@property({ type: Boolean })\n\tpreventFocusRestore = false;\n\n\t/**\n\t * Defines the accessible 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 * Defines the IDs of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Allows setting a custom role.\n\t * @default \"Dialog\"\n\t * @public\n\t * @since 1.10.0\n\t */\n\t@property()\n\taccessibleRole: `${PopupAccessibleRole}` = \"Dialog\";\n\n\t/**\n\t * Defines the current media query size.\n\t * @private\n\t */\n\t@property()\n\tmediaRange?: string;\n\n\t/**\n\t * Indicates whether initial focus should be prevented.\n\t * @public\n\t * @default false\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\tpreventInitialFocus = false;\n\n\t/**\n\t * Indicates if the element is the top modal popup\n\t *\n\t * This property is calculated automatically\n\t * @private\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\tisTopModalPopup = false;\n\n\t/**\n\t * Defines the content of the Popup.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tcontent!: Array<HTMLElement>;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonPhone = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonDesktop = false;\n\n\t_resizeHandler: ResizeObserverCallback;\n\t_shouldFocusRoot?: boolean;\n\t_focusedElementBeforeOpen?: HTMLElement | null;\n\t_opened = false;\n\t_open = false;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._resizeHandler = this._resize.bind(this);\n\n\t\tthis._getRealDomRef = () => {\n\t\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\"[root-element]\")!;\n\t\t};\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.onPhone = isPhone();\n\t\tthis.onDesktop = isDesktop();\n\t}\n\n\tonAfterRendering() {\n\t\trenderFinished().then(() => {\n\t\t\tthis._updateMediaRange();\n\t\t});\n\t}\n\n\tonEnterDOM() {\n\t\tthis.setAttribute(\"popover\", \"manual\");\n\t\tResizeHandler.register(this, this._resizeHandler);\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\n\t\tthis.tabIndex = -1;\n\n\t\tif (this.open) {\n\t\t\tthis.showPopover();\n\t\t\tthis.openPopup();\n\t\t}\n\t}\n\n\tonExitDOM() {\n\t\tif (this._opened) {\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t\tthis._removeOpenedPopup();\n\t\t}\n\n\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t}\n\n\t/**\n\t * Indicates if the element is open\n\t * @public\n\t * @default false\n\t * @since 1.2.0\n\t */\n\t@property({ type: Boolean })\n\tset open(value: boolean) {\n\t\tif (this._open === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._open = value;\n\n\t\tif (value) {\n\t\t\tthis.openPopup();\n\t\t} else {\n\t\t\tthis.closePopup();\n\t\t}\n\t}\n\n\tget open() : boolean {\n\t\treturn this._open;\n\t}\n\n\tasync openPopup() {\n\t\tif (this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevented = !this.fireDecoratorEvent(\"before-open\");\n\n\t\tif (prevented || this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opened = true;\n\n\t\tif (this.isModal) {\n\t\t\tPopup.blockPageScrolling(this);\n\t\t}\n\n\t\tthis._focusedElementBeforeOpen = getFocusedElement();\n\n\t\tthis._show();\n\n\t\tif (this.getDomRef()) {\n\t\t\tthis._updateMediaRange();\n\t\t}\n\n\t\tthis._addOpenedPopup();\n\n\t\tthis.open = true;\n\n\t\t// initial focus, if focused element is statically created\n\t\tawait this.applyInitialFocus();\n\n\t\tawait renderFinished();\n\n\t\t// initial focus, if focused element is dynamically created\n\t\tawait this.applyInitialFocus();\n\n\t\tif (this.isConnected) {\n\t\t\tthis.fireDecoratorEvent(\"open\");\n\t\t}\n\t}\n\n\t_resize() {\n\t\tthis._updateMediaRange();\n\t}\n\n\t/**\n\t * Prevents the user from interacting with the content under the block layer\n\t */\n\t_preventBlockLayerFocus(e: KeyboardEvent | MouseEvent) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Temporarily removes scrollbars from the html element\n\t * @protected\n\t */\n\tstatic blockPageScrolling(popup: Popup) {\n\t\tpageScrollingBlockers.add(popup);\n\n\t\tif (pageScrollingBlockers.size !== 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.documentElement.classList.add(\"ui5-popup-scroll-blocker\");\n\t}\n\n\t/**\n\t * Restores scrollbars on the html element, if needed\n\t * @protected\n\t */\n\tstatic unblockPageScrolling(popup: Popup) {\n\t\tpageScrollingBlockers.delete(popup);\n\n\t\tif (pageScrollingBlockers.size !== 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.documentElement.classList.remove(\"ui5-popup-scroll-blocker\");\n\t}\n\n\t_scroll(e: Event) {\n\t\tthis.fireDecoratorEvent(\"scroll\", {\n\t\t\tscrollTop: (e.target as HTMLElement).scrollTop,\n\t\t\ttargetRef: e.target as HTMLElement,\n\t\t});\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isTabOutAttempt = e.target === this._root && isTabPrevious(e);\n\t\t// if the popup is closed, focus is already moved, so Enter keydown may result in click on the newly focused element\n\t\tconst isEnterOnClosedPopupChild = isEnter(e) && !this.open;\n\n\t\tif (isTabOutAttempt || isEnterOnClosedPopupChild) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\t// relatedTarget is the element, which will get focus. If no such element exists, focus the root.\n\t\t// This happens after the mouse is released in order to not interrupt text selection.\n\t\tif (!e.relatedTarget) {\n\t\t\tthis._shouldFocusRoot = true;\n\t\t}\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tif (this.shadowRoot!.contains(e.target as HTMLElement)) {\n\t\t\tthis._shouldFocusRoot = true;\n\t\t} else {\n\t\t\tthis._shouldFocusRoot = false;\n\t\t}\n\t}\n\n\t_onmouseup() {\n\t\tif (this._shouldFocusRoot) {\n\t\t\tif (isChrome()) {\n\t\t\t\tthis._root.focus();\n\t\t\t}\n\t\t\tthis._shouldFocusRoot = false;\n\t\t}\n\t}\n\n\t/**\n\t * Focus trapping\n\t * @private\n\t */\n\tasync forwardToFirst() {\n\t\tconst firstFocusable = await getFirstFocusableElement(this);\n\n\t\tif (firstFocusable) {\n\t\t\tfirstFocusable.focus();\n\t\t} else {\n\t\t\tthis._root.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Focus trapping\n\t * @private\n\t */\n\tasync forwardToLast() {\n\t\tconst lastFocusable = await getLastFocusableElement(this);\n\n\t\tif (lastFocusable) {\n\t\t\tlastFocusable.focus();\n\t\t} else {\n\t\t\tthis._root.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Use this method to focus the element denoted by \"initialFocus\", if provided,\n\t * or the first focusable element otherwise.\n\t * @protected\n\t */\n\tasync applyInitialFocus() {\n\t\tif (!this.preventInitialFocus) {\n\t\t\tawait this.applyFocus();\n\t\t}\n\t}\n\n\t/**\n\t * Focuses the element denoted by `initialFocus`, if provided,\n\t * or the first focusable element otherwise.\n\t * @public\n\t * @returns Promise that resolves when the focus is applied\n\t */\n\tasync applyFocus(): Promise<void> {\n\t\t// do nothing if the standard HTML autofocus is used\n\t\tif (this.querySelector(\"[autofocus]\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this._waitForDomRef();\n\n\t\tif (this.getRootNode() === this) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet element;\n\n\t\tif (this.initialFocus) {\n\t\t\telement = (this.getRootNode() as Document).getElementById(this.initialFocus)\n\t\t\t|| document.getElementById(this.initialFocus);\n\t\t}\n\n\t\telement = element || await getFirstFocusableElement(this) || this._root; // in case of no focusable content focus the root\n\n\t\tif (element) {\n\t\t\tif (element === this._root) {\n\t\t\t\telement.tabIndex = -1;\n\t\t\t}\n\t\t\telement.focus();\n\t\t}\n\t}\n\n\tisFocusWithin() {\n\t\treturn isFocusedElementWithinNode(this._root);\n\t}\n\n\t_updateMediaRange() {\n\t\tthis.mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS, this.getDomRef()!.offsetWidth);\n\t}\n\n\t/**\n\t * Adds the popup to the \"opened popups registry\"\n\t * @protected\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopup(this);\n\t}\n\n\t/**\n\t * Closes the popup.\n\t */\n\tclosePopup(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false): void {\n\t\tif (!this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevented = !this.fireDecoratorEvent(\"before-close\", { escPressed });\n\t\tif (prevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opened = false;\n\n\t\tif (this.isModal) {\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t}\n\n\t\tthis.hide();\n\t\tthis.open = false;\n\n\t\tif (!preventRegistryUpdate) {\n\t\t\tthis._removeOpenedPopup();\n\t\t}\n\n\t\tif (!this.preventFocusRestore && !preventFocusRestore) {\n\t\t\tthis.resetFocus();\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\t/**\n\t * Removes the popup from the \"opened popups registry\"\n\t * @protected\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopup(this);\n\t}\n\n\t/**\n\t * Returns the focus to the previously focused element\n\t * @protected\n\t */\n\tresetFocus() {\n\t\tif (!this._focusedElementBeforeOpen) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focusedElementBeforeOpen.focus();\n\t\tthis._focusedElementBeforeOpen = null;\n\t}\n\n\t/**\n\t * Sets \"block\" display to the popup. The property can be overriden by derivatives of Popup.\n\t * @protected\n\t */\n\t_show() {\n\t\tif (this.isConnected) {\n\t\t\tthis.setAttribute(\"popover\", \"manual\");\n\t\t\tthis.showPopover();\n\t\t}\n\t}\n\n\t/**\n\t * Sets \"none\" display to the popup\n\t * @protected\n\t */\n\thide() {\n\t\tthis.isConnected && this.hidePopover();\n\t}\n\n\t/**\n\t * Implement this getter with relevant logic regarding the modality of the popup (e.g. based on a public property)\n\t * @protected\n\t */\n\tabstract get isModal(): boolean\n\n\t/**\n\t * Return the ID of an element in the shadow DOM that is going to label this popup\n\t * @protected\n\t */\n\tabstract get _ariaLabelledBy(): string | undefined\n\n\t/**\n\t * Ensures ariaLabel is never null or empty string\n\t * @protected\n\t */\n\tget _ariaLabel() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget _root(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-root\")!;\n\t}\n\n\tget _role() {\n\t\treturn (this.accessibleRole === PopupAccessibleRole.None) ? undefined : toLowercaseEnumValue(this.accessibleRole);\n\t}\n\n\tget _ariaModal(): \"true\" | undefined {\n\t\treturn this.accessibleRole === PopupAccessibleRole.None ? undefined : \"true\";\n\t}\n\n\tget contentDOM(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-content\")!;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\troot: {},\n\t\t\tcontent: {},\n\t\t};\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-popup-root\": true,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\t\"ui5-popup-content\": true,\n\t\t\t},\n\t\t};\n\t}\n}\n\nexport default Popup;\nexport type { PopupScrollEventDetail, PopupBeforeCloseEventDetail };\n"]}
1
+ {"version":3,"file":"Popup.js","sourceRoot":"","sources":["../src/Popup.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport jsxRender from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport {\n\tisChrome,\n\tisDesktop,\n\tisPhone,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getFirstFocusableElement, getLastFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport { hasStyle, createStyle } from \"@ui5/webcomponents-base/dist/ManagedStyles.js\";\nimport { isEnter, isTabPrevious } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getFocusedElement, isFocusedElementWithinNode } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport MediaRange from \"@ui5/webcomponents-base/dist/MediaRange.js\";\nimport toLowercaseEnumValue from \"@ui5/webcomponents-base/dist/util/toLowercaseEnumValue.js\";\nimport PopupTemplate from \"./PopupTemplate.js\";\nimport PopupAccessibleRole from \"./types/PopupAccessibleRole.js\";\nimport { addOpenedPopup, removeOpenedPopup } from \"./popup-utils/OpenedPopupsRegistry.js\";\n\n// Styles\nimport popupStlyes from \"./generated/themes/Popup.css.js\";\nimport popupBlockLayerStyles from \"./generated/themes/PopupBlockLayer.css.js\";\nimport globalStyles from \"./generated/themes/PopupGlobal.css.js\";\n\nconst createBlockingStyle = (): void => {\n\tif (!hasStyle(\"data-ui5-popup-scroll-blocker\")) {\n\t\tcreateStyle(globalStyles, \"data-ui5-popup-scroll-blocker\");\n\t}\n};\n\ncreateBlockingStyle();\n\nconst pageScrollingBlockers = new Set<Popup>();\n\ntype PopupScrollEventDetail = {\n\tscrollTop: number;\n\ttargetRef: HTMLElement;\n}\n\ntype PopupBeforeCloseEventDetail = {\n\tescPressed: boolean;\n}\n\n/**\n * @class\n * ### Overview\n * Base class for all popup Web Components.\n *\n * If you need to create your own popup-like custom UI5 Web Components.\n *\n * 1. The Popup class handles modality:\n * - The \"isModal\" getter can be overridden by derivatives to provide their own conditions when they are modal or not\n * - Derivatives may call the \"blockPageScrolling\" and \"unblockPageScrolling\" static methods to temporarily remove scrollbars on the html element\n * - Derivatives may call the \"openPopup\" and \"closePopup\" methods which handle focus, manage the popup registry and for modal popups, manage the blocking layer\n *\n * 2. Provides blocking layer (relevant for modal popups only):\n * - Controlled by the \"open\" and \"close\" methods\n *\n * 3. The Popup class \"traps\" focus:\n * - Derivatives may call the \"applyInitialFocus\" method (usually when opening, to transfer focus inside the popup)\n *\n * 4. The template of this component exposes two inline partials you can override in derivatives:\n * - beforeContent (upper part of the box, useful for header/title/close button)\n * - afterContent (lower part, useful for footer/action buttons)\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n\trenderer: jsxRender,\n\tstyles: [popupStlyes, popupBlockLayerStyles],\n\ttemplate: PopupTemplate,\n})\n/**\n * Fired before the component is opened. This event can be cancelled, which will prevent the popup from opening.\n * @public\n */\n@event(\"before-open\", {\n\tcancelable: true,\n})\n\n/**\n * Fired after the component is opened.\n * @public\n */\n@event(\"open\")\n\n/**\n * Fired before the component is closed. This event can be cancelled, which will prevent the popup from closing.\n * @public\n * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.\n */\n@event(\"before-close\", {\n\tcancelable: true,\n})\n\n/**\n * Fired after the component is closed.\n * @public\n */\n@event(\"close\")\n\n/**\n * Fired whenever the popup content area is scrolled\n * @private\n */\n@event(\"scroll\", {\n\tbubbles: true,\n})\nabstract class Popup extends UI5Element {\n\teventDetails!: {\n\t\t\"before-open\": void\n\t\t\"open\": void\n\t\t\"before-close\": PopupBeforeCloseEventDetail\n\t\t\"close\": void\n\t\t\"scroll\": PopupScrollEventDetail\n\t}\n\n\t/**\n\t * Defines the ID of the HTML Element, which will get the initial focus.\n\t *\n\t * **Note:** If an element with `autofocus` attribute is added inside the component,\n\t * `initialFocus` won't take effect.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tinitialFocus?: string;\n\n\t/**\n\t * Defines if the focus should be returned to the previously focused element,\n\t * when the popup closes.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t*/\n\t@property({ type: Boolean })\n\tpreventFocusRestore = false;\n\n\t/**\n\t * Defines the accessible 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 * Defines the IDs of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Allows setting a custom role.\n\t * @default \"Dialog\"\n\t * @public\n\t * @since 1.10.0\n\t */\n\t@property()\n\taccessibleRole: `${PopupAccessibleRole}` = \"Dialog\";\n\n\t/**\n\t * Defines the current media query size.\n\t * @private\n\t */\n\t@property()\n\tmediaRange?: string;\n\n\t/**\n\t * Indicates whether initial focus should be prevented.\n\t * @public\n\t * @default false\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\tpreventInitialFocus = false;\n\n\t/**\n\t * Indicates if the element is the top modal popup\n\t *\n\t * This property is calculated automatically\n\t * @private\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\tisTopModalPopup = false;\n\n\t/**\n\t * Defines the content of the Popup.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tcontent!: Array<HTMLElement>;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonPhone = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonDesktop = false;\n\n\t_resizeHandler: ResizeObserverCallback;\n\t_shouldFocusRoot?: boolean;\n\t_focusedElementBeforeOpen?: HTMLElement | null;\n\t_opened = false;\n\t_open = false;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._resizeHandler = this._resize.bind(this);\n\n\t\tthis._getRealDomRef = () => {\n\t\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\"[root-element]\")!;\n\t\t};\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.onPhone = isPhone();\n\t\tthis.onDesktop = isDesktop();\n\t}\n\n\tonAfterRendering() {\n\t\trenderFinished().then(() => {\n\t\t\tthis._updateMediaRange();\n\t\t});\n\t}\n\n\tonEnterDOM() {\n\t\tthis.setAttribute(\"popover\", \"manual\");\n\t\tResizeHandler.register(this, this._resizeHandler);\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\n\t\tthis.tabIndex = -1;\n\n\t\tif (this.open) {\n\t\t\tthis.showPopover();\n\t\t\tthis.openPopup();\n\t\t}\n\t}\n\n\tonExitDOM() {\n\t\tif (this._opened) {\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t\tthis._removeOpenedPopup();\n\t\t}\n\n\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t}\n\n\t/**\n\t * Indicates if the element is open\n\t * @public\n\t * @default false\n\t * @since 1.2.0\n\t */\n\t@property({ type: Boolean })\n\tset open(value: boolean) {\n\t\tif (this._open === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._open = value;\n\n\t\tif (value) {\n\t\t\tthis.openPopup();\n\t\t} else {\n\t\t\tthis.closePopup();\n\t\t}\n\t}\n\n\tget open() : boolean {\n\t\treturn this._open;\n\t}\n\n\tasync openPopup() {\n\t\tif (this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevented = !this.fireDecoratorEvent(\"before-open\");\n\n\t\tif (prevented) {\n\t\t\tthis.open = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isModal) {\n\t\t\tPopup.blockPageScrolling(this);\n\t\t}\n\n\t\tthis._focusedElementBeforeOpen = getFocusedElement();\n\n\t\tthis._show();\n\t\tthis._opened = true;\n\n\t\tif (this.getDomRef()) {\n\t\t\tthis._updateMediaRange();\n\t\t}\n\n\t\tthis._addOpenedPopup();\n\n\t\tthis.open = true;\n\n\t\t// initial focus, if focused element is statically created\n\t\tawait this.applyInitialFocus();\n\n\t\tawait renderFinished();\n\n\t\tif (this.isConnected) {\n\t\t\tthis.fireDecoratorEvent(\"open\");\n\t\t}\n\t}\n\n\t_resize() {\n\t\tthis._updateMediaRange();\n\t}\n\n\t/**\n\t * Prevents the user from interacting with the content under the block layer\n\t */\n\t_preventBlockLayerFocus(e: KeyboardEvent | MouseEvent) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Temporarily removes scrollbars from the html element\n\t * @protected\n\t */\n\tstatic blockPageScrolling(popup: Popup) {\n\t\tpageScrollingBlockers.add(popup);\n\n\t\tif (pageScrollingBlockers.size !== 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.documentElement.classList.add(\"ui5-popup-scroll-blocker\");\n\t}\n\n\t/**\n\t * Restores scrollbars on the html element, if needed\n\t * @protected\n\t */\n\tstatic unblockPageScrolling(popup: Popup) {\n\t\tpageScrollingBlockers.delete(popup);\n\n\t\tif (pageScrollingBlockers.size !== 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.documentElement.classList.remove(\"ui5-popup-scroll-blocker\");\n\t}\n\n\t_scroll(e: Event) {\n\t\tthis.fireDecoratorEvent(\"scroll\", {\n\t\t\tscrollTop: (e.target as HTMLElement).scrollTop,\n\t\t\ttargetRef: e.target as HTMLElement,\n\t\t});\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isTabOutAttempt = e.target === this._root && isTabPrevious(e);\n\t\t// if the popup is closed, focus is already moved, so Enter keydown may result in click on the newly focused element\n\t\tconst isEnterOnClosedPopupChild = isEnter(e) && !this.open;\n\n\t\tif (isTabOutAttempt || isEnterOnClosedPopupChild) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\t// relatedTarget is the element, which will get focus. If no such element exists, focus the root.\n\t\t// This happens after the mouse is released in order to not interrupt text selection.\n\t\tif (!e.relatedTarget) {\n\t\t\tthis._shouldFocusRoot = true;\n\t\t}\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tif (this.shadowRoot!.contains(e.target as HTMLElement)) {\n\t\t\tthis._shouldFocusRoot = true;\n\t\t} else {\n\t\t\tthis._shouldFocusRoot = false;\n\t\t}\n\t}\n\n\t_onmouseup() {\n\t\tif (this._shouldFocusRoot) {\n\t\t\tif (isChrome()) {\n\t\t\t\tthis._root.focus();\n\t\t\t}\n\t\t\tthis._shouldFocusRoot = false;\n\t\t}\n\t}\n\n\t/**\n\t * Focus trapping\n\t * @private\n\t */\n\tasync forwardToFirst() {\n\t\tconst firstFocusable = await getFirstFocusableElement(this);\n\n\t\tif (firstFocusable) {\n\t\t\tfirstFocusable.focus();\n\t\t} else {\n\t\t\tthis._root.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Focus trapping\n\t * @private\n\t */\n\tasync forwardToLast() {\n\t\tconst lastFocusable = await getLastFocusableElement(this);\n\n\t\tif (lastFocusable) {\n\t\t\tlastFocusable.focus();\n\t\t} else {\n\t\t\tthis._root.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Use this method to focus the element denoted by \"initialFocus\", if provided,\n\t * or the first focusable element otherwise.\n\t * @protected\n\t */\n\tasync applyInitialFocus() {\n\t\tif (!this.preventInitialFocus) {\n\t\t\tawait this.applyFocus();\n\t\t}\n\t}\n\n\t/**\n\t * Focuses the element denoted by `initialFocus`, if provided,\n\t * or the first focusable element otherwise.\n\t * @public\n\t * @returns Promise that resolves when the focus is applied\n\t */\n\tasync applyFocus(): Promise<void> {\n\t\t// do nothing if the standard HTML autofocus is used\n\t\tif (this.querySelector(\"[autofocus]\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this._waitForDomRef();\n\n\t\tif (this.getRootNode() === this) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet element;\n\n\t\tif (this.initialFocus) {\n\t\t\telement = (this.getRootNode() as Document).getElementById(this.initialFocus)\n\t\t\t|| document.getElementById(this.initialFocus);\n\t\t}\n\n\t\telement = element || await getFirstFocusableElement(this) || this._root; // in case of no focusable content focus the root\n\n\t\tif (element) {\n\t\t\tif (element === this._root) {\n\t\t\t\telement.tabIndex = -1;\n\t\t\t}\n\t\t\telement.focus();\n\t\t}\n\t}\n\n\tisFocusWithin() {\n\t\treturn isFocusedElementWithinNode(this._root);\n\t}\n\n\t_updateMediaRange() {\n\t\tthis.mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS, this.getDomRef()!.offsetWidth);\n\t}\n\n\t/**\n\t * Adds the popup to the \"opened popups registry\"\n\t * @protected\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopup(this);\n\t}\n\n\t/**\n\t * Closes the popup.\n\t */\n\tclosePopup(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false): void {\n\t\tif (!this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevented = !this.fireDecoratorEvent(\"before-close\", { escPressed });\n\t\tif (prevented) {\n\t\t\tthis.open = true;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opened = false;\n\n\t\tif (this.isModal) {\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t}\n\n\t\tthis.hide();\n\t\tthis.open = false;\n\n\t\tif (!preventRegistryUpdate) {\n\t\t\tthis._removeOpenedPopup();\n\t\t}\n\n\t\tif (!this.preventFocusRestore && !preventFocusRestore) {\n\t\t\tthis.resetFocus();\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\t/**\n\t * Removes the popup from the \"opened popups registry\"\n\t * @protected\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopup(this);\n\t}\n\n\t/**\n\t * Returns the focus to the previously focused element\n\t * @protected\n\t */\n\tresetFocus() {\n\t\tthis._focusedElementBeforeOpen?.focus();\n\t\tthis._focusedElementBeforeOpen = null;\n\t}\n\n\t/**\n\t * Sets \"block\" display to the popup. The property can be overriden by derivatives of Popup.\n\t * @protected\n\t */\n\t_show() {\n\t\tif (this.isConnected) {\n\t\t\tthis.setAttribute(\"popover\", \"manual\");\n\t\t\tthis.showPopover();\n\t\t}\n\t}\n\n\t/**\n\t * Sets \"none\" display to the popup\n\t * @protected\n\t */\n\thide() {\n\t\tthis.isConnected && this.hidePopover();\n\t}\n\n\t/**\n\t * Implement this getter with relevant logic regarding the modality of the popup (e.g. based on a public property)\n\t * @protected\n\t */\n\tabstract get isModal(): boolean\n\n\t/**\n\t * Return the ID of an element in the shadow DOM that is going to label this popup\n\t * @protected\n\t */\n\tabstract get _ariaLabelledBy(): string | undefined\n\n\t/**\n\t * Ensures ariaLabel is never null or empty string\n\t * @protected\n\t */\n\tget _ariaLabel() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget _root(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-root\")!;\n\t}\n\n\tget _role() {\n\t\treturn (this.accessibleRole === PopupAccessibleRole.None) ? undefined : toLowercaseEnumValue(this.accessibleRole);\n\t}\n\n\tget _ariaModal(): \"true\" | undefined {\n\t\treturn this.accessibleRole === PopupAccessibleRole.None ? undefined : \"true\";\n\t}\n\n\tget contentDOM(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-content\")!;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\troot: {},\n\t\t\tcontent: {},\n\t\t};\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-popup-root\": true,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\t\"ui5-popup-content\": true,\n\t\t\t},\n\t\t};\n\t}\n}\n\nexport default Popup;\nexport type { PopupScrollEventDetail, PopupBeforeCloseEventDetail };\n"]}
@@ -3,6 +3,6 @@ import type Popup from "./Popup.js";
3
3
  export default function PopupTemplate(this: Popup, hooks?: {
4
4
  beforeContent?: JsxTemplate;
5
5
  afterContent?: JsxTemplate;
6
- }): import("@ui5/webcomponents-base").JSX.Element;
6
+ }): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
7
7
  export declare function beforeContent(this: Popup): void;
8
8
  export declare function afterContent(this: Popup): void;
@@ -87,14 +87,14 @@ class RadioButtonGroup {
87
87
  const hasCheckedRadio = group.some(radioBtn => radioBtn.checked);
88
88
  group.filter(radioBtn => !radioBtn.disabled).forEach((radioBtn, idx) => {
89
89
  let activeElement = getActiveElement();
90
- if (activeElement.classList.contains("ui5-radio-root")) {
90
+ if (activeElement?.classList.contains("ui5-radio-root")) {
91
91
  activeElement = activeElement.getRootNode();
92
92
  if (activeElement instanceof ShadowRoot) {
93
93
  activeElement = activeElement.host;
94
94
  }
95
95
  }
96
96
  if (hasCheckedRadio) {
97
- if (activeElement.hasAttribute("ui5-radio-button") && activeElement.readonly) {
97
+ if (activeElement?.hasAttribute("ui5-radio-button") && activeElement.readonly) {
98
98
  radioBtn._tabIndex = activeElement === radioBtn && radioBtn.readonly ? 0 : -1;
99
99
  }
100
100
  else {
@@ -124,6 +124,7 @@ class RadioButtonGroup {
124
124
  static selectItem(item, groupName) {
125
125
  this.updateSelectionInGroup(item, groupName);
126
126
  this.updateTabOrder(groupName);
127
+ this.updateFormValidity(groupName);
127
128
  }
128
129
  static updateSelectionInGroup(radioBtnToSelect, groupName) {
129
130
  const checkedRadio = this.getCheckedRadioFromGroup(groupName);
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButtonGroup.js","sourceRoot":"","sources":["../src/RadioButtonGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport type RadioButton from \"./RadioButton.js\";\n\nclass RadioButtonGroup {\n\tstatic _groups: Map<string, Array<RadioButton>>;\n\tstatic _checkedRadios: Map<string, RadioButton | null>;\n\n\tstatic hasGroup(groupName: string) {\n\t\treturn this.groups.has(groupName);\n\t}\n\n\tstatic getGroup(groupName: string) {\n\t\treturn this.groups.get(groupName);\n\t}\n\n\tstatic getCheckedRadioFromGroup(groupName: string) {\n\t\treturn this.checkedRadios.get(groupName);\n\t}\n\n\tstatic removeGroup(groupName: string) {\n\t\tthis.checkedRadios.delete(groupName);\n\t\treturn this.groups.delete(groupName);\n\t}\n\n\tstatic addToGroup(radioBtn: RadioButton, groupName: string) {\n\t\tif (this.hasGroup(groupName)) {\n\t\t\tthis.enforceSingleSelection(radioBtn, groupName);\n\t\t\tif (this.getGroup(groupName)) {\n\t\t\t\tthis.getGroup(groupName)!.push(radioBtn);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.createGroup(radioBtn, groupName);\n\t\t}\n\n\t\tthis.updateTabOrder(groupName);\n\t}\n\n\tstatic removeFromGroup(radioBtn: RadioButton, groupName: string) {\n\t\tconst group = this.getGroup(groupName);\n\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst checkedRadio = this.getCheckedRadioFromGroup(groupName);\n\n\t\t// Remove the radio button from the given group\n\t\tgroup.forEach((_radioBtn, idx, arr) => {\n\t\t\tif (radioBtn._id === _radioBtn._id) {\n\t\t\t\treturn arr.splice(idx, 1);\n\t\t\t}\n\t\t});\n\n\t\tif (checkedRadio === radioBtn) {\n\t\t\tthis.checkedRadios.set(groupName, null);\n\t\t}\n\n\t\t// Remove the group if it is empty\n\t\tif (!group.length) {\n\t\t\tthis.removeGroup(groupName);\n\t\t}\n\n\t\tthis.updateTabOrder(groupName);\n\t}\n\n\tstatic createGroup(radioBtn: RadioButton, groupName: string) {\n\t\tif (radioBtn.checked) {\n\t\t\tthis.checkedRadios.set(groupName, radioBtn);\n\t\t}\n\n\t\tthis.groups.set(groupName, [radioBtn]);\n\t}\n\n\tstatic selectNextItem(item: RadioButton, groupName: string) {\n\t\tconst group = this.getGroup(groupName);\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst groupLength = group.length,\n\t\t\tcurrentItemPosition = group.indexOf(item);\n\n\t\tif (groupLength <= 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst nextItemToFocus = this._nextFocusable(currentItemPosition, group);\n\t\tif (!nextItemToFocus) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.updateSelectionInGroup(nextItemToFocus, groupName);\n\t}\n\n\tstatic updateFormValidity(groupName: string) {\n\t\tconst group = this.getGroup(groupName);\n\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst hasRequired = group.some(r => r.required);\n\t\tconst hasChecked = group.some(r => r.checked);\n\n\t\tgroup.forEach(r => {\n\t\t\tr._groupChecked = hasChecked;\n\t\t\tr._groupRequired = hasRequired;\n\t\t});\n\t}\n\n\tstatic updateTabOrder(groupName: string) {\n\t\tconst group = this.getGroup(groupName);\n\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst hasCheckedRadio = group.some(radioBtn => radioBtn.checked);\n\n\t\tgroup.filter(radioBtn => !radioBtn.disabled).forEach((radioBtn, idx) => {\n\t\t\tlet activeElement: Element | RadioButton = getActiveElement()!;\n\n\t\t\tif (activeElement.classList.contains(\"ui5-radio-root\")) {\n\t\t\t\tactiveElement = activeElement.getRootNode() as Element;\n\t\t\t\tif (activeElement instanceof ShadowRoot) {\n\t\t\t\t\tactiveElement = activeElement.host;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (hasCheckedRadio) {\n\t\t\t\tif (activeElement.hasAttribute(\"ui5-radio-button\") && (activeElement as RadioButton).readonly) {\n\t\t\t\t\tradioBtn._tabIndex = activeElement === radioBtn && radioBtn.readonly ? 0 : -1;\n\t\t\t\t} else {\n\t\t\t\t\tradioBtn._tabIndex = radioBtn.checked ? 0 : -1;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tradioBtn._tabIndex = idx === 0 ? 0 : -1;\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic selectPreviousItem(item: RadioButton, groupName: string) {\n\t\tconst group = this.getGroup(groupName);\n\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst groupLength = group.length,\n\t\t\tcurrentItemPosition = group.indexOf(item);\n\n\t\tif (groupLength <= 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst previousItemToFocus = this._previousFocusable(currentItemPosition, group);\n\t\tif (!previousItemToFocus) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.updateSelectionInGroup(previousItemToFocus, groupName);\n\t}\n\n\tstatic selectItem(item: RadioButton, groupName: string) {\n\t\tthis.updateSelectionInGroup(item, groupName);\n\t\tthis.updateTabOrder(groupName);\n\t}\n\n\tstatic updateSelectionInGroup(radioBtnToSelect: RadioButton, groupName: string) {\n\t\tconst checkedRadio = this.getCheckedRadioFromGroup(groupName);\n\n\t\tif (checkedRadio && !radioBtnToSelect.readonly) {\n\t\t\tthis._deselectRadio(checkedRadio);\n\t\t\tthis.checkedRadios.set(groupName, radioBtnToSelect);\n\t\t}\n\n\t\t// the focusable radio buttons are the enabled and the read-only ones, but only the enabled are selectable\n\t\tif (radioBtnToSelect) {\n\t\t\tradioBtnToSelect.focus();\n\n\t\t\tif (!radioBtnToSelect.readonly) {\n\t\t\t\tthis._selectRadio(radioBtnToSelect);\n\t\t\t} else {\n\t\t\t\t// Ensure updateTabOrder is called after focus\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.updateTabOrder(groupName);\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic _deselectRadio(radioBtn: RadioButton) {\n\t\tif (radioBtn) {\n\t\t\tradioBtn.checked = false;\n\t\t}\n\t}\n\n\tstatic _selectRadio(radioBtn: RadioButton) {\n\t\tradioBtn.checked = true;\n\t\tradioBtn._checked = true;\n\t\tradioBtn.fireDecoratorEvent(\"change\");\n\t}\n\n\tstatic _nextFocusable(pos: number, group: RadioButton[]): RadioButton | null {\n\t\tif (!group) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst groupLength = group.length;\n\t\tlet nextRadioToFocus = null;\n\n\t\tif (pos === groupLength - 1) {\n\t\t\tif (group[0].disabled) {\n\t\t\t\treturn this._nextFocusable(1, group);\n\t\t\t}\n\t\t\tnextRadioToFocus = group[0];\n\t\t} else if (group[pos + 1].disabled) {\n\t\t\treturn this._nextFocusable(pos + 1, group);\n\t\t} else {\n\t\t\tnextRadioToFocus = group[pos + 1];\n\t\t}\n\n\t\treturn nextRadioToFocus;\n\t}\n\n\tstatic _previousFocusable(pos: number, group: RadioButton[]): RadioButton | null {\n\t\tconst groupLength = group.length;\n\t\tlet previousRadioToFocus = null;\n\t\tif (pos === 0) {\n\t\t\tif (group[groupLength - 1].disabled) {\n\t\t\t\treturn this._previousFocusable(groupLength - 1, group);\n\t\t\t}\n\t\t\tpreviousRadioToFocus = group[groupLength - 1];\n\t\t} else if (group[pos - 1].disabled) {\n\t\t\treturn this._previousFocusable(pos - 1, group);\n\t\t} else {\n\t\t\tpreviousRadioToFocus = group[pos - 1];\n\t\t}\n\n\t\treturn previousRadioToFocus;\n\t}\n\n\tstatic enforceSingleSelection(radioBtn: RadioButton, groupName: string) {\n\t\tconst checkedRadio = this.getCheckedRadioFromGroup(groupName);\n\n\t\tif (radioBtn.checked) {\n\t\t\tif (!checkedRadio) {\n\t\t\t\tthis.checkedRadios.set(groupName, radioBtn);\n\t\t\t} else if (radioBtn !== checkedRadio) {\n\t\t\t\tthis._deselectRadio(checkedRadio);\n\t\t\t\tthis.checkedRadios.set(groupName, radioBtn);\n\t\t\t}\n\t\t} else if (radioBtn === checkedRadio) {\n\t\t\tthis.checkedRadios.set(groupName, null);\n\t\t}\n\n\t\tthis.updateTabOrder(groupName);\n\t\tthis.updateFormValidity(groupName);\n\t}\n\n\tstatic get groups() {\n\t\tif (!this._groups) {\n\t\t\tthis._groups = new Map();\n\t\t}\n\t\treturn this._groups;\n\t}\n\n\tstatic get checkedRadios() {\n\t\tif (!this._checkedRadios) {\n\t\t\tthis._checkedRadios = new Map();\n\t\t}\n\t\treturn this._checkedRadios;\n\t}\n}\n\nexport default RadioButtonGroup;\n"]}
1
+ {"version":3,"file":"RadioButtonGroup.js","sourceRoot":"","sources":["../src/RadioButtonGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport type RadioButton from \"./RadioButton.js\";\n\nclass RadioButtonGroup {\n\tstatic _groups: Map<string, Array<RadioButton>>;\n\tstatic _checkedRadios: Map<string, RadioButton | null>;\n\n\tstatic hasGroup(groupName: string) {\n\t\treturn this.groups.has(groupName);\n\t}\n\n\tstatic getGroup(groupName: string) {\n\t\treturn this.groups.get(groupName);\n\t}\n\n\tstatic getCheckedRadioFromGroup(groupName: string) {\n\t\treturn this.checkedRadios.get(groupName);\n\t}\n\n\tstatic removeGroup(groupName: string) {\n\t\tthis.checkedRadios.delete(groupName);\n\t\treturn this.groups.delete(groupName);\n\t}\n\n\tstatic addToGroup(radioBtn: RadioButton, groupName: string) {\n\t\tif (this.hasGroup(groupName)) {\n\t\t\tthis.enforceSingleSelection(radioBtn, groupName);\n\t\t\tif (this.getGroup(groupName)) {\n\t\t\t\tthis.getGroup(groupName)!.push(radioBtn);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.createGroup(radioBtn, groupName);\n\t\t}\n\n\t\tthis.updateTabOrder(groupName);\n\t}\n\n\tstatic removeFromGroup(radioBtn: RadioButton, groupName: string) {\n\t\tconst group = this.getGroup(groupName);\n\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst checkedRadio = this.getCheckedRadioFromGroup(groupName);\n\n\t\t// Remove the radio button from the given group\n\t\tgroup.forEach((_radioBtn, idx, arr) => {\n\t\t\tif (radioBtn._id === _radioBtn._id) {\n\t\t\t\treturn arr.splice(idx, 1);\n\t\t\t}\n\t\t});\n\n\t\tif (checkedRadio === radioBtn) {\n\t\t\tthis.checkedRadios.set(groupName, null);\n\t\t}\n\n\t\t// Remove the group if it is empty\n\t\tif (!group.length) {\n\t\t\tthis.removeGroup(groupName);\n\t\t}\n\n\t\tthis.updateTabOrder(groupName);\n\t}\n\n\tstatic createGroup(radioBtn: RadioButton, groupName: string) {\n\t\tif (radioBtn.checked) {\n\t\t\tthis.checkedRadios.set(groupName, radioBtn);\n\t\t}\n\n\t\tthis.groups.set(groupName, [radioBtn]);\n\t}\n\n\tstatic selectNextItem(item: RadioButton, groupName: string) {\n\t\tconst group = this.getGroup(groupName);\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst groupLength = group.length,\n\t\t\tcurrentItemPosition = group.indexOf(item);\n\n\t\tif (groupLength <= 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst nextItemToFocus = this._nextFocusable(currentItemPosition, group);\n\t\tif (!nextItemToFocus) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.updateSelectionInGroup(nextItemToFocus, groupName);\n\t}\n\n\tstatic updateFormValidity(groupName: string) {\n\t\tconst group = this.getGroup(groupName);\n\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst hasRequired = group.some(r => r.required);\n\t\tconst hasChecked = group.some(r => r.checked);\n\n\t\tgroup.forEach(r => {\n\t\t\tr._groupChecked = hasChecked;\n\t\t\tr._groupRequired = hasRequired;\n\t\t});\n\t}\n\n\tstatic updateTabOrder(groupName: string) {\n\t\tconst group = this.getGroup(groupName);\n\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst hasCheckedRadio = group.some(radioBtn => radioBtn.checked);\n\n\t\tgroup.filter(radioBtn => !radioBtn.disabled).forEach((radioBtn, idx) => {\n\t\t\tlet activeElement: Element | RadioButton | null = getActiveElement();\n\n\t\t\tif (activeElement?.classList.contains(\"ui5-radio-root\")) {\n\t\t\t\tactiveElement = activeElement.getRootNode() as Element;\n\t\t\t\tif (activeElement instanceof ShadowRoot) {\n\t\t\t\t\tactiveElement = activeElement.host;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (hasCheckedRadio) {\n\t\t\t\tif (activeElement?.hasAttribute(\"ui5-radio-button\") && (activeElement as RadioButton).readonly) {\n\t\t\t\t\tradioBtn._tabIndex = activeElement === radioBtn && radioBtn.readonly ? 0 : -1;\n\t\t\t\t} else {\n\t\t\t\t\tradioBtn._tabIndex = radioBtn.checked ? 0 : -1;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tradioBtn._tabIndex = idx === 0 ? 0 : -1;\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic selectPreviousItem(item: RadioButton, groupName: string) {\n\t\tconst group = this.getGroup(groupName);\n\n\t\tif (!group) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst groupLength = group.length,\n\t\t\tcurrentItemPosition = group.indexOf(item);\n\n\t\tif (groupLength <= 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst previousItemToFocus = this._previousFocusable(currentItemPosition, group);\n\t\tif (!previousItemToFocus) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.updateSelectionInGroup(previousItemToFocus, groupName);\n\t}\n\n\tstatic selectItem(item: RadioButton, groupName: string) {\n\t\tthis.updateSelectionInGroup(item, groupName);\n\t\tthis.updateTabOrder(groupName);\n\n\t\tthis.updateFormValidity(groupName);\n\t}\n\n\tstatic updateSelectionInGroup(radioBtnToSelect: RadioButton, groupName: string) {\n\t\tconst checkedRadio = this.getCheckedRadioFromGroup(groupName);\n\n\t\tif (checkedRadio && !radioBtnToSelect.readonly) {\n\t\t\tthis._deselectRadio(checkedRadio);\n\t\t\tthis.checkedRadios.set(groupName, radioBtnToSelect);\n\t\t}\n\n\t\t// the focusable radio buttons are the enabled and the read-only ones, but only the enabled are selectable\n\t\tif (radioBtnToSelect) {\n\t\t\tradioBtnToSelect.focus();\n\n\t\t\tif (!radioBtnToSelect.readonly) {\n\t\t\t\tthis._selectRadio(radioBtnToSelect);\n\t\t\t} else {\n\t\t\t\t// Ensure updateTabOrder is called after focus\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.updateTabOrder(groupName);\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic _deselectRadio(radioBtn: RadioButton) {\n\t\tif (radioBtn) {\n\t\t\tradioBtn.checked = false;\n\t\t}\n\t}\n\n\tstatic _selectRadio(radioBtn: RadioButton) {\n\t\tradioBtn.checked = true;\n\t\tradioBtn._checked = true;\n\t\tradioBtn.fireDecoratorEvent(\"change\");\n\t}\n\n\tstatic _nextFocusable(pos: number, group: RadioButton[]): RadioButton | null {\n\t\tif (!group) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst groupLength = group.length;\n\t\tlet nextRadioToFocus = null;\n\n\t\tif (pos === groupLength - 1) {\n\t\t\tif (group[0].disabled) {\n\t\t\t\treturn this._nextFocusable(1, group);\n\t\t\t}\n\t\t\tnextRadioToFocus = group[0];\n\t\t} else if (group[pos + 1].disabled) {\n\t\t\treturn this._nextFocusable(pos + 1, group);\n\t\t} else {\n\t\t\tnextRadioToFocus = group[pos + 1];\n\t\t}\n\n\t\treturn nextRadioToFocus;\n\t}\n\n\tstatic _previousFocusable(pos: number, group: RadioButton[]): RadioButton | null {\n\t\tconst groupLength = group.length;\n\t\tlet previousRadioToFocus = null;\n\t\tif (pos === 0) {\n\t\t\tif (group[groupLength - 1].disabled) {\n\t\t\t\treturn this._previousFocusable(groupLength - 1, group);\n\t\t\t}\n\t\t\tpreviousRadioToFocus = group[groupLength - 1];\n\t\t} else if (group[pos - 1].disabled) {\n\t\t\treturn this._previousFocusable(pos - 1, group);\n\t\t} else {\n\t\t\tpreviousRadioToFocus = group[pos - 1];\n\t\t}\n\n\t\treturn previousRadioToFocus;\n\t}\n\n\tstatic enforceSingleSelection(radioBtn: RadioButton, groupName: string) {\n\t\tconst checkedRadio = this.getCheckedRadioFromGroup(groupName);\n\n\t\tif (radioBtn.checked) {\n\t\t\tif (!checkedRadio) {\n\t\t\t\tthis.checkedRadios.set(groupName, radioBtn);\n\t\t\t} else if (radioBtn !== checkedRadio) {\n\t\t\t\tthis._deselectRadio(checkedRadio);\n\t\t\t\tthis.checkedRadios.set(groupName, radioBtn);\n\t\t\t}\n\t\t} else if (radioBtn === checkedRadio) {\n\t\t\tthis.checkedRadios.set(groupName, null);\n\t\t}\n\n\t\tthis.updateTabOrder(groupName);\n\t\tthis.updateFormValidity(groupName);\n\t}\n\n\tstatic get groups() {\n\t\tif (!this._groups) {\n\t\t\tthis._groups = new Map();\n\t\t}\n\t\treturn this._groups;\n\t}\n\n\tstatic get checkedRadios() {\n\t\tif (!this._checkedRadios) {\n\t\t\tthis._checkedRadios = new Map();\n\t\t}\n\t\treturn this._checkedRadios;\n\t}\n}\n\nexport default RadioButtonGroup;\n"]}