@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.
- package/CHANGELOG.md +283 -0
- package/dist/BarcodeScannerDialog.d.ts +9 -16
- package/dist/BarcodeScannerDialog.js +33 -47
- package/dist/BarcodeScannerDialog.js.map +1 -1
- package/dist/FlexibleColumnLayout.d.ts +74 -60
- package/dist/FlexibleColumnLayout.js +17 -20
- package/dist/FlexibleColumnLayout.js.map +1 -1
- package/dist/IllustratedMessage.d.ts +0 -12
- package/dist/IllustratedMessage.js +0 -4
- package/dist/IllustratedMessage.js.map +1 -1
- package/dist/MediaGallery.d.ts +0 -1
- package/dist/MediaGallery.js.map +1 -1
- package/dist/MediaGalleryItem.d.ts +0 -6
- package/dist/MediaGalleryItem.js +0 -9
- package/dist/MediaGalleryItem.js.map +1 -1
- package/dist/Page.d.ts +7 -8
- package/dist/Page.js +6 -7
- package/dist/Page.js.map +1 -1
- package/dist/ProductSwitchItem.d.ts +0 -5
- package/dist/ProductSwitchItem.js +4 -5
- package/dist/ProductSwitchItem.js.map +1 -1
- package/dist/ShellBar.d.ts +49 -64
- package/dist/ShellBar.js +22 -37
- package/dist/ShellBar.js.map +1 -1
- package/dist/SideNavigation.d.ts +3 -2
- package/dist/SideNavigation.js +9 -8
- package/dist/SideNavigation.js.map +1 -1
- package/dist/SideNavigationGroup.d.ts +3 -0
- package/dist/SideNavigationGroup.js +8 -1
- package/dist/SideNavigationGroup.js.map +1 -1
- package/dist/SideNavigationItem.d.ts +3 -0
- package/dist/SideNavigationItem.js +7 -0
- package/dist/SideNavigationItem.js.map +1 -1
- package/dist/SideNavigationItemBase.d.ts +4 -1
- package/dist/SideNavigationItemBase.js +7 -0
- package/dist/SideNavigationItemBase.js.map +1 -1
- package/dist/SideNavigationSelectableItemBase.d.ts +3 -0
- package/dist/SideNavigationSelectableItemBase.js +7 -0
- package/dist/SideNavigationSelectableItemBase.js.map +1 -1
- package/dist/UploadCollectionItem.d.ts +9 -3
- package/dist/UploadCollectionItem.js +1 -1
- package/dist/UploadCollectionItem.js.map +1 -1
- package/dist/ViewSettingsDialog.js +3 -3
- package/dist/ViewSettingsDialog.js.map +1 -1
- package/dist/Wizard.d.ts +3 -3
- package/dist/Wizard.js +8 -8
- package/dist/Wizard.js.map +1 -1
- package/dist/WizardTab.d.ts +0 -1
- package/dist/WizardTab.js +0 -1
- package/dist/WizardTab.js.map +1 -1
- package/dist/bundle.esm.js +38 -0
- package/dist/bundle.scoped.esm.js +5 -0
- package/dist/css/themes/FlexibleColumnLayout.css +1 -1
- package/dist/css/themes/IllustratedMessage.css +1 -1
- package/dist/css/themes/MediaGallery.css +1 -1
- package/dist/css/themes/MediaGalleryItem.css +1 -1
- package/dist/css/themes/NotificationListGroupItem.css +1 -1
- package/dist/css/themes/NotificationListItem.css +1 -1
- package/dist/css/themes/NotificationListItemBase.css +1 -1
- package/dist/css/themes/NotificationOverflowActionsPopover.css +1 -1
- package/dist/css/themes/Page.css +1 -1
- package/dist/css/themes/ProductSwitchItem.css +1 -1
- package/dist/css/themes/ShellBar.css +1 -1
- package/dist/css/themes/SideNavigation.css +1 -1
- package/dist/css/themes/SideNavigationGroup.css +1 -1
- package/dist/css/themes/SideNavigationItem.css +1 -1
- package/dist/css/themes/SideNavigationItemBase.css +1 -1
- package/dist/css/themes/SideNavigationPopover.css +1 -1
- package/dist/css/themes/SideNavigationSubItem.css +1 -1
- package/dist/css/themes/Timeline.css +1 -1
- package/dist/css/themes/TimelineItem.css +1 -1
- package/dist/css/themes/UploadCollection.css +1 -1
- package/dist/css/themes/UploadCollectionItem.css +1 -1
- package/dist/css/themes/ViewSettingsDialog.css +1 -1
- package/dist/css/themes/Wizard.css +1 -1
- package/dist/css/themes/WizardTab.css +1 -1
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
- package/dist/custom-elements-internal.json +48 -135
- package/dist/custom-elements.json +25 -119
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/js-imports/IllustrationsV5TNT.js +6 -6
- package/dist/generated/js-imports/IllustrationsV5TNT.js.map +1 -1
- package/dist/generated/js-imports/IllustrationsV5TNTHC.js +6 -6
- package/dist/generated/js-imports/IllustrationsV5TNTHC.js.map +1 -1
- package/dist/generated/json-imports/Themes.js +1 -4
- package/dist/generated/json-imports/Themes.js.map +1 -1
- package/dist/generated/templates/BarcodeScannerDialogTemplate.lit.js +1 -1
- package/dist/generated/templates/BarcodeScannerDialogTemplate.lit.js.map +1 -1
- package/dist/generated/templates/IllustratedMessageTemplate.lit.js +2 -2
- package/dist/generated/templates/IllustratedMessageTemplate.lit.js.map +1 -1
- package/dist/generated/templates/MediaGalleryItemTemplate.lit.js +1 -1
- package/dist/generated/templates/MediaGalleryItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/NotificationListGroupItemTemplate.lit.js +3 -3
- package/dist/generated/templates/NotificationListGroupItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/NotificationListItemTemplate.lit.js +2 -2
- package/dist/generated/templates/NotificationListItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/UploadCollectionItemTemplate.lit.js +1 -1
- package/dist/generated/templates/UploadCollectionItemTemplate.lit.js.map +1 -1
- package/dist/generated/templates/UploadCollectionTemplate.lit.js +1 -1
- package/dist/generated/templates/UploadCollectionTemplate.lit.js.map +1 -1
- package/dist/generated/templates/ViewSettingsDialogTemplate.lit.js +4 -4
- package/dist/generated/templates/ViewSettingsDialogTemplate.lit.js.map +1 -1
- package/dist/generated/templates/WizardTabTemplate.lit.js +1 -1
- package/dist/generated/templates/WizardTabTemplate.lit.js.map +1 -1
- package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
- package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
- package/dist/generated/themes/IllustratedMessage.css.js +1 -1
- package/dist/generated/themes/IllustratedMessage.css.js.map +1 -1
- package/dist/generated/themes/MediaGallery.css.js +1 -1
- package/dist/generated/themes/MediaGallery.css.js.map +1 -1
- package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
- package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
- package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
- package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
- package/dist/generated/themes/NotificationListItem.css.js +1 -1
- package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
- package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
- package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
- package/dist/generated/themes/NotificationOverflowActionsPopover.css.js +1 -1
- package/dist/generated/themes/NotificationOverflowActionsPopover.css.js.map +1 -1
- package/dist/generated/themes/Page.css.js +1 -1
- package/dist/generated/themes/Page.css.js.map +1 -1
- package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
- package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
- package/dist/generated/themes/ShellBar.css.js +1 -1
- package/dist/generated/themes/ShellBar.css.js.map +1 -1
- package/dist/generated/themes/SideNavigation.css.js +1 -1
- package/dist/generated/themes/SideNavigation.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
- package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationItem.css.js +1 -1
- package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationItemBase.css.js +1 -1
- package/dist/generated/themes/SideNavigationItemBase.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
- package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
- package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
- package/dist/generated/themes/Timeline.css.js +1 -1
- package/dist/generated/themes/Timeline.css.js.map +1 -1
- package/dist/generated/themes/TimelineItem.css.js +1 -1
- package/dist/generated/themes/TimelineItem.css.js.map +1 -1
- package/dist/generated/themes/UploadCollection.css.js +1 -1
- package/dist/generated/themes/UploadCollection.css.js.map +1 -1
- package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
- package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
- package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
- package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
- package/dist/generated/themes/Wizard.css.js +1 -1
- package/dist/generated/themes/Wizard.css.js.map +1 -1
- package/dist/generated/themes/WizardTab.css.js +1 -1
- package/dist/generated/themes/WizardTab.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
- package/dist/illustrations-v5/tnt/{UnSuccessfulAuth.d.ts → UnsuccessfulAuth.d.ts} +1 -1
- package/dist/illustrations-v5/tnt/{UnSuccessfulAuth.js → UnsuccessfulAuth.js} +6 -6
- package/dist/illustrations-v5/tnt/hc/{UnSuccessfulAuth.d.ts → UnsuccessfulAuth.d.ts} +1 -1
- package/dist/illustrations-v5/tnt/hc/{UnSuccessfulAuth.js → UnsuccessfulAuth.js} +6 -6
- package/dist/vscode.html-custom-data.json +6 -18
- package/dist/web-types.json +20 -27
- package/package.json +8 -8
- package/src/BarcodeScannerDialog.hbs +1 -0
- package/src/IllustratedMessage.hbs +3 -1
- package/src/MediaGalleryItem.hbs +0 -2
- package/src/NotificationListGroupItem.hbs +3 -3
- package/src/NotificationListItem.hbs +2 -2
- package/src/UploadCollection.hbs +2 -2
- package/src/ViewSettingsDialog.hbs +9 -6
- package/src/WizardTab.hbs +0 -1
- package/src/i18n/messagebundle_et.properties +1 -1
- package/src/themes/IllustratedMessage.css +10 -5
- package/src/themes/MediaGalleryItem.css +2 -2
- package/src/themes/Page.css +9 -9
- package/src/themes/ProductSwitchItem.css +11 -31
- package/src/themes/ShellBar.css +9 -2
- package/src/themes/ViewSettingsDialog.css +1 -1
- package/.eslintrc.cjs +0 -3
- package/config/wdio.conf.cjs +0 -3
- package/dist/css/themes/sap_belize/parameters-bundle.css +0 -1
- package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +0 -1
- package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +0 -1
- package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +0 -1
- package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +0 -1
- package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +0 -1
- package/dist/generated/themes/sap_belize/parameters-bundle.css.d.ts +0 -3
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js +0 -4
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +0 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.d.ts +0 -3
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +0 -4
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +0 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.d.ts +0 -3
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +0 -4
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +0 -1
- package/src/themes/sap_belize/UploadCollection-parameters.css +0 -5
- package/src/themes/sap_belize/parameters-bundle.css +0 -13
- package/src/themes/sap_belize_hcb/FlexibleColumnLayout-parameters.css +0 -6
- package/src/themes/sap_belize_hcb/MediaGallery-parameters.css +0 -5
- package/src/themes/sap_belize_hcb/Page-parameters.css +0 -3
- package/src/themes/sap_belize_hcb/ProductSwitchItem-parameters.css +0 -8
- package/src/themes/sap_belize_hcb/ShellBar-parameters.css +0 -5
- package/src/themes/sap_belize_hcb/TimelineItem-parameters.css +0 -11
- package/src/themes/sap_belize_hcb/UploadCollection-parameters.css +0 -8
- package/src/themes/sap_belize_hcb/WizardTab-parameters.css +0 -9
- package/src/themes/sap_belize_hcb/parameters-bundle.css +0 -14
- package/src/themes/sap_belize_hcw/FlexibleColumnLayout-parameters.css +0 -6
- package/src/themes/sap_belize_hcw/MediaGallery-parameters.css +0 -5
- package/src/themes/sap_belize_hcw/Page-parameters.css +0 -3
- package/src/themes/sap_belize_hcw/ProductSwitchItem-parameters.css +0 -8
- package/src/themes/sap_belize_hcw/ShellBar-parameters.css +0 -5
- package/src/themes/sap_belize_hcw/TimelineItem-parameters.css +0 -11
- package/src/themes/sap_belize_hcw/UploadCollection-parameters.css +0 -7
- package/src/themes/sap_belize_hcw/WizardTab-parameters.css +0 -8
- package/src/themes/sap_belize_hcw/parameters-bundle.css +0 -14
- /package/dist/illustrations-v5/tnt/hc/{tnt-Dialog-UnSuccessfulAuth.js → tnt-Dialog-UnsuccessfulAuth.js} +0 -0
- /package/dist/illustrations-v5/tnt/hc/{tnt-Dot-UnSuccessfulAuth.js → tnt-Dot-UnsuccessfulAuth.js} +0 -0
- /package/dist/illustrations-v5/tnt/hc/{tnt-Scene-UnSuccessfulAuth.js → tnt-Scene-UnsuccessfulAuth.js} +0 -0
- /package/dist/illustrations-v5/tnt/hc/{tnt-Spot-UnSuccessfulAuth.js → tnt-Spot-UnsuccessfulAuth.js} +0 -0
- /package/dist/illustrations-v5/tnt/{tnt-Dialog-UnSuccessfulAuth.js → tnt-Dialog-UnsuccessfulAuth.js} +0 -0
- /package/dist/illustrations-v5/tnt/{tnt-Dot-UnSuccessfulAuth.js → tnt-Dot-UnsuccessfulAuth.js} +0 -0
- /package/dist/illustrations-v5/tnt/{tnt-Scene-UnSuccessfulAuth.js → tnt-Scene-UnsuccessfulAuth.js} +0 -0
- /package/dist/illustrations-v5/tnt/{tnt-Spot-UnSuccessfulAuth.js → tnt-Spot-UnsuccessfulAuth.js} +0 -0
- /package/src/illustrations-v5/tnt/hc/{tnt-Dialog-UnSuccessfulAuth.svg → tnt-Dialog-UnsuccessfulAuth.svg} +0 -0
- /package/src/illustrations-v5/tnt/hc/{tnt-Dot-UnSuccessfulAuth.svg → tnt-Dot-UnsuccessfulAuth.svg} +0 -0
- /package/src/illustrations-v5/tnt/hc/{tnt-Scene-UnSuccessfulAuth.svg → tnt-Scene-UnsuccessfulAuth.svg} +0 -0
- /package/src/illustrations-v5/tnt/hc/{tnt-Spot-UnSuccessfulAuth.svg → tnt-Spot-UnsuccessfulAuth.svg} +0 -0
- /package/src/illustrations-v5/tnt/{tnt-Dialog-UnSuccessfulAuth.svg → tnt-Dialog-UnsuccessfulAuth.svg} +0 -0
- /package/src/illustrations-v5/tnt/{tnt-Dot-UnSuccessfulAuth.svg → tnt-Dot-UnsuccessfulAuth.svg} +0 -0
- /package/src/illustrations-v5/tnt/{tnt-Scene-UnSuccessfulAuth.svg → tnt-Scene-UnsuccessfulAuth.svg} +0 -0
- /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
|
|
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
|
-
|
|
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
|
-
|
|
68
|
-
if (
|
|
69
|
-
if (
|
|
70
|
-
|
|
67
|
+
onAfterRendering() {
|
|
68
|
+
if (this.open) {
|
|
69
|
+
if (this.loading) {
|
|
70
|
+
return;
|
|
71
71
|
}
|
|
72
|
-
|
|
73
|
-
this.
|
|
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
|
-
|
|
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
|
-
|
|
130
|
-
|
|
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"]}
|