@ui5/webcomponents 2.25.1-rc.0 → 2.26.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/ComboBox.js +0 -6
  4. package/dist/ComboBox.js.map +1 -1
  5. package/dist/InputPopoverTemplate.js +1 -1
  6. package/dist/InputPopoverTemplate.js.map +1 -1
  7. package/dist/List.d.ts +31 -3
  8. package/dist/List.js +40 -4
  9. package/dist/List.js.map +1 -1
  10. package/dist/ListItemBaseTemplate.js +1 -1
  11. package/dist/ListItemBaseTemplate.js.map +1 -1
  12. package/dist/ListItemCustom.d.ts +22 -0
  13. package/dist/ListItemCustom.js +22 -0
  14. package/dist/ListItemCustom.js.map +1 -1
  15. package/dist/ListTemplate.js +1 -1
  16. package/dist/ListTemplate.js.map +1 -1
  17. package/dist/Menu.d.ts +1 -0
  18. package/dist/Menu.js +18 -0
  19. package/dist/Menu.js.map +1 -1
  20. package/dist/MultiComboBox.d.ts +3 -0
  21. package/dist/MultiComboBox.js +3 -0
  22. package/dist/MultiComboBox.js.map +1 -1
  23. package/dist/Popup.d.ts +17 -0
  24. package/dist/Popup.js +29 -0
  25. package/dist/Popup.js.map +1 -1
  26. package/dist/RangeSlider.d.ts +1 -0
  27. package/dist/RangeSlider.js +3 -0
  28. package/dist/RangeSlider.js.map +1 -1
  29. package/dist/RangeSliderTemplate.js +1 -1
  30. package/dist/RangeSliderTemplate.js.map +1 -1
  31. package/dist/RatingIndicator.d.ts +10 -0
  32. package/dist/RatingIndicator.js +21 -5
  33. package/dist/RatingIndicator.js.map +1 -1
  34. package/dist/RatingIndicatorTemplate.js +1 -1
  35. package/dist/RatingIndicatorTemplate.js.map +1 -1
  36. package/dist/Select.d.ts +2 -0
  37. package/dist/Select.js +13 -2
  38. package/dist/Select.js.map +1 -1
  39. package/dist/SelectPopoverTemplate.js +2 -2
  40. package/dist/SelectPopoverTemplate.js.map +1 -1
  41. package/dist/SelectTemplate.js +1 -1
  42. package/dist/SelectTemplate.js.map +1 -1
  43. package/dist/SliderScale.d.ts +2 -1
  44. package/dist/SliderScale.js.map +1 -1
  45. package/dist/SliderScaleTemplate.js +1 -1
  46. package/dist/SliderScaleTemplate.js.map +1 -1
  47. package/dist/Table.d.ts +1 -1
  48. package/dist/Table.js +16 -8
  49. package/dist/Table.js.map +1 -1
  50. package/dist/TableRow.d.ts +1 -1
  51. package/dist/TableRow.js +4 -4
  52. package/dist/TableRow.js.map +1 -1
  53. package/dist/TableRowBase.d.ts +2 -1
  54. package/dist/TableRowBase.js +4 -1
  55. package/dist/TableRowBase.js.map +1 -1
  56. package/dist/TableRowTemplate.js +1 -1
  57. package/dist/TableRowTemplate.js.map +1 -1
  58. package/dist/TableUtils.d.ts +4 -3
  59. package/dist/TableUtils.js +40 -31
  60. package/dist/TableUtils.js.map +1 -1
  61. package/dist/Tokenizer.js +24 -9
  62. package/dist/Tokenizer.js.map +1 -1
  63. package/dist/Toolbar.d.ts +1 -1
  64. package/dist/Toolbar.js.map +1 -1
  65. package/dist/ToolbarSelect.d.ts +6 -2
  66. package/dist/ToolbarSelect.js +46 -6
  67. package/dist/ToolbarSelect.js.map +1 -1
  68. package/dist/ToolbarSelectOption.d.ts +1 -3
  69. package/dist/ToolbarSelectOption.js +9 -30
  70. package/dist/ToolbarSelectOption.js.map +1 -1
  71. package/dist/ToolbarSelectTemplate.js +2 -2
  72. package/dist/ToolbarSelectTemplate.js.map +1 -1
  73. package/dist/bundle.common.bootstrap.d.ts +2 -0
  74. package/dist/bundle.common.bootstrap.js +3 -1
  75. package/dist/bundle.common.bootstrap.js.map +1 -1
  76. package/dist/bundle.esm.d.ts +2 -0
  77. package/dist/css/themes/CheckBox.css +1 -1
  78. package/dist/css/themes/DatePicker.css +1 -1
  79. package/dist/css/themes/Link.css +1 -1
  80. package/dist/css/themes/RatingIndicator.css +1 -1
  81. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  82. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  83. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  84. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  85. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  86. package/dist/css/themes/sap_horizon_auto/parameters-bundle.css +5 -5
  87. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  88. package/dist/css/themes/sap_horizon_hc_auto/parameters-bundle.css +5 -5
  89. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  90. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  91. package/dist/custom-elements-internal.json +31 -11
  92. package/dist/custom-elements.json +30 -11
  93. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  94. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  95. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  96. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  97. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  98. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  99. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  100. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  104. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  105. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  106. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  107. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  108. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  109. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  110. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  111. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  112. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  113. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  114. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  115. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  116. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  117. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  118. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  119. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  120. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  121. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  122. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  123. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  124. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  125. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  126. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  127. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  128. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  129. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  130. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  131. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  132. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  133. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  134. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  135. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  136. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  137. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  138. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  139. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  140. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  141. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  142. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  143. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  144. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  145. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  146. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  147. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  148. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  149. package/dist/generated/assets/themes/sap_horizon_auto/parameters-bundle.css.json +1 -1
  150. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  151. package/dist/generated/assets/themes/sap_horizon_hc_auto/parameters-bundle.css.json +1 -1
  152. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  153. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  154. package/dist/generated/i18n/i18n-defaults.d.ts +4 -1
  155. package/dist/generated/i18n/i18n-defaults.js +4 -1
  156. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  157. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  158. package/dist/generated/themes/CheckBox.css.js +1 -1
  159. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  160. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  161. package/dist/generated/themes/DatePicker.css.js +1 -1
  162. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  163. package/dist/generated/themes/Link.css.d.ts +1 -1
  164. package/dist/generated/themes/Link.css.js +1 -1
  165. package/dist/generated/themes/Link.css.js.map +1 -1
  166. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  167. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  168. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  169. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  170. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  171. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  172. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  173. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  174. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  175. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  176. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  177. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  178. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  179. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  180. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  181. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  182. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  183. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  184. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.d.ts +1 -1
  185. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js +5 -5
  186. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js.map +1 -1
  187. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  188. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  189. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  190. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.d.ts +1 -1
  191. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js +5 -5
  192. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js.map +1 -1
  193. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  194. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  195. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  196. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  197. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  198. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  199. package/dist/vscode.html-custom-data.json +10 -5
  200. package/dist/web-types.json +19 -9
  201. package/package.json +9 -9
  202. package/src/InputPopoverTemplate.tsx +1 -0
  203. package/src/ListItemBaseTemplate.tsx +1 -0
  204. package/src/ListTemplate.tsx +1 -1
  205. package/src/RangeSliderTemplate.tsx +1 -0
  206. package/src/RatingIndicatorTemplate.tsx +1 -1
  207. package/src/SelectPopoverTemplate.tsx +2 -1
  208. package/src/SelectTemplate.tsx +1 -0
  209. package/src/SliderScaleTemplate.tsx +8 -8
  210. package/src/TableRowTemplate.tsx +1 -0
  211. package/src/ToolbarSelectTemplate.tsx +2 -2
  212. package/src/i18n/messagebundle.properties +8 -0
  213. package/src/i18n/messagebundle_ar.properties +5 -0
  214. package/src/i18n/messagebundle_bg.properties +5 -0
  215. package/src/i18n/messagebundle_ca.properties +5 -0
  216. package/src/i18n/messagebundle_cnr.properties +5 -0
  217. package/src/i18n/messagebundle_cs.properties +5 -0
  218. package/src/i18n/messagebundle_cy.properties +5 -0
  219. package/src/i18n/messagebundle_da.properties +5 -0
  220. package/src/i18n/messagebundle_de.properties +5 -0
  221. package/src/i18n/messagebundle_el.properties +5 -0
  222. package/src/i18n/messagebundle_en.properties +5 -0
  223. package/src/i18n/messagebundle_en_GB.properties +5 -0
  224. package/src/i18n/messagebundle_en_US_sappsd.properties +5 -0
  225. package/src/i18n/messagebundle_en_US_saprigi.properties +5 -0
  226. package/src/i18n/messagebundle_en_US_saptrc.properties +5 -0
  227. package/src/i18n/messagebundle_es.properties +5 -0
  228. package/src/i18n/messagebundle_es_MX.properties +5 -0
  229. package/src/i18n/messagebundle_et.properties +5 -0
  230. package/src/i18n/messagebundle_fi.properties +5 -0
  231. package/src/i18n/messagebundle_fr.properties +5 -0
  232. package/src/i18n/messagebundle_fr_CA.properties +5 -0
  233. package/src/i18n/messagebundle_hi.properties +5 -0
  234. package/src/i18n/messagebundle_hr.properties +5 -0
  235. package/src/i18n/messagebundle_hu.properties +5 -0
  236. package/src/i18n/messagebundle_id.properties +5 -0
  237. package/src/i18n/messagebundle_it.properties +5 -0
  238. package/src/i18n/messagebundle_iw.properties +5 -0
  239. package/src/i18n/messagebundle_ja.properties +5 -0
  240. package/src/i18n/messagebundle_kk.properties +5 -0
  241. package/src/i18n/messagebundle_ko.properties +5 -0
  242. package/src/i18n/messagebundle_lt.properties +5 -0
  243. package/src/i18n/messagebundle_lv.properties +5 -0
  244. package/src/i18n/messagebundle_mk.properties +5 -0
  245. package/src/i18n/messagebundle_ms.properties +5 -0
  246. package/src/i18n/messagebundle_nl.properties +5 -0
  247. package/src/i18n/messagebundle_no.properties +5 -0
  248. package/src/i18n/messagebundle_pl.properties +5 -0
  249. package/src/i18n/messagebundle_pt.properties +5 -0
  250. package/src/i18n/messagebundle_pt_PT.properties +5 -0
  251. package/src/i18n/messagebundle_ro.properties +5 -0
  252. package/src/i18n/messagebundle_ru.properties +5 -0
  253. package/src/i18n/messagebundle_sh.properties +5 -0
  254. package/src/i18n/messagebundle_sk.properties +5 -0
  255. package/src/i18n/messagebundle_sl.properties +5 -0
  256. package/src/i18n/messagebundle_sr.properties +5 -0
  257. package/src/i18n/messagebundle_sv.properties +5 -0
  258. package/src/i18n/messagebundle_th.properties +5 -0
  259. package/src/i18n/messagebundle_tr.properties +5 -0
  260. package/src/i18n/messagebundle_uk.properties +5 -0
  261. package/src/i18n/messagebundle_vi.properties +5 -0
  262. package/src/i18n/messagebundle_zh_CN.properties +5 -0
  263. package/src/i18n/messagebundle_zh_TW.properties +5 -0
  264. package/src/themes/CheckBox.css +10 -10
  265. package/src/themes/DatePicker.css +5 -0
  266. package/src/themes/Link.css +1 -1
  267. package/src/themes/RatingIndicator.css +5 -3
  268. package/src/themes/base/CheckBox-parameters.css +2 -3
  269. package/src/themes/base/Link-parameters.css +1 -0
  270. package/src/themes/base/sizes-parameters.css +4 -5
  271. package/src/themes/sap_fiori_3/CheckBox-parameters.css +0 -1
  272. package/src/themes/sap_fiori_3_dark/CheckBox-parameters.css +0 -1
  273. package/src/themes/sap_fiori_3_hcb/Link-parameters.css +1 -0
  274. package/src/themes/sap_fiori_3_hcw/Link-parameters.css +1 -0
  275. package/src/themes/sap_horizon/CheckBox-parameters.css +1 -2
  276. package/src/themes/sap_horizon_dark/CheckBox-parameters.css +1 -2
  277. package/src/themes/sap_horizon_hcb/CheckBox-parameters.css +1 -2
  278. package/src/themes/sap_horizon_hcb/Link-parameters.css +1 -0
  279. package/src/themes/sap_horizon_hcw/CheckBox-parameters.css +1 -2
  280. package/src/themes/sap_horizon_hcw/Link-parameters.css +1 -0
