@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
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../src/Toolbar.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo, DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisHome,\n\tisEnd,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport \"@ui5/webcomponents-icons/dist/overflow.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\n\nimport {\n\tTOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL,\n\tTOOLBAR_POPOVER_AVAILABLE_VALUES,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport ToolbarTemplate from \"./ToolbarTemplate.js\";\nimport ToolbarCss from \"./generated/themes/Toolbar.css.js\";\n\nimport ToolbarPopoverCss from \"./generated/themes/ToolbarPopover.css.js\";\n\nimport type ToolbarAlign from \"./types/ToolbarAlign.js\";\nimport type ToolbarDesign from \"./types/ToolbarDesign.js\";\nimport ToolbarItemOverflowBehavior from \"./types/ToolbarItemOverflowBehavior.js\";\n\nimport ToolbarItemBase from \"./ToolbarItemBase.js\";\nimport type ToolbarSeparator from \"./ToolbarSeparator.js\";\n\nimport type Button from \"./Button.js\";\nimport type Popover from \"./Popover.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\n\ntype ToolbarMinWidthChangeEventDetail = {\n\tminWidth: number,\n};\n\nfunction calculateCSSREMValue(styleSet: CSSStyleDeclaration, propertyName: string): number {\n\treturn Number(styleSet.getPropertyValue(propertyName).replace(\"rem\", \"\")) * parseInt(getComputedStyle(document.body).getPropertyValue(\"font-size\"));\n}\n\nfunction parsePxValue(styleSet: CSSStyleDeclaration, propertyName: string): number {\n\treturn Number(styleSet.getPropertyValue(propertyName).replace(\"px\", \"\"));\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-toolbar` component is used to create a horizontal layout with items.\n * The items can be overflowing in a popover, when the space is not enough to show all of them.\n *\n * ### Keyboard Handling\n * The `ui5-toolbar` provides advanced keyboard handling.\n *\n * - [Left]/[Right] - navigate among toolbar items\n * - [Home]/[End] - move to first/last toolbar item\n * - [Tab] / [Shift]+[Tab] - exit the toolbar\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/Toolbar.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-toolbar\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: ToolbarTemplate,\n})\n/**\n * @private\n*/\n@event(\"_min-content-width-change\", {\n\tbubbles: true,\n})\n\nclass Toolbar extends UI5Element {\n\teventDetails!: {\n\t\t\"_min-content-width-change\": ToolbarMinWidthChangeEventDetail\n\t}\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * Indicated the direction in which the Toolbar items will be aligned.\n\t * @public\n\t * @default \"End\"\n\t */\n\t@property()\n\talignContent: `${ToolbarAlign}` = \"End\";\n\n\t/**\n\t * Calculated width of the whole toolbar.\n\t * @private\n\t * @default undefined\n\t */\n\t@property({ type: Number })\n\twidth?: number;\n\n\t/**\n\t * Calculated width of the toolbar content.\n\t * @private\n\t * @default undefined\n\t */\n\t@property({ type: Number })\n\tcontentWidth?: number;\n\n\t/**\n\t * Notifies the toolbar if it should show the items in a reverse way if Toolbar Popover needs to be placed on \"Top\" position.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\treverseOverflow = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * **Note:** It is strongly recommended to always set this property or `accessibleNameRef`\n\t * when the toolbar has `role=\"toolbar\"` (i.e. when it contains more than one interactive item).\n\t * Without an accessible name, screen readers will announce the toolbar without any context,\n\t * making it harder for keyboard-only and AT users to understand its purpose.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the input.\n\t *\n\t * **Note:** When the toolbar has `role=\"toolbar\"`, at least one of `accessibleName` or\n\t * `accessibleNameRef` should be provided to satisfy WCAG 2.1 success criterion 4.1.2.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the overflow button of the component.\n\t *\n\t * **Note:** When not set, the built-in translation for \"Additional Options\" is used.\n\t * @default undefined\n\t * @public\n\t * @since 2.22.0\n\t */\n\t@property()\n\toverflowButtonAccessibleName?: string;\n\n\t/**\n\t * Defines the toolbar design.\n\t * @public\n\t * @default \"Solid\"\n\t * @since 2.0.0\n\t */\n\t@property()\n\tdesign: `${ToolbarDesign}` = \"Solid\"\n\n\t@property({ type: Boolean })\n\tpopoverOpen = false;\n\n\t/**\n\t * Defines the items of the component.\n\t *\n\t * **Note:** Currently only `ui5-toolbar-button`, `ui5-toolbar-select`, `ui5-toolbar-separator` and `ui5-toolbar-spacer` are allowed here.\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true, type: HTMLElement, invalidateOnChildChange: true, individualSlots: true,\n\t})\n\titems!: DefaultSlot<ToolbarItemBase>\n\n\t_onResize!: ResizeObserverCallback;\n\t_onCloseOverflow!: EventListener;\n\t_onFocusIn!: (e: FocusEvent) => void;\n\t_onKeyDown!: (e: KeyboardEvent) => void;\n\titemsToOverflow: Array<ToolbarItemBase> = [];\n\titemsWidth = 0;\n\tminContentWidth = 0;\n\t_lastFocusedItem?: ToolbarItemBase | HTMLElement;\n\n\tITEMS_WIDTH_MAP: Map<string, number> = new Map();\n\n\tstatic get styles() {\n\t\treturn [\n\t\t\tToolbarCss,\n\t\t\tToolbarPopoverCss,\n\t\t];\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._onResize = this.onResize.bind(this);\n\t\tthis._onCloseOverflow = this.closeOverflow.bind(this);\n\t\tthis._onFocusIn = this._onfocusin.bind(this);\n\t\tthis._onKeyDown = this._onkeydown.bind(this);\n\t}\n\t/**\n\t * Read-only members\n\t */\n\tget overflowButtonSize(): number {\n\t\treturn this.overflowButtonDOM?.getBoundingClientRect().width || 0;\n\t}\n\tget padding(): number {\n\t\tconst toolbarComputedStyle = getComputedStyle(this.getDomRef()!);\n\t\treturn calculateCSSREMValue(toolbarComputedStyle, \"--_ui5-toolbar-padding-left\")\n\t\t\t+ calculateCSSREMValue(toolbarComputedStyle, \"--_ui5-toolbar-padding-right\");\n\t}\n\n\tget alwaysOverflowItems() {\n\t\treturn this.items.filter(item => item.overflowPriority === ToolbarItemOverflowBehavior.AlwaysOverflow);\n\t}\n\n\tget movableItems() {\n\t\treturn this.items.filter(item => item.overflowPriority !== ToolbarItemOverflowBehavior.AlwaysOverflow && item.overflowPriority !== ToolbarItemOverflowBehavior.NeverOverflow);\n\t}\n\n\tget overflowItems() {\n\t\t// spacers are ignored\n\t\tconst overflowItems = this.itemsToOverflow.filter(item => !item.ignoreSpace);\n\t\treturn this.reverseOverflow ? overflowItems.reverse() : overflowItems;\n\t}\n\n\tget standardItems() {\n\t\treturn this.items.filter(item => this.itemsToOverflow.indexOf(item) === -1);\n\t}\n\n\tget hideOverflowButton() {\n\t\treturn this.itemsToOverflow.filter(item => !(item.ignoreSpace || item.isSeparator)).length === 0;\n\t}\n\n\tget interactiveItems() {\n\t\treturn this.items.filter((item: ToolbarItemBase) => item.isInteractive);\n\t}\n\n\t/**\n\t * Accessibility\n\t */\n\n\tget hasAriaSemantics() {\n\t\treturn this.interactiveItems.length > 1;\n\t}\n\n\tget accessibleRole() {\n\t\treturn this.hasAriaSemantics ? \"toolbar\" as const : undefined;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn this.hasAriaSemantics ? getEffectiveAriaLabelText(this) : undefined;\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\trole: this.accessibleRole,\n\t\t\t\taccessibleName: this.ariaLabelText,\n\t\t\t},\n\t\t\toverflowButton: {\n\t\t\t\taccessibleName: this.overflowButtonAccessibleName || Toolbar.i18nBundle.getText(TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL),\n\t\t\t\ttooltip: Toolbar.i18nBundle.getText(TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL),\n\t\t\t\taccessibilityAttributes: {\n\t\t\t\t\texpanded: this.popoverOpen,\n\t\t\t\t\thasPopup: \"menu\" as const,\n\t\t\t\t},\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\taccessibleName: Toolbar.i18nBundle.getText(TOOLBAR_POPOVER_AVAILABLE_VALUES),\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * Toolbar Overflow Popover\n\t */\n\n\tget overflowButtonDOM(): Button | null {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-tb-overflow-btn\");\n\t}\n\n\tget hasFlexibleSpacers() {\n\t\treturn this.items.some((item: ToolbarItemBase) => item.hasFlexibleWidth);\n\t}\n\n\t/**\n\t * Lifecycle methods\n\t */\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._onResize);\n\t\tthis.attachListeners();\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResize);\n\t\tthis.detachListeners();\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.reason === \"childchange\") {\n\t\t\tconst currentItemsWidth = this.items.reduce((total, item) => total + this.getItemWidth(item), 0);\n\t\t\tif (currentItemsWidth !== this.itemsWidth) {\n\t\t\t\tthis.onToolbarItemChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tif (getActiveElement() === this.overflowButtonDOM?.getFocusDomRef() && this.hideOverflowButton) {\n\t\t\tconst items = this.standardItems.filter(item => item.isToolbarNavigatable);\n\t\t\tconst lastItem = items.at(-1);\n\t\t\tif (lastItem) {\n\t\t\t\tthis._lastFocusedItem = lastItem;\n\t\t\t\tlastItem.focusForToolbarNavigation(false);\n\t\t\t}\n\t\t}\n\t\tthis.prePopulateAlwaysOverflowItems();\n\t}\n\n\tasync onAfterRendering() {\n\t\tawait renderFinished();\n\t\tthis.storeItemsWidth();\n\t\tthis.processOverflowLayout();\n\t\tthis.items.forEach(item => {\n\t\t\tthis.addItemsAdditionalProperties(item);\n\t\t});\n\t\tthis._reconcileLastFocusedItem();\n\t}\n\n\t/**\n\t * Drops the tracked re-entry item once it leaves the navigation chain\n\t * (moved to overflow or removed), so Tab re-entry and arrow/Home/End\n\t * navigation don't silently restart from the first item.\n\t */\n\t_reconcileLastFocusedItem() {\n\t\tif (this._lastFocusedItem instanceof ToolbarItemBase && !this._getNavigationChain().includes(this._lastFocusedItem)) {\n\t\t\tthis._lastFocusedItem = undefined;\n\t\t}\n\t}\n\n\taddItemsAdditionalProperties(item: ToolbarItemBase) {\n\t\titem.isOverflowed = this.overflowItems.indexOf(item) !== -1;\n\t\tconst itemWrapper = this.shadowRoot!.querySelector(`#${item._individualSlot}`) as HTMLElement;\n\t\tif (item.hasOverflow && !item.isOverflowed && itemWrapper) {\n\t\t\t// We need to set the max-width to the self-overflow element in order ot prevent it from taking all the available space,\n\t\t\t// since, unlike the other items, it is allowed to grow and shrink\n\t\t\t// We need to set the max-width to none and its position to absolute to allow the item to grow and measure its width,\n\t\t\t// then when set, the max-width will be cached and we will set its highest value to not cut it when the Toolbar shrinks it\n\t\t\t// on rendering and then we resize it manually.\n\t\t\titemWrapper.style.maxWidth = `none`;\n\t\t\titemWrapper?.classList.add(\"ui5-tb-self-overflow-grow\");\n\t\t\titem._maxWidth = Math.max(this.getItemWidth(item), item._maxWidth);\n\t\t\titemWrapper.style.maxWidth = `${item._maxWidth}px`;\n\t\t\titemWrapper?.classList.remove(\"ui5-tb-self-overflow-grow\");\n\t\t}\n\t}\n\n\t/**\n\t * Returns if the overflow popup is open.\n\t * @public\n\t */\n\tisOverflowOpen(): boolean {\n\t\tconst overflowPopover = this.getOverflowPopover();\n\t\treturn overflowPopover.open;\n\t}\n\n\topenOverflow(): void {\n\t\tconst overflowPopover = this.getOverflowPopover();\n\t\toverflowPopover.opener = this.overflowButtonDOM!;\n\t\toverflowPopover.open = true;\n\t\tthis.reverseOverflow = overflowPopover.actualPlacement === \"Top\";\n\t}\n\n\tcloseOverflow() {\n\t\tconst overflowPopover = this.getOverflowPopover();\n\t\toverflowPopover.open = false;\n\t}\n\n\ttoggleOverflow() {\n\t\tif (this.popoverOpen) {\n\t\t\tthis.closeOverflow();\n\t\t} else {\n\t\t\tthis.openOverflow();\n\t\t}\n\t}\n\n\tgetOverflowPopover(): Popover {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\".ui5-overflow-popover\")!;\n\t}\n\n\t/**\n\t * Layout management\n\t */\n\n\tprocessOverflowLayout() {\n\t\tif (this.offsetWidth === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst containerWidth = this.offsetWidth - this.padding;\n\t\tconst contentWidth = this.itemsWidth;\n\t\tlet overflowSpace = contentWidth - containerWidth + this.overflowButtonSize;\n\n\t\tif (contentWidth <= containerWidth) {\n\t\t\toverflowSpace = 0;\n\t\t}\n\n\t\t// skip calculation if the width has not been changed or if the items width has not been changed\n\t\tif (this.width === containerWidth && this.contentWidth === contentWidth) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.distributeItems(overflowSpace);\n\t\tthis.width = containerWidth;\n\t\tthis.contentWidth = contentWidth;\n\t}\n\n\tstoreItemsWidth() {\n\t\tlet totalWidth = 0,\n\t\t\tminWidth = 0;\n\n\t\tthis.items.forEach(item => {\n\t\t\tconst itemWidth = this.getItemWidth(item);\n\t\t\ttotalWidth += itemWidth;\n\t\t\tif (item.overflowPriority === ToolbarItemOverflowBehavior.NeverOverflow) {\n\t\t\t\tminWidth += itemWidth;\n\t\t\t}\n\t\t\tthis.ITEMS_WIDTH_MAP.set(item._id, itemWidth);\n\t\t});\n\n\t\tif (minWidth !== this.minContentWidth) {\n\t\t\tconst spaceAroundContent = this.offsetWidth - this.getDomRef()!.offsetWidth;\n\t\t\tthis.fireDecoratorEvent(\"_min-content-width-change\", {\n\t\t\t\tminWidth: minWidth + spaceAroundContent + this.overflowButtonSize,\n\t\t\t});\n\t\t}\n\n\t\tthis.itemsWidth = totalWidth;\n\t\tthis.minContentWidth = minWidth;\n\t}\n\n\tdistributeItems(overflowSpace = 0) {\n\t\tconst movableItems = this.movableItems.reverse();\n\t\tlet index = 0;\n\t\tlet currentItem = movableItems[index];\n\n\t\tthis.itemsToOverflow = [];\n\n\t\t// distribute items that always overflow\n\t\tthis.distributeItemsThatAlwaysOverflow();\n\n\t\twhile (overflowSpace > 0 && currentItem) {\n\t\t\tthis.itemsToOverflow.unshift(currentItem);\n\t\t\toverflowSpace -= this.getCachedItemWidth(currentItem?._id) || 0;\n\t\t\tindex++;\n\t\t\tcurrentItem = movableItems[index];\n\t\t}\n\n\t\t// If the last bar item is a spacer, force it to the overflow even if there is enough space for it\n\t\tif (index < movableItems.length) {\n\t\t\tlet lastItem = movableItems[index];\n\t\t\twhile (index <= movableItems.length - 1 && lastItem.isSeparator) {\n\t\t\t\tthis.itemsToOverflow.unshift(lastItem);\n\t\t\t\tindex++;\n\t\t\t\tlastItem = movableItems[index];\n\t\t\t}\n\t\t}\n\n\t\tthis.setSeperatorsVisibilityInOverflow();\n\t}\n\n\tdistributeItemsThatAlwaysOverflow() {\n\t\tthis.alwaysOverflowItems.forEach((item: ToolbarItemBase) => {\n\t\t\tthis.itemsToOverflow.push(item);\n\t\t});\n\t}\n\n\tsetSeperatorsVisibilityInOverflow() {\n\t\tthis.itemsToOverflow.forEach((item, idx, items) => {\n\t\t\tif (item.isSeparator) {\n\t\t\t\t(item as ToolbarSeparator).visible = this.shouldShowSeparatorInOverflow(idx, items);\n\t\t\t}\n\t\t});\n\t}\n\n\tshouldShowSeparatorInOverflow(separatorIdx: number, overflowItems: Array<ToolbarItemBase>) {\n\t\tlet foundPrevNonSeparatorItem = false;\n\t\tlet foundNextNonSeperatorItem = false;\n\n\t\t// search for non-separator item before and after the seperator\n\t\toverflowItems.forEach((item, idx) => {\n\t\t\tif (idx < separatorIdx && !item.isSeparator) {\n\t\t\t\tfoundPrevNonSeparatorItem = true;\n\t\t\t}\n\t\t\tif (idx > separatorIdx && !item.isSeparator) {\n\t\t\t\tfoundNextNonSeperatorItem = true;\n\t\t\t}\n\t\t});\n\n\t\treturn foundPrevNonSeparatorItem && foundNextNonSeperatorItem;\n\t}\n\n\t/**\n\t * Adds AlwaysOverflow items to overflow to ensure they are never rendered outside overflow (and visual flash is prevented)\n\t */\n\tprePopulateAlwaysOverflowItems() {\n\t\tthis.alwaysOverflowItems.forEach(item => {\n\t\t\tif (!this.itemsToOverflow.includes(item)) {\n\t\t\t\tthis.itemsToOverflow.push(item);\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Event Handlers\n\t */\n\n\tonOverflowPopoverClosed() {\n\t\tthis.popoverOpen = false;\n\t}\n\n\tonOverflowPopoverOpened() {\n\t\tthis.popoverOpen = true;\n\t\tconst firstItem = this.overflowItems.find(item => item.isInteractive && !item.hidden);\n\t\tfirstItem?.focusForToolbarNavigation(true);\n\t}\n\n\tonResize() {\n\t\tthis.closeOverflow();\n\t\tthis.storeItemsWidth();\n\t\tthis.processOverflowLayout();\n\t}\n\n\t/**\n\t * Private members\n\t */\n\n\tattachListeners() {\n\t\tthis.addEventListener(\"ui5-close-overflow\", this._onCloseOverflow);\n\t\tthis.addEventListener(\"focusin\", this._onFocusIn);\n\t\tthis.addEventListener(\"keydown\", this._onKeyDown, true);\n\t}\n\n\tdetachListeners() {\n\t\tthis.removeEventListener(\"ui5-close-overflow\", this._onCloseOverflow);\n\t\tthis.removeEventListener(\"focusin\", this._onFocusIn);\n\t\tthis.removeEventListener(\"keydown\", this._onKeyDown, true);\n\t}\n\n\tonToolbarItemChange() {\n\t\t// some items were updated reset the cache and trigger a re-render\n\t\tthis.itemsToOverflow = [];\n\t\tthis.contentWidth = 0; // re-render\n\t}\n\n\tgetItemWidth(item: ToolbarItemBase): number {\n\t\t// Spacer width - always 0 for flexible spacers, so that they shrink, otherwise - measure the width normally\n\t\tif (item.ignoreSpace || item.isSeparator) {\n\t\t\treturn 0;\n\t\t}\n\t\tconst id: string = item._id;\n\t\t// Measure rendered width for spacers with width, and for normal items\n\t\tconst renderedItem = this.shadowRoot!.querySelector<HTMLElement>(`#${item._individualSlot}`);\n\n\t\tlet itemWidth = 0;\n\n\t\tif (renderedItem && !renderedItem.classList.contains(\"ui5-tb-popover-item\") && renderedItem.offsetWidth && item._isRendering === false) {\n\t\t\tconst ItemCSSStyleSet = getComputedStyle(renderedItem);\n\t\t\titemWidth = renderedItem.offsetWidth + parsePxValue(ItemCSSStyleSet, \"margin-inline-end\")\n\t\t\t\t+ parsePxValue(ItemCSSStyleSet, \"margin-inline-start\");\n\t\t} else {\n\t\t\titemWidth = this.getCachedItemWidth(id) || 0;\n\t\t}\n\n\t\treturn Math.ceil(itemWidth);\n\t}\n\n\tgetCachedItemWidth(id: string) {\n\t\treturn this.ITEMS_WIDTH_MAP.get(id);\n\t}\n\n\t/**\n\t * Keyboard Navigation\n\t */\n\n\t_isFocusInsideOverflow(path: Array<EventTarget>): boolean {\n\t\tconst popover = this.getOverflowPopover();\n\t\tif (!popover) {\n\t\t\treturn false;\n\t\t}\n\t\t// Check popover shadow DOM (e.g. focus trap sentinels)\n\t\tif ((path as Node[]).some(node => popover === node || popover.shadowRoot === node)) {\n\t\t\treturn true;\n\t\t}\n\t\t// Check if the event originates from a slotted overflow item (light DOM, not contained by popover)\n\t\tconst overflowItemSet = new Set<ToolbarItemBase>(this.overflowItems);\n\t\treturn (path as Node[]).some(node => overflowItemSet.has(node as ToolbarItemBase));\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst path = e.composedPath();\n\n\t\tif (this.popoverOpen && this._isFocusInsideOverflow(path)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentTarget = this._findItemByPath(path)\n\t\t\t|| this._findOverflowButtonByPath(path)\n\t\t\t|| this._findCurrentTargetByActiveElement();\n\n\t\tif (currentTarget) {\n\t\t\tthis._setCurrentItem(currentTarget);\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst path = e.composedPath();\n\n\t\tif (this.popoverOpen && this._isFocusInsideOverflow(path)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isTabNext(e) || isTabPrevious(e)) {\n\t\t\tconst tabTarget = this._findItemByPath(path)\n\t\t\t\t|| this._findOverflowButtonByPath(path)\n\t\t\t\t|| this._findCurrentTargetByActiveElement()\n\t\t\t\t|| this._lastFocusedItem;\n\t\t\tif (tabTarget) {\n\t\t\t\tthis._setCurrentItem(tabTarget);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst isForward = this.effectiveDir === \"rtl\" ? isLeft(e) : isRight(e);\n\t\tconst isBackward = this.effectiveDir === \"rtl\" ? isRight(e) : isLeft(e);\n\t\tconst isHomeKey = isHome(e);\n\t\tconst isEndKey = isEnd(e);\n\n\t\tif (!isForward && !isBackward && !isHomeKey && !isEndKey) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentTarget = this._findItemByPath(path)\n\t\t\t|| this._findOverflowButtonByPath(path)\n\t\t\t|| this._findCurrentTargetByActiveElement()\n\t\t\t|| this._lastFocusedItem;\n\t\tif (!currentTarget) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Items that manage their own internal navigation (Input caret, Breadcrumbs,\n\t\t// checkbox groups) report a boundary state; the toolbar only takes over the\n\t\t// key once the item is at the relevant end.\n\t\tconst navState = currentTarget instanceof ToolbarItemBase ? currentTarget.getArrowNavState() : undefined;\n\n\t\tif (navState && (isForward || isBackward)) {\n\t\t\tconst atEnd = isForward ? navState.atRightEnd : navState.atLeftEnd;\n\t\t\tif (!atEnd) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (navState && (isHomeKey || isEndKey)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isHomeKey) {\n\t\t\tthis._moveToFirst();\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEndKey) {\n\t\t\tthis._moveToLast();\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isForward || isBackward) {\n\t\t\tif (isForward) {\n\t\t\t\tthis._moveToNext();\n\t\t\t} else {\n\t\t\t\tthis._moveToPrev();\n\t\t\t}\n\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t}\n\t}\n\n\t_findItemByPath(path: Array<EventTarget>): ToolbarItemBase | undefined {\n\t\treturn (path as HTMLElement[]).find((el): el is ToolbarItemBase => el instanceof ToolbarItemBase);\n\t}\n\n\t_findOverflowButtonByPath(path: Array<EventTarget>): HTMLElement | undefined {\n\t\tconst overflowButton = this.overflowButtonDOM;\n\t\tif (!overflowButton) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst active = getActiveElement() as HTMLElement | null;\n\t\treturn path.includes(overflowButton)\n\t\t\t|| !!(active && this._isNodeInsideElement(active, overflowButton))\n\t\t\t? overflowButton\n\t\t\t: undefined;\n\t}\n\n\t_isNodeInsideElement(node: Node, element: HTMLElement) {\n\t\tlet current: Node | null = node;\n\n\t\twhile (current) {\n\t\t\tif (current === element) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst root = current.getRootNode?.();\n\t\t\tif (root instanceof ShadowRoot) {\n\t\t\t\tcurrent = root.host;\n\t\t\t} else {\n\t\t\t\tcurrent = current.parentNode;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t_findCurrentTargetByActiveElement(): ToolbarItemBase | HTMLElement | undefined {\n\t\tconst active = getActiveElement() as HTMLElement | null;\n\t\tif (!active) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst overflowButton = this.overflowButtonDOM;\n\t\tif (overflowButton && this._isNodeInsideElement(active, overflowButton)) {\n\t\t\treturn overflowButton;\n\t\t}\n\n\t\t// _getNavigationTargets() already includes the item's focus ref, so a single\n\t\t// membership check per item is enough - no need to test getFocusDomRef separately.\n\t\treturn this._getNavigableItems().find(item => item._getNavigationTargets().some(target => this._isNodeInsideElement(active, target)));\n\t}\n\n\t_getNavigationChain() {\n\t\tconst chain: Array<ToolbarItemBase | HTMLElement> = [...this._getNavigableItems()];\n\t\tconst overflowButton = this.overflowButtonDOM;\n\n\t\tif (!this.hideOverflowButton && overflowButton) {\n\t\t\tchain.push(overflowButton);\n\t\t}\n\n\t\treturn chain;\n\t}\n\n\t_getNavigableItems() {\n\t\treturn this.items.filter(item => item.isToolbarNavigatable && !item.isOverflowed);\n\t}\n\n\t_setCurrentItem(item: ToolbarItemBase | HTMLElement) {\n\t\tthis._lastFocusedItem = item;\n\t}\n\n\t_moveToNext() {\n\t\tthis._moveToItem((current, items) => Math.min(current + 1, items.length - 1), true);\n\t}\n\n\t_moveToPrev() {\n\t\tthis._moveToItem(current => Math.max(current - 1, 0), false);\n\t}\n\n\t_moveToFirst() {\n\t\tthis._moveToItem(() => 0, true);\n\t}\n\n\t_moveToLast() {\n\t\tthis._moveToItem((_, items) => items.length - 1, false);\n\t}\n\n\t_moveToItem(indexCalc: (currentIndex: number, items: Array<ToolbarItemBase | HTMLElement>) => number, isForward: boolean) {\n\t\tconst items = this._getNavigationChain();\n\t\tif (!items.length) {\n\t\t\treturn;\n\t\t}\n\t\tconst currentIndex = this._lastFocusedItem ? items.indexOf(this._lastFocusedItem) : -1;\n\n\t\t// No tracked item in the current chain: enter at the near end for the\n\t\t// pressed direction (first item for forward, last for backward) instead\n\t\t// of coercing to 0 and then stepping past it.\n\t\tif (currentIndex === -1) {\n\t\t\tconst entryItem = items[isForward ? 0 : items.length - 1];\n\t\t\tthis._setCurrentItem(entryItem);\n\t\t\tthis._focusNavigationItem(entryItem, isForward);\n\t\t\treturn;\n\t\t}\n\n\t\tconst nextIndex = indexCalc(currentIndex, items);\n\n\t\tif (nextIndex === currentIndex) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst nextItem = items[nextIndex];\n\t\tthis._setCurrentItem(nextItem);\n\t\tthis._focusNavigationItem(nextItem, isForward);\n\t}\n\n\t_focusNavigationItem(item: ToolbarItemBase | HTMLElement, isForward: boolean) {\n\t\tif (item instanceof ToolbarItemBase) {\n\t\t\titem.focusForToolbarNavigation(isForward);\n\t\t} else {\n\t\t\titem.focus();\n\t\t}\n\t}\n}\n\nToolbar.define();\n\nexport default Toolbar;\nexport type {\n\tToolbarMinWidthChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../src/Toolbar.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo, DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport {\n\tisLeft,\n\tisRight,\n\tisHome,\n\tisEnd,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport \"@ui5/webcomponents-icons/dist/overflow.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\n\nimport {\n\tTOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL,\n\tTOOLBAR_POPOVER_AVAILABLE_VALUES,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport ToolbarTemplate from \"./ToolbarTemplate.js\";\nimport ToolbarCss from \"./generated/themes/Toolbar.css.js\";\n\nimport ToolbarPopoverCss from \"./generated/themes/ToolbarPopover.css.js\";\n\nimport type ToolbarAlign from \"./types/ToolbarAlign.js\";\nimport type ToolbarDesign from \"./types/ToolbarDesign.js\";\nimport ToolbarItemOverflowBehavior from \"./types/ToolbarItemOverflowBehavior.js\";\n\nimport ToolbarItemBase from \"./ToolbarItemBase.js\";\nimport type ToolbarSeparator from \"./ToolbarSeparator.js\";\n\nimport type Button from \"./Button.js\";\nimport type Popover from \"./Popover.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\n\ntype ToolbarMinWidthChangeEventDetail = {\n\tminWidth: number,\n};\n\nfunction calculateCSSREMValue(styleSet: CSSStyleDeclaration, propertyName: string): number {\n\treturn Number(styleSet.getPropertyValue(propertyName).replace(\"rem\", \"\")) * parseInt(getComputedStyle(document.body).getPropertyValue(\"font-size\"));\n}\n\nfunction parsePxValue(styleSet: CSSStyleDeclaration, propertyName: string): number {\n\treturn Number(styleSet.getPropertyValue(propertyName).replace(\"px\", \"\"));\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-toolbar` component is used to create a horizontal layout with items.\n * The items can be overflowing in a popover, when the space is not enough to show all of them.\n *\n * ### Keyboard Handling\n * The `ui5-toolbar` provides advanced keyboard handling.\n *\n * - [Left]/[Right] - navigate among toolbar items\n * - [Home]/[End] - move to first/last toolbar item\n * - [Tab] / [Shift]+[Tab] - exit the toolbar\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/Toolbar.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-toolbar\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: ToolbarTemplate,\n})\n/**\n * @private\n*/\n@event(\"_min-content-width-change\", {\n\tbubbles: true,\n})\n\nclass Toolbar extends UI5Element {\n\teventDetails!: {\n\t\t\"_min-content-width-change\": ToolbarMinWidthChangeEventDetail\n\t}\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * Indicated the direction in which the Toolbar items will be aligned.\n\t * @public\n\t * @default \"End\"\n\t */\n\t@property()\n\talignContent: `${ToolbarAlign}` = \"End\";\n\n\t/**\n\t * Calculated width of the whole toolbar.\n\t * @private\n\t * @default undefined\n\t */\n\t@property({ type: Number })\n\twidth?: number;\n\n\t/**\n\t * Calculated width of the toolbar content.\n\t * @private\n\t * @default undefined\n\t */\n\t@property({ type: Number })\n\tcontentWidth?: number;\n\n\t/**\n\t * Notifies the toolbar if it should show the items in a reverse way if Toolbar Popover needs to be placed on \"Top\" position.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\treverseOverflow = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * **Note:** It is strongly recommended to always set this property or `accessibleNameRef`\n\t * when the toolbar has `role=\"toolbar\"` (i.e. when it contains more than one interactive item).\n\t * Without an accessible name, screen readers will announce the toolbar without any context,\n\t * making it harder for keyboard-only and AT users to understand its purpose.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the input.\n\t *\n\t * **Note:** When the toolbar has `role=\"toolbar\"`, at least one of `accessibleName` or\n\t * `accessibleNameRef` should be provided to satisfy WCAG 2.1 success criterion 4.1.2.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the overflow button of the component.\n\t *\n\t * **Note:** When not set, the built-in translation for \"Additional Options\" is used.\n\t * @default undefined\n\t * @public\n\t * @since 2.22.0\n\t */\n\t@property()\n\toverflowButtonAccessibleName?: string;\n\n\t/**\n\t * Defines the toolbar design.\n\t * @public\n\t * @default \"Solid\"\n\t * @since 2.0.0\n\t */\n\t@property()\n\tdesign: `${ToolbarDesign}` = \"Solid\"\n\n\t@property({ type: Boolean })\n\tpopoverOpen = false;\n\n\t/**\n\t * Defines the items of the component.\n\t *\n\t * **Note:** Use `ui5-toolbar-button`, `ui5-toolbar-select`, `ui5-toolbar-separator` and `ui5-toolbar-spacer` for the most common toolbar actions. To place any other UI5 Web Component into the toolbar and have it participate in overflow handling, wrap it in a `ui5-toolbar-item`.\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true, type: HTMLElement, invalidateOnChildChange: true, individualSlots: true,\n\t})\n\titems!: DefaultSlot<ToolbarItemBase>\n\n\t_onResize!: ResizeObserverCallback;\n\t_onCloseOverflow!: EventListener;\n\t_onFocusIn!: (e: FocusEvent) => void;\n\t_onKeyDown!: (e: KeyboardEvent) => void;\n\titemsToOverflow: Array<ToolbarItemBase> = [];\n\titemsWidth = 0;\n\tminContentWidth = 0;\n\t_lastFocusedItem?: ToolbarItemBase | HTMLElement;\n\n\tITEMS_WIDTH_MAP: Map<string, number> = new Map();\n\n\tstatic get styles() {\n\t\treturn [\n\t\t\tToolbarCss,\n\t\t\tToolbarPopoverCss,\n\t\t];\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._onResize = this.onResize.bind(this);\n\t\tthis._onCloseOverflow = this.closeOverflow.bind(this);\n\t\tthis._onFocusIn = this._onfocusin.bind(this);\n\t\tthis._onKeyDown = this._onkeydown.bind(this);\n\t}\n\t/**\n\t * Read-only members\n\t */\n\tget overflowButtonSize(): number {\n\t\treturn this.overflowButtonDOM?.getBoundingClientRect().width || 0;\n\t}\n\tget padding(): number {\n\t\tconst toolbarComputedStyle = getComputedStyle(this.getDomRef()!);\n\t\treturn calculateCSSREMValue(toolbarComputedStyle, \"--_ui5-toolbar-padding-left\")\n\t\t\t+ calculateCSSREMValue(toolbarComputedStyle, \"--_ui5-toolbar-padding-right\");\n\t}\n\n\tget alwaysOverflowItems() {\n\t\treturn this.items.filter(item => item.overflowPriority === ToolbarItemOverflowBehavior.AlwaysOverflow);\n\t}\n\n\tget movableItems() {\n\t\treturn this.items.filter(item => item.overflowPriority !== ToolbarItemOverflowBehavior.AlwaysOverflow && item.overflowPriority !== ToolbarItemOverflowBehavior.NeverOverflow);\n\t}\n\n\tget overflowItems() {\n\t\t// spacers are ignored\n\t\tconst overflowItems = this.itemsToOverflow.filter(item => !item.ignoreSpace);\n\t\treturn this.reverseOverflow ? overflowItems.reverse() : overflowItems;\n\t}\n\n\tget standardItems() {\n\t\treturn this.items.filter(item => this.itemsToOverflow.indexOf(item) === -1);\n\t}\n\n\tget hideOverflowButton() {\n\t\treturn this.itemsToOverflow.filter(item => !(item.ignoreSpace || item.isSeparator)).length === 0;\n\t}\n\n\tget interactiveItems() {\n\t\treturn this.items.filter((item: ToolbarItemBase) => item.isInteractive);\n\t}\n\n\t/**\n\t * Accessibility\n\t */\n\n\tget hasAriaSemantics() {\n\t\treturn this.interactiveItems.length > 1;\n\t}\n\n\tget accessibleRole() {\n\t\treturn this.hasAriaSemantics ? \"toolbar\" as const : undefined;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn this.hasAriaSemantics ? getEffectiveAriaLabelText(this) : undefined;\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\trole: this.accessibleRole,\n\t\t\t\taccessibleName: this.ariaLabelText,\n\t\t\t},\n\t\t\toverflowButton: {\n\t\t\t\taccessibleName: this.overflowButtonAccessibleName || Toolbar.i18nBundle.getText(TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL),\n\t\t\t\ttooltip: Toolbar.i18nBundle.getText(TOOLBAR_OVERFLOW_BUTTON_ARIA_LABEL),\n\t\t\t\taccessibilityAttributes: {\n\t\t\t\t\texpanded: this.popoverOpen,\n\t\t\t\t\thasPopup: \"menu\" as const,\n\t\t\t\t},\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\taccessibleName: Toolbar.i18nBundle.getText(TOOLBAR_POPOVER_AVAILABLE_VALUES),\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * Toolbar Overflow Popover\n\t */\n\n\tget overflowButtonDOM(): Button | null {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-tb-overflow-btn\");\n\t}\n\n\tget hasFlexibleSpacers() {\n\t\treturn this.items.some((item: ToolbarItemBase) => item.hasFlexibleWidth);\n\t}\n\n\t/**\n\t * Lifecycle methods\n\t */\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._onResize);\n\t\tthis.attachListeners();\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._onResize);\n\t\tthis.detachListeners();\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.reason === \"childchange\") {\n\t\t\tconst currentItemsWidth = this.items.reduce((total, item) => total + this.getItemWidth(item), 0);\n\t\t\tif (currentItemsWidth !== this.itemsWidth) {\n\t\t\t\tthis.onToolbarItemChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tif (getActiveElement() === this.overflowButtonDOM?.getFocusDomRef() && this.hideOverflowButton) {\n\t\t\tconst items = this.standardItems.filter(item => item.isToolbarNavigatable);\n\t\t\tconst lastItem = items.at(-1);\n\t\t\tif (lastItem) {\n\t\t\t\tthis._lastFocusedItem = lastItem;\n\t\t\t\tlastItem.focusForToolbarNavigation(false);\n\t\t\t}\n\t\t}\n\t\tthis.prePopulateAlwaysOverflowItems();\n\t}\n\n\tasync onAfterRendering() {\n\t\tawait renderFinished();\n\t\tthis.storeItemsWidth();\n\t\tthis.processOverflowLayout();\n\t\tthis.items.forEach(item => {\n\t\t\tthis.addItemsAdditionalProperties(item);\n\t\t});\n\t\tthis._reconcileLastFocusedItem();\n\t}\n\n\t/**\n\t * Drops the tracked re-entry item once it leaves the navigation chain\n\t * (moved to overflow or removed), so Tab re-entry and arrow/Home/End\n\t * navigation don't silently restart from the first item.\n\t */\n\t_reconcileLastFocusedItem() {\n\t\tif (this._lastFocusedItem instanceof ToolbarItemBase && !this._getNavigationChain().includes(this._lastFocusedItem)) {\n\t\t\tthis._lastFocusedItem = undefined;\n\t\t}\n\t}\n\n\taddItemsAdditionalProperties(item: ToolbarItemBase) {\n\t\titem.isOverflowed = this.overflowItems.indexOf(item) !== -1;\n\t\tconst itemWrapper = this.shadowRoot!.querySelector(`#${item._individualSlot}`) as HTMLElement;\n\t\tif (item.hasOverflow && !item.isOverflowed && itemWrapper) {\n\t\t\t// We need to set the max-width to the self-overflow element in order ot prevent it from taking all the available space,\n\t\t\t// since, unlike the other items, it is allowed to grow and shrink\n\t\t\t// We need to set the max-width to none and its position to absolute to allow the item to grow and measure its width,\n\t\t\t// then when set, the max-width will be cached and we will set its highest value to not cut it when the Toolbar shrinks it\n\t\t\t// on rendering and then we resize it manually.\n\t\t\titemWrapper.style.maxWidth = `none`;\n\t\t\titemWrapper?.classList.add(\"ui5-tb-self-overflow-grow\");\n\t\t\titem._maxWidth = Math.max(this.getItemWidth(item), item._maxWidth);\n\t\t\titemWrapper.style.maxWidth = `${item._maxWidth}px`;\n\t\t\titemWrapper?.classList.remove(\"ui5-tb-self-overflow-grow\");\n\t\t}\n\t}\n\n\t/**\n\t * Returns if the overflow popup is open.\n\t * @public\n\t */\n\tisOverflowOpen(): boolean {\n\t\tconst overflowPopover = this.getOverflowPopover();\n\t\treturn overflowPopover.open;\n\t}\n\n\topenOverflow(): void {\n\t\tconst overflowPopover = this.getOverflowPopover();\n\t\toverflowPopover.opener = this.overflowButtonDOM!;\n\t\toverflowPopover.open = true;\n\t\tthis.reverseOverflow = overflowPopover.actualPlacement === \"Top\";\n\t}\n\n\tcloseOverflow() {\n\t\tconst overflowPopover = this.getOverflowPopover();\n\t\toverflowPopover.open = false;\n\t}\n\n\ttoggleOverflow() {\n\t\tif (this.popoverOpen) {\n\t\t\tthis.closeOverflow();\n\t\t} else {\n\t\t\tthis.openOverflow();\n\t\t}\n\t}\n\n\tgetOverflowPopover(): Popover {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\".ui5-overflow-popover\")!;\n\t}\n\n\t/**\n\t * Layout management\n\t */\n\n\tprocessOverflowLayout() {\n\t\tif (this.offsetWidth === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst containerWidth = this.offsetWidth - this.padding;\n\t\tconst contentWidth = this.itemsWidth;\n\t\tlet overflowSpace = contentWidth - containerWidth + this.overflowButtonSize;\n\n\t\tif (contentWidth <= containerWidth) {\n\t\t\toverflowSpace = 0;\n\t\t}\n\n\t\t// skip calculation if the width has not been changed or if the items width has not been changed\n\t\tif (this.width === containerWidth && this.contentWidth === contentWidth) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.distributeItems(overflowSpace);\n\t\tthis.width = containerWidth;\n\t\tthis.contentWidth = contentWidth;\n\t}\n\n\tstoreItemsWidth() {\n\t\tlet totalWidth = 0,\n\t\t\tminWidth = 0;\n\n\t\tthis.items.forEach(item => {\n\t\t\tconst itemWidth = this.getItemWidth(item);\n\t\t\ttotalWidth += itemWidth;\n\t\t\tif (item.overflowPriority === ToolbarItemOverflowBehavior.NeverOverflow) {\n\t\t\t\tminWidth += itemWidth;\n\t\t\t}\n\t\t\tthis.ITEMS_WIDTH_MAP.set(item._id, itemWidth);\n\t\t});\n\n\t\tif (minWidth !== this.minContentWidth) {\n\t\t\tconst spaceAroundContent = this.offsetWidth - this.getDomRef()!.offsetWidth;\n\t\t\tthis.fireDecoratorEvent(\"_min-content-width-change\", {\n\t\t\t\tminWidth: minWidth + spaceAroundContent + this.overflowButtonSize,\n\t\t\t});\n\t\t}\n\n\t\tthis.itemsWidth = totalWidth;\n\t\tthis.minContentWidth = minWidth;\n\t}\n\n\tdistributeItems(overflowSpace = 0) {\n\t\tconst movableItems = this.movableItems.reverse();\n\t\tlet index = 0;\n\t\tlet currentItem = movableItems[index];\n\n\t\tthis.itemsToOverflow = [];\n\n\t\t// distribute items that always overflow\n\t\tthis.distributeItemsThatAlwaysOverflow();\n\n\t\twhile (overflowSpace > 0 && currentItem) {\n\t\t\tthis.itemsToOverflow.unshift(currentItem);\n\t\t\toverflowSpace -= this.getCachedItemWidth(currentItem?._id) || 0;\n\t\t\tindex++;\n\t\t\tcurrentItem = movableItems[index];\n\t\t}\n\n\t\t// If the last bar item is a spacer, force it to the overflow even if there is enough space for it\n\t\tif (index < movableItems.length) {\n\t\t\tlet lastItem = movableItems[index];\n\t\t\twhile (index <= movableItems.length - 1 && lastItem.isSeparator) {\n\t\t\t\tthis.itemsToOverflow.unshift(lastItem);\n\t\t\t\tindex++;\n\t\t\t\tlastItem = movableItems[index];\n\t\t\t}\n\t\t}\n\n\t\tthis.setSeperatorsVisibilityInOverflow();\n\t}\n\n\tdistributeItemsThatAlwaysOverflow() {\n\t\tthis.alwaysOverflowItems.forEach((item: ToolbarItemBase) => {\n\t\t\tthis.itemsToOverflow.push(item);\n\t\t});\n\t}\n\n\tsetSeperatorsVisibilityInOverflow() {\n\t\tthis.itemsToOverflow.forEach((item, idx, items) => {\n\t\t\tif (item.isSeparator) {\n\t\t\t\t(item as ToolbarSeparator).visible = this.shouldShowSeparatorInOverflow(idx, items);\n\t\t\t}\n\t\t});\n\t}\n\n\tshouldShowSeparatorInOverflow(separatorIdx: number, overflowItems: Array<ToolbarItemBase>) {\n\t\tlet foundPrevNonSeparatorItem = false;\n\t\tlet foundNextNonSeperatorItem = false;\n\n\t\t// search for non-separator item before and after the seperator\n\t\toverflowItems.forEach((item, idx) => {\n\t\t\tif (idx < separatorIdx && !item.isSeparator) {\n\t\t\t\tfoundPrevNonSeparatorItem = true;\n\t\t\t}\n\t\t\tif (idx > separatorIdx && !item.isSeparator) {\n\t\t\t\tfoundNextNonSeperatorItem = true;\n\t\t\t}\n\t\t});\n\n\t\treturn foundPrevNonSeparatorItem && foundNextNonSeperatorItem;\n\t}\n\n\t/**\n\t * Adds AlwaysOverflow items to overflow to ensure they are never rendered outside overflow (and visual flash is prevented)\n\t */\n\tprePopulateAlwaysOverflowItems() {\n\t\tthis.alwaysOverflowItems.forEach(item => {\n\t\t\tif (!this.itemsToOverflow.includes(item)) {\n\t\t\t\tthis.itemsToOverflow.push(item);\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Event Handlers\n\t */\n\n\tonOverflowPopoverClosed() {\n\t\tthis.popoverOpen = false;\n\t}\n\n\tonOverflowPopoverOpened() {\n\t\tthis.popoverOpen = true;\n\t\tconst firstItem = this.overflowItems.find(item => item.isInteractive && !item.hidden);\n\t\tfirstItem?.focusForToolbarNavigation(true);\n\t}\n\n\tonResize() {\n\t\tthis.closeOverflow();\n\t\tthis.storeItemsWidth();\n\t\tthis.processOverflowLayout();\n\t}\n\n\t/**\n\t * Private members\n\t */\n\n\tattachListeners() {\n\t\tthis.addEventListener(\"ui5-close-overflow\", this._onCloseOverflow);\n\t\tthis.addEventListener(\"focusin\", this._onFocusIn);\n\t\tthis.addEventListener(\"keydown\", this._onKeyDown, true);\n\t}\n\n\tdetachListeners() {\n\t\tthis.removeEventListener(\"ui5-close-overflow\", this._onCloseOverflow);\n\t\tthis.removeEventListener(\"focusin\", this._onFocusIn);\n\t\tthis.removeEventListener(\"keydown\", this._onKeyDown, true);\n\t}\n\n\tonToolbarItemChange() {\n\t\t// some items were updated reset the cache and trigger a re-render\n\t\tthis.itemsToOverflow = [];\n\t\tthis.contentWidth = 0; // re-render\n\t}\n\n\tgetItemWidth(item: ToolbarItemBase): number {\n\t\t// Spacer width - always 0 for flexible spacers, so that they shrink, otherwise - measure the width normally\n\t\tif (item.ignoreSpace || item.isSeparator) {\n\t\t\treturn 0;\n\t\t}\n\t\tconst id: string = item._id;\n\t\t// Measure rendered width for spacers with width, and for normal items\n\t\tconst renderedItem = this.shadowRoot!.querySelector<HTMLElement>(`#${item._individualSlot}`);\n\n\t\tlet itemWidth = 0;\n\n\t\tif (renderedItem && !renderedItem.classList.contains(\"ui5-tb-popover-item\") && renderedItem.offsetWidth && item._isRendering === false) {\n\t\t\tconst ItemCSSStyleSet = getComputedStyle(renderedItem);\n\t\t\titemWidth = renderedItem.offsetWidth + parsePxValue(ItemCSSStyleSet, \"margin-inline-end\")\n\t\t\t\t+ parsePxValue(ItemCSSStyleSet, \"margin-inline-start\");\n\t\t} else {\n\t\t\titemWidth = this.getCachedItemWidth(id) || 0;\n\t\t}\n\n\t\treturn Math.ceil(itemWidth);\n\t}\n\n\tgetCachedItemWidth(id: string) {\n\t\treturn this.ITEMS_WIDTH_MAP.get(id);\n\t}\n\n\t/**\n\t * Keyboard Navigation\n\t */\n\n\t_isFocusInsideOverflow(path: Array<EventTarget>): boolean {\n\t\tconst popover = this.getOverflowPopover();\n\t\tif (!popover) {\n\t\t\treturn false;\n\t\t}\n\t\t// Check popover shadow DOM (e.g. focus trap sentinels)\n\t\tif ((path as Node[]).some(node => popover === node || popover.shadowRoot === node)) {\n\t\t\treturn true;\n\t\t}\n\t\t// Check if the event originates from a slotted overflow item (light DOM, not contained by popover)\n\t\tconst overflowItemSet = new Set<ToolbarItemBase>(this.overflowItems);\n\t\treturn (path as Node[]).some(node => overflowItemSet.has(node as ToolbarItemBase));\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst path = e.composedPath();\n\n\t\tif (this.popoverOpen && this._isFocusInsideOverflow(path)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentTarget = this._findItemByPath(path)\n\t\t\t|| this._findOverflowButtonByPath(path)\n\t\t\t|| this._findCurrentTargetByActiveElement();\n\n\t\tif (currentTarget) {\n\t\t\tthis._setCurrentItem(currentTarget);\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst path = e.composedPath();\n\n\t\tif (this.popoverOpen && this._isFocusInsideOverflow(path)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isTabNext(e) || isTabPrevious(e)) {\n\t\t\tconst tabTarget = this._findItemByPath(path)\n\t\t\t\t|| this._findOverflowButtonByPath(path)\n\t\t\t\t|| this._findCurrentTargetByActiveElement()\n\t\t\t\t|| this._lastFocusedItem;\n\t\t\tif (tabTarget) {\n\t\t\t\tthis._setCurrentItem(tabTarget);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst isForward = this.effectiveDir === \"rtl\" ? isLeft(e) : isRight(e);\n\t\tconst isBackward = this.effectiveDir === \"rtl\" ? isRight(e) : isLeft(e);\n\t\tconst isHomeKey = isHome(e);\n\t\tconst isEndKey = isEnd(e);\n\n\t\tif (!isForward && !isBackward && !isHomeKey && !isEndKey) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentTarget = this._findItemByPath(path)\n\t\t\t|| this._findOverflowButtonByPath(path)\n\t\t\t|| this._findCurrentTargetByActiveElement()\n\t\t\t|| this._lastFocusedItem;\n\t\tif (!currentTarget) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Items that manage their own internal navigation (Input caret, Breadcrumbs,\n\t\t// checkbox groups) report a boundary state; the toolbar only takes over the\n\t\t// key once the item is at the relevant end.\n\t\tconst navState = currentTarget instanceof ToolbarItemBase ? currentTarget.getArrowNavState() : undefined;\n\n\t\tif (navState && (isForward || isBackward)) {\n\t\t\tconst atEnd = isForward ? navState.atRightEnd : navState.atLeftEnd;\n\t\t\tif (!atEnd) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (navState && (isHomeKey || isEndKey)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isHomeKey) {\n\t\t\tthis._moveToFirst();\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEndKey) {\n\t\t\tthis._moveToLast();\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isForward || isBackward) {\n\t\t\tif (isForward) {\n\t\t\t\tthis._moveToNext();\n\t\t\t} else {\n\t\t\t\tthis._moveToPrev();\n\t\t\t}\n\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t}\n\t}\n\n\t_findItemByPath(path: Array<EventTarget>): ToolbarItemBase | undefined {\n\t\treturn (path as HTMLElement[]).find((el): el is ToolbarItemBase => el instanceof ToolbarItemBase);\n\t}\n\n\t_findOverflowButtonByPath(path: Array<EventTarget>): HTMLElement | undefined {\n\t\tconst overflowButton = this.overflowButtonDOM;\n\t\tif (!overflowButton) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst active = getActiveElement() as HTMLElement | null;\n\t\treturn path.includes(overflowButton)\n\t\t\t|| !!(active && this._isNodeInsideElement(active, overflowButton))\n\t\t\t? overflowButton\n\t\t\t: undefined;\n\t}\n\n\t_isNodeInsideElement(node: Node, element: HTMLElement) {\n\t\tlet current: Node | null = node;\n\n\t\twhile (current) {\n\t\t\tif (current === element) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst root = current.getRootNode?.();\n\t\t\tif (root instanceof ShadowRoot) {\n\t\t\t\tcurrent = root.host;\n\t\t\t} else {\n\t\t\t\tcurrent = current.parentNode;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t_findCurrentTargetByActiveElement(): ToolbarItemBase | HTMLElement | undefined {\n\t\tconst active = getActiveElement() as HTMLElement | null;\n\t\tif (!active) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst overflowButton = this.overflowButtonDOM;\n\t\tif (overflowButton && this._isNodeInsideElement(active, overflowButton)) {\n\t\t\treturn overflowButton;\n\t\t}\n\n\t\t// _getNavigationTargets() already includes the item's focus ref, so a single\n\t\t// membership check per item is enough - no need to test getFocusDomRef separately.\n\t\treturn this._getNavigableItems().find(item => item._getNavigationTargets().some(target => this._isNodeInsideElement(active, target)));\n\t}\n\n\t_getNavigationChain() {\n\t\tconst chain: Array<ToolbarItemBase | HTMLElement> = [...this._getNavigableItems()];\n\t\tconst overflowButton = this.overflowButtonDOM;\n\n\t\tif (!this.hideOverflowButton && overflowButton) {\n\t\t\tchain.push(overflowButton);\n\t\t}\n\n\t\treturn chain;\n\t}\n\n\t_getNavigableItems() {\n\t\treturn this.items.filter(item => item.isToolbarNavigatable && !item.isOverflowed);\n\t}\n\n\t_setCurrentItem(item: ToolbarItemBase | HTMLElement) {\n\t\tthis._lastFocusedItem = item;\n\t}\n\n\t_moveToNext() {\n\t\tthis._moveToItem((current, items) => Math.min(current + 1, items.length - 1), true);\n\t}\n\n\t_moveToPrev() {\n\t\tthis._moveToItem(current => Math.max(current - 1, 0), false);\n\t}\n\n\t_moveToFirst() {\n\t\tthis._moveToItem(() => 0, true);\n\t}\n\n\t_moveToLast() {\n\t\tthis._moveToItem((_, items) => items.length - 1, false);\n\t}\n\n\t_moveToItem(indexCalc: (currentIndex: number, items: Array<ToolbarItemBase | HTMLElement>) => number, isForward: boolean) {\n\t\tconst items = this._getNavigationChain();\n\t\tif (!items.length) {\n\t\t\treturn;\n\t\t}\n\t\tconst currentIndex = this._lastFocusedItem ? items.indexOf(this._lastFocusedItem) : -1;\n\n\t\t// No tracked item in the current chain: enter at the near end for the\n\t\t// pressed direction (first item for forward, last for backward) instead\n\t\t// of coercing to 0 and then stepping past it.\n\t\tif (currentIndex === -1) {\n\t\t\tconst entryItem = items[isForward ? 0 : items.length - 1];\n\t\t\tthis._setCurrentItem(entryItem);\n\t\t\tthis._focusNavigationItem(entryItem, isForward);\n\t\t\treturn;\n\t\t}\n\n\t\tconst nextIndex = indexCalc(currentIndex, items);\n\n\t\tif (nextIndex === currentIndex) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst nextItem = items[nextIndex];\n\t\tthis._setCurrentItem(nextItem);\n\t\tthis._focusNavigationItem(nextItem, isForward);\n\t}\n\n\t_focusNavigationItem(item: ToolbarItemBase | HTMLElement, isForward: boolean) {\n\t\tif (item instanceof ToolbarItemBase) {\n\t\t\titem.focusForToolbarNavigation(isForward);\n\t\t} else {\n\t\t\titem.focus();\n\t\t}\n\t}\n}\n\nToolbar.define();\n\nexport default Toolbar;\nexport type {\n\tToolbarMinWidthChangeEventDetail,\n};\n"]}
@@ -91,18 +91,22 @@ declare class ToolbarSelect extends ToolbarItemBase {
91
91
  * @since 2.15.0
92
92
  */
93
93
  set value(newValue: string);
94
- get value(): string | undefined;
94
+ get value(): string;
95
95
  get select(): Select | null;
96
- _value: string;
96
+ _pendingValue: string;
97
+ _hasPendingValue: boolean;
98
+ _lastSelectedIndex: number;
97
99
  onClick(e: Event): void;
98
100
  onOpen(e: Event): void;
99
101
  onClose(e: Event): void;
102
+ onBeforeRendering(): void;
100
103
  onChange(e: CustomEvent<SelectChangeEventDetail>): void;
101
104
  _syncOptions(selectedOptionIndex: number): void;
102
105
  get styles(): {
103
106
  width: string | undefined;
104
107
  };
105
108
  get hasCustomLabel(): boolean;
109
+ get _innerSelectValue(): string | undefined;
106
110
  }
