@ui5/webcomponents-fiori 2.0.0-rc.1 → 2.0.0-rc.3

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 (274) hide show
  1. package/CHANGELOG.md +283 -0
  2. package/dist/BarcodeScannerDialog.d.ts +9 -16
  3. package/dist/BarcodeScannerDialog.js +33 -47
  4. package/dist/BarcodeScannerDialog.js.map +1 -1
  5. package/dist/FlexibleColumnLayout.d.ts +74 -60
  6. package/dist/FlexibleColumnLayout.js +17 -20
  7. package/dist/FlexibleColumnLayout.js.map +1 -1
  8. package/dist/IllustratedMessage.d.ts +0 -12
  9. package/dist/IllustratedMessage.js +0 -4
  10. package/dist/IllustratedMessage.js.map +1 -1
  11. package/dist/MediaGallery.d.ts +0 -1
  12. package/dist/MediaGallery.js.map +1 -1
  13. package/dist/MediaGalleryItem.d.ts +0 -6
  14. package/dist/MediaGalleryItem.js +0 -9
  15. package/dist/MediaGalleryItem.js.map +1 -1
  16. package/dist/Page.d.ts +7 -8
  17. package/dist/Page.js +6 -7
  18. package/dist/Page.js.map +1 -1
  19. package/dist/ProductSwitchItem.d.ts +0 -5
  20. package/dist/ProductSwitchItem.js +4 -5
  21. package/dist/ProductSwitchItem.js.map +1 -1
  22. package/dist/ShellBar.d.ts +49 -64
  23. package/dist/ShellBar.js +22 -37
  24. package/dist/ShellBar.js.map +1 -1
  25. package/dist/SideNavigation.d.ts +3 -2
  26. package/dist/SideNavigation.js +9 -8
  27. package/dist/SideNavigation.js.map +1 -1
  28. package/dist/SideNavigationGroup.d.ts +3 -0
  29. package/dist/SideNavigationGroup.js +8 -1
  30. package/dist/SideNavigationGroup.js.map +1 -1
  31. package/dist/SideNavigationItem.d.ts +3 -0
  32. package/dist/SideNavigationItem.js +7 -0
  33. package/dist/SideNavigationItem.js.map +1 -1
  34. package/dist/SideNavigationItemBase.d.ts +4 -1
  35. package/dist/SideNavigationItemBase.js +7 -0
  36. package/dist/SideNavigationItemBase.js.map +1 -1
  37. package/dist/SideNavigationSelectableItemBase.d.ts +3 -0
  38. package/dist/SideNavigationSelectableItemBase.js +7 -0
  39. package/dist/SideNavigationSelectableItemBase.js.map +1 -1
  40. package/dist/UploadCollectionItem.d.ts +9 -3
  41. package/dist/UploadCollectionItem.js +1 -1
  42. package/dist/UploadCollectionItem.js.map +1 -1
  43. package/dist/ViewSettingsDialog.js +3 -3
  44. package/dist/ViewSettingsDialog.js.map +1 -1
  45. package/dist/Wizard.d.ts +3 -3
  46. package/dist/Wizard.js +8 -8
  47. package/dist/Wizard.js.map +1 -1
  48. package/dist/WizardTab.d.ts +0 -1
  49. package/dist/WizardTab.js +0 -1
  50. package/dist/WizardTab.js.map +1 -1
  51. package/dist/bundle.esm.js +38 -0
  52. package/dist/bundle.scoped.esm.js +5 -0
  53. package/dist/css/themes/FlexibleColumnLayout.css +1 -1
  54. package/dist/css/themes/IllustratedMessage.css +1 -1
  55. package/dist/css/themes/MediaGallery.css +1 -1
  56. package/dist/css/themes/MediaGalleryItem.css +1 -1
  57. package/dist/css/themes/NotificationListGroupItem.css +1 -1
  58. package/dist/css/themes/NotificationListItem.css +1 -1
  59. package/dist/css/themes/NotificationListItemBase.css +1 -1
  60. package/dist/css/themes/NotificationOverflowActionsPopover.css +1 -1
  61. package/dist/css/themes/Page.css +1 -1
  62. package/dist/css/themes/ProductSwitchItem.css +1 -1
  63. package/dist/css/themes/ShellBar.css +1 -1
  64. package/dist/css/themes/SideNavigation.css +1 -1
  65. package/dist/css/themes/SideNavigationGroup.css +1 -1
  66. package/dist/css/themes/SideNavigationItem.css +1 -1
  67. package/dist/css/themes/SideNavigationItemBase.css +1 -1
  68. package/dist/css/themes/SideNavigationPopover.css +1 -1
  69. package/dist/css/themes/SideNavigationSubItem.css +1 -1
  70. package/dist/css/themes/Timeline.css +1 -1
  71. package/dist/css/themes/TimelineItem.css +1 -1
  72. package/dist/css/themes/UploadCollection.css +1 -1
  73. package/dist/css/themes/UploadCollectionItem.css +1 -1
  74. package/dist/css/themes/ViewSettingsDialog.css +1 -1
  75. package/dist/css/themes/Wizard.css +1 -1
  76. package/dist/css/themes/WizardTab.css +1 -1
  77. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  78. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  79. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  80. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  81. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  82. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  83. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  84. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  85. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  86. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  87. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  88. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  89. package/dist/custom-elements-internal.json +48 -135
  90. package/dist/custom-elements.json +25 -119
  91. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  92. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  93. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  94. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  95. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  96. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  97. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  98. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  99. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  100. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  101. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  102. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  103. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  104. package/dist/generated/js-imports/IllustrationsV5TNT.js +6 -6
  105. package/dist/generated/js-imports/IllustrationsV5TNT.js.map +1 -1
  106. package/dist/generated/js-imports/IllustrationsV5TNTHC.js +6 -6
  107. package/dist/generated/js-imports/IllustrationsV5TNTHC.js.map +1 -1
  108. package/dist/generated/json-imports/Themes.js +1 -4
  109. package/dist/generated/json-imports/Themes.js.map +1 -1
  110. package/dist/generated/templates/BarcodeScannerDialogTemplate.lit.js +1 -1
  111. package/dist/generated/templates/BarcodeScannerDialogTemplate.lit.js.map +1 -1
  112. package/dist/generated/templates/IllustratedMessageTemplate.lit.js +2 -2
  113. package/dist/generated/templates/IllustratedMessageTemplate.lit.js.map +1 -1
  114. package/dist/generated/templates/MediaGalleryItemTemplate.lit.js +1 -1
  115. package/dist/generated/templates/MediaGalleryItemTemplate.lit.js.map +1 -1
  116. package/dist/generated/templates/NotificationListGroupItemTemplate.lit.js +3 -3
  117. package/dist/generated/templates/NotificationListGroupItemTemplate.lit.js.map +1 -1
  118. package/dist/generated/templates/NotificationListItemTemplate.lit.js +2 -2
  119. package/dist/generated/templates/NotificationListItemTemplate.lit.js.map +1 -1
  120. package/dist/generated/templates/UploadCollectionItemTemplate.lit.js +1 -1
  121. package/dist/generated/templates/UploadCollectionItemTemplate.lit.js.map +1 -1
  122. package/dist/generated/templates/UploadCollectionTemplate.lit.js +1 -1
  123. package/dist/generated/templates/UploadCollectionTemplate.lit.js.map +1 -1
  124. package/dist/generated/templates/ViewSettingsDialogTemplate.lit.js +4 -4
  125. package/dist/generated/templates/ViewSettingsDialogTemplate.lit.js.map +1 -1
  126. package/dist/generated/templates/WizardTabTemplate.lit.js +1 -1
  127. package/dist/generated/templates/WizardTabTemplate.lit.js.map +1 -1
  128. package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
  129. package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
  130. package/dist/generated/themes/IllustratedMessage.css.js +1 -1
  131. package/dist/generated/themes/IllustratedMessage.css.js.map +1 -1
  132. package/dist/generated/themes/MediaGallery.css.js +1 -1
  133. package/dist/generated/themes/MediaGallery.css.js.map +1 -1
  134. package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
  135. package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
  136. package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
  137. package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
  138. package/dist/generated/themes/NotificationListItem.css.js +1 -1
  139. package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
  140. package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
  141. package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
  142. package/dist/generated/themes/NotificationOverflowActionsPopover.css.js +1 -1
  143. package/dist/generated/themes/NotificationOverflowActionsPopover.css.js.map +1 -1
  144. package/dist/generated/themes/Page.css.js +1 -1
  145. package/dist/generated/themes/Page.css.js.map +1 -1
  146. package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
  147. package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
  148. package/dist/generated/themes/ShellBar.css.js +1 -1
  149. package/dist/generated/themes/ShellBar.css.js.map +1 -1
  150. package/dist/generated/themes/SideNavigation.css.js +1 -1
  151. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  152. package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
  153. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  154. package/dist/generated/themes/SideNavigationItem.css.js +1 -1
  155. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  156. package/dist/generated/themes/SideNavigationItemBase.css.js +1 -1
  157. package/dist/generated/themes/SideNavigationItemBase.css.js.map +1 -1
  158. package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
  159. package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
  160. package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
  161. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  162. package/dist/generated/themes/Timeline.css.js +1 -1
  163. package/dist/generated/themes/Timeline.css.js.map +1 -1
  164. package/dist/generated/themes/TimelineItem.css.js +1 -1
  165. package/dist/generated/themes/TimelineItem.css.js.map +1 -1
  166. package/dist/generated/themes/UploadCollection.css.js +1 -1
  167. package/dist/generated/themes/UploadCollection.css.js.map +1 -1
  168. package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
  169. package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
  170. package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
  171. package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
  172. package/dist/generated/themes/Wizard.css.js +1 -1
  173. package/dist/generated/themes/Wizard.css.js.map +1 -1
  174. package/dist/generated/themes/WizardTab.css.js +1 -1
  175. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  176. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  177. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  178. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  179. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  180. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  181. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  182. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  183. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  184. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  185. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  186. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  187. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  188. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  189. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  190. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  191. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  192. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  193. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  194. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  195. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  196. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  197. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  198. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  199. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  200. package/dist/illustrations-v5/tnt/{UnSuccessfulAuth.d.ts → UnsuccessfulAuth.d.ts} +1 -1
  201. package/dist/illustrations-v5/tnt/{UnSuccessfulAuth.js → UnsuccessfulAuth.js} +6 -6
  202. package/dist/illustrations-v5/tnt/hc/{UnSuccessfulAuth.d.ts → UnsuccessfulAuth.d.ts} +1 -1
  203. package/dist/illustrations-v5/tnt/hc/{UnSuccessfulAuth.js → UnsuccessfulAuth.js} +6 -6
  204. package/dist/vscode.html-custom-data.json +6 -18
  205. package/dist/web-types.json +20 -27
  206. package/package.json +8 -8
  207. package/src/BarcodeScannerDialog.hbs +1 -0
  208. package/src/IllustratedMessage.hbs +3 -1
  209. package/src/MediaGalleryItem.hbs +0 -2
  210. package/src/NotificationListGroupItem.hbs +3 -3
  211. package/src/NotificationListItem.hbs +2 -2
  212. package/src/UploadCollection.hbs +2 -2
  213. package/src/ViewSettingsDialog.hbs +9 -6
  214. package/src/WizardTab.hbs +0 -1
  215. package/src/i18n/messagebundle_et.properties +1 -1
  216. package/src/themes/IllustratedMessage.css +10 -5
  217. package/src/themes/MediaGalleryItem.css +2 -2
  218. package/src/themes/Page.css +9 -9
  219. package/src/themes/ProductSwitchItem.css +11 -31
  220. package/src/themes/ShellBar.css +9 -2
  221. package/src/themes/ViewSettingsDialog.css +1 -1
  222. package/.eslintrc.cjs +0 -3
  223. package/config/wdio.conf.cjs +0 -3
  224. package/dist/css/themes/sap_belize/parameters-bundle.css +0 -1
  225. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +0 -1
  226. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +0 -1
  227. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +0 -1
  228. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +0 -1
  229. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +0 -1
  230. package/dist/generated/themes/sap_belize/parameters-bundle.css.d.ts +0 -3
  231. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +0 -4
  232. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +0 -1
  233. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.d.ts +0 -3
  234. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +0 -4
  235. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +0 -1
  236. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.d.ts +0 -3
  237. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +0 -4
  238. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +0 -1
  239. package/src/themes/sap_belize/UploadCollection-parameters.css +0 -5
  240. package/src/themes/sap_belize/parameters-bundle.css +0 -13
  241. package/src/themes/sap_belize_hcb/FlexibleColumnLayout-parameters.css +0 -6
  242. package/src/themes/sap_belize_hcb/MediaGallery-parameters.css +0 -5
  243. package/src/themes/sap_belize_hcb/Page-parameters.css +0 -3
  244. package/src/themes/sap_belize_hcb/ProductSwitchItem-parameters.css +0 -8
  245. package/src/themes/sap_belize_hcb/ShellBar-parameters.css +0 -5
  246. package/src/themes/sap_belize_hcb/TimelineItem-parameters.css +0 -11
  247. package/src/themes/sap_belize_hcb/UploadCollection-parameters.css +0 -8
  248. package/src/themes/sap_belize_hcb/WizardTab-parameters.css +0 -9
  249. package/src/themes/sap_belize_hcb/parameters-bundle.css +0 -14
  250. package/src/themes/sap_belize_hcw/FlexibleColumnLayout-parameters.css +0 -6
  251. package/src/themes/sap_belize_hcw/MediaGallery-parameters.css +0 -5
  252. package/src/themes/sap_belize_hcw/Page-parameters.css +0 -3
  253. package/src/themes/sap_belize_hcw/ProductSwitchItem-parameters.css +0 -8
  254. package/src/themes/sap_belize_hcw/ShellBar-parameters.css +0 -5
  255. package/src/themes/sap_belize_hcw/TimelineItem-parameters.css +0 -11
  256. package/src/themes/sap_belize_hcw/UploadCollection-parameters.css +0 -7
  257. package/src/themes/sap_belize_hcw/WizardTab-parameters.css +0 -8
  258. package/src/themes/sap_belize_hcw/parameters-bundle.css +0 -14
  259. /package/dist/illustrations-v5/tnt/hc/{tnt-Dialog-UnSuccessfulAuth.js → tnt-Dialog-UnsuccessfulAuth.js} +0 -0
  260. /package/dist/illustrations-v5/tnt/hc/{tnt-Dot-UnSuccessfulAuth.js → tnt-Dot-UnsuccessfulAuth.js} +0 -0
  261. /package/dist/illustrations-v5/tnt/hc/{tnt-Scene-UnSuccessfulAuth.js → tnt-Scene-UnsuccessfulAuth.js} +0 -0
  262. /package/dist/illustrations-v5/tnt/hc/{tnt-Spot-UnSuccessfulAuth.js → tnt-Spot-UnsuccessfulAuth.js} +0 -0
  263. /package/dist/illustrations-v5/tnt/{tnt-Dialog-UnSuccessfulAuth.js → tnt-Dialog-UnsuccessfulAuth.js} +0 -0
  264. /package/dist/illustrations-v5/tnt/{tnt-Dot-UnSuccessfulAuth.js → tnt-Dot-UnsuccessfulAuth.js} +0 -0
  265. /package/dist/illustrations-v5/tnt/{tnt-Scene-UnSuccessfulAuth.js → tnt-Scene-UnsuccessfulAuth.js} +0 -0
  266. /package/dist/illustrations-v5/tnt/{tnt-Spot-UnSuccessfulAuth.js → tnt-Spot-UnsuccessfulAuth.js} +0 -0
  267. /package/src/illustrations-v5/tnt/hc/{tnt-Dialog-UnSuccessfulAuth.svg → tnt-Dialog-UnsuccessfulAuth.svg} +0 -0
  268. /package/src/illustrations-v5/tnt/hc/{tnt-Dot-UnSuccessfulAuth.svg → tnt-Dot-UnsuccessfulAuth.svg} +0 -0
  269. /package/src/illustrations-v5/tnt/hc/{tnt-Scene-UnSuccessfulAuth.svg → tnt-Scene-UnsuccessfulAuth.svg} +0 -0
  270. /package/src/illustrations-v5/tnt/hc/{tnt-Spot-UnSuccessfulAuth.svg → tnt-Spot-UnsuccessfulAuth.svg} +0 -0
  271. /package/src/illustrations-v5/tnt/{tnt-Dialog-UnSuccessfulAuth.svg → tnt-Dialog-UnsuccessfulAuth.svg} +0 -0
  272. /package/src/illustrations-v5/tnt/{tnt-Dot-UnSuccessfulAuth.svg → tnt-Dot-UnsuccessfulAuth.svg} +0 -0
  273. /package/src/illustrations-v5/tnt/{tnt-Scene-UnSuccessfulAuth.svg → tnt-Scene-UnsuccessfulAuth.svg} +0 -0
  274. /package/src/illustrations-v5/tnt/{tnt-Spot-UnSuccessfulAuth.svg → tnt-Spot-UnsuccessfulAuth.svg} +0 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,289 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.0.0-rc.3](https://github.com/SAP/ui5-webcomponents/compare/v2.0.0-rc.2...v2.0.0-rc.3) (2024-05-10)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **ui5-illustrated-message:** typo in the UnsuccessfulAuth name ([#8873](https://github.com/SAP/ui5-webcomponents/issues/8873)) ([b64d76f](https://github.com/SAP/ui5-webcomponents/commit/b64d76f7b425feeab61e93a9e452cd127b2cfb4d))
12
+
13
+
14
+ ### Code Refactoring
15
+
16
+ * rename ValueState values ([#8864](https://github.com/SAP/ui5-webcomponents/issues/8864)) ([ef9304d](https://github.com/SAP/ui5-webcomponents/commit/ef9304da4b1446178b1b2bfa737d9867461cc4bc))
17
+ * **theming:** remove Belize theme ([#8519](https://github.com/SAP/ui5-webcomponents/issues/8519)) ([990313f](https://github.com/SAP/ui5-webcomponents/commit/990313fc8e429a491f4d6e67306d3df2703e54fe)), closes [#8461](https://github.com/SAP/ui5-webcomponents/issues/8461)
18
+ * **ui5-*:** use unified API to define a11y attributes via `accessibilityAttributes` ([#8810](https://github.com/SAP/ui5-webcomponents/issues/8810)) ([49d587c](https://github.com/SAP/ui5-webcomponents/commit/49d587c73120a5511a34e61be949018605f49acd))
19
+ * **ui5-badge:** rename Badge `ui5-badge` to Tag `ui5-tag` ([#8884](https://github.com/SAP/ui5-webcomponents/issues/8884)) ([4b8c1ee](https://github.com/SAP/ui5-webcomponents/commit/4b8c1eee72a6baea79a58983e8cc021addca9480))
20
+ * **ui5-illustrated-message:** remove titleLevel property ([#8700](https://github.com/SAP/ui5-webcomponents/issues/8700)) ([9fe199c](https://github.com/SAP/ui5-webcomponents/commit/9fe199ca2f1a76985645fb375270afe29baa716f))
21
+ * **ui5-input:** events changes ([#8769](https://github.com/SAP/ui5-webcomponents/issues/8769)) ([9f5c8a4](https://github.com/SAP/ui5-webcomponents/commit/9f5c8a4f3145a8f56abec178188e53b387a627b6))
22
+ * **ui5-list:** enable hierarchical groups ([#8632](https://github.com/SAP/ui5-webcomponents/issues/8632)) ([193ed52](https://github.com/SAP/ui5-webcomponents/commit/193ed52f2085bef380005337001dc4f2f131a971)), closes [#8461](https://github.com/SAP/ui5-webcomponents/issues/8461)
23
+ * **ui5-page:** rename disableScrolling and floatingFooter properties ([#8816](https://github.com/SAP/ui5-webcomponents/issues/8816)) ([2f6fe6c](https://github.com/SAP/ui5-webcomponents/commit/2f6fe6c1e598ebb807ade1b1bfabe93c76f1b6fb))
24
+ * **ui5-segmented-button-item:** implement segmented button item independently from button ([#8669](https://github.com/SAP/ui5-webcomponents/issues/8669)) ([7b5f751](https://github.com/SAP/ui5-webcomponents/commit/7b5f7513bf91bcc20553dfefa4f40215c10e567b))
25
+ * **ui5-segmented-button:** rename `mode` to `selectionMode` ([#8761](https://github.com/SAP/ui5-webcomponents/issues/8761)) ([4be1540](https://github.com/SAP/ui5-webcomponents/commit/4be15407d7932599294a85a7297460d733b901b2))
26
+ * **ui5-title:** wrap text by default ([#8916](https://github.com/SAP/ui5-webcomponents/issues/8916)) ([f267f50](https://github.com/SAP/ui5-webcomponents/commit/f267f504a93d45a65c4cdf2acff8c65182ba1df2))
27
+ * **ui5-toast:** replace `show` method with `open` property ([#8855](https://github.com/SAP/ui5-webcomponents/issues/8855)) ([372d27d](https://github.com/SAP/ui5-webcomponents/commit/372d27d9db9afd40ffaf85cbfab61f10284063c3)), closes [#8461](https://github.com/SAP/ui5-webcomponents/issues/8461)
28
+ * **ui5-wizard:** rename event parameter ([#8845](https://github.com/SAP/ui5-webcomponents/issues/8845)) ([9882144](https://github.com/SAP/ui5-webcomponents/commit/988214415bc4a7d7b2d47f2ef9cdda7d572390fc)), closes [#8461](https://github.com/SAP/ui5-webcomponents/issues/8461)
29
+
30
+
31
+ ### Reverts
32
+
33
+ * Revert "fix(ui5-shellbar): aligned specs" (#8770) ([b73c171](https://github.com/SAP/ui5-webcomponents/commit/b73c171965b8f97d26a2beaf571190a81d39956e)), closes [#8770](https://github.com/SAP/ui5-webcomponents/issues/8770) [#8694](https://github.com/SAP/ui5-webcomponents/issues/8694)
34
+
35
+
36
+ ### BREAKING CHANGES
37
+
38
+ * **ui5-title:** wrapping-type property default value has changed from `None` to `Normal`.
39
+ Previously long texts would truncate if there is not enough space. Now, long texts would wrap.
40
+
41
+ Related to: https://github.com/SAP/ui5-webcomponents/issues/8461
42
+ * **ui5-input:** Remove suggestion-item-select event.
43
+ Rename and modify suggestion-item-preview event.
44
+ Remove openPicker method and replace it with public property "open".
45
+
46
+ * refactor(ui5-input): events changes
47
+
48
+ * refactor(ui5-input): property open tests
49
+
50
+ * refactor(ui5-input): events change
51
+
52
+ * refactor(ui5-input): events change
53
+
54
+ * refactor(ui5-input): events changes
55
+
56
+ * refactor(ui5-input): events changes
57
+
58
+ * refactor(ui5-input): events changes
59
+ * **ui5-*:** FlexibleLayout's `accessibilityTexts` and `accessibilityRoles` properties are removed. If you have previously used the `accessibilityTexts` or `accessibilityRoles` properties:
60
+ ```js
61
+ fcl.accessibilityTexts = {
62
+ startColumnAccessibleName: "Products list",
63
+ midColumnAccessibleName: "Product information",
64
+ endColumnAccessibleName: "Product detailed information",
65
+ startArrowLeftText: "Collapse products list",
66
+ startArrowRightText: "Expand products list",
67
+ endArrowLeftText: "Expand product detailed information",
68
+ endArrowRightText: "Collapse product detailed information",
69
+ startArrowContainerAccessibleName: "Start Arrow Container",
70
+ endArrowContainerAccessibleName: "End Arrow Container",
71
+ }
72
+
73
+ fcl.accessibilityRoles = {
74
+ startColumnRole: "complementary",
75
+ startArrowContainerRole: "navigation",
76
+ midColumnRole: "main",
77
+ endArrowContainerRole: "navigation",
78
+ endColumnRole: "complementary".
79
+ }
80
+ ```
81
+ Now use `accessibilityAttributes` instead:
82
+ ```js
83
+ fcl.accessibilityAttributes = {
84
+ startColumn: {
85
+ role: "complementary",
86
+ name: "Products list",
87
+ },
88
+ midColumn: {
89
+ role: "main",
90
+ name: "Product information",
91
+ },
92
+ endColumn: {
93
+ role: "complementary",
94
+ name: "Product detailed information",
95
+ },
96
+ startArrowLeft: {
97
+ name: "Collapse products list",
98
+ },
99
+ startArrowRight: {
100
+ name: "Expand products list",
101
+ },
102
+ endArrowLeft: {
103
+ name: "Expand product detailed information",
104
+ },
105
+ endArrowRight: {
106
+ name: "Collapse product detailed information",
107
+ },
108
+ startArrowContainer: {
109
+ role: "navigation",
110
+ name: "Start Arrow Container",
111
+ },
112
+ endArrowContainer: {
113
+ role: "navigation",
114
+ name: "End Arrow Container",
115
+ },
116
+ };
117
+ ```
118
+
119
+ ShellBar's `accessibilityTexts` and `accessibilityRoles` properties are removed. If you have previously used the `accessibilityTexts` or `accessibilityRoles` properties:
120
+ ```js
121
+ shellbar.accessibilityTexts = {
122
+ profileButtonTitle: "John Dow",
123
+ logoTitle: "Custom logo title",
124
+ }
125
+
126
+ shellbar.accessibilityRoles = {
127
+ logoRole: "link"
128
+ };
129
+ ```
130
+ Now use `accessibilityAttributes` instead:
131
+ ```js
132
+ shellbar.accessibilityAttributes = {
133
+ profile: {
134
+ name: "John Dow",
135
+ },
136
+ logo: {
137
+ role: "link"
138
+ name: "Custom logo title"
139
+ },
140
+ };
141
+ ```
142
+
143
+ Related to: https://github.com/SAP/ui5-webcomponents/issues/8461
144
+
145
+
146
+ * **ui5-badge:** Badge web component has been renamed to Tag. If you have previously used the `ui5-badge`:
147
+ ```html
148
+ <ui5-badge></ui5-badge>
149
+ ```
150
+ Now use `ui5-tag` instead:
151
+ ```html
152
+ <ui5-tag></ui5-tag>
153
+ ```
154
+
155
+ Related to: https://github.com/SAP/ui5-webcomponents/issues/8461
156
+ * If you previously used ValueState.Warning, ValueState.Error or ValueState.Success, start using ValueState.Critical, ValueState.Negative and ValueState.Positive respectively.
157
+ All components with valueState property are also affected. For example:
158
+ ```html
159
+ <ui5-input value-state="Success"></ui5-input>
160
+ <ui5-input value-state="Warning"></ui5-input>
161
+ <ui5-input value-state="Error"></ui5-input>
162
+ ```
163
+ ```html
164
+ <ui5-input value-state="Positive"></ui5-input>
165
+ <ui5-input value-state="Critical"></ui5-input>
166
+ <ui5-input value-state="Negative"></ui5-input>
167
+ ```
168
+
169
+ Related to: https://github.com/SAP/ui5-webcomponents/issues/8461
170
+ * **ui5-toast:** The Toast#show method has been replaced by `open` property. If you previously used `toast.show()` to show the toast, you must now se `toast.open=true`.
171
+ * **ui5-segmented-button-item:** The `ui5-segmentedbutton-item` `pressed` property is called `selected` now.
172
+
173
+ Previously the application developers could use the ui5-segmentedbutton-item as follows:
174
+ ```html
175
+ <ui5-segmented-button>
176
+ <ui5-segmented-button-item pressed> Option 1</ui5-segmented-button-item>
177
+ <ui5-segmented-button-item>Option 2</ui5-segmented-button-item>
178
+ <ui5-segmented-button-item>Option 3</ui5-segmented-button-item>
179
+ </ui5-segmented-button>
180
+ ```
181
+
182
+ Now the application developers should use the ui5-segmentedbutton-item as follows:
183
+ ```html
184
+ <ui5-segmented-button>
185
+ <ui5-segmented-button-item selected> Option 1</ui5-segmented-button-item>
186
+ <ui5-segmented-button-item>Option 2</ui5-segmented-button-item>
187
+ <ui5-segmented-button-item>Option 3</ui5-segmented-button-item>
188
+ </ui5-segmented-button>
189
+ ```
190
+
191
+ Related to: https://github.com/SAP/ui5-webcomponents/issues/8461
192
+ * **ui5-wizard:** `changeWithClick` was renamed to `withScroll` in the `WizardStepChangeEventDetail`.
193
+
194
+ JIRA: BGSOFUIRILA-3867
195
+ * **theming:** Remove SAP Belize theme
196
+ * **ui5-illustrated-message:** The `titleLevel` property of the `ui5-illustrated-message`is removed.
197
+ If you have previously used the `titleLevel` property:
198
+ ```html
199
+ <ui5-illustrated-message title-level="H6>
200
+ ```
201
+ it will no longer work for the component.
202
+
203
+ Instead, you could set the title of the `ui5-illustrated-message` on the `title` slot, as it follows
204
+
205
+ ```html
206
+ <ui5-illustrated-message>
207
+ <ui5-title slot="title" level="H3">This is a slotted title</ui5-title>
208
+ </ui5-illustrated-message>
209
+ ```
210
+ Related to https://github.com/SAP/ui5-webcomponents/issues/8461, https://github.com/SAP/ui5-webcomponents/issues/7887
211
+ * **ui5-segmented-button:** The mode property is changed to `SelectionMode` and the values it take from `SingleSelect` and `MultiSelect` to `Single` and `Multiple`. Also deleted deprecated getter - `selectedItem` and deprecated event detail `selectedItem` and now can be used with the `selectedItems` getter and `selectedItems` event detail.
212
+
213
+ Previously the application developers could set the selection mode as follows:
214
+ ```ts
215
+ <ui5-segmented-button id="segButtonMulti" mode="MultiSelect">
216
+ <ui5-segmented-button-item>Item</ui5-segmented-button-item>
217
+ <ui5-segmented-button-item>Item</ui5-segmented-button-item>
218
+ <ui5-segmented-button-item>Click</ui5-segmented-button-item>
219
+ <ui5-segmented-button-item>SegmentedButtonItem</ui5-segmented-button-item>
220
+ </ui5-segmented-button>
221
+ ```
222
+ Now the application developers could set the selection mode as follows:
223
+ ```ts
224
+ <ui5-segmented-button id="segButtonMulti" selection-mode="Multiple">
225
+ <ui5-segmented-button-item>Item</ui5-segmented-button-item>
226
+ <ui5-segmented-button-item>Item</ui5-segmented-button-item>
227
+ <ui5-segmented-button-item>Click</ui5-segmented-button-item>
228
+ <ui5-segmented-button-item>SegmentedButtonItem</ui5-segmented-button-item>
229
+ </ui5-segmented-button>
230
+ ```
231
+ Related to: https://github.com/SAP/ui5-webcomponents/issues/8461
232
+ * **ui5-page:** `disableScrolling` has been renamed, `floatingFooter` property has been removed and `fixedFooter` property has been added instead.
233
+
234
+ Related to: https://github.com/SAP/ui5-webcomponents/issues/8461
235
+ * **ui5-list:** The ui5-li-groupheader component is removed. Groups can now be created with the ui5-li-group. Instead of using ui5-li-groupheader as separator in a flat structure:
236
+
237
+ <ui5-list>
238
+ <ui5-li-groupheader>Actions</ui5-li-groupheader>
239
+ <ui5-li>Delete Product</ui5-li>
240
+ <ui5-li>Audit Log Settings</ui5-li>
241
+ <ui5-li-groupheader>Products</ui5-li-groupheader>
242
+ <ui5-li>Product 1</ui5-li>
243
+ </ui5-list>
244
+ The API supports nesting of ui5-li components inside an ui5-li-group with the header-text property:
245
+
246
+ <ui5-list>
247
+ <ui5-li-group header-text="Actions">
248
+ <ui5-li>Delete Product</ui5-li>
249
+ <ui5-li>Audit Log Settings</ui5-li>
250
+ </ui5-li-group>
251
+ </ui5-list>
252
+ or with the header slot:
253
+
254
+ <ui5-list>
255
+ <ui5-li-group>
256
+ <div slot="header" style="width: '100%'; display: flex; justify-content:space-between; align-items:center;">
257
+ <span>Back End Developers</span>
258
+ <ui5-icon name="navigation-right-arrow"></ui5-icon>
259
+ </div>
260
+ <ui5-li>Delete Product</ui5-li>
261
+ <ui5-li>Audit Log Settings</ui5-li>
262
+ </ui5-li-group>
263
+ </ui5-list>
264
+ In addition, the the List's items slot getter, will now return ui5-li-group instances as well. There is a new readonly getter listItems will return an array flat structure containing listitems and group header items.
265
+
266
+
267
+
268
+
269
+
270
+ # [2.0.0-rc.2](https://github.com/SAP/ui5-webcomponents/compare/v2.0.0-rc.1...v2.0.0-rc.2) (2024-04-18)
271
+
272
+
273
+ ### Bug Fixes
274
+
275
+ * **ui5-shellbar:** aligned specs ([#8694](https://github.com/SAP/ui5-webcomponents/issues/8694)) ([c5ec720](https://github.com/SAP/ui5-webcomponents/commit/c5ec720c8fd362b6fe2f502d473bec5fc4071b38))
276
+ * **ui5-shellbar:** assistant icon color fixed ([#8713](https://github.com/SAP/ui5-webcomponents/issues/8713)) ([e501ac8](https://github.com/SAP/ui5-webcomponents/commit/e501ac8147bb979319a6e055ba98458650884112))
277
+ * **ui5-side-navigation:** import overflow icon ([#8736](https://github.com/SAP/ui5-webcomponents/issues/8736)) ([8bc1bb4](https://github.com/SAP/ui5-webcomponents/commit/8bc1bb4698e71c66e1fb59508e115b9e612912fb))
278
+ * **ui5-side-navigation:** replace items and fixedItems union type with SideNavigationItemBase ([#8740](https://github.com/SAP/ui5-webcomponents/issues/8740)) ([b589486](https://github.com/SAP/ui5-webcomponents/commit/b58948676049565410592700b1796475f1ea94fa))
279
+
280
+
281
+ ### Features
282
+
283
+ * **ui5-barcode-scanner-dialog:** add support for close and open events ([#8753](https://github.com/SAP/ui5-webcomponents/issues/8753)) ([1ae2142](https://github.com/SAP/ui5-webcomponents/commit/1ae2142aa6ba2c587126e49422724658686d2344)), closes [#8695](https://github.com/SAP/ui5-webcomponents/issues/8695)
284
+
285
+
286
+
287
+
288
+
6
289
  # [2.0.0-rc.1](https://github.com/SAP/ui5-webcomponents/compare/v2.0.0-rc.0...v2.0.0-rc.1) (2024-04-11)
7
290
 
8
291
 
@@ -1,4 +1,4 @@
1
- import UI5Element, { ChangeInfo } from "@ui5/webcomponents-base/dist/UI5Element.js";
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
3
  import Dialog from "@ui5/webcomponents/dist/Dialog.js";
4
4
  declare const BrowserMultiFormatReader: typeof import("@zxing/library/esm5/index.js").BrowserMultiFormatReader;
@@ -43,32 +43,25 @@ declare class BarcodeScannerDialog extends UI5Element {
43
43
  * @private
44
44
  */
45
45
  loading: boolean;
46
+ /**
47
+ * Indicates whether the user has granted permissions to use the camera.
48
+ * @default false
49
+ * @private
50
+ */
51
+ permissionsGranted: boolean;
46
52
  _codeReader: InstanceType<typeof BrowserMultiFormatReader>;
47
53
  dialog?: Dialog;
48
54
  static i18nBundle: I18nBundle;
49
55
  constructor();
50
56
  static onDefine(): Promise<void>;
51
- onInvalidation(changeInfo: ChangeInfo): void;
52
- /**
53
- * Shows a dialog with the camera videostream. Starts a scan session.
54
- * @public
55
- * @deprecated The method is deprecated in favour of <code>open</code> property.
56
- */
57
- show(): void;
58
- /**
59
- * Closes the dialog and the scan session.
60
- * @public
61
- * @deprecated The method is deprecated in favour of <code>open</code> property.
62
- */
63
- close(): void;
57
+ onAfterRendering(): void;
58
+ get _open(): boolean;
64
59
  /**
65
60
  * PRIVATE METHODS
66
61
  */
67
62
  _hasGetUserMedia(): boolean;
68
63
  _getUserPermission(): Promise<MediaStream>;
69
- _getDialog(): Dialog;
70
64
  _getVideoElement(): HTMLVideoElement;
71
- _showDialog(): void;
72
65
  _closeDialog(): void;
73
66
  _startReader(): void;
74
67
  _resetReader(): void;
@@ -64,46 +64,33 @@ let BarcodeScannerDialog = BarcodeScannerDialog_1 = class BarcodeScannerDialog e
64
64
  static async onDefine() {
65
65
  BarcodeScannerDialog_1.i18nBundle = await getI18nBundle("@ui5/webcomponents-fiori");
66
66
  }
67
- onInvalidation(changeInfo) {
68
- if (changeInfo.type === "property" && changeInfo.name === "open") {
69
- if (changeInfo.newValue) {
70
- this.show();
67
+ onAfterRendering() {
68
+ if (this.open) {
69
+ if (this.loading) {
70
+ return;
71
71
  }
72
- else {
73
- this.close();
72
+ if (!this._hasGetUserMedia()) {
73
+ this.fireEvent("scan-error", { message: "getUserMedia() is not supported by your browser" });
74
+ return;
74
75
  }
76
+ if (!this.permissionsGranted) {
77
+ this.loading = true;
78
+ }
79
+ this._getUserPermission()
80
+ .then(() => {
81
+ this.permissionsGranted = true;
82
+ })
83
+ .catch(err => {
84
+ this.fireEvent("scan-error", { message: err });
85
+ this.loading = false;
86
+ });
75
87
  }
76
- }
77
- /**
78
- * Shows a dialog with the camera videostream. Starts a scan session.
79
- * @public
80
- * @deprecated The method is deprecated in favour of <code>open</code> property.
81
- */
82
- show() {
83
- if (this.loading) {
84
- console.warn("Barcode scanning is already in progress."); // eslint-disable-line
85
- return;
86
- }
87
- if (!this._hasGetUserMedia()) {
88
- this.fireEvent("scan-error", { message: "getUserMedia() is not supported by your browser" });
89
- return;
90
- }
91
- this.loading = true;
92
- this._getUserPermission()
93
- .then(() => this._showDialog())
94
- .catch(err => {
95
- this.fireEvent("scan-error", { message: err });
88
+ else {
96
89
  this.loading = false;
97
- });
90
+ }
98
91
  }
99
- /**
100
- * Closes the dialog and the scan session.
101
- * @public
102
- * @deprecated The method is deprecated in favour of <code>open</code> property.
103
- */
104
- close() {
105
- this._closeDialog();
106
- this.loading = false;
92
+ get _open() {
93
+ return this.open && this.permissionsGranted;
107
94
  }
108
95
  /**
109
96
  * PRIVATE METHODS
@@ -114,22 +101,12 @@ let BarcodeScannerDialog = BarcodeScannerDialog_1 = class BarcodeScannerDialog e
114
101
  _getUserPermission() {
115
102
  return navigator.mediaDevices.getUserMedia(defaultMediaConstraints);
116
103
  }
117
- _getDialog() {
118
- return this.shadowRoot.querySelector("[ui5-dialog]");
119
- }
120
104
  _getVideoElement() {
121
105
  return this.shadowRoot.querySelector(".ui5-barcode-scanner-dialog-video");
122
106
  }
123
- _showDialog() {
124
- this.dialog = this._getDialog();
125
- this.dialog.show();
126
- this.open = true;
127
- }
128
107
  _closeDialog() {
129
- if (this.dialog && this.dialog.opened) {
130
- this.dialog.close();
131
- this.open = false;
132
- }
108
+ this.open = false;
109
+ this.fireEvent("close");
133
110
  }
134
111
  _startReader() {
135
112
  this._decodeFromCamera();
@@ -167,6 +144,9 @@ __decorate([
167
144
  __decorate([
168
145
  property({ type: Boolean })
169
146
  ], BarcodeScannerDialog.prototype, "loading", void 0);
147
+ __decorate([
148
+ property({ type: Boolean, noAttribute: true })
149
+ ], BarcodeScannerDialog.prototype, "permissionsGranted", void 0);
170
150
  BarcodeScannerDialog = BarcodeScannerDialog_1 = __decorate([
171
151
  customElement({
172
152
  tag: "ui5-barcode-scanner-dialog",
@@ -180,6 +160,12 @@ BarcodeScannerDialog = BarcodeScannerDialog_1 = __decorate([
180
160
  Button,
181
161
  ],
182
162
  })
163
+ /**
164
+ * Fired when the user closes the component.
165
+ * @public
166
+ */
167
+ ,
168
+ event("close")
183
169
  /**
184
170
  * Fires when the scan is completed successfuuly.
185
171
  * @param {string} text the scan result as string
@@ -1 +1 @@
1
- {"version":3,"file":"BarcodeScannerDialog.js","sourceRoot":"","sources":["../src/BarcodeScannerDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element, { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Dialog from \"@ui5/webcomponents/dist/Dialog.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport BusyIndicator from \"@ui5/webcomponents/dist/BusyIndicator.js\";\nimport * as ZXing from \"@zxing/library/umd/index.min.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport type { Result, Exception } from \"@zxing/library/esm5/index.js\";\n\n// Texts\nimport {\n\tBARCODE_SCANNER_DIALOG_CANCEL_BUTTON_TXT,\n\tBARCODE_SCANNER_DIALOG_LOADING_TXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport BarcodeScannerDialogTemplate from \"./generated/templates/BarcodeScannerDialogTemplate.lit.js\";\n\n// Styles\nimport BarcodeScannerDialogCss from \"./generated/themes/BarcodeScannerDialog.css.js\";\n\n// some tools handle named exports from UMD files and the window object is not assigned but the imports work (vitejs)\n// other tools do not handle named exports (they are undefined after the import), but the window global is assigned and can be used (web dev server)\nconst effectiveZXing = { ...ZXing, ...window.ZXing };\nconst { BrowserMultiFormatReader, NotFoundException } = effectiveZXing;\n\nconst defaultMediaConstraints = {\n\taudio: false,\n\tvideo: {\n\t\theight: {\n\t\t\tmin: 480,\n\t\t\tideal: 960,\n\t\t\tmax: 1440,\n\t\t},\n\t\taspectRatio: 1.333333333,\n\t\tfacingMode: \"environment\",\n\t},\n};\n\ntype BarcodeScannerDialogScanSuccessEventDetail = {\n\ttext: string,\n\trawBytes: Uint8Array,\n};\n\ntype BarcodeScannerDialogScanErrorEventDetail = {\n\tmessage: string,\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `BarcodeScannerDialog` component provides barcode scanning functionality for all devices that support the `MediaDevices.getUserMedia()` native API.\n * Opening the dialog launches the device camera and scans for known barcode formats.\n *\n * A `scanSuccess` event fires whenever a barcode is identified\n * and a `scanError` event fires when the scan failed (for example, due to missing permisions).\n *\n * Internally, the component uses the zxing-js/library third party OSS.\n *\n * For a list of supported barcode formats, see the [zxing-js/library](https://github.com/zxing-js/library) documentation.\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.15\n */\n@customElement({\n\ttag: \"ui5-barcode-scanner-dialog\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: BarcodeScannerDialogTemplate,\n\tstyles: [BarcodeScannerDialogCss],\n\tdependencies: [\n\t\tDialog,\n\t\tBusyIndicator,\n\t\tButton,\n\t],\n})\n/**\n * Fires when the scan is completed successfuuly.\n * @param {string} text the scan result as string\n * @param {Object} rawBytes the scan result as a Uint8Array\n * @public\n */\n@event<BarcodeScannerDialogScanSuccessEventDetail>(\"scan-success\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\ttext: { type: String },\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\trawBytes: { type: Object },\n\t},\n})\n\n/**\n * Fires when the scan fails with error.\n * @param {string} message the error message\n * @public\n */\n@event<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\tmessage: { type: String },\n\t},\n})\n\nclass BarcodeScannerDialog extends UI5Element {\n\t/**\n\t * Indicates whether the dialog is open.\n\t *\n\t * @public\n\t * @default false\n\t * @since 1.24.0\n\t*/\n\t@property({ type: Boolean })\n\topen!: boolean;\n\n\t/**\n\t * Indicates whether a loading indicator should be displayed in the dialog.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tloading!: boolean;\n\n\t_codeReader: InstanceType<typeof BrowserMultiFormatReader>;\n\tdialog?: Dialog;\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._codeReader = new BrowserMultiFormatReader();\n\t}\n\n\tstatic async onDefine() {\n\t\tBarcodeScannerDialog.i18nBundle = await getI18nBundle(\"@ui5/webcomponents-fiori\");\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.type === \"property\" && changeInfo.name === \"open\") {\n\t\t\tif (changeInfo.newValue) {\n\t\t\t\tthis.show();\n\t\t\t} else {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Shows a dialog with the camera videostream. Starts a scan session.\n\t * @public\n\t * @deprecated The method is deprecated in favour of <code>open</code> property.\n\t */\n\tshow(): void {\n\t\tif (this.loading) {\n\t\t\tconsole.warn(\"Barcode scanning is already in progress.\"); // eslint-disable-line\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._hasGetUserMedia()) {\n\t\t\tthis.fireEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: \"getUserMedia() is not supported by your browser\" });\n\t\t\treturn;\n\t\t}\n\n\t\tthis.loading = true;\n\n\t\tthis._getUserPermission()\n\t\t\t.then(() => this._showDialog())\n\t\t\t.catch(err => {\n\t\t\t\tthis.fireEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: err });\n\t\t\t\tthis.loading = false;\n\t\t\t});\n\t}\n\n\t/**\n\t * Closes the dialog and the scan session.\n\t * @public\n\t * @deprecated The method is deprecated in favour of <code>open</code> property.\n\t */\n\tclose():void {\n\t\tthis._closeDialog();\n\t\tthis.loading = false;\n\t}\n\n\t/**\n\t * PRIVATE METHODS\n\t */\n\n\t_hasGetUserMedia() {\n\t\treturn !!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia);\n\t}\n\n\t_getUserPermission() {\n\t\treturn navigator.mediaDevices.getUserMedia(defaultMediaConstraints);\n\t}\n\n\t_getDialog() {\n\t\treturn this.shadowRoot!.querySelector<Dialog>(\"[ui5-dialog]\")!;\n\t}\n\n\t_getVideoElement() {\n\t\treturn this.shadowRoot!.querySelector<HTMLVideoElement>(\".ui5-barcode-scanner-dialog-video\")!;\n\t}\n\n\t_showDialog() {\n\t\tthis.dialog = this._getDialog();\n\t\tthis.dialog.show();\n\t\tthis.open = true;\n\t}\n\n\t_closeDialog() {\n\t\tif (this.dialog && this.dialog.opened) {\n\t\t\tthis.dialog.close();\n\t\t\tthis.open = false;\n\t\t}\n\t}\n\n\t_startReader() {\n\t\tthis._decodeFromCamera();\n\t}\n\n\t_resetReader() {\n\t\tconst videoElement = this._getVideoElement();\n\t\tvideoElement.pause();\n\t\tthis._codeReader.reset();\n\t}\n\n\t_decodeFromCamera() {\n\t\tconst videoElement = this._getVideoElement();\n\t\tthis._codeReader.decodeFromVideoDevice(null, videoElement, (result: Result, err?: Exception) => {\n\t\t\tthis.loading = false;\n\t\t\tif (result) {\n\t\t\t\tthis.fireEvent<BarcodeScannerDialogScanSuccessEventDetail>(\"scan-success\",\n\t\t\t\t\t{\n\t\t\t\t\t\ttext: result.getText(),\n\t\t\t\t\t\trawBytes: result.getRawBytes(),\n\t\t\t\t\t});\n\t\t\t}\n\t\t\tif (err && !(err instanceof NotFoundException)) {\n\t\t\t\tthis.fireEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: err.message });\n\t\t\t}\n\t\t}).catch((err: Error) => this.fireEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: err.message }));\n\t}\n\n\tget _cancelButtonText() {\n\t\treturn BarcodeScannerDialog.i18nBundle.getText(BARCODE_SCANNER_DIALOG_CANCEL_BUTTON_TXT);\n\t}\n\n\tget _busyIndicatorText() {\n\t\treturn BarcodeScannerDialog.i18nBundle.getText(BARCODE_SCANNER_DIALOG_LOADING_TXT);\n\t}\n}\n\nBarcodeScannerDialog.define();\n\nexport default BarcodeScannerDialog;\nexport type {\n\tBarcodeScannerDialogScanErrorEventDetail,\n\tBarcodeScannerDialogScanSuccessEventDetail,\n};\n"]}
1
+ {"version":3,"file":"BarcodeScannerDialog.js","sourceRoot":"","sources":["../src/BarcodeScannerDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Dialog from \"@ui5/webcomponents/dist/Dialog.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport BusyIndicator from \"@ui5/webcomponents/dist/BusyIndicator.js\";\nimport * as ZXing from \"@zxing/library/umd/index.min.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport type { Result, Exception } from \"@zxing/library/esm5/index.js\";\n\n// Texts\nimport {\n\tBARCODE_SCANNER_DIALOG_CANCEL_BUTTON_TXT,\n\tBARCODE_SCANNER_DIALOG_LOADING_TXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport BarcodeScannerDialogTemplate from \"./generated/templates/BarcodeScannerDialogTemplate.lit.js\";\n\n// Styles\nimport BarcodeScannerDialogCss from \"./generated/themes/BarcodeScannerDialog.css.js\";\n\n// some tools handle named exports from UMD files and the window object is not assigned but the imports work (vitejs)\n// other tools do not handle named exports (they are undefined after the import), but the window global is assigned and can be used (web dev server)\nconst effectiveZXing = { ...ZXing, ...window.ZXing };\nconst { BrowserMultiFormatReader, NotFoundException } = effectiveZXing;\n\nconst defaultMediaConstraints = {\n\taudio: false,\n\tvideo: {\n\t\theight: {\n\t\t\tmin: 480,\n\t\t\tideal: 960,\n\t\t\tmax: 1440,\n\t\t},\n\t\taspectRatio: 1.333333333,\n\t\tfacingMode: \"environment\",\n\t},\n};\n\ntype BarcodeScannerDialogScanSuccessEventDetail = {\n\ttext: string,\n\trawBytes: Uint8Array,\n};\n\ntype BarcodeScannerDialogScanErrorEventDetail = {\n\tmessage: string,\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `BarcodeScannerDialog` component provides barcode scanning functionality for all devices that support the `MediaDevices.getUserMedia()` native API.\n * Opening the dialog launches the device camera and scans for known barcode formats.\n *\n * A `scanSuccess` event fires whenever a barcode is identified\n * and a `scanError` event fires when the scan failed (for example, due to missing permisions).\n *\n * Internally, the component uses the zxing-js/library third party OSS.\n *\n * For a list of supported barcode formats, see the [zxing-js/library](https://github.com/zxing-js/library) documentation.\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.15\n */\n@customElement({\n\ttag: \"ui5-barcode-scanner-dialog\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: BarcodeScannerDialogTemplate,\n\tstyles: [BarcodeScannerDialogCss],\n\tdependencies: [\n\t\tDialog,\n\t\tBusyIndicator,\n\t\tButton,\n\t],\n})\n\n/**\n * Fired when the user closes the component.\n * @public\n */\n@event(\"close\")\n\n/**\n * Fires when the scan is completed successfuuly.\n * @param {string} text the scan result as string\n * @param {Object} rawBytes the scan result as a Uint8Array\n * @public\n */\n@event<BarcodeScannerDialogScanSuccessEventDetail>(\"scan-success\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\ttext: { type: String },\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\trawBytes: { type: Object },\n\t},\n})\n\n/**\n * Fires when the scan fails with error.\n * @param {string} message the error message\n * @public\n */\n@event<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", {\n\tdetail: {\n\t\t/**\n\t\t* @public\n\t\t*/\n\t\tmessage: { type: String },\n\t},\n})\n\nclass BarcodeScannerDialog extends UI5Element {\n\t/**\n\t * Indicates whether the dialog is open.\n\t *\n\t * @public\n\t * @default false\n\t * @since 1.24.0\n\t*/\n\t@property({ type: Boolean })\n\topen!: boolean;\n\n\t/**\n\t * Indicates whether a loading indicator should be displayed in the dialog.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tloading!: boolean;\n\n\t/**\n\t * Indicates whether the user has granted permissions to use the camera.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\tpermissionsGranted!: boolean;\n\n\t_codeReader: InstanceType<typeof BrowserMultiFormatReader>;\n\tdialog?: Dialog;\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._codeReader = new BrowserMultiFormatReader();\n\t}\n\n\tstatic async onDefine() {\n\t\tBarcodeScannerDialog.i18nBundle = await getI18nBundle(\"@ui5/webcomponents-fiori\");\n\t}\n\n\tonAfterRendering() {\n\t\tif (this.open) {\n\t\t\tif (this.loading) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!this._hasGetUserMedia()) {\n\t\t\t\tthis.fireEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: \"getUserMedia() is not supported by your browser\" });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!this.permissionsGranted) {\n\t\t\t\tthis.loading = true;\n\t\t\t}\n\n\t\t\tthis._getUserPermission()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.permissionsGranted = true;\n\t\t\t\t})\n\t\t\t\t.catch(err => {\n\t\t\t\t\tthis.fireEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: err });\n\t\t\t\t\tthis.loading = false;\n\t\t\t\t});\n\t\t} else {\n\t\t\tthis.loading = false;\n\t\t}\n\t}\n\n\tget _open() {\n\t\treturn this.open && this.permissionsGranted;\n\t}\n\n\t/**\n\t * PRIVATE METHODS\n\t */\n\n\t_hasGetUserMedia() {\n\t\treturn !!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia);\n\t}\n\n\t_getUserPermission() {\n\t\treturn navigator.mediaDevices.getUserMedia(defaultMediaConstraints);\n\t}\n\n\t_getVideoElement() {\n\t\treturn this.shadowRoot!.querySelector<HTMLVideoElement>(\".ui5-barcode-scanner-dialog-video\")!;\n\t}\n\n\t_closeDialog() {\n\t\tthis.open = false;\n\t\tthis.fireEvent(\"close\");\n\t}\n\n\t_startReader() {\n\t\tthis._decodeFromCamera();\n\t}\n\n\t_resetReader() {\n\t\tconst videoElement = this._getVideoElement();\n\t\tvideoElement.pause();\n\t\tthis._codeReader.reset();\n\t}\n\n\t_decodeFromCamera() {\n\t\tconst videoElement = this._getVideoElement();\n\t\tthis._codeReader.decodeFromVideoDevice(null, videoElement, (result: Result, err?: Exception) => {\n\t\t\tthis.loading = false;\n\t\t\tif (result) {\n\t\t\t\tthis.fireEvent<BarcodeScannerDialogScanSuccessEventDetail>(\"scan-success\",\n\t\t\t\t\t{\n\t\t\t\t\t\ttext: result.getText(),\n\t\t\t\t\t\trawBytes: result.getRawBytes(),\n\t\t\t\t\t});\n\t\t\t}\n\t\t\tif (err && !(err instanceof NotFoundException)) {\n\t\t\t\tthis.fireEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: err.message });\n\t\t\t}\n\t\t}).catch((err: Error) => this.fireEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: err.message }));\n\t}\n\n\tget _cancelButtonText() {\n\t\treturn BarcodeScannerDialog.i18nBundle.getText(BARCODE_SCANNER_DIALOG_CANCEL_BUTTON_TXT);\n\t}\n\n\tget _busyIndicatorText() {\n\t\treturn BarcodeScannerDialog.i18nBundle.getText(BARCODE_SCANNER_DIALOG_LOADING_TXT);\n\t}\n}\n\nBarcodeScannerDialog.define();\n\nexport default BarcodeScannerDialog;\nexport type {\n\tBarcodeScannerDialogScanErrorEventDetail,\n\tBarcodeScannerDialogScanSuccessEventDetail,\n};\n"]}