package/dist/Popup.d.ts CHANGED
@@ -217,6 +217,23 @@ declare abstract class Popup extends UI5Element {
217
217
  * @protected
218
218
  */
219
219
  _removeOpenedPopup(): void;
220
+ /**
221
+ * Asks the InvisibleMessage to render its aria-live region inside the popup, so that announcements
222
+ * made while the popup is open are read out.
223
+ *
224
+ * A screen reader scopes its accessibility tree to a modal popup (aria-modal="true"), so a body-level
225
+ * aria-live region is silenced while the popup is open. Non-modal popups (e.g. a ComboBox dropdown) do
226
+ * not cause this scoping, so their announcements are still heard from the default body-level region and
227
+ * must not be routed into the popup subtree.
228
+ * @protected
229
+ */
230
+ _registerInvisibleMessageRegion(): void;
231
+ /**
232
+ * Asks the InvisibleMessage to stop rendering its aria-live region inside the popup, restoring
233
+ * the default region.
234
+ * @protected
235
+ */
236
+ _deregisterInvisibleMessageRegion(): void;
220
237
  /**
221
238
  * Returns the focus to the previously focused element
222
239
  * @protected
package/dist/Popup.js CHANGED
@@ -21,6 +21,7 @@ import { getFocusedElement, isFocusedElementWithinNode } from "@ui5/webcomponent
21
21
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
22
22
  import MediaRange from "@ui5/webcomponents-base/dist/MediaRange.js";
23
23
  import toLowercaseEnumValue from "@ui5/webcomponents-base/dist/util/toLowercaseEnumValue.js";
24
+ import { registerInvisibleMessageRegion, deregisterInvisibleMessageRegion } from "@ui5/webcomponents-base/dist/util/InvisibleMessage.js";
24
25
  import PopupTemplate from "./PopupTemplate.js";
25
26
  import PopupAccessibleRole from "./types/PopupAccessibleRole.js";
26
27
  import { addOpenedPopup, removeOpenedPopup } from "./popup-utils/OpenedPopupsRegistry.js";
@@ -145,6 +146,7 @@ let Popup = Popup_1 = class Popup extends UI5Element {
145
146
  }
146
147
  this._deregisterResizeHandler();
147
148
  this._detachBrowserEvents();
149
+ this._deregisterInvisibleMessageRegion();
148
150
  deregisterUI5Element(this);
149
151
  }
150
152
  /**
@@ -188,6 +190,7 @@ let Popup = Popup_1 = class Popup extends UI5Element {
188
190
  this._updateMediaRange();
189
191
  }
190
192
  this._addOpenedPopup();
193
+ this._registerInvisibleMessageRegion();
191
194
  this.classList.add("ui5-popup-opening");
192
195
  setTimeout(() => {
193
196
  this.classList.remove("ui5-popup-opening");
@@ -379,6 +382,7 @@ let Popup = Popup_1 = class Popup extends UI5Element {
379
382
  this.hide();
380
383
  this.open = false;
381
384
  this._detachBrowserEvents();
385
+ this._deregisterInvisibleMessageRegion();
382
386
  if (!preventRegistryUpdate) {
383
387
  this._removeOpenedPopup();
384
388
  }
@@ -394,6 +398,31 @@ let Popup = Popup_1 = class Popup extends UI5Element {
394
398
  _removeOpenedPopup() {
395
399
  removeOpenedPopup(this);
396
400
  }
401
+ /**
402
+ * Asks the InvisibleMessage to render its aria-live region inside the popup, so that announcements
403
+ * made while the popup is open are read out.
404
+ *
405
+ * A screen reader scopes its accessibility tree to a modal popup (aria-modal="true"), so a body-level
406
+ * aria-live region is silenced while the popup is open. Non-modal popups (e.g. a ComboBox dropdown) do
407
+ * not cause this scoping, so their announcements are still heard from the default body-level region and
408
+ * must not be routed into the popup subtree.
409
+ * @protected
410
+ */
411
+ _registerInvisibleMessageRegion() {
412
+ if (this.isModal && this._root) {
413
+ registerInvisibleMessageRegion(this._root);
414
+ }
415
+ }
416
+ /**
417
+ * Asks the InvisibleMessage to stop rendering its aria-live region inside the popup, restoring
418
+ * the default region.
419
+ * @protected
420
+ */
421
+ _deregisterInvisibleMessageRegion() {
422
+ if (this._root) {
423
+ deregisterInvisibleMessageRegion(this._root);
424
+ }
425
+ }
397
426
  /**
398
427
  * Returns the focus to the previously focused element
399
428
  * @protected
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-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { ClassMap, AriaRole } 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 type { DefaultSlot } 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 {\n\tregisterUI5Element,\n\tgetEffectiveAriaLabelText,\n\tgetEffectiveAriaDescriptionText,\n\tgetAllAccessibleDescriptionRefTexts,\n\tderegisterUI5Element,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport { createOrUpdateStyle } 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\tcreateOrUpdateStyle(globalStyles, \"data-ui5-popup-scroll-blocker\");\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 accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.11.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that describe the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.11.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t/**\n\t * Constantly updated value of texts collected from the associated labels.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_associatedDescriptionRefTexts?: string;\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!: DefaultSlot<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\t_resizeHandlerRegistered = 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\n\t\tif (this.open) {\n\t\t\tthis._registerResizeHandler();\n\t\t} else {\n\t\t\tthis._deregisterResizeHandler();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tthis.setAttribute(\"popover\", \"manual\");\n\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\n\t\tthis.tabIndex = -1;\n\n\t\tthis.handleOpenOnEnterDOM();\n\n\t\tthis.setAttribute(\"data-sap-ui-fastnavgroup-container\", \"true\");\n\t\tregisterUI5Element(this, this._updateAssociatedLabelsTexts.bind(this));\n\t}\n\n\thandleOpenOnEnterDOM() {\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\tthis._deregisterResizeHandler();\n\t\tthis._detachBrowserEvents();\n\t\tderegisterUI5Element(this);\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\tthis._attachBrowserEvents();\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.classList.add(\"ui5-popup-opening\");\n\t\tsetTimeout(() => {\n\t\t\tthis.classList.remove(\"ui5-popup-opening\");\n\t\t}, 50);\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_attachBrowserEvents() {\n\n\t}\n\n\t_detachBrowserEvents() {\n\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\tawait this._waitForDomRef();\n\n\t\tconst elementWithAutoFocus = this.querySelector(\"[autofocus]\");\n\t\tif (elementWithAutoFocus) {\n\t\t\t// If the \"autofocus\" is set on UI5Element, focus it manually.\n\t\t\tif (\"isUI5Element\" in elementWithAutoFocus) {\n\t\t\t\t(elementWithAutoFocus as UI5Element).focus();\n\t\t\t}\n\t\t\t// Otherwise, the browser will focus it automatically.\n\t\t\treturn;\n\t\t}\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 this._getFirstFocusableElement() || 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\tasync _getFirstFocusableElement() {\n\t\treturn getFirstFocusableElement(this);\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_updateAssociatedLabelsTexts() {\n\t\tthis._associatedDescriptionRefTexts = getAllAccessibleDescriptionRefTexts(this);\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\tthis._detachBrowserEvents();\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_registerResizeHandler() {\n\t\tif (!this._resizeHandlerRegistered) {\n\t\t\tResizeHandler.register(this, this._resizeHandler);\n\t\t\tthis._resizeHandlerRegistered = true;\n\t\t}\n\t}\n\n\t_deregisterResizeHandler() {\n\t\tif (this._resizeHandlerRegistered) {\n\t\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t\t\tthis._resizeHandlerRegistered = false;\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 _accInfoAriaDescription() {\n\t\treturn this.ariaDescriptionText || \"\";\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn this._associatedDescriptionRefTexts || getEffectiveAriaDescriptionText(this);\n\t}\n\n\tget ariaDescriptionTextId() {\n\t\treturn this.ariaDescriptionText ? \"accessibleDescription\" : \"\";\n\t}\n\n\tget ariaDescribedByIds() {\n\t\treturn [\n\t\t\tthis.ariaDescriptionTextId,\n\t\t].filter(Boolean).join(\" \");\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 _contentRole(): AriaRole | undefined {\n\t\treturn undefined;\n\t}\n\n\tget _contentAriaLabel(): string | undefined {\n\t\treturn undefined;\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 footerDOM(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-footer-root\");\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-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { ClassMap, AriaRole } 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 type { DefaultSlot } 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 {\n\tregisterUI5Element,\n\tgetEffectiveAriaLabelText,\n\tgetEffectiveAriaDescriptionText,\n\tgetAllAccessibleDescriptionRefTexts,\n\tderegisterUI5Element,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport { createOrUpdateStyle } 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 { registerInvisibleMessageRegion, deregisterInvisibleMessageRegion } from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.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\tcreateOrUpdateStyle(globalStyles, \"data-ui5-popup-scroll-blocker\");\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 accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.11.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that describe the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.11.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t/**\n\t * Constantly updated value of texts collected from the associated labels.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_associatedDescriptionRefTexts?: string;\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!: DefaultSlot<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\t_resizeHandlerRegistered = 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\n\t\tif (this.open) {\n\t\t\tthis._registerResizeHandler();\n\t\t} else {\n\t\t\tthis._deregisterResizeHandler();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tthis.setAttribute(\"popover\", \"manual\");\n\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\n\t\tthis.tabIndex = -1;\n\n\t\tthis.handleOpenOnEnterDOM();\n\n\t\tthis.setAttribute(\"data-sap-ui-fastnavgroup-container\", \"true\");\n\t\tregisterUI5Element(this, this._updateAssociatedLabelsTexts.bind(this));\n\t}\n\n\thandleOpenOnEnterDOM() {\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\tthis._deregisterResizeHandler();\n\t\tthis._detachBrowserEvents();\n\t\tthis._deregisterInvisibleMessageRegion();\n\t\tderegisterUI5Element(this);\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\tthis._attachBrowserEvents();\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._registerInvisibleMessageRegion();\n\n\t\tthis.classList.add(\"ui5-popup-opening\");\n\t\tsetTimeout(() => {\n\t\t\tthis.classList.remove(\"ui5-popup-opening\");\n\t\t}, 50);\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_attachBrowserEvents() {\n\n\t}\n\n\t_detachBrowserEvents() {\n\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\tawait this._waitForDomRef();\n\n\t\tconst elementWithAutoFocus = this.querySelector(\"[autofocus]\");\n\t\tif (elementWithAutoFocus) {\n\t\t\t// If the \"autofocus\" is set on UI5Element, focus it manually.\n\t\t\tif (\"isUI5Element\" in elementWithAutoFocus) {\n\t\t\t\t(elementWithAutoFocus as UI5Element).focus();\n\t\t\t}\n\t\t\t// Otherwise, the browser will focus it automatically.\n\t\t\treturn;\n\t\t}\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 this._getFirstFocusableElement() || 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\tasync _getFirstFocusableElement() {\n\t\treturn getFirstFocusableElement(this);\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_updateAssociatedLabelsTexts() {\n\t\tthis._associatedDescriptionRefTexts = getAllAccessibleDescriptionRefTexts(this);\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\tthis._detachBrowserEvents();\n\n\t\tthis._deregisterInvisibleMessageRegion();\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 * Asks the InvisibleMessage to render its aria-live region inside the popup, so that announcements\n\t * made while the popup is open are read out.\n\t *\n\t * A screen reader scopes its accessibility tree to a modal popup (aria-modal=\"true\"), so a body-level\n\t * aria-live region is silenced while the popup is open. Non-modal popups (e.g. a ComboBox dropdown) do\n\t * not cause this scoping, so their announcements are still heard from the default body-level region and\n\t * must not be routed into the popup subtree.\n\t * @protected\n\t */\n\t_registerInvisibleMessageRegion() {\n\t\tif (this.isModal && this._root) {\n\t\t\tregisterInvisibleMessageRegion(this._root);\n\t\t}\n\t}\n\n\t/**\n\t * Asks the InvisibleMessage to stop rendering its aria-live region inside the popup, restoring\n\t * the default region.\n\t * @protected\n\t */\n\t_deregisterInvisibleMessageRegion() {\n\t\tif (this._root) {\n\t\t\tderegisterInvisibleMessageRegion(this._root);\n\t\t}\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_registerResizeHandler() {\n\t\tif (!this._resizeHandlerRegistered) {\n\t\t\tResizeHandler.register(this, this._resizeHandler);\n\t\t\tthis._resizeHandlerRegistered = true;\n\t\t}\n\t}\n\n\t_deregisterResizeHandler() {\n\t\tif (this._resizeHandlerRegistered) {\n\t\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t\t\tthis._resizeHandlerRegistered = false;\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 _accInfoAriaDescription() {\n\t\treturn this.ariaDescriptionText || \"\";\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn this._associatedDescriptionRefTexts || getEffectiveAriaDescriptionText(this);\n\t}\n\n\tget ariaDescriptionTextId() {\n\t\treturn this.ariaDescriptionText ? \"accessibleDescription\" : \"\";\n\t}\n\n\tget ariaDescribedByIds() {\n\t\treturn [\n\t\t\tthis.ariaDescriptionTextId,\n\t\t].filter(Boolean).join(\" \");\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 _contentRole(): AriaRole | undefined {\n\t\treturn undefined;\n\t}\n\n\tget _contentAriaLabel(): string | undefined {\n\t\treturn undefined;\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 footerDOM(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-footer-root\");\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"]}
@@ -125,6 +125,7 @@ declare class RangeSlider extends SliderBase implements IFormInputElement {
125
125
  get _ariaLabelledByText(): string;
126
126
  get _ariaHandlesText(): AriaHandlesText;
127
127
  get _ariaValueNow(): number;
128
+ get _progressRole(): "slider";
128
129
  /**
129
130
  * Check if the previously saved state is outdated. That would mean
130
131
  * either it is the initial rendering or that a property has been changed
@@ -196,6 +196,9 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
196
196
  get _ariaValueNow() {
197
197
  return Math.abs(this.endValue - this.startValue);
198
198
  }
199
+ get _progressRole() {
200
+ return "slider";
201
+ }
199
202
  /**
200
203
  * Check if the previously saved state is outdated. That would mean
201
204
  * either it is the initial rendering or that a property has been changed