107
111
  export default ToolbarSelect;
108
112
  export type { ToolbarSelectChangeEventDetail, };
@@ -47,8 +47,11 @@ let ToolbarSelect = class ToolbarSelect extends ToolbarItemBase {
47
47
  * @public
48
48
  */
49
49
  this.disabled = false;
50
- // Internal value storage, in case the composite select is not rendered on the the assignment happens
51
- this._value = "";
50
+ // Staging buffer for value= assignments that arrive before options are available.
51
+ this._pendingValue = "";
52
+ this._hasPendingValue = false;
53
+ // Computed in onBeforeRendering: index of the last selected option (-1 = none)
54
+ this._lastSelectedIndex = -1;
52
55
  }
53
56
  /**
54
57
  * Defines the value of the component:
@@ -58,13 +61,24 @@ let ToolbarSelect = class ToolbarSelect extends ToolbarItemBase {
58
61
  * @since 2.15.0
59
62
  */
60
63
  set value(newValue) {
61
- if (this.select && this.select.value !== newValue) {
62
- this.select.value = newValue;
64
+ if (this.options.length) {
65
+ // Options are available: resolve immediately by setting selected on the matching outer option.
66
+ // Empty string clears all selections.
67
+ this.options.forEach(option => {
68
+ option.selected = newValue !== "" && (option.value === newValue || option.textContent?.trim() === newValue);
69
+ });
70
+ this._pendingValue = "";
71
+ this._hasPendingValue = false;
72
+ }
73
+ else {
74
+ // Options not yet available (pre-render): stage for onBeforeRendering to resolve.
75
+ this._pendingValue = newValue;
76
+ this._hasPendingValue = true;
63
77
  }
64
- this._value = newValue;
65
78
  }
66
79
  get value() {
67
- return this.select ? this.select.value : this._value;
80
+ const selectedOption = this._lastSelectedIndex >= 0 ? this.options[this._lastSelectedIndex] : undefined;
81
+ return selectedOption?.value || selectedOption?.textContent?.trim() || "";
68
82
  }
69
83
  get select() {
70
84
  return this.shadowRoot.querySelector("[ui5-select]");
@@ -90,6 +104,20 @@ let ToolbarSelect = class ToolbarSelect extends ToolbarItemBase {
90
104
  this.fireDecoratorEvent("close-overflow");
91
105
  }
92
106
  }
107
+ onBeforeRendering() {
108
+ super.onBeforeRendering();
109
+ // Resolve a pending value= assignment now that options are available.
110
+ if (this._hasPendingValue && this.options.length) {
111
+ const pending = this._pendingValue;
112
+ this.options.forEach(option => {
113
+ option.selected = pending !== "" && (option.value === pending || option.textContent?.trim() === pending);
114
+ });
115
+ this._pendingValue = "";
116
+ this._hasPendingValue = false;
117
+ }
118
+ // Last selected wins — mirrors Select._applyAutoSelection behaviour.
119
+ this._lastSelectedIndex = this.options.reduce((last, option, index) => (option.selected ? index : last), -1);
120
+ }
93
121
  onChange(e) {
94
122
  e.stopImmediatePropagation();
95
123
  const selectedOptionIndex = Number(e.detail.selectedOption?.getAttribute("data-ui5-external-action-item-index"));
@@ -101,6 +129,8 @@ let ToolbarSelect = class ToolbarSelect extends ToolbarItemBase {
101
129
  this._syncOptions(selectedOptionIndex);
102
130
  }
103
131
  _syncOptions(selectedOptionIndex) {
132
+ this._pendingValue = "";
133
+ this._hasPendingValue = false;
104
134
  this.options.forEach((option, index) => {
105
135
  option.selected = index === selectedOptionIndex;
106
136
  });
@@ -113,6 +143,16 @@ let ToolbarSelect = class ToolbarSelect extends ToolbarItemBase {
113
143
  get hasCustomLabel() {
114
144
  return !!this.label.length;
115
145
  }
146
+ // Drives the inner Select via its value= API (non-deprecated path).
147
+ // When nothing is selected, the sentinel prevents _applyAutoSelection from forcing index 0.
148
+ // The sentinel never leaks to a form: ToolbarSelect is not form-associated and the inner Select lives in shadow DOM.
149
+ get _innerSelectValue() {
150
+ if (this._lastSelectedIndex === -1) {
151
+ return "__no-selection__";
152
+ }
153
+ const opt = this.options[this._lastSelectedIndex];
154
+ return opt?.value || opt?.textContent?.trim() || "";
155
+ }
116
156
  };
117
157
  __decorate([
118
158
  property()
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarSelect.js","sourceRoot":"","sources":["../src/ToolbarSelect.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAE5E,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AAGvE,YAAY;AACZ,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAUnD;;;;;;;;;;;;;;;;GAgBG;AAiCH,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,eAAe;IAA3C;;QA2CC;;;;WAIG;QAEH,eAAU,GAAoB,MAAM,CAAC;QAErC;;;;;;WAMG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAyCjB,qGAAqG;QACrG,WAAM,GAAW,EAAE,CAAC;IAqDrB,CAAC;IA7EA;;;;;;OAMG;IAEH,IAAI,KAAK,CAAC,QAAgB;QACzB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IACxB,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACtD,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAS,cAAc,CAAC,CAAC;IAC/D,CAAC;IAKD,OAAO,CAAC,CAAQ;QACf,CAAC,CAAC,wBAAwB,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAqB,EAAE,CAAC,CAAC;QAC5F,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC/C,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IAED,MAAM,CAAC,CAAQ;QACd,CAAC,CAAC,wBAAwB,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAqB,EAAE,CAAC,CAAC;QAC3F,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IAED,OAAO,CAAC,CAAQ;QACf,CAAC,CAAC,wBAAwB,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAqB,EAAE,CAAC,CAAC;QAC5F,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,CAAuC;QAC/C,CAAC,CAAC,wBAAwB,EAAE,CAAC;QAC7B,MAAM,mBAAmB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,qCAAqC,CAAC,CAAC,CAAC;QACjH,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,MAAqB,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACjI,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IACxC,CAAC;IAED,YAAY,CAAC,mBAA2B;QACvC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAA2B,EAAE,KAAa,EAAE,EAAE;YACnE,MAAM,CAAC,QAAQ,GAAG,KAAK,KAAK,mBAAmB,CAAC;QACjD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,MAAM;QACT,OAAO;YACN,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;SACjD,CAAC;IACH,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC5B,CAAC;CACD,CAAA;AA1IA;IADC,QAAQ,EAAE;4CACI;AAgBf;IALC,IAAI,CAAC;QACL,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,WAAW;QACjB,uBAAuB,EAAE,IAAI;KAC7B,CAAC;8CACyC;AAS3C;IADC,IAAI,EAAE;4CACmB;AAQ1B;IADC,QAAQ,EAAE;iDAC0B;AAUrC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;+CACX;AAQjB;IADC,QAAQ,EAAE;qDACY;AAQvB;IADC,QAAQ,EAAE;wDACgB;AAU3B;IADC,QAAQ,EAAE;0CAMV;AA1FI,aAAa;IAhClB,aAAa,CAAC;QACd,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,gBAAgB;KACxB,CAAC;IAEF;;;;;;OAMG;;IACF,KAAK,CAAC,QAAQ,EAAE;QAChB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KAChB,CAAC;IAEF;;;OAGG;;IACF,KAAK,CAAC,MAAM,EAAE;QACd,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;OAGG;;IACF,KAAK,CAAC,OAAO,CAAC;GACT,aAAa,CA0JlB;AAED,aAAa,CAAC,MAAM,EAAE,CAAC;AAEvB,eAAe,aAAa,CAAC","sourcesContent":["import jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.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-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport ToolbarSelectCss from \"./generated/themes/ToolbarSelect.css.js\";\nimport type Select from \"./Select.js\";\n\n// Templates\nimport ToolbarSelectTemplate from \"./ToolbarSelectTemplate.js\";\nimport ToolbarItemBase from \"./ToolbarItemBase.js\";\nimport type { ToolbarItemEventDetail } from \"./ToolbarItemBase.js\";\nimport type ToolbarSelectOption from \"./ToolbarSelectOption.js\";\nimport type { SelectChangeEventDetail } from \"./Select.js\";\nimport type { DefaultSlot, Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\ntype ToolbarSelectChangeEventDetail = ToolbarItemEventDetail & SelectChangeEventDetail & {\n\tselectedToolbarOption: ToolbarSelectOption | undefined;\n};\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-toolbar-select` component is used to create a toolbar drop-down list.\n * The items inside the `ui5-toolbar-select` define the available options by using the `ui5-toolbar-select-option` component.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/ToolbarSelect.js\";`\n *\n * `import \"@ui5/webcomponents/dist/ToolbarSelectOption.js\";` (comes with `ui5-toolbar-select`)\n * @constructor\n * @abstract\n * @extends ToolbarItemBase\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-toolbar-select\",\n\ttemplate: ToolbarSelectTemplate,\n\trenderer: jsxRenderer,\n\tstyles: ToolbarSelectCss,\n})\n\n/**\n * Fired when the selected option changes.\n * @param {HTMLElement} selectedOption the selected option.\n * @param {HTMLElement} selectedToolbarOption the original toolbar select option.\n * @since 2.25.0\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired after the component's dropdown menu opens.\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n\n/**\n * Fired after the component's dropdown menu closes.\n * @public\n */\n@event(\"close\")\nclass ToolbarSelect extends ToolbarItemBase {\n\teventDetails!: ToolbarItemBase[\"eventDetails\"] & {\n\t\tchange: ToolbarSelectChangeEventDetail;\n\t\topen: ToolbarItemEventDetail;\n\t\tclose: ToolbarItemEventDetail;\n\t\t\"click\": ToolbarItemEventDetail;\n\t}\n\n\t/**\n\t * Defines the width of the select.\n\t *\n\t * **Note:** all CSS sizes are supported - 'percentage', 'px', 'rem', 'auto', etc.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\twidth?: string;\n\n\t/**\n\t * Defines the component options.\n\t *\n\t * **Note:** Only one selected option is allowed.\n\t * If more than one option is defined as selected, the last one would be considered as the selected one.\n\t *\n\t * **Note:** Use the `ui5-toolbar-select-option` component to define the desired options.\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: true,\n\t})\n\toptions!: DefaultSlot<ToolbarSelectOption>;\n\n\t/**\n\t * Defines the HTML element that will be displayed in the component input part,\n\t * representing the selected option.\n\t * @public\n\t * @since 2.15.0\n\t*/\n\t@slot()\n\tlabel!: Slot<HTMLElement>;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\taccessibleName?: string\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the select.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the value of the component:\n\t *\n\t * @public\n\t * @default \"\"\n\t * @since 2.15.0\n\t */\n\t@property()\n\tset value(newValue: string) {\n\t\tif (this.select && this.select.value !== newValue) {\n\t\t\tthis.select.value = newValue;\n\t\t}\n\t\tthis._value = newValue;\n\t}\n\n\tget value(): string | undefined {\n\t\treturn this.select ? this.select.value : this._value;\n\t}\n\n\tget select(): Select | null {\n\t\treturn this.shadowRoot!.querySelector<Select>(\"[ui5-select]\");\n\t}\n\n\t// Internal value storage, in case the composite select is not rendered on the the assignment happens\n\t_value: string = \"\";\n\n\tonClick(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"click\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented && !this.preventOverflowClosing) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonOpen(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"open\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonClose(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"close\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonChange(e: CustomEvent<SelectChangeEventDetail>): void {\n\t\te.stopImmediatePropagation();\n\t\tconst selectedOptionIndex = Number(e.detail.selectedOption?.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tconst selectedToolbarOption = this.options[selectedOptionIndex];\n\t\tconst prevented = !this.fireDecoratorEvent(\"change\", { ...e.detail, targetRef: e.target as HTMLElement, selectedToolbarOption });\n\t\tif (!prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\n\t\tthis._syncOptions(selectedOptionIndex);\n\t}\n\n\t_syncOptions(selectedOptionIndex: number): void {\n\t\tthis.options.forEach((option: ToolbarSelectOption, index: number) => {\n\t\t\toption.selected = index === selectedOptionIndex;\n\t\t});\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\twidth: this.isOverflowed ? undefined : this.width,\n\t\t};\n\t}\n\n\tget hasCustomLabel() {\n\t\treturn !!this.label.length;\n\t}\n}\n\nToolbarSelect.define();\n\nexport default ToolbarSelect;\n\nexport type {\n\tToolbarSelectChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"ToolbarSelect.js","sourceRoot":"","sources":["../src/ToolbarSelect.ts"],"names":[],"mappings":"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","sourcesContent":["import jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.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-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport ToolbarSelectCss from \"./generated/themes/ToolbarSelect.css.js\";\nimport type Select from \"./Select.js\";\n\n// Templates\nimport ToolbarSelectTemplate from \"./ToolbarSelectTemplate.js\";\nimport ToolbarItemBase from \"./ToolbarItemBase.js\";\nimport type { ToolbarItemEventDetail } from \"./ToolbarItemBase.js\";\nimport type ToolbarSelectOption from \"./ToolbarSelectOption.js\";\nimport type { SelectChangeEventDetail } from \"./Select.js\";\nimport type { DefaultSlot, Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\ntype ToolbarSelectChangeEventDetail = ToolbarItemEventDetail & SelectChangeEventDetail & {\n\tselectedToolbarOption: ToolbarSelectOption | undefined;\n};\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-toolbar-select` component is used to create a toolbar drop-down list.\n * The items inside the `ui5-toolbar-select` define the available options by using the `ui5-toolbar-select-option` component.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/ToolbarSelect.js\";`\n *\n * `import \"@ui5/webcomponents/dist/ToolbarSelectOption.js\";` (comes with `ui5-toolbar-select`)\n * @constructor\n * @abstract\n * @extends ToolbarItemBase\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-toolbar-select\",\n\ttemplate: ToolbarSelectTemplate,\n\trenderer: jsxRenderer,\n\tstyles: ToolbarSelectCss,\n})\n\n/**\n * Fired when the selected option changes.\n * @param {HTMLElement} selectedOption the selected option.\n * @param {HTMLElement} selectedToolbarOption the original toolbar select option.\n * @since 2.25.0\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired after the component's dropdown menu opens.\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n\n/**\n * Fired after the component's dropdown menu closes.\n * @public\n */\n@event(\"close\")\nclass ToolbarSelect extends ToolbarItemBase {\n\teventDetails!: ToolbarItemBase[\"eventDetails\"] & {\n\t\tchange: ToolbarSelectChangeEventDetail;\n\t\topen: ToolbarItemEventDetail;\n\t\tclose: ToolbarItemEventDetail;\n\t\t\"click\": ToolbarItemEventDetail;\n\t}\n\n\t/**\n\t * Defines the width of the select.\n\t *\n\t * **Note:** all CSS sizes are supported - 'percentage', 'px', 'rem', 'auto', etc.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\twidth?: string;\n\n\t/**\n\t * Defines the component options.\n\t *\n\t * **Note:** Only one selected option is allowed.\n\t * If more than one option is defined as selected, the last one would be considered as the selected one.\n\t *\n\t * **Note:** Use the `ui5-toolbar-select-option` component to define the desired options.\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: true,\n\t})\n\toptions!: DefaultSlot<ToolbarSelectOption>;\n\n\t/**\n\t * Defines the HTML element that will be displayed in the component input part,\n\t * representing the selected option.\n\t * @public\n\t * @since 2.15.0\n\t*/\n\t@slot()\n\tlabel!: Slot<HTMLElement>;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\taccessibleName?: string\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the select.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the value of the component:\n\t *\n\t * @public\n\t * @default \"\"\n\t * @since 2.15.0\n\t */\n\t@property()\n\tset value(newValue: string) {\n\t\tif (this.options.length) {\n\t\t\t// Options are available: resolve immediately by setting selected on the matching outer option.\n\t\t\t// Empty string clears all selections.\n\t\t\tthis.options.forEach(option => {\n\t\t\t\toption.selected = newValue !== \"\" && (option.value === newValue || option.textContent?.trim() === newValue);\n\t\t\t});\n\t\t\tthis._pendingValue = \"\";\n\t\t\tthis._hasPendingValue = false;\n\t\t} else {\n\t\t\t// Options not yet available (pre-render): stage for onBeforeRendering to resolve.\n\t\t\tthis._pendingValue = newValue;\n\t\t\tthis._hasPendingValue = true;\n\t\t}\n\t}\n\n\tget value(): string {\n\t\tconst selectedOption = this._lastSelectedIndex >= 0 ? this.options[this._lastSelectedIndex] : undefined;\n\t\treturn selectedOption?.value || selectedOption?.textContent?.trim() || \"\";\n\t}\n\n\tget select(): Select | null {\n\t\treturn this.shadowRoot!.querySelector<Select>(\"[ui5-select]\");\n\t}\n\n\t// Staging buffer for value= assignments that arrive before options are available.\n\t_pendingValue: string = \"\";\n\t_hasPendingValue: boolean = false;\n\n\t// Computed in onBeforeRendering: index of the last selected option (-1 = none)\n\t_lastSelectedIndex: number = -1;\n\n\tonClick(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"click\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented && !this.preventOverflowClosing) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonOpen(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"open\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonClose(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"close\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonBeforeRendering(): void {\n\t\tsuper.onBeforeRendering();\n\n\t\t// Resolve a pending value= assignment now that options are available.\n\t\tif (this._hasPendingValue && this.options.length) {\n\t\t\tconst pending = this._pendingValue;\n\t\t\tthis.options.forEach(option => {\n\t\t\t\toption.selected = pending !== \"\" && (option.value === pending || option.textContent?.trim() === pending);\n\t\t\t});\n\t\t\tthis._pendingValue = \"\";\n\t\t\tthis._hasPendingValue = false;\n\t\t}\n\n\t\t// Last selected wins — mirrors Select._applyAutoSelection behaviour.\n\t\tthis._lastSelectedIndex = this.options.reduce((last, option, index) => (option.selected ? index : last), -1);\n\t}\n\n\tonChange(e: CustomEvent<SelectChangeEventDetail>): void {\n\t\te.stopImmediatePropagation();\n\t\tconst selectedOptionIndex = Number(e.detail.selectedOption?.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tconst selectedToolbarOption = this.options[selectedOptionIndex];\n\t\tconst prevented = !this.fireDecoratorEvent(\"change\", { ...e.detail, targetRef: e.target as HTMLElement, selectedToolbarOption });\n\t\tif (!prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\n\t\tthis._syncOptions(selectedOptionIndex);\n\t}\n\n\t_syncOptions(selectedOptionIndex: number): void {\n\t\tthis._pendingValue = \"\";\n\t\tthis._hasPendingValue = false;\n\t\tthis.options.forEach((option: ToolbarSelectOption, index: number) => {\n\t\t\toption.selected = index === selectedOptionIndex;\n\t\t});\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\twidth: this.isOverflowed ? undefined : this.width,\n\t\t};\n\t}\n\n\tget hasCustomLabel() {\n\t\treturn !!this.label.length;\n\t}\n\n\t// Drives the inner Select via its value= API (non-deprecated path).\n\t// When nothing is selected, the sentinel prevents _applyAutoSelection from forcing index 0.\n\t// The sentinel never leaks to a form: ToolbarSelect is not form-associated and the inner Select lives in shadow DOM.\n\tget _innerSelectValue(): string | undefined {\n\t\tif (this._lastSelectedIndex === -1) {\n\t\t\treturn \"__no-selection__\";\n\t\t}\n\t\tconst opt = this.options[this._lastSelectedIndex];\n\t\treturn opt?.value || opt?.textContent?.trim() || \"\";\n\t}\n}\n\nToolbarSelect.define();\n\nexport default ToolbarSelect;\n\nexport type {\n\tToolbarSelectChangeEventDetail,\n};\n"]}
@@ -25,9 +25,7 @@ declare class ToolbarSelectOption extends UI5Element {
25
25
  * @default false
26
26
  * @public
27
27
  */
28
- set selected(value: boolean);
29
- get selected(): boolean;
30
- _clearSiblingsAndSync(): void;
28
+ selected: boolean;
31
29
  /**
32
30
  * Defines the text of the component.
33
31
  *
@@ -21,35 +21,14 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
21
21
  * @since 1.17.0
22
22
  */
23
23
  let ToolbarSelectOption = class ToolbarSelectOption extends UI5Element {
24
- /**
25
- * Defines the selected state of the component.
26
- * @default false
27
- * @public
28
- */
29
- set selected(value) {
30
- if (value) {
31
- this.setAttribute("selected", "");
32
- this._clearSiblingsAndSync();
33
- }
34
- else {
35
- this.removeAttribute("selected");
36
- }
37
- }
38
- get selected() {
39
- return this.hasAttribute("selected");
40
- }
41
- _clearSiblingsAndSync() {
42
- const parent = this.parentElement;
43
- if (parent) {
44
- parent.options?.forEach(option => {
45
- if (option !== this) {
46
- option.removeAttribute("selected");
47
- }
48
- });
49
- if (parent.select) {
50
- parent.select.value = this.value !== undefined && this.value !== "" ? this.value : (this.textContent || "");
51
- }
52
- }
24
+ constructor() {
25
+ super(...arguments);
26
+ /**
27
+ * Defines the selected state of the component.
28
+ * @default false
29
+ * @public
30
+ */
31
+ this.selected = false;
53
32
  }
54
33
  };
55
34
  __decorate([
@@ -57,7 +36,7 @@ __decorate([
57
36
  ], ToolbarSelectOption.prototype, "value", void 0);
58
37
  __decorate([
59
38
  property({ type: Boolean })
60
- ], ToolbarSelectOption.prototype, "selected", null);
39
+ ], ToolbarSelectOption.prototype, "selected", void 0);
61
40
  __decorate([
62
41
  slot({ type: Node, "default": true, invalidateOnChildChange: true })
63
42
  ], ToolbarSelectOption.prototype, "text", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarSelectOption.js","sourceRoot":"","sources":["../src/ToolbarSelectOption.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAG3E;;;;;;;;;;;GAWG;AAEH,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,UAAU;IAU3C;;;;OAIG;IAEH,IAAI,QAAQ,CAAC,KAAc;QAC1B,IAAI,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,qBAAqB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,aAA8B,CAAC;QACnD,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;gBAChC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACrB,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;gBACpC,CAAC;YACF,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YAC7G,CAAC;QACF,CAAC;IACF,CAAC;CAUD,CAAA;AA3CA;IADC,QAAQ,EAAE;kDACI;AAQf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDAQ3B;AA2BD;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;iDAC5C;AAlDpB,mBAAmB;IADxB,aAAa,CAAC,2BAA2B,CAAC;GACrC,mBAAmB,CAmDxB;AAED,mBAAmB,CAAC,MAAM,EAAE,CAAC;AAE7B,eAAe,mBAAmB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type ToolbarSelect from \"./ToolbarSelect.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-toolbar-select-option` component defines the content of an option in the `ui5-toolbar-select`.\n * @constructor\n * @extends UI5Element\n * @abstract\n * @public\n * @since 1.17.0\n */\n@customElement(\"ui5-toolbar-select-option\")\nclass ToolbarSelectOption extends UI5Element {\n\t/**\n\t * Defines the value of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.25.0\n\t */\n\t@property()\n\tvalue?: string;\n\n\t/**\n\t * Defines the selected state of the component.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tset selected(value: boolean) {\n\t\tif (value) {\n\t\t\tthis.setAttribute(\"selected\", \"\");\n\t\t\tthis._clearSiblingsAndSync();\n\t\t} else {\n\t\t\tthis.removeAttribute(\"selected\");\n\t\t}\n\t}\n\n\tget selected(): boolean {\n\t\treturn this.hasAttribute(\"selected\");\n\t}\n\n\t_clearSiblingsAndSync(): void {\n\t\tconst parent = this.parentElement as ToolbarSelect;\n\t\tif (parent) {\n\t\t\tparent.options?.forEach(option => {\n\t\t\t\tif (option !== this) {\n\t\t\t\t\toption.removeAttribute(\"selected\");\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (parent.select) {\n\t\t\t\tparent.select.value = this.value !== undefined && this.value !== \"\" ? this.value : (this.textContent || \"\");\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true, invalidateOnChildChange: true })\n\ttext!: DefaultSlot<Node>;\n}\n\nToolbarSelectOption.define();\n\nexport default ToolbarSelectOption;\n"]}
1
+ {"version":3,"file":"ToolbarSelectOption.js","sourceRoot":"","sources":["../src/ToolbarSelectOption.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E;;;;;;;;;;;GAWG;AAEH,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,UAAU;IAA5C;;QAUC;;;;WAIG;QAEH,aAAQ,GAAG,KAAK,CAAC;IAUlB,CAAC;CAAA,CAAA;AAlBA;IADC,QAAQ,EAAE;kDACI;AAQf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACX;AASjB;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;iDAC5C;AAzBpB,mBAAmB;IADxB,aAAa,CAAC,2BAA2B,CAAC;GACrC,mBAAmB,CA0BxB;AAED,mBAAmB,CAAC,MAAM,EAAE,CAAC;AAE7B,eAAe,mBAAmB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-toolbar-select-option` component defines the content of an option in the `ui5-toolbar-select`.\n * @constructor\n * @extends UI5Element\n * @abstract\n * @public\n * @since 1.17.0\n */\n@customElement(\"ui5-toolbar-select-option\")\nclass ToolbarSelectOption extends UI5Element {\n\t/**\n\t * Defines the value of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.25.0\n\t */\n\t@property()\n\tvalue?: string;\n\n\t/**\n\t * Defines the selected state of the component.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true, invalidateOnChildChange: true })\n\ttext!: DefaultSlot<Node>;\n}\n\nToolbarSelectOption.define();\n\nexport default ToolbarSelectOption;\n"]}
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime"
2
2
  import Select from "./Select.js";
3
3
  import Option from "./Option.js";
4
4
  export default function ToolbarSelectTemplate() {
5
- return (_jsxs(Select, { class: this.classes.root, style: this.styles, value: this.value, "data-ui5-external-action-item-id": this._id, valueState: this.valueState, disabled: this.disabled, accessibleName: this.accessibleName, accessibleNameRef: this.accessibleNameRef, onClick: (...args) => this.onClick(...args), onClose: (...args) => this.onClose(...args), onOpen: (...args) => this.onOpen(...args), onChange: (...args) => this.onChange(...args), children: [this.hasCustomLabel &&
6
- _jsx("slot", { name: "label", slot: "label" }), this.options.map((option, index) => (_jsx(Option, { selected: option.selected, value: option.value, "data-ui5-external-action-item-index": index, children: option.textContent })))] }));
5
+ return (_jsxs(Select, { class: this.classes.root, style: this.styles, value: this._innerSelectValue, "data-ui5-external-action-item-id": this._id, valueState: this.valueState, disabled: this.disabled, accessibleName: this.accessibleName, accessibleNameRef: this.accessibleNameRef, onClick: (...args) => this.onClick(...args), onClose: (...args) => this.onClose(...args), onOpen: (...args) => this.onOpen(...args), onChange: (...args) => this.onChange(...args), children: [this.hasCustomLabel &&
6
+ _jsx("slot", { name: "label", slot: "label" }), this.options.map((option, index) => (_jsx(Option, { selected: index === this._lastSelectedIndex, value: option.value, "data-ui5-external-action-item-index": index, children: option.textContent })))] }));
7
7
  }
8
8
  //# sourceMappingURL=ToolbarSelectTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarSelectTemplate.js","sourceRoot":"","sources":["../src/ToolbarSelectTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,qBAAqB;IAC5C,OAAO,CACN,MAAC,MAAM,IACN,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EACxB,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,KAAK,EAAE,IAAI,CAAC,KAAK,sCACiB,IAAI,CAAC,GAAG,EAC1C,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAC3C,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAC3C,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,EACzC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,aAE5C,IAAI,CAAC,cAAc;gBACnB,eAAM,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,GACxB,EAEP,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CACpC,KAAC,MAAM,IACN,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,KAAK,EAAE,MAAM,CAAC,KAAK,yCACkB,KAAK,YAEzC,MAAM,CAAC,WAAW,GACX,CACT,CAAC,IACM,CAAC,CAAC;AACb,CAAC","sourcesContent":["import type ToolbarSelect from \"./ToolbarSelect.js\";\nimport Select from \"./Select.js\";\nimport Option from \"./Option.js\";\n\nexport default function ToolbarSelectTemplate(this: ToolbarSelect) {\n\treturn (\n\t\t<Select\n\t\t\tclass={this.classes.root}\n\t\t\tstyle={this.styles}\n\t\t\tvalue={this.value}\n\t\t\tdata-ui5-external-action-item-id={this._id}\n\t\t\tvalueState={this.valueState}\n\t\t\tdisabled={this.disabled}\n\t\t\taccessibleName={this.accessibleName}\n\t\t\taccessibleNameRef={this.accessibleNameRef}\n\t\t\tonClick={(...args) => this.onClick(...args)}\n\t\t\tonClose={(...args) => this.onClose(...args)}\n\t\t\tonOpen={(...args) => this.onOpen(...args)}\n\t\t\tonChange={(...args) => this.onChange(...args)}\n\t\t>\n\t\t\t{this.hasCustomLabel &&\n\t\t\t\t<slot name=\"label\" slot=\"label\">\n\t\t\t\t</slot>\n\t\t\t}\n\t\t\t{this.options.map((option, index) => (\n\t\t\t\t<Option\n\t\t\t\t\tselected={option.selected}\n\t\t\t\t\tvalue={option.value}\n\t\t\t\t\tdata-ui5-external-action-item-index={index}\n\t\t\t\t>\n\t\t\t\t\t{option.textContent}\n\t\t\t\t</Option>\n\t\t\t))}\n\t\t</Select>);\n}\n"]}
1
+ {"version":3,"file":"ToolbarSelectTemplate.js","sourceRoot":"","sources":["../src/ToolbarSelectTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,qBAAqB;IAC5C,OAAO,CACN,MAAC,MAAM,IACN,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EACxB,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,KAAK,EAAE,IAAI,CAAC,iBAAiB,sCACK,IAAI,CAAC,GAAG,EAC1C,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAC3C,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAC3C,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,EACzC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,aAE5C,IAAI,CAAC,cAAc;gBACnB,eAAM,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,GACxB,EAEP,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CACpC,KAAC,MAAM,IACN,QAAQ,EAAE,KAAK,KAAK,IAAI,CAAC,kBAAkB,EAC3C,KAAK,EAAE,MAAM,CAAC,KAAK,yCACkB,KAAK,YAEzC,MAAM,CAAC,WAAW,GACX,CACT,CAAC,IACM,CAAC,CAAC;AACb,CAAC","sourcesContent":["import type ToolbarSelect from \"./ToolbarSelect.js\";\nimport Select from \"./Select.js\";\nimport Option from \"./Option.js\";\n\nexport default function ToolbarSelectTemplate(this: ToolbarSelect) {\n\treturn (\n\t\t<Select\n\t\t\tclass={this.classes.root}\n\t\t\tstyle={this.styles}\n\t\t\tvalue={this._innerSelectValue}\n\t\t\tdata-ui5-external-action-item-id={this._id}\n\t\t\tvalueState={this.valueState}\n\t\t\tdisabled={this.disabled}\n\t\t\taccessibleName={this.accessibleName}\n\t\t\taccessibleNameRef={this.accessibleNameRef}\n\t\t\tonClick={(...args) => this.onClick(...args)}\n\t\t\tonClose={(...args) => this.onClose(...args)}\n\t\t\tonOpen={(...args) => this.onOpen(...args)}\n\t\t\tonChange={(...args) => this.onChange(...args)}\n\t\t>\n\t\t\t{this.hasCustomLabel &&\n\t\t\t\t<slot name=\"label\" slot=\"label\">\n\t\t\t\t</slot>\n\t\t\t}\n\t\t\t{this.options.map((option, index) => (\n\t\t\t\t<Option\n\t\t\t\t\tselected={index === this._lastSelectedIndex}\n\t\t\t\t\tvalue={option.value}\n\t\t\t\t\tdata-ui5-external-action-item-index={index}\n\t\t\t\t>\n\t\t\t\t\t{option.textContent}\n\t\t\t\t</Option>\n\t\t\t))}\n\t\t</Select>);\n}\n"]}
@@ -33,6 +33,8 @@ declare const testAssets: {
33
33
  };
34
34
  invisibleMessage: {
35
35
  announce: (message: string, mode: import("@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js").default) => void;
36
+ registerInvisibleMessageRegion: (container: HTMLElement) => void;
37
+ deregisterInvisibleMessageRegion: (container: HTMLElement) => void;
36
38
  };
37
39
  getElementSelection: (element: HTMLElement) => {
38
40
  selectedText: string;
@@ -58,7 +58,7 @@ import applyDirection from "@ui5/webcomponents-base/dist/locale/applyDirection.j
58
58
  import { attachDirectionChange } from "@ui5/webcomponents-base/dist/locale/directionChange.js";
59
59
  import { attachLanguageChange, detachLanguageChange } from "@ui5/webcomponents-base/dist/locale/languageChange.js";
60
60
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
61
- import announce from "@ui5/webcomponents-base/dist/util/InvisibleMessage.js";
61
+ import announce, { registerInvisibleMessageRegion, deregisterInvisibleMessageRegion } from "@ui5/webcomponents-base/dist/util/InvisibleMessage.js";
62
62
  import { ignoreCustomElements, shouldIgnoreCustomElement } from "@ui5/webcomponents-base/dist/IgnoreCustomElements.js";
63
63
  import { startMultipleDrag } from "@ui5/webcomponents-base/dist/DragAndDrop.js";
64
64
  import getElementSelection from "@ui5/webcomponents-base/dist/util/SelectionAssistant.js";
@@ -90,6 +90,8 @@ const testAssets = {
90
90
  },
91
91
  invisibleMessage: {
92
92
  announce,
93
+ registerInvisibleMessageRegion,
94
+ deregisterInvisibleMessageRegion,
93
95
  },
94
96
  getElementSelection,
95
97
  getLocaleData,
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.common.bootstrap.js","sourceRoot":"","sources":["../src/bundle.common.bootstrap.ts"],"names":[],"mappings":"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","sourcesContent":["import { setRuntimeAlias } from \"@ui5/webcomponents-base/dist/Runtimes.js\";\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n// OpenUI5 integration\nimport OpenUI5Support from \"@ui5/webcomponents-base/dist/features/OpenUI5Support.js\";\n\n// Assets\nimport \"./Assets.js\";\n\n// Icons\nimport \"@ui5/webcomponents-icons/dist/Assets.js\";\nimport \"@ui5/webcomponents-icons/dist/AllIcons.js\";\n\n// TNT Icons\nimport \"@ui5/webcomponents-icons-tnt/dist/Assets.js\";\nimport \"@ui5/webcomponents-icons-tnt/dist/AllIcons.js\";\n\n// SAP Business Suite Icons\nimport \"@ui5/webcomponents-icons-business-suite/dist/Assets.js\";\nimport \"@ui5/webcomponents-icons-business-suite/dist/AllIcons.js\";\n\nimport \"@ui5/webcomponents-base/dist/features/F6Navigation.js\";\nimport { addCustomCSS, attachThemeLoaded, detachThemeLoaded } from \"@ui5/webcomponents-base/dist/Theming.js\";\n// import \"./customI18n.js\";\n\n// Calendars\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Buddhist.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Islamic.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Japanese.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Persian.js\";\n\n// CLDR\nimport getLocaleData from \"@ui5/webcomponents-localization/dist/locale/getLocaleData.js\";\n\n// import { registerCustomThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/AssetRegistry.js\";\n// import { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\n// const customThemeLoader = theme => Promise.resolve(`:root {\n// \t${getScopedVarName(\"--_ui5_button_base_height\")}: 4rem;\n// \t${getScopedVarName(\"--_ui5_button_base_padding\")}: 2rem;\n// }`);\n// registerCustomThemePropertiesLoader(\"@ui5/webcomponents\", \"my_custom_theme\", customThemeLoader);\n\n// Uncomment to test the registration of custom properties and JSON bundles - use the TextArea test page\n// import { registerI18nLoader } from \"@ui5/webcomponents-base/dist/asset-registries/i18n.js\";\n// import parse from \"@ui5/webcomponents-base/dist/PropertiesFileFormat.js\";\n\n// const bg = \"https://sdk.openui5.org/resources/sap/ui/core/messagebundle_bg.properties\";\n// registerI18nLoader(\"@ui5/webcomponents\", \"bg\", async (localeId) => {\n// \tconst props = await (await fetch(bg)).text();\n// \treturn parse(props);\n// });\n// registerI18nLoader(\"@ui5/webcomponents\", \"fr\", async (localeId) => {\n// \treturn await (await fetch(\"fr\")).json();\n// });\n\n// used in test pages\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport { resetConfiguration } from \"@ui5/webcomponents-base/dist/InitialConfiguration.js\";\n\nimport { sanitizeHTML, URLListValidator } from \"@ui5/webcomponents-base/dist/util/HTMLSanitizer.js\";\n\nimport { getAnimationMode, setAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport { getTheme, setTheme, isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { getThemeRoot, setThemeRoot } from \"@ui5/webcomponents-base/dist/config/ThemeRoot.js\";\nimport { getTimezone, setTimezone } from \"@ui5/webcomponents-base/dist/config/Timezone.js\";\nimport { getLanguage, setLanguage } from \"@ui5/webcomponents-base/dist/config/Language.js\";\nimport getEffectiveIconCollection from \"@ui5/webcomponents-base/dist/asset-registries/util/getIconCollectionByTheme.js\";\nimport { setNoConflict } from \"@ui5/webcomponents-base/dist/config/NoConflict.js\";\nimport { getFirstDayOfWeek } from \"@ui5/webcomponents-base/dist/config/FormatSettings.js\";\nimport { _getRegisteredNames as getIconNames, getIconAccessibleName } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport applyDirection from \"@ui5/webcomponents-base/dist/locale/applyDirection.js\";\nimport { attachDirectionChange } from \"@ui5/webcomponents-base/dist/locale/directionChange.js\";\nimport { attachLanguageChange, detachLanguageChange } from \"@ui5/webcomponents-base/dist/locale/languageChange.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport { ignoreCustomElements, shouldIgnoreCustomElement } from \"@ui5/webcomponents-base/dist/IgnoreCustomElements.js\";\nimport { startMultipleDrag } from \"@ui5/webcomponents-base/dist/DragAndDrop.js\";\nimport getElementSelection from \"@ui5/webcomponents-base/dist/util/SelectionAssistant.js\";\n\nimport * as defaultTexts from \"./generated/i18n/i18n-defaults.js\";\n\n// OpenUI5Support.enablePolling = true;\n\nsetRuntimeAlias(\"UI5 Web Components Playground\");\n\n// @ts-ignore\nwindow.sanitizeHTML = sanitizeHTML;\n// @ts-ignore\nwindow.URLListValidator = URLListValidator;\n\nignoreCustomElements(\"app-\");\nignoreCustomElements(\"my-\");\n\nconst testAssets = {\n\tresetConfiguration,\n\tconfiguration: {\n\t\tgetAnimationMode,\n\t\tsetAnimationMode,\n\t\tgetTheme,\n\t\tsetTheme,\n\t\tgetThemeRoot,\n\t\tsetThemeRoot,\n\t\tisLegacyThemeFamily,\n\t\tgetLanguage,\n\t\tsetLanguage,\n\t\tsetNoConflict,\n\t\tgetFirstDayOfWeek,\n\t\tgetTimezone,\n\t\tsetTimezone,\n\t},\n\tinvisibleMessage: {\n\t\tannounce,\n\t},\n\tgetElementSelection,\n\tgetLocaleData,\n\tapplyDirection,\n\tattachDirectionChange,\n\tattachLanguageChange,\n\tdetachLanguageChange,\n\tResizeHandler,\n\taddCustomCSS,\n\tattachThemeLoaded,\n\tdetachThemeLoaded,\n\tgetIconNames,\n\tgetIconAccessibleName,\n\trenderFinished,\n\tdefaultTexts,\n\tgetEffectiveIconCollection,\n\tignoreCustomElements,\n\tshouldIgnoreCustomElement,\n\tstartMultipleDrag,\n};\n\n// @ts-ignore\nwindow[\"sap-ui-webcomponents-bundle\"] = testAssets;\n\nexport default testAssets;\n"]}
1
+ {"version":3,"file":"bundle.common.bootstrap.js","sourceRoot":"","sources":["../src/bundle.common.bootstrap.ts"],"names":[],"mappings":"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","sourcesContent":["import { setRuntimeAlias } from \"@ui5/webcomponents-base/dist/Runtimes.js\";\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n// OpenUI5 integration\nimport OpenUI5Support from \"@ui5/webcomponents-base/dist/features/OpenUI5Support.js\";\n\n// Assets\nimport \"./Assets.js\";\n\n// Icons\nimport \"@ui5/webcomponents-icons/dist/Assets.js\";\nimport \"@ui5/webcomponents-icons/dist/AllIcons.js\";\n\n// TNT Icons\nimport \"@ui5/webcomponents-icons-tnt/dist/Assets.js\";\nimport \"@ui5/webcomponents-icons-tnt/dist/AllIcons.js\";\n\n// SAP Business Suite Icons\nimport \"@ui5/webcomponents-icons-business-suite/dist/Assets.js\";\nimport \"@ui5/webcomponents-icons-business-suite/dist/AllIcons.js\";\n\nimport \"@ui5/webcomponents-base/dist/features/F6Navigation.js\";\nimport { addCustomCSS, attachThemeLoaded, detachThemeLoaded } from \"@ui5/webcomponents-base/dist/Theming.js\";\n// import \"./customI18n.js\";\n\n// Calendars\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Buddhist.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Islamic.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Japanese.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Persian.js\";\n\n// CLDR\nimport getLocaleData from \"@ui5/webcomponents-localization/dist/locale/getLocaleData.js\";\n\n// import { registerCustomThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/AssetRegistry.js\";\n// import { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\n// const customThemeLoader = theme => Promise.resolve(`:root {\n// \t${getScopedVarName(\"--_ui5_button_base_height\")}: 4rem;\n// \t${getScopedVarName(\"--_ui5_button_base_padding\")}: 2rem;\n// }`);\n// registerCustomThemePropertiesLoader(\"@ui5/webcomponents\", \"my_custom_theme\", customThemeLoader);\n\n// Uncomment to test the registration of custom properties and JSON bundles - use the TextArea test page\n// import { registerI18nLoader } from \"@ui5/webcomponents-base/dist/asset-registries/i18n.js\";\n// import parse from \"@ui5/webcomponents-base/dist/PropertiesFileFormat.js\";\n\n// const bg = \"https://sdk.openui5.org/resources/sap/ui/core/messagebundle_bg.properties\";\n// registerI18nLoader(\"@ui5/webcomponents\", \"bg\", async (localeId) => {\n// \tconst props = await (await fetch(bg)).text();\n// \treturn parse(props);\n// });\n// registerI18nLoader(\"@ui5/webcomponents\", \"fr\", async (localeId) => {\n// \treturn await (await fetch(\"fr\")).json();\n// });\n\n// used in test pages\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport { resetConfiguration } from \"@ui5/webcomponents-base/dist/InitialConfiguration.js\";\n\nimport { sanitizeHTML, URLListValidator } from \"@ui5/webcomponents-base/dist/util/HTMLSanitizer.js\";\n\nimport { getAnimationMode, setAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport { getTheme, setTheme, isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { getThemeRoot, setThemeRoot } from \"@ui5/webcomponents-base/dist/config/ThemeRoot.js\";\nimport { getTimezone, setTimezone } from \"@ui5/webcomponents-base/dist/config/Timezone.js\";\nimport { getLanguage, setLanguage } from \"@ui5/webcomponents-base/dist/config/Language.js\";\nimport getEffectiveIconCollection from \"@ui5/webcomponents-base/dist/asset-registries/util/getIconCollectionByTheme.js\";\nimport { setNoConflict } from \"@ui5/webcomponents-base/dist/config/NoConflict.js\";\nimport { getFirstDayOfWeek } from \"@ui5/webcomponents-base/dist/config/FormatSettings.js\";\nimport { _getRegisteredNames as getIconNames, getIconAccessibleName } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport applyDirection from \"@ui5/webcomponents-base/dist/locale/applyDirection.js\";\nimport { attachDirectionChange } from \"@ui5/webcomponents-base/dist/locale/directionChange.js\";\nimport { attachLanguageChange, detachLanguageChange } from \"@ui5/webcomponents-base/dist/locale/languageChange.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport announce, { registerInvisibleMessageRegion, deregisterInvisibleMessageRegion } from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport { ignoreCustomElements, shouldIgnoreCustomElement } from \"@ui5/webcomponents-base/dist/IgnoreCustomElements.js\";\nimport { startMultipleDrag } from \"@ui5/webcomponents-base/dist/DragAndDrop.js\";\nimport getElementSelection from \"@ui5/webcomponents-base/dist/util/SelectionAssistant.js\";\n\nimport * as defaultTexts from \"./generated/i18n/i18n-defaults.js\";\n\n// OpenUI5Support.enablePolling = true;\n\nsetRuntimeAlias(\"UI5 Web Components Playground\");\n\n// @ts-ignore\nwindow.sanitizeHTML = sanitizeHTML;\n// @ts-ignore\nwindow.URLListValidator = URLListValidator;\n\nignoreCustomElements(\"app-\");\nignoreCustomElements(\"my-\");\n\nconst testAssets = {\n\tresetConfiguration,\n\tconfiguration: {\n\t\tgetAnimationMode,\n\t\tsetAnimationMode,\n\t\tgetTheme,\n\t\tsetTheme,\n\t\tgetThemeRoot,\n\t\tsetThemeRoot,\n\t\tisLegacyThemeFamily,\n\t\tgetLanguage,\n\t\tsetLanguage,\n\t\tsetNoConflict,\n\t\tgetFirstDayOfWeek,\n\t\tgetTimezone,\n\t\tsetTimezone,\n\t},\n\tinvisibleMessage: {\n\t\tannounce,\n\t\tregisterInvisibleMessageRegion,\n\t\tderegisterInvisibleMessageRegion,\n\t},\n\tgetElementSelection,\n\tgetLocaleData,\n\tapplyDirection,\n\tattachDirectionChange,\n\tattachLanguageChange,\n\tdetachLanguageChange,\n\tResizeHandler,\n\taddCustomCSS,\n\tattachThemeLoaded,\n\tdetachThemeLoaded,\n\tgetIconNames,\n\tgetIconAccessibleName,\n\trenderFinished,\n\tdefaultTexts,\n\tgetEffectiveIconCollection,\n\tignoreCustomElements,\n\tshouldIgnoreCustomElement,\n\tstartMultipleDrag,\n};\n\n// @ts-ignore\nwindow[\"sap-ui-webcomponents-bundle\"] = testAssets;\n\nexport default testAssets;\n"]}
@@ -24,6 +24,8 @@ declare const testAssets: {
24
24
  };
25
25
  invisibleMessage: {
26
26
  announce: (message: string, mode: import("@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js").default) => void;
27
+ registerInvisibleMessageRegion: (container: HTMLElement) => void;
28
+ deregisterInvisibleMessageRegion: (container: HTMLElement) => void;
27
29
  };
28
30
  getElementSelection: (element: HTMLElement) => {
29
31
  selectedText: string;