@ui5/webcomponents-fiori 2.4.1-rc.0 → 2.5.0-rc.0

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 (150) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/BarcodeScannerDialog.d.ts +2 -2
  4. package/dist/BarcodeScannerDialog.js.map +1 -1
  5. package/dist/IllustratedMessage.js +1 -1
  6. package/dist/IllustratedMessage.js.map +1 -1
  7. package/dist/SideNavigation.d.ts +8 -7
  8. package/dist/SideNavigation.js +5 -1
  9. package/dist/SideNavigation.js.map +1 -1
  10. package/dist/css/themes/DynamicPage.css +1 -1
  11. package/dist/css/themes/DynamicPageHeader.css +1 -1
  12. package/dist/css/themes/DynamicPageHeaderActions.css +1 -1
  13. package/dist/css/themes/DynamicPageTitle.css +1 -1
  14. package/dist/css/themes/FlexibleColumnLayout.css +1 -1
  15. package/dist/css/themes/MediaGallery.css +1 -1
  16. package/dist/css/themes/MediaGalleryItem.css +1 -1
  17. package/dist/css/themes/NotificationListGroupItem.css +1 -1
  18. package/dist/css/themes/NotificationListItem.css +1 -1
  19. package/dist/css/themes/NotificationListItemBase.css +1 -1
  20. package/dist/css/themes/NotificationStateIcon.css +1 -1
  21. package/dist/css/themes/Page.css +1 -1
  22. package/dist/css/themes/ProductSwitchItem.css +1 -1
  23. package/dist/css/themes/ShellBar.css +1 -1
  24. package/dist/css/themes/SideNavigation.css +1 -1
  25. package/dist/css/themes/SideNavigationGroup.css +1 -1
  26. package/dist/css/themes/SideNavigationItem.css +1 -1
  27. package/dist/css/themes/SideNavigationItemBase.css +1 -1
  28. package/dist/css/themes/SideNavigationPopover.css +1 -1
  29. package/dist/css/themes/SideNavigationSubItem.css +1 -1
  30. package/dist/css/themes/Timeline.css +1 -1
  31. package/dist/css/themes/TimelineGroupItem.css +1 -1
  32. package/dist/css/themes/TimelineItem.css +1 -1
  33. package/dist/css/themes/UploadCollection.css +1 -1
  34. package/dist/css/themes/UploadCollectionItem.css +1 -1
  35. package/dist/css/themes/ViewSettingsDialog.css +1 -1
  36. package/dist/css/themes/Wizard.css +1 -1
  37. package/dist/css/themes/WizardTab.css +1 -1
  38. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  39. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  40. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  41. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  42. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  43. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  44. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  45. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  46. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  47. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  48. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  49. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  50. package/dist/custom-elements-internal.json +5 -19
  51. package/dist/custom-elements.json +3 -3
  52. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  53. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  54. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  55. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  56. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  57. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  58. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  59. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  60. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  61. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  62. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  63. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  64. package/dist/generated/templates/DynamicPageTitleTemplate.lit.js +1 -1
  65. package/dist/generated/templates/DynamicPageTitleTemplate.lit.js.map +1 -1
  66. package/dist/generated/themes/DynamicPage.css.js +1 -1
  67. package/dist/generated/themes/DynamicPage.css.js.map +1 -1
  68. package/dist/generated/themes/DynamicPageHeader.css.js +1 -1
  69. package/dist/generated/themes/DynamicPageHeader.css.js.map +1 -1
  70. package/dist/generated/themes/DynamicPageHeaderActions.css.js +1 -1
  71. package/dist/generated/themes/DynamicPageHeaderActions.css.js.map +1 -1
  72. package/dist/generated/themes/DynamicPageTitle.css.js +1 -1
  73. package/dist/generated/themes/DynamicPageTitle.css.js.map +1 -1
  74. package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
  75. package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
  76. package/dist/generated/themes/MediaGallery.css.js +1 -1
  77. package/dist/generated/themes/MediaGallery.css.js.map +1 -1
  78. package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
  79. package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
  80. package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
  81. package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
  82. package/dist/generated/themes/NotificationListItem.css.js +1 -1
  83. package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
  84. package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
  85. package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
  86. package/dist/generated/themes/NotificationStateIcon.css.js +1 -1
  87. package/dist/generated/themes/NotificationStateIcon.css.js.map +1 -1
  88. package/dist/generated/themes/Page.css.js +1 -1
  89. package/dist/generated/themes/Page.css.js.map +1 -1
  90. package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
  91. package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
  92. package/dist/generated/themes/ShellBar.css.js +1 -1
  93. package/dist/generated/themes/ShellBar.css.js.map +1 -1
  94. package/dist/generated/themes/SideNavigation.css.js +1 -1
  95. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  96. package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
  97. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  98. package/dist/generated/themes/SideNavigationItem.css.js +1 -1
  99. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  100. package/dist/generated/themes/SideNavigationItemBase.css.js +1 -1
  101. package/dist/generated/themes/SideNavigationItemBase.css.js.map +1 -1
  102. package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
  103. package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
  104. package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
  105. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  106. package/dist/generated/themes/Timeline.css.js +1 -1
  107. package/dist/generated/themes/Timeline.css.js.map +1 -1
  108. package/dist/generated/themes/TimelineGroupItem.css.js +1 -1
  109. package/dist/generated/themes/TimelineGroupItem.css.js.map +1 -1
  110. package/dist/generated/themes/TimelineItem.css.js +1 -1
  111. package/dist/generated/themes/TimelineItem.css.js.map +1 -1
  112. package/dist/generated/themes/UploadCollection.css.js +1 -1
  113. package/dist/generated/themes/UploadCollection.css.js.map +1 -1
  114. package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
  115. package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
  116. package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
  117. package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
  118. package/dist/generated/themes/Wizard.css.js +1 -1
  119. package/dist/generated/themes/Wizard.css.js.map +1 -1
  120. package/dist/generated/themes/WizardTab.css.js +1 -1
  121. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  122. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  123. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  124. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  125. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  126. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  127. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  128. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  129. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  130. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  131. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  132. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  133. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  134. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  135. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  136. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  137. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  138. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  139. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  140. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  141. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  142. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  143. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  144. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  145. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  146. package/dist/vscode.html-custom-data.json +1 -1
  147. package/dist/web-types.json +4 -4
  148. package/global.d.ts +1 -2
  149. package/package.json +8 -8
  150. package/src/DynamicPageTitle.hbs +1 -2
@@ -1,9 +1,9 @@
1
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
- import type { Result, Exception } from "@zxing/library/esm5/index.js";
4
+ import type { Result, Exception } from "@zxing/library";
5
5
  import type { Interval } from "@ui5/webcomponents-base/dist/types.js";
6
- declare const BrowserMultiFormatReader: typeof import("@zxing/library/esm5/index.js").BrowserMultiFormatReader;
6
+ declare const BrowserMultiFormatReader: typeof import("@zxing/library").BrowserMultiFormatReader;
7
7
  type BarcodeScannerDialogScanSuccessEventDetail = {
8
8
  text: string;
9
9
  rawBytes: Uint8Array;
@@ -1 +1 @@
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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.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 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 i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { Result, Exception } from \"@zxing/library/esm5/index.js\";\nimport type { Interval } from \"@ui5/webcomponents-base/dist/types.js\";\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport ZXing from \"@ui5/webcomponents-fiori/dist/ssr-zxing.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 windowZXing = typeof window === \"undefined\" ? {} : window.ZXing;\nconst effectiveZXing = { ...ZXing, ...windowZXing };\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 * @since 2.0.0\n * @public\n */\n@event(\"close\", {\n\tbubbles: true,\n})\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\tbubbles: true,\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\tbubbles: true,\n})\n\nclass BarcodeScannerDialog extends UI5Element {\n\t/**\n\t * Defines the header HTML Element.\n\t *\n\t * **Note:** If `header` slot is provided, the labelling of the dialog is a responsibility of the application developer.\n\t * `accessibleName` should be used.\n\t *\n\t * @public\n\t * @since 2.4.0\n\t */\n\t@slot()\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t *\n\t * **Note:** When you provide custom content for the `footer` slot, the default close button is not rendered.\n\t * This means you need to include your own mechanism within the custom `footer` to close the dialog,\n\t * such as a button with an event listener that closes the dialog.\n\t *\n\t * **Note:** If the `footer` slot is not provided, a default footer with a close button is rendered automatically,\n\t * allowing users to close the dialog without any additional implementation.\n\t *\n\t * @public\n\t * @since 2.4.0\n\t */\n\t@slot()\n\tfooter!: Array<HTMLElement>;\n\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 = false;\n\n\t/**\n\t * Indicates whether a loading indicator should be displayed while the scanner is loading.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\t/**\n\t * Indicates whether the scanner is ready to scan.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\tisReadyToScan = false;\n\n\tdialog?: Dialog;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\t_codeReader: InstanceType<typeof BrowserMultiFormatReader>;\n\t_tempCanvas!: HTMLCanvasElement;\n\t_scanInterval!: Interval | null;\n\t_handleVideoPlayingBound: () => void;\n\t_handleCaptureRegionBound: () => void;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._codeReader = new BrowserMultiFormatReader();\n\t\tthis._handleVideoPlayingBound = this._handleVideoPlaying.bind(this);\n\t\tthis._handleCaptureRegionBound = this._handleDrawCaptureRegion.bind(this);\n\t}\n\n\tstatic async onDefine() {\n\t\tBarcodeScannerDialog.i18nBundle = await getI18nBundle(\"@ui5/webcomponents-fiori\");\n\t}\n\n\tasync onAfterRendering() {\n\t\tif (!this._hasGetUserMedia()) {\n\t\t\tthis.fireDecoratorEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: \"getUserMedia() is not supported by your browser\" });\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.open || this.loading) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.isReadyToScan) {\n\t\t\tthis.loading = true;\n\t\t}\n\n\t\tconst video = this._getVideoElement();\n\t\tif (video.srcObject) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst stream = await this._getUserPermission();\n\t\t\tvideo.addEventListener(\"loadeddata\", this._handleVideoPlayingBound);\n\t\t\tvideo.srcObject = stream;\n\t\t} catch (error) {\n\t\t\tthis.fireDecoratorEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: (error as Error).message });\n\t\t\tthis.loading = false;\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tsuper.onEnterDOM();\n\t\twindow.addEventListener(\"resize\", this._handleCaptureRegionBound);\n\t}\n\n\tonExitDOM() {\n\t\tsuper.onExitDOM();\n\t\twindow.removeEventListener(\"resize\", this._handleCaptureRegionBound);\n\t}\n\n\tget _open() {\n\t\treturn this.open && this.isReadyToScan;\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\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_getOverlayCanvasElement() {\n\t\treturn this.shadowRoot!.querySelector<HTMLCanvasElement>(\".ui5-barcode-scanner-dialog-overlay\")!;\n\t}\n\n\t/**\n\t * CALCULATIONS\n\t *\n\t * The following methods are used to calculate the capture region\n\t * and draw it on the overlay canvas.\n\t * The capture region is a square area in the center of the video element\n\t * where the barcode scanning is performed.\n\t * The region is defined as a proportion of the video element's dimensions.\n\t * The overlay canvas is used to draw a semi-transparent black overlay\n\t * over the video element and a red border around the capture region.\n\t * The overlay canvas is updated on every frame to ensure the capture region is always visible.\n\t * The capture region is used to crop the video frame and extract the barcode image.\n\t * The extracted image is then processed by the zxing-js library to decode the barcode.\n\t */\n\n\t_calculateCaptureRegion(clientWidth: number, clientHeight: number) {\n\t\t// Define the maximum scan size as a proportion of the video element\n\t\tconst maxScanProportion = 0.66666667; // 2:3\n\t\t// Calculate maximum square dimension based on video dimensions and max proportion\n\t\tconst maxScanDimension = Math.min(clientWidth, clientHeight) * maxScanProportion;\n\t\t// Calculate offset to center the square scan region\n\t\tconst xOffset = (clientWidth - maxScanDimension) / 2;\n\t\tconst yOffset = (clientHeight - maxScanDimension) / 2;\n\t\t// Calculate the width and height of the scan region\n\t\tconst scanWidth = Math.floor(maxScanDimension);\n\t\tconst scanHeight = Math.floor(maxScanDimension);\n\n\t\treturn {\n\t\t\tscanHeight,\n\t\t\tscanWidth,\n\t\t\txOffset,\n\t\t\tyOffset,\n\t\t};\n\t}\n\n\t_drawCaptureRegion() {\n\t\tconst videoElement = this._getVideoElement();\n\t\tconst canvasElement = this._getOverlayCanvasElement();\n\t\tconst context = canvasElement.getContext(\"2d\")!;\n\n\t\tconst videoClientWidth = videoElement.clientWidth;\n\t\tconst videoClientHeight = videoElement.clientHeight;\n\n\t\t// Set canvas dimensions to match the video element's dimensions\n\t\tcanvasElement.width = videoClientWidth;\n\t\tcanvasElement.height = videoClientHeight;\n\n\t\t// Clear the canvas\n\t\tcontext.clearRect(0, 0, videoClientWidth, videoClientHeight);\n\t\t// Calculate the capture region\n\t\tconst captureRegion = this._calculateCaptureRegion(videoClientWidth, videoClientHeight);\n\n\t\t// Draw a semi-transparent black overlay over the video\n\t\tcontext.fillStyle = \"rgba(0, 0, 0, 0.5)\";\n\t\tcontext.fillRect(0, 0, videoClientWidth, videoClientHeight);\n\t\tcontext.clearRect(captureRegion.xOffset, captureRegion.yOffset, captureRegion.scanWidth, captureRegion.scanHeight);\n\n\t\t// Draw red border around the capture region\n\t\tcontext.strokeStyle = \"red\";\n\t\tcontext.lineWidth = 1;\n\t\tcontext.strokeRect(captureRegion.xOffset, captureRegion.yOffset, captureRegion.scanWidth, captureRegion.scanHeight);\n\n\t\t// Display the overlay\n\t\tcanvasElement.style.display = \"block\";\n\t}\n\n\t_getTempCanvasElement() {\n\t\tif (!this._tempCanvas) {\n\t\t\tthis._tempCanvas = document.createElement(\"canvas\");\n\t\t}\n\t\treturn this._tempCanvas;\n\t}\n\n\t_captureFrame() {\n\t\tconst video = this._getVideoElement();\n\t\tconst tempCanvas = this._getTempCanvasElement();\n\t\tconst context = tempCanvas.getContext(\"2d\")!;\n\n\t\tconst videoWidth = video.videoWidth;\n\t\tconst videoHeight = video.videoHeight;\n\t\tconst clientWidth = video.clientWidth;\n\t\tconst clientHeight = video.clientHeight;\n\n\t\tconst captureRegion = this._calculateCaptureRegion(clientWidth, clientHeight);\n\n\t\t// Calculate the ratio of videoSize to clientSize\n\t\tconst ratioX = videoWidth / clientWidth;\n\t\tconst ratioY = videoHeight / clientHeight;\n\t\tconst scale = Math.min(ratioX, ratioY);\n\n\t\t// Calculate the scaled capture region\n\t\tconst scaledXOffset = captureRegion.xOffset * scale;\n\t\tconst scaledYOffset = captureRegion.yOffset * scale;\n\t\tconst scaledScanWidth = captureRegion.scanWidth * scale;\n\t\tconst scaledScanHeight = captureRegion.scanHeight * scale;\n\n\t\t// Set canvas dimensions to match the capture region dimensions\n\t\ttempCanvas.width = captureRegion.scanWidth;\n\t\ttempCanvas.height = captureRegion.scanHeight;\n\n\t\t// Clear the canvas\n\t\tcontext.clearRect(0, 0, tempCanvas.width, tempCanvas.height);\n\n\t\t// Correct positioning if aspect ratios are different\n\t\tconst positionX = (videoWidth - clientWidth * scale) / 2;\n\t\tconst positionY = (videoHeight - clientHeight * scale) / 2;\n\n\t\t// Calculate final source position considering the video element's offset\n\t\tconst finalXOffset = scaledXOffset + positionX;\n\t\tconst finalYOffset = scaledYOffset + positionY;\n\n\t\t// Draw the portion of the video on the canvas\n\t\tcontext.drawImage(\n\t\t\tvideo,\n\t\t\tfinalXOffset, finalYOffset, scaledScanWidth, scaledScanHeight, // Source rectangle\n\t\t\t0, 0, tempCanvas.width, tempCanvas.height, // Destination rectangle\n\t\t);\n\n\t\treturn tempCanvas;\n\t}\n\n\t/**\n\t * HANDLERS\n\t */\n\n\tasync _processFrame() {\n\t\ttry {\n\t\t\tconst canvas = this._captureFrame();\n\t\t\tconst dataUrl = canvas.toDataURL();\n\t\t\tconst result = await this._codeReader.decodeFromImageUrl(dataUrl);\n\n\t\t\tthis._handleScanSuccess(result);\n\t\t} catch (error) {\n\t\t\tthis._handleScanError(error as Exception);\n\t\t}\n\t}\n\n\t_handleScanSuccess(result: Result) {\n\t\tthis.fireDecoratorEvent<BarcodeScannerDialogScanSuccessEventDetail>(\"scan-success\", {\n\t\t\ttext: result.getText(),\n\t\t\trawBytes: result.getRawBytes(),\n\t\t});\n\t}\n\n\t_handleScanError(error: Exception) {\n\t\tif (error instanceof NotFoundException) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.fireDecoratorEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: error.message });\n\t}\n\n\t_handleVideoPlaying() {\n\t\tconst FRAME_PROCESSING_INTERVAL = 200; // 5 frames per second\n\n\t\tthis.loading = false;\n\t\tthis.isReadyToScan = true;\n\n\t\t// Wait for the next animation frame before drawing the capture region\n\t\trequestAnimationFrame(() => {\n\t\t\tthis._drawCaptureRegion();\n\t\t});\n\n\t\t// Ensure any existing interval is cleared before setting a new one\n\t\tif (this._scanInterval) {\n\t\t\tclearInterval(this._scanInterval);\n\t\t}\n\n\t\tthis._scanInterval = setInterval(() => {\n\t\t\tthis._processFrame();\n\t\t}, FRAME_PROCESSING_INTERVAL);\n\t}\n\n\t_handleDrawCaptureRegion() {\n\t\tthis._drawCaptureRegion();\n\t}\n\n\t_closeDialog() {\n\t\tthis._resetReader();\n\t\tthis.open = false;\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\t_resetReader() {\n\t\tconst video = this._getVideoElement();\n\t\tvideo.pause();\n\n\t\tif (video.srcObject) {\n\t\t\tconst stream = video.srcObject as MediaStream;\n\t\t\tconst tracks = stream.getTracks();\n\t\t\ttracks.forEach(track => track.stop());\n\t\t}\n\n\t\tvideo.srcObject = null;\n\t\tvideo.removeEventListener(\"loadeddata\", this._handleVideoPlayingBound);\n\n\t\tif (this._scanInterval) {\n\t\t\tclearInterval(this._scanInterval);\n\t\t\tthis._scanInterval = null;\n\t\t}\n\n\t\tif (this._codeReader) {\n\t\t\tthis._codeReader.reset();\n\t\t}\n\n\t\tconst overlay = this._getOverlayCanvasElement();\n\t\toverlay.style.display = \"none\";\n\n\t\t// Reset the ready state\n\t\tthis.isReadyToScan = false;\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 slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.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 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 i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { Result, Exception } from \"@zxing/library\";\nimport type { Interval } from \"@ui5/webcomponents-base/dist/types.js\";\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport ZXing from \"@ui5/webcomponents-fiori/dist/ssr-zxing.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 windowZXing = typeof window === \"undefined\" ? {} : window.ZXing;\nconst effectiveZXing = { ...ZXing, ...windowZXing };\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 * @since 2.0.0\n * @public\n */\n@event(\"close\", {\n\tbubbles: true,\n})\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\tbubbles: true,\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\tbubbles: true,\n})\n\nclass BarcodeScannerDialog extends UI5Element {\n\t/**\n\t * Defines the header HTML Element.\n\t *\n\t * **Note:** If `header` slot is provided, the labelling of the dialog is a responsibility of the application developer.\n\t * `accessibleName` should be used.\n\t *\n\t * @public\n\t * @since 2.4.0\n\t */\n\t@slot()\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t *\n\t * **Note:** When you provide custom content for the `footer` slot, the default close button is not rendered.\n\t * This means you need to include your own mechanism within the custom `footer` to close the dialog,\n\t * such as a button with an event listener that closes the dialog.\n\t *\n\t * **Note:** If the `footer` slot is not provided, a default footer with a close button is rendered automatically,\n\t * allowing users to close the dialog without any additional implementation.\n\t *\n\t * @public\n\t * @since 2.4.0\n\t */\n\t@slot()\n\tfooter!: Array<HTMLElement>;\n\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 = false;\n\n\t/**\n\t * Indicates whether a loading indicator should be displayed while the scanner is loading.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tloading = false;\n\n\t/**\n\t * Indicates whether the scanner is ready to scan.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\tisReadyToScan = false;\n\n\tdialog?: Dialog;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\t_codeReader: InstanceType<typeof BrowserMultiFormatReader>;\n\t_tempCanvas!: HTMLCanvasElement;\n\t_scanInterval!: Interval | null;\n\t_handleVideoPlayingBound: () => void;\n\t_handleCaptureRegionBound: () => void;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._codeReader = new BrowserMultiFormatReader();\n\t\tthis._handleVideoPlayingBound = this._handleVideoPlaying.bind(this);\n\t\tthis._handleCaptureRegionBound = this._handleDrawCaptureRegion.bind(this);\n\t}\n\n\tstatic async onDefine() {\n\t\tBarcodeScannerDialog.i18nBundle = await getI18nBundle(\"@ui5/webcomponents-fiori\");\n\t}\n\n\tasync onAfterRendering() {\n\t\tif (!this._hasGetUserMedia()) {\n\t\t\tthis.fireDecoratorEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: \"getUserMedia() is not supported by your browser\" });\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.open || this.loading) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.isReadyToScan) {\n\t\t\tthis.loading = true;\n\t\t}\n\n\t\tconst video = this._getVideoElement();\n\t\tif (video.srcObject) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst stream = await this._getUserPermission();\n\t\t\tvideo.addEventListener(\"loadeddata\", this._handleVideoPlayingBound);\n\t\t\tvideo.srcObject = stream;\n\t\t} catch (error) {\n\t\t\tthis.fireDecoratorEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: (error as Error).message });\n\t\t\tthis.loading = false;\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tsuper.onEnterDOM();\n\t\twindow.addEventListener(\"resize\", this._handleCaptureRegionBound);\n\t}\n\n\tonExitDOM() {\n\t\tsuper.onExitDOM();\n\t\twindow.removeEventListener(\"resize\", this._handleCaptureRegionBound);\n\t}\n\n\tget _open() {\n\t\treturn this.open && this.isReadyToScan;\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\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_getOverlayCanvasElement() {\n\t\treturn this.shadowRoot!.querySelector<HTMLCanvasElement>(\".ui5-barcode-scanner-dialog-overlay\")!;\n\t}\n\n\t/**\n\t * CALCULATIONS\n\t *\n\t * The following methods are used to calculate the capture region\n\t * and draw it on the overlay canvas.\n\t * The capture region is a square area in the center of the video element\n\t * where the barcode scanning is performed.\n\t * The region is defined as a proportion of the video element's dimensions.\n\t * The overlay canvas is used to draw a semi-transparent black overlay\n\t * over the video element and a red border around the capture region.\n\t * The overlay canvas is updated on every frame to ensure the capture region is always visible.\n\t * The capture region is used to crop the video frame and extract the barcode image.\n\t * The extracted image is then processed by the zxing-js library to decode the barcode.\n\t */\n\n\t_calculateCaptureRegion(clientWidth: number, clientHeight: number) {\n\t\t// Define the maximum scan size as a proportion of the video element\n\t\tconst maxScanProportion = 0.66666667; // 2:3\n\t\t// Calculate maximum square dimension based on video dimensions and max proportion\n\t\tconst maxScanDimension = Math.min(clientWidth, clientHeight) * maxScanProportion;\n\t\t// Calculate offset to center the square scan region\n\t\tconst xOffset = (clientWidth - maxScanDimension) / 2;\n\t\tconst yOffset = (clientHeight - maxScanDimension) / 2;\n\t\t// Calculate the width and height of the scan region\n\t\tconst scanWidth = Math.floor(maxScanDimension);\n\t\tconst scanHeight = Math.floor(maxScanDimension);\n\n\t\treturn {\n\t\t\tscanHeight,\n\t\t\tscanWidth,\n\t\t\txOffset,\n\t\t\tyOffset,\n\t\t};\n\t}\n\n\t_drawCaptureRegion() {\n\t\tconst videoElement = this._getVideoElement();\n\t\tconst canvasElement = this._getOverlayCanvasElement();\n\t\tconst context = canvasElement.getContext(\"2d\")!;\n\n\t\tconst videoClientWidth = videoElement.clientWidth;\n\t\tconst videoClientHeight = videoElement.clientHeight;\n\n\t\t// Set canvas dimensions to match the video element's dimensions\n\t\tcanvasElement.width = videoClientWidth;\n\t\tcanvasElement.height = videoClientHeight;\n\n\t\t// Clear the canvas\n\t\tcontext.clearRect(0, 0, videoClientWidth, videoClientHeight);\n\t\t// Calculate the capture region\n\t\tconst captureRegion = this._calculateCaptureRegion(videoClientWidth, videoClientHeight);\n\n\t\t// Draw a semi-transparent black overlay over the video\n\t\tcontext.fillStyle = \"rgba(0, 0, 0, 0.5)\";\n\t\tcontext.fillRect(0, 0, videoClientWidth, videoClientHeight);\n\t\tcontext.clearRect(captureRegion.xOffset, captureRegion.yOffset, captureRegion.scanWidth, captureRegion.scanHeight);\n\n\t\t// Draw red border around the capture region\n\t\tcontext.strokeStyle = \"red\";\n\t\tcontext.lineWidth = 1;\n\t\tcontext.strokeRect(captureRegion.xOffset, captureRegion.yOffset, captureRegion.scanWidth, captureRegion.scanHeight);\n\n\t\t// Display the overlay\n\t\tcanvasElement.style.display = \"block\";\n\t}\n\n\t_getTempCanvasElement() {\n\t\tif (!this._tempCanvas) {\n\t\t\tthis._tempCanvas = document.createElement(\"canvas\");\n\t\t}\n\t\treturn this._tempCanvas;\n\t}\n\n\t_captureFrame() {\n\t\tconst video = this._getVideoElement();\n\t\tconst tempCanvas = this._getTempCanvasElement();\n\t\tconst context = tempCanvas.getContext(\"2d\")!;\n\n\t\tconst videoWidth = video.videoWidth;\n\t\tconst videoHeight = video.videoHeight;\n\t\tconst clientWidth = video.clientWidth;\n\t\tconst clientHeight = video.clientHeight;\n\n\t\tconst captureRegion = this._calculateCaptureRegion(clientWidth, clientHeight);\n\n\t\t// Calculate the ratio of videoSize to clientSize\n\t\tconst ratioX = videoWidth / clientWidth;\n\t\tconst ratioY = videoHeight / clientHeight;\n\t\tconst scale = Math.min(ratioX, ratioY);\n\n\t\t// Calculate the scaled capture region\n\t\tconst scaledXOffset = captureRegion.xOffset * scale;\n\t\tconst scaledYOffset = captureRegion.yOffset * scale;\n\t\tconst scaledScanWidth = captureRegion.scanWidth * scale;\n\t\tconst scaledScanHeight = captureRegion.scanHeight * scale;\n\n\t\t// Set canvas dimensions to match the capture region dimensions\n\t\ttempCanvas.width = captureRegion.scanWidth;\n\t\ttempCanvas.height = captureRegion.scanHeight;\n\n\t\t// Clear the canvas\n\t\tcontext.clearRect(0, 0, tempCanvas.width, tempCanvas.height);\n\n\t\t// Correct positioning if aspect ratios are different\n\t\tconst positionX = (videoWidth - clientWidth * scale) / 2;\n\t\tconst positionY = (videoHeight - clientHeight * scale) / 2;\n\n\t\t// Calculate final source position considering the video element's offset\n\t\tconst finalXOffset = scaledXOffset + positionX;\n\t\tconst finalYOffset = scaledYOffset + positionY;\n\n\t\t// Draw the portion of the video on the canvas\n\t\tcontext.drawImage(\n\t\t\tvideo,\n\t\t\tfinalXOffset, finalYOffset, scaledScanWidth, scaledScanHeight, // Source rectangle\n\t\t\t0, 0, tempCanvas.width, tempCanvas.height, // Destination rectangle\n\t\t);\n\n\t\treturn tempCanvas;\n\t}\n\n\t/**\n\t * HANDLERS\n\t */\n\n\tasync _processFrame() {\n\t\ttry {\n\t\t\tconst canvas = this._captureFrame();\n\t\t\tconst dataUrl = canvas.toDataURL();\n\t\t\tconst result = await this._codeReader.decodeFromImageUrl(dataUrl);\n\n\t\t\tthis._handleScanSuccess(result);\n\t\t} catch (error) {\n\t\t\tthis._handleScanError(error as Exception);\n\t\t}\n\t}\n\n\t_handleScanSuccess(result: Result) {\n\t\tthis.fireDecoratorEvent<BarcodeScannerDialogScanSuccessEventDetail>(\"scan-success\", {\n\t\t\ttext: result.getText(),\n\t\t\trawBytes: result.getRawBytes(),\n\t\t});\n\t}\n\n\t_handleScanError(error: Exception) {\n\t\tif (error instanceof NotFoundException) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.fireDecoratorEvent<BarcodeScannerDialogScanErrorEventDetail>(\"scan-error\", { message: error.message });\n\t}\n\n\t_handleVideoPlaying() {\n\t\tconst FRAME_PROCESSING_INTERVAL = 200; // 5 frames per second\n\n\t\tthis.loading = false;\n\t\tthis.isReadyToScan = true;\n\n\t\t// Wait for the next animation frame before drawing the capture region\n\t\trequestAnimationFrame(() => {\n\t\t\tthis._drawCaptureRegion();\n\t\t});\n\n\t\t// Ensure any existing interval is cleared before setting a new one\n\t\tif (this._scanInterval) {\n\t\t\tclearInterval(this._scanInterval);\n\t\t}\n\n\t\tthis._scanInterval = setInterval(() => {\n\t\t\tthis._processFrame();\n\t\t}, FRAME_PROCESSING_INTERVAL);\n\t}\n\n\t_handleDrawCaptureRegion() {\n\t\tthis._drawCaptureRegion();\n\t}\n\n\t_closeDialog() {\n\t\tthis._resetReader();\n\t\tthis.open = false;\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\t_resetReader() {\n\t\tconst video = this._getVideoElement();\n\t\tvideo.pause();\n\n\t\tif (video.srcObject) {\n\t\t\tconst stream = video.srcObject as MediaStream;\n\t\t\tconst tracks = stream.getTracks();\n\t\t\ttracks.forEach(track => track.stop());\n\t\t}\n\n\t\tvideo.srcObject = null;\n\t\tvideo.removeEventListener(\"loadeddata\", this._handleVideoPlayingBound);\n\n\t\tif (this._scanInterval) {\n\t\t\tclearInterval(this._scanInterval);\n\t\t\tthis._scanInterval = null;\n\t\t}\n\n\t\tif (this._codeReader) {\n\t\t\tthis._codeReader.reset();\n\t\t}\n\n\t\tconst overlay = this._getOverlayCanvasElement();\n\t\toverlay.style.display = \"none\";\n\n\t\t// Reset the ready state\n\t\tthis.isReadyToScan = false;\n\t}\n}\n\nBarcodeScannerDialog.define();\n\nexport default BarcodeScannerDialog;\nexport type {\n\tBarcodeScannerDialogScanErrorEventDetail,\n\tBarcodeScannerDialogScanSuccessEventDetail,\n};\n"]}
@@ -12,7 +12,7 @@ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
12
12
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
13
13
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
14
14
  import { getIllustrationDataSync, getIllustrationData } from "@ui5/webcomponents-base/dist/asset-registries/Illustrations.js";
15
- import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
15
+ import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
16
16
  import Title from "@ui5/webcomponents/dist/Title.js";
17
17
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
18
18
  import IllustrationMessageDesign from "./types/IllustrationMessageDesign.js";
@@ -1 +1 @@
1
- {"version":3,"file":"IllustratedMessage.js","sourceRoot":"","sources":["../src/IllustratedMessage.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getIllustrationDataSync, getIllustrationData } from \"@ui5/webcomponents-base/dist/asset-registries/Illustrations.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Title from \"@ui5/webcomponents/dist/Title.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type { IButton } from \"@ui5/webcomponents/dist/Button.js\";\nimport IllustrationMessageDesign from \"./types/IllustrationMessageDesign.js\";\nimport IllustrationMessageType from \"./types/IllustrationMessageType.js\";\nimport \"./illustrations/BeforeSearch.js\";\n\n// Styles\nimport IllustratedMessageCss from \"./generated/themes/IllustratedMessage.css.js\";\n\n// Template\nimport IllustratedMessageTemplate from \"./generated/templates/IllustratedMessageTemplate.lit.js\";\n\nconst getEffectiveIllustrationName = (name: string): string => {\n\tif (name.startsWith(\"Tnt\")) {\n\t\treturn name.replace(\"Tnt\", \"tnt/\");\n\t}\n\n\tif (name.includes(\"/\")) {\n\t\treturn name;\n\t}\n\n\treturn `fiori/${name}`;\n};\n\n/**\n * @class\n *\n * ### Overview\n * An IllustratedMessage is a recommended combination of a solution-oriented message, an engaging\n * illustration, and conversational tone to better communicate an empty or a success state than just show\n * a message alone.\n *\n * Each illustration has default internationalised title and subtitle texts. Also they can be managed with\n * `titleText` and `subtitleText` properties.\n *\n * To display the desired illustration, use the `name` property, where you can find the list of all available illustrations.\n *\n * **Note:** By default the “BeforeSearch” illustration is loaded. To use other illustrations, make sure you import them in addition, for example:\n *\n * `import \"@ui5/webcomponents-fiori/dist/illustrations/NoData.js\"`\n *\n * **Note:** Illustrations starting with the “Tnt” prefix are part of another illustration set. For example to use the “TntSuccess” illustration, add the following import::\n *\n * `import \"@ui5/webcomponents-fiori/dist/illustrations/tnt/Success.js\"`\n *\n * ### Structure\n * The IllustratedMessage consists of the following elements, which are displayed below each other in the following order:\n *\n * - Illustration\n * - Title\n * - Subtitle\n * - Actions\n *\n * ### Usage\n * `ui5-illustrated-message` is meant to be used inside container component, for example a `ui5-card`,\n * a `ui5-dialog` or a `ui5-page`\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/IllustratedMessage.js\";`\n * @csspart subtitle - Used to style the subtitle wrapper of the `ui5-illustrated-message`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.15\n */\n\n@customElement({\n\ttag: \"ui5-illustrated-message\",\n\tlanguageAware: true,\n\tthemeAware: true,\n\trenderer: litRender,\n\tstyles: IllustratedMessageCss,\n\ttemplate: IllustratedMessageTemplate,\n\tdependencies: [Title],\n})\nclass IllustratedMessage extends UI5Element {\n\t/**\n\t* Defines the illustration name that will be displayed in the component.\n\t*\n\t* Example:\n\t*\n\t* `name='BeforeSearch'`, `name='UnableToUpload'`, etc..\n\t*\n\t* **Note:** To use the TNT illustrations,\n\t* you need to set the `tnt` or `Tnt` prefix in front of the icon's name.\n\t*\n\t* Example:\n\t*\n\t* `name='tnt/Avatar'` or `name='TntAvatar'`.\n\t*\n\t* **Note:** By default the `BeforeSearch` illustration is loaded.\n\t* When using an illustration type, other than the default, it should be loaded in addition:\n\t*\n\t* `import \"@ui5/webcomponents-fiori/dist/illustrations/NoData.js\";`\n\t*\n\t* For TNT illustrations:\n\t*\n\t* `import \"@ui5/webcomponents-fiori/dist/illustrations/tnt/SessionExpired.js\";`\n\t* @default \"BeforeSearch\"\n\t* @public\n\t*/\n\t@property()\n\tname = \"BeforeSearch\";\n\n\t/**\n\t* Determines which illustration breakpoint variant is used.\n\t*\n\t* As `IllustratedMessage` adapts itself around the `Illustration`, the other\n\t* elements of the component are displayed differently on the different breakpoints/illustration designs.\n\t* @default \"Auto\"\n\t* @public\n\t* @since 2.0.0\n\t*/\n\t@property()\n\tdesign: `${IllustrationMessageDesign}` = \"Auto\";\n\n\t/**\n\t* Defines the subtitle of the component.\n\t*\n\t* **Note:** Using this property, the default subtitle text of illustration will be overwritten.\n\t*\n\t* **Note:** Using `subtitle` slot, the default of this property will be overwritten.\n\t* @default undefined\n\t* @public\n\t*/\n\t@property()\n\tsubtitleText?: string;\n\n\t/**\n\t* Defines the title of the component.\n\t*\n\t* **Note:** Using this property, the default title text of illustration will be overwritten.\n\t* @default undefined\n\t* @public\n\t*/\n\t@property()\n\ttitleText?: string;\n\n\t/**\n\t* Receives id(or many ids) of the elements that label the component.\n\t* @default undefined\n\t* @public\n\t* @since 1.7.0\n\t*/\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t* Illustration breakpoint variant for the <code>Dot</code> design.\n\t*\n\t* @private\n\t* @since 1.24.0\n\t*/\n\t@property({ noAttribute: true })\n\tdotSvg?: string;\n\n\t/**\n\t* Illustration breakpoint variant for the <code>Spot</code> design.\n\t*\n\t* @private\n\t* @since 1.9.0\n\t*/\n\t@property({ noAttribute: true })\n\tspotSvg?: string;\n\n\t/**\n\t* Illustration breakpoint variant for the `Scene` design.\n\t* @private\n\t* @since 1.9.0\n\t*/\n\t@property({ noAttribute: true })\n\tsceneSvg?: string;\n\n\t/**\n\t* Illustration breakpoint variant for the `Dialog` design.\n\t* @private\n\t* @since 1.9.0\n\t*/\n\t@property({ noAttribute: true })\n\tdialogSvg?: string;\n\n\t/**\n\t* Determinates what is the current media of the component based on its width.\n\t* @private\n\t*/\n\t@property()\n\tmedia?: string;\n\n\t/**\n\t* Defines the title of the component.\n\t*\n\t* **Note:** Using this slot, the default title text of illustration and the value of `title` property will be overwritten.\n\t* @public\n\t* @since 1.7.0\n\t*/\n\t@slot({ type: HTMLElement })\n\ttitle!: Array<HTMLElement> & string; // Note: since title collides with HTMLElement's title attribute and it's a String, we're adding the \"& string\" to the type Array<HTMLElement> to avoid ts complains. In the future we will rename/deprecate this slot name, so that it doesn't collide with HTMLElement's title attribute.\n\n\t/**\n\t* Defines the subtitle of the component.\n\t*\n\t* **Note:** Using this slot, the default subtitle text of illustration and the value of `subtitleText` property will be overwritten.\n\t* @public\n\t* @since 1.0.0-rc.16\n\t*/\n\t@slot({ type: HTMLElement })\n\tsubtitle!: Array<HTMLElement>;\n\n\t/**\n\t* Defines the component actions.\n\t* @public\n\t*/\n\t@slot({ type: HTMLElement, \"default\": true })\n\tactions!: Array<IButton>;\n\n\tillustrationTitle?: string;\n\tillustrationSubtitle?: string;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\t_lastKnownOffsetWidthForMedia: Record<string, number>;\n\t_lastKnownOffsetHeightForMedia: Record<string, number>;\n\t_lastKnownMedia: string;\n\t_handleResize: ResizeObserverCallback;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._handleResize = this.handleResize.bind(this);\n\t\t// this will store the last known offsetWidth of the IllustratedMessage DOM node for a given media (e.g. \"Spot\")\n\t\tthis._lastKnownOffsetWidthForMedia = {};\n\t\tthis._lastKnownOffsetHeightForMedia = {};\n\t\t// this will store the last known media, in order to detect if IllustratedMessage has been hidden by expand/collapse container\n\t\tthis._lastKnownMedia = \"base\";\n\t}\n\n\tstatic get BREAKPOINTS() {\n\t\treturn {\n\t\t\tDIALOG: 681,\n\t\t\tSPOT: 360,\n\t\t\tDOT: 260,\n\t\t\tBASE: 160,\n\t\t};\n\t}\n\n\tstatic get BREAKPOINTS_HEIGHT() {\n\t\treturn {\n\t\t\tDIALOG: 415,\n\t\t\tSPOT: 284,\n\t\t\tDOT: 207,\n\t\t\tBASE: 61,\n\t\t};\n\t}\n\n\tstatic get MEDIA() {\n\t\treturn {\n\t\t\tBASE: \"base\",\n\t\t\tDOT: \"dot\",\n\t\t\tSPOT: \"spot\",\n\t\t\tDIALOG: \"dialog\",\n\t\t\tSCENE: \"scene\",\n\t\t};\n\t}\n\n\tasync onBeforeRendering() {\n\t\t// Gets the current illustration name given in the \"name\" attribute\n\t\tlet effectiveName = getEffectiveIllustrationName(this.name);\n\t\tlet illustrationData = getIllustrationDataSync(effectiveName);\n\n\t\tif (this.hasAttribute(\"name\") && !this.isValidIllustration(effectiveName)) {\n\t\t\teffectiveName = getEffectiveIllustrationName(IllustrationMessageType.BeforeSearch);\n\t\t\t// eslint-disable-next-line\n\t\t\tconsole.warn(`The illustration \"${effectiveName!}\" does not exist. The default illustration \"${IllustrationMessageType.BeforeSearch}\" is loaded instead.`);\n\t\t}\n\n\t\tif (illustrationData === undefined) {\n\t\t\tillustrationData = await getIllustrationData(effectiveName);\n\t\t}\n\n\t\tthis.dotSvg = illustrationData!.dotSvg;\n\t\tthis.spotSvg = illustrationData!.spotSvg;\n\t\tthis.dialogSvg = illustrationData!.dialogSvg;\n\t\tthis.sceneSvg = illustrationData!.sceneSvg;\n\n\t\tthis.illustrationTitle = IllustratedMessage.i18nBundle.getText(illustrationData!.title);\n\t\tthis.illustrationSubtitle = IllustratedMessage.i18nBundle.getText(illustrationData!.subtitle);\n\n\t\tif (this.design !== IllustrationMessageDesign.Auto) {\n\t\t\tthis._handleCustomSize();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResize);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResize);\n\t}\n\n\thandleResize() {\n\t\tif (this.design !== IllustrationMessageDesign.Auto) {\n\t\t\tthis._adjustHeightToFitContainer();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._applyMedia();\n\t\twindow.requestAnimationFrame(this._adjustHeightToFitContainer.bind(this));\n\t}\n\n\t_applyMedia(heightChange?: boolean) {\n\t\tconst currOffsetWidth = this.offsetWidth,\n\t\t\tcurrOffsetHeight = this.offsetHeight;\n\n\t\tconst design = heightChange ? currOffsetHeight : currOffsetWidth,\n\t\t\toBreakpounts = heightChange ? IllustratedMessage.BREAKPOINTS_HEIGHT : IllustratedMessage.BREAKPOINTS;\n\t\tlet newMedia = \"\";\n\n\t\tif (design <= oBreakpounts.BASE) {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.BASE;\n\t\t} else if (design <= oBreakpounts.DOT) {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.DOT;\n\t\t} else if (design <= oBreakpounts.SPOT) {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.SPOT;\n\t\t} else if (design <= oBreakpounts.DIALOG) {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.DIALOG;\n\t\t} else {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.SCENE;\n\t\t}\n\t\tconst lastKnownOffsetWidth = this._lastKnownOffsetWidthForMedia[newMedia],\n\t\t\tlastKnownOffsetHeight = this._lastKnownOffsetHeightForMedia[newMedia];\n\t\t // prevents infinite resizing, when same width is detected for the same media,\n\t\t // excluding the case in which, the control is placed inside expand/collapse container\n\t\tif (!(lastKnownOffsetWidth && currOffsetWidth === lastKnownOffsetWidth\n\t\t\t&& lastKnownOffsetHeight && currOffsetHeight === lastKnownOffsetHeight)\n\t\t\t|| this._lastKnownOffsetWidthForMedia[this._lastKnownMedia] === 0\n\t\t\t|| this._lastKnownOffsetHeightForMedia[this._lastKnownMedia] === 0) {\n\t\t\tthis.media = newMedia;\n\t\t\tthis._lastKnownOffsetWidthForMedia[newMedia] = currOffsetWidth;\n\t\t\tthis._lastKnownOffsetHeightForMedia[newMedia] = currOffsetHeight;\n\t\t\tthis._lastKnownMedia = newMedia;\n\t\t}\n\t}\n\n\t_setSVGAccAttrs() {\n\t\tconst svg = this.shadowRoot!.querySelector(\".ui5-illustrated-message-illustration svg\");\n\t\tif (svg) {\n\t\t\tif (this.ariaLabelText) {\n\t\t\t\tsvg.setAttribute(\"aria-label\", this.ariaLabelText);\n\t\t\t} else {\n\t\t\t\tsvg.removeAttribute(\"aria-label\");\n\t\t\t}\n\t\t}\n\t}\n\n\t_adjustHeightToFitContainer() {\n\t\tconst illustrationWrapper = <HTMLElement> this.shadowRoot!.querySelector(\".ui5-illustrated-message-illustration\"),\n\t\t\tillustration = illustrationWrapper.querySelector(\"svg\");\n\n\t\tif (illustration) {\n\t\t\tillustrationWrapper.classList.toggle(\"ui5-illustrated-message-illustration-fit-content\", false);\n\t\t\tif (this.getDomRef()!.scrollHeight > this.getDomRef()!.offsetHeight) {\n\t\t\t\tillustrationWrapper.classList.toggle(\"ui5-illustrated-message-illustration-fit-content\", true);\n\t\t\t\tthis._applyMedia(true /* height change */);\n\t\t\t}\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tthis._setSVGAccAttrs();\n\t}\n\n\t/**\n\t * Modifies the IM styles in accordance to the `size` property's value.\n\t * Note: The resize handler has no effect when size is different than \"Auto\".\n\t * @private\n\t * @since 1.5.0\n\t */\n\t_handleCustomSize() {\n\t\tswitch (this.design) {\n\t\tcase IllustrationMessageDesign.Base:\n\t\t\tthis.media = IllustratedMessage.MEDIA.BASE;\n\t\t\treturn;\n\t\tcase IllustrationMessageDesign.Dot:\n\t\t\tthis.media = IllustratedMessage.MEDIA.DOT;\n\t\t\treturn;\n\t\tcase IllustrationMessageDesign.Spot:\n\t\t\tthis.media = IllustratedMessage.MEDIA.SPOT;\n\t\t\treturn;\n\t\tcase IllustrationMessageDesign.Dialog:\n\t\t\tthis.media = IllustratedMessage.MEDIA.DIALOG;\n\t\t\treturn;\n\t\tdefault:\n\t\t\tthis.media = IllustratedMessage.MEDIA.SCENE;\n\t\t}\n\t}\n\n\tget ariaLabelText(): string | undefined {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget effectiveIllustration(): string | undefined {\n\t\tswitch (this.media) {\n\t\tcase IllustratedMessage.MEDIA.DOT:\n\t\t\treturn this.dotSvg;\n\t\tcase IllustratedMessage.MEDIA.SPOT:\n\t\t\treturn this.spotSvg;\n\t\tcase IllustratedMessage.MEDIA.DIALOG:\n\t\t\treturn this.dialogSvg;\n\t\tcase IllustratedMessage.MEDIA.SCENE:\n\t\t\treturn this.sceneSvg;\n\t\tdefault:\n\t\t\treturn \"\";\n\t\t}\n\t}\n\n\tget hasFormattedSubtitle(): boolean {\n\t\treturn !!this.subtitle.length;\n\t}\n\n\tget hasFormattedTitle(): boolean {\n\t\treturn !!this.title.length;\n\t}\n\n\tget effectiveTitleText(): string | undefined {\n\t\treturn this.titleText ? this.titleText : this.illustrationTitle;\n\t}\n\n\tget effectiveSubitleText(): string | undefined {\n\t\treturn this.subtitleText ? this.subtitleText : this.illustrationSubtitle;\n\t}\n\n\tget hasTitle(): boolean {\n\t\treturn !!(this.hasFormattedTitle || this.titleText || this.illustrationTitle);\n\t}\n\n\tget hasSubtitle(): boolean {\n\t\treturn !!(this.hasFormattedSubtitle || this.subtitleText || this.illustrationSubtitle);\n\t}\n\n\tget hasActions(): boolean {\n\t\treturn !!this.actions.length && this.media !== IllustratedMessage.MEDIA.BASE;\n\t}\n\n\tisValidIllustration(currentIllustration: string): boolean {\n\t\tcurrentIllustration = currentIllustration.startsWith(\"tnt/\") ? currentIllustration.replace(\"tnt/\", \"Tnt\") : currentIllustration.replace(\"fiori/\", \"\");\n\n\t\treturn currentIllustration in IllustrationMessageType;\n\t}\n}\n\nIllustratedMessage.define();\n\nexport default IllustratedMessage;\n"]}
1
+ {"version":3,"file":"IllustratedMessage.js","sourceRoot":"","sources":["../src/IllustratedMessage.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getIllustrationDataSync, getIllustrationData } from \"@ui5/webcomponents-base/dist/asset-registries/Illustrations.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport Title from \"@ui5/webcomponents/dist/Title.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport type { IButton } from \"@ui5/webcomponents/dist/Button.js\";\nimport IllustrationMessageDesign from \"./types/IllustrationMessageDesign.js\";\nimport IllustrationMessageType from \"./types/IllustrationMessageType.js\";\nimport \"./illustrations/BeforeSearch.js\";\n\n// Styles\nimport IllustratedMessageCss from \"./generated/themes/IllustratedMessage.css.js\";\n\n// Template\nimport IllustratedMessageTemplate from \"./generated/templates/IllustratedMessageTemplate.lit.js\";\n\nconst getEffectiveIllustrationName = (name: string): string => {\n\tif (name.startsWith(\"Tnt\")) {\n\t\treturn name.replace(\"Tnt\", \"tnt/\");\n\t}\n\n\tif (name.includes(\"/\")) {\n\t\treturn name;\n\t}\n\n\treturn `fiori/${name}`;\n};\n\n/**\n * @class\n *\n * ### Overview\n * An IllustratedMessage is a recommended combination of a solution-oriented message, an engaging\n * illustration, and conversational tone to better communicate an empty or a success state than just show\n * a message alone.\n *\n * Each illustration has default internationalised title and subtitle texts. Also they can be managed with\n * `titleText` and `subtitleText` properties.\n *\n * To display the desired illustration, use the `name` property, where you can find the list of all available illustrations.\n *\n * **Note:** By default the “BeforeSearch” illustration is loaded. To use other illustrations, make sure you import them in addition, for example:\n *\n * `import \"@ui5/webcomponents-fiori/dist/illustrations/NoData.js\"`\n *\n * **Note:** Illustrations starting with the “Tnt” prefix are part of another illustration set. For example to use the “TntSuccess” illustration, add the following import::\n *\n * `import \"@ui5/webcomponents-fiori/dist/illustrations/tnt/Success.js\"`\n *\n * ### Structure\n * The IllustratedMessage consists of the following elements, which are displayed below each other in the following order:\n *\n * - Illustration\n * - Title\n * - Subtitle\n * - Actions\n *\n * ### Usage\n * `ui5-illustrated-message` is meant to be used inside container component, for example a `ui5-card`,\n * a `ui5-dialog` or a `ui5-page`\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/IllustratedMessage.js\";`\n * @csspart subtitle - Used to style the subtitle wrapper of the `ui5-illustrated-message`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 1.0.0-rc.15\n */\n\n@customElement({\n\ttag: \"ui5-illustrated-message\",\n\tlanguageAware: true,\n\tthemeAware: true,\n\trenderer: litRender,\n\tstyles: IllustratedMessageCss,\n\ttemplate: IllustratedMessageTemplate,\n\tdependencies: [Title],\n})\nclass IllustratedMessage extends UI5Element {\n\t/**\n\t* Defines the illustration name that will be displayed in the component.\n\t*\n\t* Example:\n\t*\n\t* `name='BeforeSearch'`, `name='UnableToUpload'`, etc..\n\t*\n\t* **Note:** To use the TNT illustrations,\n\t* you need to set the `tnt` or `Tnt` prefix in front of the icon's name.\n\t*\n\t* Example:\n\t*\n\t* `name='tnt/Avatar'` or `name='TntAvatar'`.\n\t*\n\t* **Note:** By default the `BeforeSearch` illustration is loaded.\n\t* When using an illustration type, other than the default, it should be loaded in addition:\n\t*\n\t* `import \"@ui5/webcomponents-fiori/dist/illustrations/NoData.js\";`\n\t*\n\t* For TNT illustrations:\n\t*\n\t* `import \"@ui5/webcomponents-fiori/dist/illustrations/tnt/SessionExpired.js\";`\n\t* @default \"BeforeSearch\"\n\t* @public\n\t*/\n\t@property()\n\tname = \"BeforeSearch\";\n\n\t/**\n\t* Determines which illustration breakpoint variant is used.\n\t*\n\t* As `IllustratedMessage` adapts itself around the `Illustration`, the other\n\t* elements of the component are displayed differently on the different breakpoints/illustration designs.\n\t* @default \"Auto\"\n\t* @public\n\t* @since 2.0.0\n\t*/\n\t@property()\n\tdesign: `${IllustrationMessageDesign}` = \"Auto\";\n\n\t/**\n\t* Defines the subtitle of the component.\n\t*\n\t* **Note:** Using this property, the default subtitle text of illustration will be overwritten.\n\t*\n\t* **Note:** Using `subtitle` slot, the default of this property will be overwritten.\n\t* @default undefined\n\t* @public\n\t*/\n\t@property()\n\tsubtitleText?: string;\n\n\t/**\n\t* Defines the title of the component.\n\t*\n\t* **Note:** Using this property, the default title text of illustration will be overwritten.\n\t* @default undefined\n\t* @public\n\t*/\n\t@property()\n\ttitleText?: string;\n\n\t/**\n\t* Receives id(or many ids) of the elements that label the component.\n\t* @default undefined\n\t* @public\n\t* @since 1.7.0\n\t*/\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t* Illustration breakpoint variant for the <code>Dot</code> design.\n\t*\n\t* @private\n\t* @since 1.24.0\n\t*/\n\t@property({ noAttribute: true })\n\tdotSvg?: string;\n\n\t/**\n\t* Illustration breakpoint variant for the <code>Spot</code> design.\n\t*\n\t* @private\n\t* @since 1.9.0\n\t*/\n\t@property({ noAttribute: true })\n\tspotSvg?: string;\n\n\t/**\n\t* Illustration breakpoint variant for the `Scene` design.\n\t* @private\n\t* @since 1.9.0\n\t*/\n\t@property({ noAttribute: true })\n\tsceneSvg?: string;\n\n\t/**\n\t* Illustration breakpoint variant for the `Dialog` design.\n\t* @private\n\t* @since 1.9.0\n\t*/\n\t@property({ noAttribute: true })\n\tdialogSvg?: string;\n\n\t/**\n\t* Determinates what is the current media of the component based on its width.\n\t* @private\n\t*/\n\t@property()\n\tmedia?: string;\n\n\t/**\n\t* Defines the title of the component.\n\t*\n\t* **Note:** Using this slot, the default title text of illustration and the value of `title` property will be overwritten.\n\t* @public\n\t* @since 1.7.0\n\t*/\n\t@slot({ type: HTMLElement })\n\ttitle!: Array<HTMLElement> & string; // Note: since title collides with HTMLElement's title attribute and it's a String, we're adding the \"& string\" to the type Array<HTMLElement> to avoid ts complains. In the future we will rename/deprecate this slot name, so that it doesn't collide with HTMLElement's title attribute.\n\n\t/**\n\t* Defines the subtitle of the component.\n\t*\n\t* **Note:** Using this slot, the default subtitle text of illustration and the value of `subtitleText` property will be overwritten.\n\t* @public\n\t* @since 1.0.0-rc.16\n\t*/\n\t@slot({ type: HTMLElement })\n\tsubtitle!: Array<HTMLElement>;\n\n\t/**\n\t* Defines the component actions.\n\t* @public\n\t*/\n\t@slot({ type: HTMLElement, \"default\": true })\n\tactions!: Array<IButton>;\n\n\tillustrationTitle?: string;\n\tillustrationSubtitle?: string;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\t_lastKnownOffsetWidthForMedia: Record<string, number>;\n\t_lastKnownOffsetHeightForMedia: Record<string, number>;\n\t_lastKnownMedia: string;\n\t_handleResize: ResizeObserverCallback;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._handleResize = this.handleResize.bind(this);\n\t\t// this will store the last known offsetWidth of the IllustratedMessage DOM node for a given media (e.g. \"Spot\")\n\t\tthis._lastKnownOffsetWidthForMedia = {};\n\t\tthis._lastKnownOffsetHeightForMedia = {};\n\t\t// this will store the last known media, in order to detect if IllustratedMessage has been hidden by expand/collapse container\n\t\tthis._lastKnownMedia = \"base\";\n\t}\n\n\tstatic get BREAKPOINTS() {\n\t\treturn {\n\t\t\tDIALOG: 681,\n\t\t\tSPOT: 360,\n\t\t\tDOT: 260,\n\t\t\tBASE: 160,\n\t\t};\n\t}\n\n\tstatic get BREAKPOINTS_HEIGHT() {\n\t\treturn {\n\t\t\tDIALOG: 415,\n\t\t\tSPOT: 284,\n\t\t\tDOT: 207,\n\t\t\tBASE: 61,\n\t\t};\n\t}\n\n\tstatic get MEDIA() {\n\t\treturn {\n\t\t\tBASE: \"base\",\n\t\t\tDOT: \"dot\",\n\t\t\tSPOT: \"spot\",\n\t\t\tDIALOG: \"dialog\",\n\t\t\tSCENE: \"scene\",\n\t\t};\n\t}\n\n\tasync onBeforeRendering() {\n\t\t// Gets the current illustration name given in the \"name\" attribute\n\t\tlet effectiveName = getEffectiveIllustrationName(this.name);\n\t\tlet illustrationData = getIllustrationDataSync(effectiveName);\n\n\t\tif (this.hasAttribute(\"name\") && !this.isValidIllustration(effectiveName)) {\n\t\t\teffectiveName = getEffectiveIllustrationName(IllustrationMessageType.BeforeSearch);\n\t\t\t// eslint-disable-next-line\n\t\t\tconsole.warn(`The illustration \"${effectiveName!}\" does not exist. The default illustration \"${IllustrationMessageType.BeforeSearch}\" is loaded instead.`);\n\t\t}\n\n\t\tif (illustrationData === undefined) {\n\t\t\tillustrationData = await getIllustrationData(effectiveName);\n\t\t}\n\n\t\tthis.dotSvg = illustrationData!.dotSvg;\n\t\tthis.spotSvg = illustrationData!.spotSvg;\n\t\tthis.dialogSvg = illustrationData!.dialogSvg;\n\t\tthis.sceneSvg = illustrationData!.sceneSvg;\n\n\t\tthis.illustrationTitle = IllustratedMessage.i18nBundle.getText(illustrationData!.title);\n\t\tthis.illustrationSubtitle = IllustratedMessage.i18nBundle.getText(illustrationData!.subtitle);\n\n\t\tif (this.design !== IllustrationMessageDesign.Auto) {\n\t\t\tthis._handleCustomSize();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResize);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResize);\n\t}\n\n\thandleResize() {\n\t\tif (this.design !== IllustrationMessageDesign.Auto) {\n\t\t\tthis._adjustHeightToFitContainer();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._applyMedia();\n\t\twindow.requestAnimationFrame(this._adjustHeightToFitContainer.bind(this));\n\t}\n\n\t_applyMedia(heightChange?: boolean) {\n\t\tconst currOffsetWidth = this.offsetWidth,\n\t\t\tcurrOffsetHeight = this.offsetHeight;\n\n\t\tconst design = heightChange ? currOffsetHeight : currOffsetWidth,\n\t\t\toBreakpounts = heightChange ? IllustratedMessage.BREAKPOINTS_HEIGHT : IllustratedMessage.BREAKPOINTS;\n\t\tlet newMedia = \"\";\n\n\t\tif (design <= oBreakpounts.BASE) {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.BASE;\n\t\t} else if (design <= oBreakpounts.DOT) {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.DOT;\n\t\t} else if (design <= oBreakpounts.SPOT) {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.SPOT;\n\t\t} else if (design <= oBreakpounts.DIALOG) {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.DIALOG;\n\t\t} else {\n\t\t\tnewMedia = IllustratedMessage.MEDIA.SCENE;\n\t\t}\n\t\tconst lastKnownOffsetWidth = this._lastKnownOffsetWidthForMedia[newMedia],\n\t\t\tlastKnownOffsetHeight = this._lastKnownOffsetHeightForMedia[newMedia];\n\t\t // prevents infinite resizing, when same width is detected for the same media,\n\t\t // excluding the case in which, the control is placed inside expand/collapse container\n\t\tif (!(lastKnownOffsetWidth && currOffsetWidth === lastKnownOffsetWidth\n\t\t\t&& lastKnownOffsetHeight && currOffsetHeight === lastKnownOffsetHeight)\n\t\t\t|| this._lastKnownOffsetWidthForMedia[this._lastKnownMedia] === 0\n\t\t\t|| this._lastKnownOffsetHeightForMedia[this._lastKnownMedia] === 0) {\n\t\t\tthis.media = newMedia;\n\t\t\tthis._lastKnownOffsetWidthForMedia[newMedia] = currOffsetWidth;\n\t\t\tthis._lastKnownOffsetHeightForMedia[newMedia] = currOffsetHeight;\n\t\t\tthis._lastKnownMedia = newMedia;\n\t\t}\n\t}\n\n\t_setSVGAccAttrs() {\n\t\tconst svg = this.shadowRoot!.querySelector(\".ui5-illustrated-message-illustration svg\");\n\t\tif (svg) {\n\t\t\tif (this.ariaLabelText) {\n\t\t\t\tsvg.setAttribute(\"aria-label\", this.ariaLabelText);\n\t\t\t} else {\n\t\t\t\tsvg.removeAttribute(\"aria-label\");\n\t\t\t}\n\t\t}\n\t}\n\n\t_adjustHeightToFitContainer() {\n\t\tconst illustrationWrapper = <HTMLElement> this.shadowRoot!.querySelector(\".ui5-illustrated-message-illustration\"),\n\t\t\tillustration = illustrationWrapper.querySelector(\"svg\");\n\n\t\tif (illustration) {\n\t\t\tillustrationWrapper.classList.toggle(\"ui5-illustrated-message-illustration-fit-content\", false);\n\t\t\tif (this.getDomRef()!.scrollHeight > this.getDomRef()!.offsetHeight) {\n\t\t\t\tillustrationWrapper.classList.toggle(\"ui5-illustrated-message-illustration-fit-content\", true);\n\t\t\t\tthis._applyMedia(true /* height change */);\n\t\t\t}\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tthis._setSVGAccAttrs();\n\t}\n\n\t/**\n\t * Modifies the IM styles in accordance to the `size` property's value.\n\t * Note: The resize handler has no effect when size is different than \"Auto\".\n\t * @private\n\t * @since 1.5.0\n\t */\n\t_handleCustomSize() {\n\t\tswitch (this.design) {\n\t\tcase IllustrationMessageDesign.Base:\n\t\t\tthis.media = IllustratedMessage.MEDIA.BASE;\n\t\t\treturn;\n\t\tcase IllustrationMessageDesign.Dot:\n\t\t\tthis.media = IllustratedMessage.MEDIA.DOT;\n\t\t\treturn;\n\t\tcase IllustrationMessageDesign.Spot:\n\t\t\tthis.media = IllustratedMessage.MEDIA.SPOT;\n\t\t\treturn;\n\t\tcase IllustrationMessageDesign.Dialog:\n\t\t\tthis.media = IllustratedMessage.MEDIA.DIALOG;\n\t\t\treturn;\n\t\tdefault:\n\t\t\tthis.media = IllustratedMessage.MEDIA.SCENE;\n\t\t}\n\t}\n\n\tget ariaLabelText(): string | undefined {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget effectiveIllustration(): string | undefined {\n\t\tswitch (this.media) {\n\t\tcase IllustratedMessage.MEDIA.DOT:\n\t\t\treturn this.dotSvg;\n\t\tcase IllustratedMessage.MEDIA.SPOT:\n\t\t\treturn this.spotSvg;\n\t\tcase IllustratedMessage.MEDIA.DIALOG:\n\t\t\treturn this.dialogSvg;\n\t\tcase IllustratedMessage.MEDIA.SCENE:\n\t\t\treturn this.sceneSvg;\n\t\tdefault:\n\t\t\treturn \"\";\n\t\t}\n\t}\n\n\tget hasFormattedSubtitle(): boolean {\n\t\treturn !!this.subtitle.length;\n\t}\n\n\tget hasFormattedTitle(): boolean {\n\t\treturn !!this.title.length;\n\t}\n\n\tget effectiveTitleText(): string | undefined {\n\t\treturn this.titleText ? this.titleText : this.illustrationTitle;\n\t}\n\n\tget effectiveSubitleText(): string | undefined {\n\t\treturn this.subtitleText ? this.subtitleText : this.illustrationSubtitle;\n\t}\n\n\tget hasTitle(): boolean {\n\t\treturn !!(this.hasFormattedTitle || this.titleText || this.illustrationTitle);\n\t}\n\n\tget hasSubtitle(): boolean {\n\t\treturn !!(this.hasFormattedSubtitle || this.subtitleText || this.illustrationSubtitle);\n\t}\n\n\tget hasActions(): boolean {\n\t\treturn !!this.actions.length && this.media !== IllustratedMessage.MEDIA.BASE;\n\t}\n\n\tisValidIllustration(currentIllustration: string): boolean {\n\t\tcurrentIllustration = currentIllustration.startsWith(\"tnt/\") ? currentIllustration.replace(\"tnt/\", \"Tnt\") : currentIllustration.replace(\"fiori/\", \"\");\n\n\t\treturn currentIllustration in IllustrationMessageType;\n\t}\n}\n\nIllustratedMessage.define();\n\nexport default IllustratedMessage;\n"]}
@@ -42,6 +42,10 @@ type NavigationMenuClickEventDetail = MenuItemClickEventDetail & {
42
42
  * The items can consist of text only or an icon with text. The use or non-use of icons must be consistent for all items on one level.
43
43
  * You must not combine entries with and without icons on the same level. We strongly recommend that you do not use icons on the second level.
44
44
  *
45
+ * The `ui5-side-navigation` component is intended for use within an `ui5-navigation-layout` component.
46
+ * While it can function independently, it is recommended to use it with
47
+ * the `ui5-navigation-layout` for optimal user experience.
48
+ *
45
49
  * ### Keyboard Handling
46
50
  *
47
51
  * ### Fast Navigation
@@ -73,22 +77,19 @@ declare class SideNavigation extends UI5Element {
73
77
  */
74
78
  collapsed: boolean;
75
79
  /**
76
- * Defines the main items of the `ui5-side-navigation`. Use the `ui5-side-navigation-item` component
77
- * for the top-level items, and the `ui5-side-navigation-sub-item` component for second-level items, nested
78
- * inside the items.
80
+ * Defines the main items of the component.
79
81
  *
80
82
  * @public
81
83
  */
82
- items: Array<SideNavigationItemBase>;
84
+ items: Array<SideNavigationGroup | SideNavigationItem>;
83
85
  /**
84
- * Defines the fixed items at the bottom of the `ui5-side-navigation`. Use the `ui5-side-navigation-item` component
85
- * for the fixed items, and optionally the `ui5-side-navigation-sub-item` component to provide second-level items inside them.
86
+ * Defines the fixed items at the bottom of the component.
86
87
  *
87
88
  * **Note:** In order to achieve the best user experience, it is recommended that you keep the fixed items "flat" (do not pass sub-items)
88
89
  *
89
90
  * @public
90
91
  */
91
- fixedItems: Array<SideNavigationItemBase>;
92
+ fixedItems: Array<SideNavigationGroup | SideNavigationItem>;
92
93
  /**
93
94
  * Defines the header of the `ui5-side-navigation`.
94
95
  *
@@ -50,6 +50,10 @@ const PAGE_UP_DOWN_SIZE = 10;
50
50
  * The items can consist of text only or an icon with text. The use or non-use of icons must be consistent for all items on one level.
51
51
  * You must not combine entries with and without icons on the same level. We strongly recommend that you do not use icons on the second level.
52
52
  *
53
+ * The `ui5-side-navigation` component is intended for use within an `ui5-navigation-layout` component.
54
+ * While it can function independently, it is recommended to use it with
55
+ * the `ui5-navigation-layout` for optimal user experience.
56
+ *
53
57
  * ### Keyboard Handling
54
58
  *
55
59
  * ### Fast Navigation
@@ -359,7 +363,7 @@ let SideNavigation = SideNavigation_1 = class SideNavigation extends UI5Element
359
363
  return this._getSelectableItems(items).find(item => item._selected);
360
364
  }
361
365
  get overflowItems() {
362
- return this.items.reduce((result, item) => {
366
+ return (this.items).reduce((result, item) => {
363
367
  return result.concat(item.overflowItems);
364
368
  }, new Array());
365
369
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SideNavigation.js","sourceRoot":"","sources":["../src/SideNavigation.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport NavigationMenu from \"@ui5/webcomponents/dist/NavigationMenu.js\";\nimport type { MenuItemClickEventDetail } from \"@ui5/webcomponents/dist/Menu.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport \"@ui5/webcomponents-icons/dist/overflow.js\";\nimport {\n\tisPhone,\n\tisTablet,\n\tisCombi,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n\tisSpace,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport type SideNavigationItemBase from \"./SideNavigationItemBase.js\";\nimport { isInstanceOfSideNavigationItemBase } from \"./SideNavigationItemBase.js\";\nimport type SideNavigationSelectableItemBase from \"./SideNavigationSelectableItemBase.js\";\nimport { isInstanceOfSideNavigationSelectableItemBase } from \"./SideNavigationSelectableItemBase.js\";\nimport SideNavigationItem, { isInstanceOfSideNavigationItem } from \"./SideNavigationItem.js\";\nimport SideNavigationSubItem from \"./SideNavigationSubItem.js\";\nimport SideNavigationGroup from \"./SideNavigationGroup.js\";\nimport SideNavigationTemplate from \"./generated/templates/SideNavigationTemplate.lit.js\";\n\nimport {\n\tSIDE_NAVIGATION_POPOVER_HIDDEN_TEXT,\n\tSIDE_NAVIGATION_COLLAPSED_LIST_ARIA_ROLE_DESC,\n\tSIDE_NAVIGATION_LIST_ARIA_ROLE_DESC,\n\tSIDE_NAVIGATION_OVERFLOW_ACCESSIBLE_NAME,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport SideNavigationCss from \"./generated/themes/SideNavigation.css.js\";\nimport SideNavigationPopoverCss from \"./generated/themes/SideNavigationPopover.css.js\";\n\nconst PAGE_UP_DOWN_SIZE = 10;\n\ntype SideNavigationPopoverContents = {\n\titem: SideNavigationItem,\n\tsubItems: Array<SideNavigationSubItem>,\n};\n\ntype SideNavigationSelectionChangeEventDetail = {\n\titem: SideNavigationItemBase,\n};\n\ntype PopupSideNavigationItem = SideNavigationItem & { associatedItem: SideNavigationSelectableItemBase };\n\n// used for the inner side navigation used in the SideNavigationPopoverTemplate\ntype NavigationMenuClickEventDetail = MenuItemClickEventDetail & {\n\titem: Pick<MenuItemClickEventDetail, \"item\"> & {\n\t\tassociatedItem: SideNavigationSelectableItemBase,\n\t}\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `SideNavigation` is used as a standard menu in applications.\n * It consists of three containers: header (top-aligned), main navigation section (top-aligned) and the secondary section (bottom-aligned).\n *\n * - The header is meant for displaying user related information - profile data, avatar, etc.\n * - The main navigation section is related to the user’s current work context\n * - The secondary section is mostly used to link additional information that may be of interest (legal information, developer communities, external help, contact information and so on).\n *\n * ### Usage\n *\n * Use the available `ui5-side-navigation-group`, `ui5-side-navigation-item`\n * and `ui5-side-navigation-sub-item` components to build your menu.\n * The items can consist of text only or an icon with text. The use or non-use of icons must be consistent for all items on one level.\n * You must not combine entries with and without icons on the same level. We strongly recommend that you do not use icons on the second level.\n *\n * ### Keyboard Handling\n *\n * ### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigation.js\"`\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationGroup.js\";` (for `ui5-side-navigation-group`)\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationItem.js\";` (for `ui5-side-navigation-item`)\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationSubItem.js\";` (for `ui5-side-navigation-sub-item`)\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.8\n * @public\n */\n\n@customElement({\n\ttag: \"ui5-side-navigation\",\n\tfastNavigation: true,\n\trenderer: litRender,\n\ttemplate: SideNavigationTemplate,\n\tstyles: [SideNavigationCss, SideNavigationPopoverCss],\n\tdependencies: [\n\t\tResponsivePopover,\n\t\tSideNavigationGroup,\n\t\tSideNavigationItem,\n\t\tSideNavigationSubItem,\n\t\tNavigationMenu,\n\t],\n})\n/**\n * Fired when the selection has changed via user interaction\n *\n * @param {SideNavigationSelectableItemBase} item the clicked item.\n * @public\n */\n@event<SideNavigationSelectionChangeEventDetail>(\"selection-change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n\tbubbles: true,\n\tcancelable: true,\n})\nclass SideNavigation extends UI5Element {\n\t/**\n\t * Defines whether the `ui5-side-navigation` is expanded or collapsed.\n\t *\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tcollapsed = false;\n\n\t/**\n\t * Defines the main items of the `ui5-side-navigation`. Use the `ui5-side-navigation-item` component\n\t * for the top-level items, and the `ui5-side-navigation-sub-item` component for second-level items, nested\n\t * inside the items.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<SideNavigationItemBase>;\n\n\t/**\n\t * Defines the fixed items at the bottom of the `ui5-side-navigation`. Use the `ui5-side-navigation-item` component\n\t * for the fixed items, and optionally the `ui5-side-navigation-sub-item` component to provide second-level items inside them.\n\t *\n\t * **Note:** In order to achieve the best user experience, it is recommended that you keep the fixed items \"flat\" (do not pass sub-items)\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true })\n\tfixedItems!: Array<SideNavigationItemBase>;\n\n\t/**\n\t * Defines the header of the `ui5-side-navigation`.\n\t *\n\t * **Note:** The header is displayed when the component is expanded - the property `collapsed` is false;\n\t *\n\t * @public\n\t * @since 1.0.0-rc.11\n\t */\n\t@slot()\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_popoverContents!: SideNavigationPopoverContents;\n\n\t@property({ type: Boolean })\n\tinPopover= false;\n\n\t@property({ type: Array })\n\t_menuPopoverItems: Array<HTMLElement> = [];\n\n\t_isOverflow = false;\n\t_flexibleItemNavigation: ItemNavigation;\n\t_fixedItemNavigation: ItemNavigation;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tisTouchDevice = false;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._flexibleItemNavigation = new ItemNavigation(this, {\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items\n\t\t\tnavigationMode: NavigationMode.Vertical,\n\t\t\tgetItemsCallback: () => this.getEnabledFlexibleItems(),\n\t\t});\n\n\t\tthis._fixedItemNavigation = new ItemNavigation(this, {\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items\n\t\t\tnavigationMode: NavigationMode.Vertical,\n\t\t\tgetItemsCallback: () => this.getEnabledFixedItems(),\n\t\t});\n\n\t\tthis._handleResizeBound = this.handleResize.bind(this);\n\t\tthis._isOverflow = false;\n\t}\n\n\t_handleResizeBound: () => void;\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis._getAllItems(this.items as Array<SideNavigationItem | SideNavigationGroup>).concat(this._getAllItems(this.fixedItems as Array<SideNavigationItem | SideNavigationGroup>)).forEach(item => {\n\t\t\titem.sideNavCollapsed = this.collapsed;\n\t\t\titem.inPopover = this.inPopover;\n\t\t\titem.sideNavigation = this;\n\t\t});\n\t}\n\n\t_onAfterPopoverOpen() {\n\t\t// as the tree/list inside the popover is never destroyed,\n\t\t// item navigation index should be managed, because items are\n\t\t// dynamically recreated and tabIndexes are not updated\n\t\tconst tree = this.getPickerTree();\n\t\tconst selectedItem = tree._findSelectedItem(tree.items as Array<SideNavigationItem | SideNavigationGroup>);\n\t\tif (selectedItem) {\n\t\t\tselectedItem.focus();\n\t\t} else {\n\t\t\ttree.items[0]?.focus();\n\t\t}\n\t}\n\n\t_onBeforePopoverOpen() {\n\t\tconst popover = this.getPicker();\n\t\t(popover?.opener as HTMLElement)?.classList.add(\"ui5-sn-item-active\");\n\t}\n\n\t_onBeforePopoverClose() {\n\t\tconst popover = this.getPicker();\n\t\t(popover?.opener as HTMLElement)?.classList.remove(\"ui5-sn-item-active\");\n\t}\n\n\t_onBeforeMenuOpen() {\n\t\tconst popover = this.getOverflowPopover();\n\t\t(popover?.opener as HTMLElement)?.classList.add(\"ui5-sn-item-active\");\n\t}\n\n\t_onBeforeMenuClose() {\n\t\tconst popover = this.getOverflowPopover();\n\t\t(popover?.opener as HTMLElement)?.classList.remove(\"ui5-sn-item-active\");\n\t}\n\n\tget accSideNavigationPopoverHiddenText() {\n\t\treturn SideNavigation.i18nBundle.getText(SIDE_NAVIGATION_POPOVER_HIDDEN_TEXT);\n\t}\n\n\tget ariaRoleDescNavigationList() {\n\t\tlet key = SIDE_NAVIGATION_LIST_ARIA_ROLE_DESC;\n\t\tif (this.collapsed) {\n\t\t\tkey = SIDE_NAVIGATION_COLLAPSED_LIST_ARIA_ROLE_DESC;\n\t\t}\n\n\t\treturn SideNavigation.i18nBundle.getText(key);\n\t}\n\n\tget overflowAccessibleName() {\n\t\treturn SideNavigation.i18nBundle.getText(SIDE_NAVIGATION_OVERFLOW_ACCESSIBLE_NAME);\n\t}\n\n\thandlePopupItemClick(e: KeyboardEvent | PointerEvent) {\n\t\tconst associatedItem = (e.target as PopupSideNavigationItem).associatedItem;\n\n\t\tassociatedItem.fireEvent(\"click\");\n\t\tif (associatedItem.selected) {\n\t\t\tthis.closePicker();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectItem(associatedItem);\n\t\tthis.closePicker();\n\n\t\tthis._popoverContents.item?.getDomRef()!.classList.add(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\thandleOverflowItemClick(e: CustomEvent<NavigationMenuClickEventDetail>) {\n\t\tconst associatedItem = e.detail?.item.associatedItem;\n\n\t\tassociatedItem.fireEvent(\"click\");\n\t\tif (associatedItem.selected) {\n\t\t\tthis.closeMenu();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectItem(associatedItem);\n\n\t\tthis.closeMenu();\n\n\t\t// When subitem is selected in collapsed mode parent element should be focused\n\t\tif (associatedItem.nodeName.toLowerCase() === \"ui5-side-navigation-sub-item\") {\n\t\t\tconst parent = associatedItem.parentElement as SideNavigationItem;\n\t\t\tthis.focusItem(parent);\n\t\t\tparent?.focus();\n\t\t} else {\n\t\t\tthis.focusItem(associatedItem);\n\t\t\tassociatedItem?.focus();\n\t\t}\n\t}\n\n\tgetOverflowPopover() {\n\t\treturn this.shadowRoot!.querySelector<NavigationMenu>(\".ui5-side-navigation-overflow-menu\")!;\n\t}\n\n\tgetPicker() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\topenPicker(opener: HTMLElement) {\n\t\topener.classList.add(\"ui5-sn-item-active\");\n\n\t\tconst responsivePopover = this.getPicker();\n\t\tresponsivePopover.opener = opener;\n\t\tresponsivePopover.open = true;\n\t}\n\n\topenOverflowMenu(opener: HTMLElement) {\n\t\topener.classList.add(\"ui5-sn-item-active\");\n\n\t\tconst menu = this.getOverflowPopover();\n\t\tmenu.opener = opener;\n\t\tmenu.open = true;\n\t}\n\n\tclosePicker() {\n\t\tconst responsivePopover = this.getPicker();\n\t\tresponsivePopover.open = false;\n\t}\n\n\tcloseMenu() {\n\t\tconst menu = this.getOverflowPopover();\n\t\tmenu.open = false;\n\t}\n\n\tgetPickerTree() {\n\t\tconst picker = this.getPicker();\n\t\treturn picker.querySelector<SideNavigation>(\"[ui5-side-navigation]\")!;\n\t}\n\n\tget hasHeader() {\n\t\treturn !!this.header.length;\n\t}\n\n\tget showHeader() {\n\t\treturn this.hasHeader && !this.collapsed;\n\t}\n\n\tget hasFixedItems() {\n\t\treturn !!this.fixedItems.length;\n\t}\n\n\tget _rootRole() {\n\t\treturn this.inPopover ? \"none\" : undefined;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-sn-collapsed\": this.collapsed,\n\t\t\t},\n\t\t};\n\t}\n\n\tgetEnabledFixedItems() : Array<ITabbable> {\n\t\treturn this.getEnabledItems(this.fixedItems as Array<SideNavigationItem | SideNavigationGroup>);\n\t}\n\n\tgetEnabledFlexibleItems() : Array<ITabbable> {\n\t\tconst items = this.getEnabledItems(this.items as Array<SideNavigationItem | SideNavigationGroup>);\n\n\t\tif (this._overflowItem) {\n\t\t\titems.push(this._overflowItem);\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tgetEnabledItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<ITabbable> {\n\t\tconst result = new Array<ITabbable>();\n\n\t\tthis._getFocusableItems(items).forEach(item => {\n\t\t\tif (item.classList.contains(\"ui5-sn-item-hidden\")) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!item.disabled) {\n\t\t\t\tresult.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tfocusItem(item: SideNavigationItemBase) {\n\t\tif (item.isFixedItem) {\n\t\t\tthis._fixedItemNavigation.setCurrentItem(item);\n\t\t} else {\n\t\t\tthis._flexibleItemNavigation.setCurrentItem(item);\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.getDomRef()?.matches(\":focus-within\")) {\n\t\t\tlet selectedItem = this._findSelectedItem(this.items as Array<SideNavigationItem | SideNavigationGroup>);\n\t\t\tif (selectedItem) {\n\t\t\t\tthis._flexibleItemNavigation.setCurrentItem(selectedItem);\n\t\t\t}\n\n\t\t\tselectedItem = this._findSelectedItem(this.fixedItems as Array<SideNavigationItem | SideNavigationGroup>);\n\t\t\tif (selectedItem) {\n\t\t\t\tthis._fixedItemNavigation.setCurrentItem(selectedItem);\n\t\t\t}\n\t\t}\n\n\t\tif (this.collapsed) {\n\t\t\tthis.handleResize();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResizeBound);\n\n\t\tthis.isTouchDevice = isPhone() || (isTablet() && !isCombi());\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResizeBound);\n\t}\n\n\thandleResize() {\n\t\tthis._updateOverflowItems();\n\t}\n\n\t_updateOverflowItems() {\n\t\tconst domRef = this.getDomRef();\n\t\tif (!this.collapsed || !domRef) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst overflowItem = this._overflowItem!;\n\t\tconst flexibleContentDomRef : HTMLElement = domRef.querySelector(\".ui5-sn-flexible\")!;\n\t\tif (!overflowItem) {\n\t\t\treturn null;\n\t\t}\n\n\t\toverflowItem.classList.add(\"ui5-sn-item-hidden\");\n\n\t\tconst overflowItems = this.overflowItems;\n\n\t\tlet itemsHeight = overflowItems.reduce<number>((sum, itemRef) => {\n\t\t\titemRef.classList.remove(\"ui5-sn-item-hidden\");\n\t\t\treturn sum + itemRef.offsetHeight;\n\t\t}, 0);\n\n\t\tconst { paddingTop, paddingBottom } = window.getComputedStyle(flexibleContentDomRef);\n\t\tconst listHeight = flexibleContentDomRef?.offsetHeight - parseInt(paddingTop) - parseInt(paddingBottom);\n\n\t\tif (itemsHeight <= listHeight) {\n\t\t\treturn;\n\t\t}\n\n\t\toverflowItem.classList.remove(\"ui5-sn-item-hidden\");\n\n\t\titemsHeight = overflowItem.offsetHeight;\n\n\t\tconst selectedItem = overflowItems.find(item => {\n\t\t\treturn isInstanceOfSideNavigationSelectableItemBase(item) && item._selected;\n\t\t});\n\n\t\tif (selectedItem && isInstanceOfSideNavigationItemBase(selectedItem)) {\n\t\t\tconst selectedItemDomRef = selectedItem.getDomRef();\n\t\t\tconst { marginTop, marginBottom } = window.getComputedStyle(selectedItemDomRef!);\n\n\t\t\titemsHeight += selectedItemDomRef!.offsetHeight + parseFloat(marginTop) + parseFloat(marginBottom);\n\t\t}\n\n\t\toverflowItems.forEach(item => {\n\t\t\tif (item === selectedItem) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet itemDomRef;\n\n\t\t\tif (isInstanceOfSideNavigationItemBase(item)) {\n\t\t\t\titemDomRef = item.getDomRef()!;\n\t\t\t} else {\n\t\t\t\titemDomRef = item;\n\t\t\t}\n\n\t\t\tconst { marginTop, marginBottom } = window.getComputedStyle(itemDomRef);\n\t\t\titemsHeight += itemDomRef.offsetHeight + parseFloat(marginTop) + parseFloat(marginBottom);\n\n\t\t\tif (itemsHeight > listHeight) {\n\t\t\t\titem.classList.add(\"ui5-sn-item-hidden\");\n\t\t\t}\n\t\t});\n\n\t\tthis._flexibleItemNavigation._init();\n\t}\n\n\t_findFocusedItem(items: Array<SideNavigationItem | SideNavigationGroup>) : SideNavigationItemBase | undefined {\n\t\treturn this._getFocusableItems(items).find(item => item.forcedTabIndex === \"0\");\n\t}\n\n\t_getSelectableItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<SideNavigationSelectableItemBase> {\n\t\treturn items.reduce((result, item) => {\n\t\t\treturn result.concat(item.selectableItems);\n\t\t}, new Array<SideNavigationSelectableItemBase>());\n\t}\n\n\t_getFocusableItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<SideNavigationItemBase> {\n\t\treturn items.reduce((result, item) => {\n\t\t\treturn result.concat(item.focusableItems);\n\t\t}, new Array<SideNavigationItemBase>());\n\t}\n\n\t_getAllItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<SideNavigationItemBase> {\n\t\treturn items.reduce((result, item) => {\n\t\t\treturn result.concat(item.allItems);\n\t\t}, new Array<SideNavigationItemBase>());\n\t}\n\n\t_findSelectedItem(items: Array<SideNavigationItem | SideNavigationGroup>) : SideNavigationSelectableItemBase | undefined {\n\t\treturn this._getSelectableItems(items).find(item => item._selected);\n\t}\n\n\tget overflowItems() : Array<HTMLElement> {\n\t\treturn (this.items as Array<SideNavigationItem | SideNavigationGroup>).reduce((result, item) => {\n\t\t\treturn result.concat(item.overflowItems);\n\t\t}, new Array<HTMLElement>());\n\t}\n\n\t_handleItemClick(e: KeyboardEvent | PointerEvent, item: SideNavigationSelectableItemBase) {\n\t\tif (item.selected && !this.collapsed) {\n\t\t\titem.fireDecoratorEvent(\"click\");\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.collapsed && isInstanceOfSideNavigationItem(item) && item.items.length) {\n\t\t\te.preventDefault();\n\t\t\tthis._isOverflow = false;\n\n\t\t\tthis._popoverContents = {\n\t\t\t\titem,\n\t\t\t\tsubItems: item.items,\n\t\t\t};\n\n\t\t\tthis.openPicker(item.getFocusDomRef() as HTMLElement);\n\t\t} else {\n\t\t\titem.fireDecoratorEvent(\"click\");\n\n\t\t\tif (!item.selected) {\n\t\t\t\tthis._selectItem(item);\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleOverflowClick() {\n\t\tthis._isOverflow = true;\n\t\tthis._menuPopoverItems = this._getOverflowItems();\n\n\t\tthis.openOverflowMenu(this._overflowItem!.getFocusDomRef() as HTMLElement);\n\t}\n\n\t_getOverflowItems(): Array<SideNavigationSelectableItemBase> {\n\t\tconst overflowClass = \"ui5-sn-item-hidden\";\n\t\tconst result: Array<SideNavigationSelectableItemBase> = [];\n\n\t\tthis.overflowItems.forEach(item => {\n\t\t\tif (isInstanceOfSideNavigationSelectableItemBase(item)\n\t\t\t\t&& item.classList.contains(overflowClass)) {\n\t\t\t\t result.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t_selectItem(item: SideNavigationSelectableItemBase) {\n\t\tif (item.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.fireDecoratorEvent<SideNavigationSelectionChangeEventDetail>(\"selection-change\", { item })) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet items = this._getSelectableItems(this.items as Array<SideNavigationItem | SideNavigationGroup>);\n\t\titems = items.concat(this._getSelectableItems(this.fixedItems as Array<SideNavigationItem | SideNavigationGroup>));\n\n\t\titems.forEach(current => {\n\t\t\tcurrent.selected = false;\n\t\t});\n\n\t\titem.selected = true;\n\t}\n\n\tget _overflowItem() {\n\t\tconst overflowItem = this.shadowRoot!.querySelector<SideNavigationItem>(\".ui5-sn-item-overflow\");\n\t\tif (overflowItem) {\n\t\t\toverflowItem.sideNavigation = this;\n\t\t}\n\n\t\treturn overflowItem;\n\t}\n\n\tget isOverflow() {\n\t\treturn this._isOverflow;\n\t}\n\n\t_onkeydownOverflow(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._handleOverflowClick();\n\t\t}\n\t}\n\n\t_onkeyupOverflow(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._handleOverflowClick();\n\t\t}\n\t}\n}\n\nSideNavigation.define();\n\nexport default SideNavigation;\n\nexport type {\n\tSideNavigationSelectionChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"SideNavigation.js","sourceRoot":"","sources":["../src/SideNavigation.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport ResponsivePopover from \"@ui5/webcomponents/dist/ResponsivePopover.js\";\nimport NavigationMenu from \"@ui5/webcomponents/dist/NavigationMenu.js\";\nimport type { MenuItemClickEventDetail } from \"@ui5/webcomponents/dist/Menu.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport \"@ui5/webcomponents-icons/dist/overflow.js\";\nimport {\n\tisPhone,\n\tisTablet,\n\tisCombi,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport {\n\tisSpace,\n\tisEnter,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport type SideNavigationItemBase from \"./SideNavigationItemBase.js\";\nimport { isInstanceOfSideNavigationItemBase } from \"./SideNavigationItemBase.js\";\nimport type SideNavigationSelectableItemBase from \"./SideNavigationSelectableItemBase.js\";\nimport { isInstanceOfSideNavigationSelectableItemBase } from \"./SideNavigationSelectableItemBase.js\";\nimport SideNavigationItem, { isInstanceOfSideNavigationItem } from \"./SideNavigationItem.js\";\nimport SideNavigationSubItem from \"./SideNavigationSubItem.js\";\nimport SideNavigationGroup from \"./SideNavigationGroup.js\";\nimport SideNavigationTemplate from \"./generated/templates/SideNavigationTemplate.lit.js\";\n\nimport {\n\tSIDE_NAVIGATION_POPOVER_HIDDEN_TEXT,\n\tSIDE_NAVIGATION_COLLAPSED_LIST_ARIA_ROLE_DESC,\n\tSIDE_NAVIGATION_LIST_ARIA_ROLE_DESC,\n\tSIDE_NAVIGATION_OVERFLOW_ACCESSIBLE_NAME,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport SideNavigationCss from \"./generated/themes/SideNavigation.css.js\";\nimport SideNavigationPopoverCss from \"./generated/themes/SideNavigationPopover.css.js\";\n\nconst PAGE_UP_DOWN_SIZE = 10;\n\ntype SideNavigationPopoverContents = {\n\titem: SideNavigationItem,\n\tsubItems: Array<SideNavigationSubItem>,\n};\n\ntype SideNavigationSelectionChangeEventDetail = {\n\titem: SideNavigationItemBase,\n};\n\ntype PopupSideNavigationItem = SideNavigationItem & { associatedItem: SideNavigationSelectableItemBase };\n\n// used for the inner side navigation used in the SideNavigationPopoverTemplate\ntype NavigationMenuClickEventDetail = MenuItemClickEventDetail & {\n\titem: Pick<MenuItemClickEventDetail, \"item\"> & {\n\t\tassociatedItem: SideNavigationSelectableItemBase,\n\t}\n};\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `SideNavigation` is used as a standard menu in applications.\n * It consists of three containers: header (top-aligned), main navigation section (top-aligned) and the secondary section (bottom-aligned).\n *\n * - The header is meant for displaying user related information - profile data, avatar, etc.\n * - The main navigation section is related to the user’s current work context\n * - The secondary section is mostly used to link additional information that may be of interest (legal information, developer communities, external help, contact information and so on).\n *\n * ### Usage\n *\n * Use the available `ui5-side-navigation-group`, `ui5-side-navigation-item`\n * and `ui5-side-navigation-sub-item` components to build your menu.\n * The items can consist of text only or an icon with text. The use or non-use of icons must be consistent for all items on one level.\n * You must not combine entries with and without icons on the same level. We strongly recommend that you do not use icons on the second level.\n *\n * The `ui5-side-navigation` component is intended for use within an `ui5-navigation-layout` component.\n * While it can function independently, it is recommended to use it with\n * the `ui5-navigation-layout` for optimal user experience.\n *\n * ### Keyboard Handling\n *\n * ### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigation.js\"`\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationGroup.js\";` (for `ui5-side-navigation-group`)\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationItem.js\";` (for `ui5-side-navigation-item`)\n *\n * `import \"@ui5/webcomponents-fiori/dist/SideNavigationSubItem.js\";` (for `ui5-side-navigation-sub-item`)\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.8\n * @public\n */\n\n@customElement({\n\ttag: \"ui5-side-navigation\",\n\tfastNavigation: true,\n\trenderer: litRender,\n\ttemplate: SideNavigationTemplate,\n\tstyles: [SideNavigationCss, SideNavigationPopoverCss],\n\tdependencies: [\n\t\tResponsivePopover,\n\t\tSideNavigationGroup,\n\t\tSideNavigationItem,\n\t\tSideNavigationSubItem,\n\t\tNavigationMenu,\n\t],\n})\n/**\n * Fired when the selection has changed via user interaction\n *\n * @param {SideNavigationSelectableItemBase} item the clicked item.\n * @public\n */\n@event<SideNavigationSelectionChangeEventDetail>(\"selection-change\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\titem: { type: HTMLElement },\n\t},\n\tbubbles: true,\n\tcancelable: true,\n})\nclass SideNavigation extends UI5Element {\n\t/**\n\t * Defines whether the `ui5-side-navigation` is expanded or collapsed.\n\t *\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tcollapsed = false;\n\n\t/**\n\t * Defines the main items of the component.\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true, \"default\": true })\n\titems!: Array<SideNavigationGroup | SideNavigationItem>;\n\n\t/**\n\t * Defines the fixed items at the bottom of the component.\n\t *\n\t * **Note:** In order to achieve the best user experience, it is recommended that you keep the fixed items \"flat\" (do not pass sub-items)\n\t *\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, invalidateOnChildChange: true })\n\tfixedItems!: Array<SideNavigationGroup | SideNavigationItem>;\n\n\t/**\n\t * Defines the header of the `ui5-side-navigation`.\n\t *\n\t * **Note:** The header is displayed when the component is expanded - the property `collapsed` is false;\n\t *\n\t * @public\n\t * @since 1.0.0-rc.11\n\t */\n\t@slot()\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_popoverContents!: SideNavigationPopoverContents;\n\n\t@property({ type: Boolean })\n\tinPopover= false;\n\n\t@property({ type: Array })\n\t_menuPopoverItems: Array<HTMLElement> = [];\n\n\t_isOverflow = false;\n\t_flexibleItemNavigation: ItemNavigation;\n\t_fixedItemNavigation: ItemNavigation;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tisTouchDevice = false;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._flexibleItemNavigation = new ItemNavigation(this, {\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items\n\t\t\tnavigationMode: NavigationMode.Vertical,\n\t\t\tgetItemsCallback: () => this.getEnabledFlexibleItems(),\n\t\t});\n\n\t\tthis._fixedItemNavigation = new ItemNavigation(this, {\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE, // PAGE_UP and PAGE_DOWN will skip trough 10 items\n\t\t\tnavigationMode: NavigationMode.Vertical,\n\t\t\tgetItemsCallback: () => this.getEnabledFixedItems(),\n\t\t});\n\n\t\tthis._handleResizeBound = this.handleResize.bind(this);\n\t\tthis._isOverflow = false;\n\t}\n\n\t_handleResizeBound: () => void;\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis._getAllItems(this.items).concat(this._getAllItems(this.fixedItems)).forEach(item => {\n\t\t\titem.sideNavCollapsed = this.collapsed;\n\t\t\titem.inPopover = this.inPopover;\n\t\t\titem.sideNavigation = this;\n\t\t});\n\t}\n\n\t_onAfterPopoverOpen() {\n\t\t// as the tree/list inside the popover is never destroyed,\n\t\t// item navigation index should be managed, because items are\n\t\t// dynamically recreated and tabIndexes are not updated\n\t\tconst tree = this.getPickerTree();\n\t\tconst selectedItem = tree._findSelectedItem(tree.items);\n\t\tif (selectedItem) {\n\t\t\tselectedItem.focus();\n\t\t} else {\n\t\t\ttree.items[0]?.focus();\n\t\t}\n\t}\n\n\t_onBeforePopoverOpen() {\n\t\tconst popover = this.getPicker();\n\t\t(popover?.opener as HTMLElement)?.classList.add(\"ui5-sn-item-active\");\n\t}\n\n\t_onBeforePopoverClose() {\n\t\tconst popover = this.getPicker();\n\t\t(popover?.opener as HTMLElement)?.classList.remove(\"ui5-sn-item-active\");\n\t}\n\n\t_onBeforeMenuOpen() {\n\t\tconst popover = this.getOverflowPopover();\n\t\t(popover?.opener as HTMLElement)?.classList.add(\"ui5-sn-item-active\");\n\t}\n\n\t_onBeforeMenuClose() {\n\t\tconst popover = this.getOverflowPopover();\n\t\t(popover?.opener as HTMLElement)?.classList.remove(\"ui5-sn-item-active\");\n\t}\n\n\tget accSideNavigationPopoverHiddenText() {\n\t\treturn SideNavigation.i18nBundle.getText(SIDE_NAVIGATION_POPOVER_HIDDEN_TEXT);\n\t}\n\n\tget ariaRoleDescNavigationList() {\n\t\tlet key = SIDE_NAVIGATION_LIST_ARIA_ROLE_DESC;\n\t\tif (this.collapsed) {\n\t\t\tkey = SIDE_NAVIGATION_COLLAPSED_LIST_ARIA_ROLE_DESC;\n\t\t}\n\n\t\treturn SideNavigation.i18nBundle.getText(key);\n\t}\n\n\tget overflowAccessibleName() {\n\t\treturn SideNavigation.i18nBundle.getText(SIDE_NAVIGATION_OVERFLOW_ACCESSIBLE_NAME);\n\t}\n\n\thandlePopupItemClick(e: KeyboardEvent | PointerEvent) {\n\t\tconst associatedItem = (e.target as PopupSideNavigationItem).associatedItem;\n\n\t\tassociatedItem.fireEvent(\"click\");\n\t\tif (associatedItem.selected) {\n\t\t\tthis.closePicker();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectItem(associatedItem);\n\t\tthis.closePicker();\n\n\t\tthis._popoverContents.item?.getDomRef()!.classList.add(\"ui5-sn-item-no-hover-effect\");\n\t}\n\n\thandleOverflowItemClick(e: CustomEvent<NavigationMenuClickEventDetail>) {\n\t\tconst associatedItem = e.detail?.item.associatedItem;\n\n\t\tassociatedItem.fireEvent(\"click\");\n\t\tif (associatedItem.selected) {\n\t\t\tthis.closeMenu();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectItem(associatedItem);\n\n\t\tthis.closeMenu();\n\n\t\t// When subitem is selected in collapsed mode parent element should be focused\n\t\tif (associatedItem.nodeName.toLowerCase() === \"ui5-side-navigation-sub-item\") {\n\t\t\tconst parent = associatedItem.parentElement as SideNavigationItem;\n\t\t\tthis.focusItem(parent);\n\t\t\tparent?.focus();\n\t\t} else {\n\t\t\tthis.focusItem(associatedItem);\n\t\t\tassociatedItem?.focus();\n\t\t}\n\t}\n\n\tgetOverflowPopover() {\n\t\treturn this.shadowRoot!.querySelector<NavigationMenu>(\".ui5-side-navigation-overflow-menu\")!;\n\t}\n\n\tgetPicker() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\topenPicker(opener: HTMLElement) {\n\t\topener.classList.add(\"ui5-sn-item-active\");\n\n\t\tconst responsivePopover = this.getPicker();\n\t\tresponsivePopover.opener = opener;\n\t\tresponsivePopover.open = true;\n\t}\n\n\topenOverflowMenu(opener: HTMLElement) {\n\t\topener.classList.add(\"ui5-sn-item-active\");\n\n\t\tconst menu = this.getOverflowPopover();\n\t\tmenu.opener = opener;\n\t\tmenu.open = true;\n\t}\n\n\tclosePicker() {\n\t\tconst responsivePopover = this.getPicker();\n\t\tresponsivePopover.open = false;\n\t}\n\n\tcloseMenu() {\n\t\tconst menu = this.getOverflowPopover();\n\t\tmenu.open = false;\n\t}\n\n\tgetPickerTree() {\n\t\tconst picker = this.getPicker();\n\t\treturn picker.querySelector<SideNavigation>(\"[ui5-side-navigation]\")!;\n\t}\n\n\tget hasHeader() {\n\t\treturn !!this.header.length;\n\t}\n\n\tget showHeader() {\n\t\treturn this.hasHeader && !this.collapsed;\n\t}\n\n\tget hasFixedItems() {\n\t\treturn !!this.fixedItems.length;\n\t}\n\n\tget _rootRole() {\n\t\treturn this.inPopover ? \"none\" : undefined;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-sn-collapsed\": this.collapsed,\n\t\t\t},\n\t\t};\n\t}\n\n\tgetEnabledFixedItems() : Array<ITabbable> {\n\t\treturn this.getEnabledItems(this.fixedItems);\n\t}\n\n\tgetEnabledFlexibleItems() : Array<ITabbable> {\n\t\tconst items = this.getEnabledItems(this.items);\n\n\t\tif (this._overflowItem) {\n\t\t\titems.push(this._overflowItem);\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tgetEnabledItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<ITabbable> {\n\t\tconst result = new Array<ITabbable>();\n\n\t\tthis._getFocusableItems(items).forEach(item => {\n\t\t\tif (item.classList.contains(\"ui5-sn-item-hidden\")) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!item.disabled) {\n\t\t\t\tresult.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tfocusItem(item: SideNavigationItemBase) {\n\t\tif (item.isFixedItem) {\n\t\t\tthis._fixedItemNavigation.setCurrentItem(item);\n\t\t} else {\n\t\t\tthis._flexibleItemNavigation.setCurrentItem(item);\n\t\t}\n\t}\n\n\tonAfterRendering() {\n\t\tif (!this.getDomRef()?.matches(\":focus-within\")) {\n\t\t\tlet selectedItem = this._findSelectedItem(this.items);\n\t\t\tif (selectedItem) {\n\t\t\t\tthis._flexibleItemNavigation.setCurrentItem(selectedItem);\n\t\t\t}\n\n\t\t\tselectedItem = this._findSelectedItem(this.fixedItems);\n\t\t\tif (selectedItem) {\n\t\t\t\tthis._fixedItemNavigation.setCurrentItem(selectedItem);\n\t\t\t}\n\t\t}\n\n\t\tif (this.collapsed) {\n\t\t\tthis.handleResize();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResizeBound);\n\n\t\tthis.isTouchDevice = isPhone() || (isTablet() && !isCombi());\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._handleResizeBound);\n\t}\n\n\thandleResize() {\n\t\tthis._updateOverflowItems();\n\t}\n\n\t_updateOverflowItems() {\n\t\tconst domRef = this.getDomRef();\n\t\tif (!this.collapsed || !domRef) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst overflowItem = this._overflowItem!;\n\t\tconst flexibleContentDomRef : HTMLElement = domRef.querySelector(\".ui5-sn-flexible\")!;\n\t\tif (!overflowItem) {\n\t\t\treturn null;\n\t\t}\n\n\t\toverflowItem.classList.add(\"ui5-sn-item-hidden\");\n\n\t\tconst overflowItems = this.overflowItems;\n\n\t\tlet itemsHeight = overflowItems.reduce<number>((sum, itemRef) => {\n\t\t\titemRef.classList.remove(\"ui5-sn-item-hidden\");\n\t\t\treturn sum + itemRef.offsetHeight;\n\t\t}, 0);\n\n\t\tconst { paddingTop, paddingBottom } = window.getComputedStyle(flexibleContentDomRef);\n\t\tconst listHeight = flexibleContentDomRef?.offsetHeight - parseInt(paddingTop) - parseInt(paddingBottom);\n\n\t\tif (itemsHeight <= listHeight) {\n\t\t\treturn;\n\t\t}\n\n\t\toverflowItem.classList.remove(\"ui5-sn-item-hidden\");\n\n\t\titemsHeight = overflowItem.offsetHeight;\n\n\t\tconst selectedItem = overflowItems.find(item => {\n\t\t\treturn isInstanceOfSideNavigationSelectableItemBase(item) && item._selected;\n\t\t});\n\n\t\tif (selectedItem && isInstanceOfSideNavigationItemBase(selectedItem)) {\n\t\t\tconst selectedItemDomRef = selectedItem.getDomRef();\n\t\t\tconst { marginTop, marginBottom } = window.getComputedStyle(selectedItemDomRef!);\n\n\t\t\titemsHeight += selectedItemDomRef!.offsetHeight + parseFloat(marginTop) + parseFloat(marginBottom);\n\t\t}\n\n\t\toverflowItems.forEach(item => {\n\t\t\tif (item === selectedItem) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet itemDomRef;\n\n\t\t\tif (isInstanceOfSideNavigationItemBase(item)) {\n\t\t\t\titemDomRef = item.getDomRef()!;\n\t\t\t} else {\n\t\t\t\titemDomRef = item;\n\t\t\t}\n\n\t\t\tconst { marginTop, marginBottom } = window.getComputedStyle(itemDomRef);\n\t\t\titemsHeight += itemDomRef.offsetHeight + parseFloat(marginTop) + parseFloat(marginBottom);\n\n\t\t\tif (itemsHeight > listHeight) {\n\t\t\t\titem.classList.add(\"ui5-sn-item-hidden\");\n\t\t\t}\n\t\t});\n\n\t\tthis._flexibleItemNavigation._init();\n\t}\n\n\t_findFocusedItem(items: Array<SideNavigationItem | SideNavigationGroup>) : SideNavigationItemBase | undefined {\n\t\treturn this._getFocusableItems(items).find(item => item.forcedTabIndex === \"0\");\n\t}\n\n\t_getSelectableItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<SideNavigationSelectableItemBase> {\n\t\treturn items.reduce((result, item) => {\n\t\t\treturn result.concat(item.selectableItems);\n\t\t}, new Array<SideNavigationSelectableItemBase>());\n\t}\n\n\t_getFocusableItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<SideNavigationItemBase> {\n\t\treturn items.reduce((result, item) => {\n\t\t\treturn result.concat(item.focusableItems);\n\t\t}, new Array<SideNavigationItemBase>());\n\t}\n\n\t_getAllItems(items: Array<SideNavigationItem | SideNavigationGroup>) : Array<SideNavigationItemBase> {\n\t\treturn items.reduce((result, item) => {\n\t\t\treturn result.concat(item.allItems);\n\t\t}, new Array<SideNavigationItemBase>());\n\t}\n\n\t_findSelectedItem(items: Array<SideNavigationItem | SideNavigationGroup>) : SideNavigationSelectableItemBase | undefined {\n\t\treturn this._getSelectableItems(items).find(item => item._selected);\n\t}\n\n\tget overflowItems() : Array<HTMLElement> {\n\t\treturn (this.items).reduce((result, item) => {\n\t\t\treturn result.concat(item.overflowItems);\n\t\t}, new Array<HTMLElement>());\n\t}\n\n\t_handleItemClick(e: KeyboardEvent | PointerEvent, item: SideNavigationSelectableItemBase) {\n\t\tif (item.selected && !this.collapsed) {\n\t\t\titem.fireDecoratorEvent(\"click\");\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.collapsed && isInstanceOfSideNavigationItem(item) && item.items.length) {\n\t\t\te.preventDefault();\n\t\t\tthis._isOverflow = false;\n\n\t\t\tthis._popoverContents = {\n\t\t\t\titem,\n\t\t\t\tsubItems: item.items,\n\t\t\t};\n\n\t\t\tthis.openPicker(item.getFocusDomRef() as HTMLElement);\n\t\t} else {\n\t\t\titem.fireDecoratorEvent(\"click\");\n\n\t\t\tif (!item.selected) {\n\t\t\t\tthis._selectItem(item);\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleOverflowClick() {\n\t\tthis._isOverflow = true;\n\t\tthis._menuPopoverItems = this._getOverflowItems();\n\n\t\tthis.openOverflowMenu(this._overflowItem!.getFocusDomRef() as HTMLElement);\n\t}\n\n\t_getOverflowItems(): Array<SideNavigationSelectableItemBase> {\n\t\tconst overflowClass = \"ui5-sn-item-hidden\";\n\t\tconst result: Array<SideNavigationSelectableItemBase> = [];\n\n\t\tthis.overflowItems.forEach(item => {\n\t\t\tif (isInstanceOfSideNavigationSelectableItemBase(item)\n\t\t\t\t&& item.classList.contains(overflowClass)) {\n\t\t\t\t result.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t_selectItem(item: SideNavigationSelectableItemBase) {\n\t\tif (item.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.fireDecoratorEvent<SideNavigationSelectionChangeEventDetail>(\"selection-change\", { item })) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet items = this._getSelectableItems(this.items);\n\t\titems = items.concat(this._getSelectableItems(this.fixedItems));\n\n\t\titems.forEach(current => {\n\t\t\tcurrent.selected = false;\n\t\t});\n\n\t\titem.selected = true;\n\t}\n\n\tget _overflowItem() {\n\t\tconst overflowItem = this.shadowRoot!.querySelector<SideNavigationItem>(\".ui5-sn-item-overflow\");\n\t\tif (overflowItem) {\n\t\t\toverflowItem.sideNavigation = this;\n\t\t}\n\n\t\treturn overflowItem;\n\t}\n\n\tget isOverflow() {\n\t\treturn this._isOverflow;\n\t}\n\n\t_onkeydownOverflow(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._handleOverflowClick();\n\t\t}\n\t}\n\n\t_onkeyupOverflow(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._handleOverflowClick();\n\t\t}\n\t}\n}\n\nSideNavigation.define();\n\nexport default SideNavigation;\n\nexport type {\n\tSideNavigationSelectionChangeEventDetail,\n};\n"]}
@@ -1 +1 @@
1
- .ui5-dynamic-page-title-header-wrapper{position:sticky;top:0;z-index:110}:host{display:block;height:100%;background-color:var(--ui5-v2-4-1-rc-0_dynamic_page_background)}.ui5-dynamic-page-root{height:inherit;overflow-y:hidden}.ui5-dynamic-page-scroll-container{overflow-y:auto;height:100%}.ui5-dynamic-page-scroll-container{display:flex;flex-direction:column}.ui5-dynamic-page-content{flex-grow:1;position:relative}.ui5-dynamic-page-fit-content{position:absolute;inset:0}.ui5-dynamic-page-footer{position:sticky;bottom:.5rem;box-sizing:border-box;z-index:110;opacity:0;transform:translateY(100%);transition:opacity .35s ease-in-out,transform .35s ease-in-out}.ui5-dynamic-page-spacer{height:var(--_ui5-v2-4-1-rc-0_dynamic_page_footer_spacer)}:host([show-footer]) .ui5-dynamic-page-fit-content{bottom:var(--_ui5-v2-4-1-rc-0_dynamic_page_footer_spacer)}:host([show-footer]) .ui5-dynamic-page-footer{transform:translateY(0);opacity:1}::slotted([slot="footerArea"]){border-radius:.25rem;background-color:var(--_ui5-v2-4-1-rc-0_dynamic_page_header_background_color);box-sizing:content-box;width:auto;margin:0 .5rem .5rem}::slotted([slot="titleArea"]){width:auto}:host([media-range="S"]) .ui5-dynamic-page-fit-content{padding:var(--_ui5-v2-4-1-rc-0_dynamic_page_content_padding_S)}:host([media-range="S"]) ::slotted([slot="titleArea"]){padding:var(--_ui5-v2-4-1-rc-0_dynamic_page_title_padding_S)}:host([media-range="S"]) ::slotted([slot="headerArea"]){padding:var(--_ui5-v2-4-1-rc-0_dynamic_page_header_padding_S)}:host([media-range="M"]) .ui5-dynamic-page-fit-content{padding:var(--_ui5-v2-4-1-rc-0_dynamic_page_content_padding_M)}:host([media-range="M"]) ::slotted([slot="titleArea"]){padding:var(--_ui5-v2-4-1-rc-0_dynamic_page_title_padding_M)}:host([media-range="M"]) ::slotted([slot="headerArea"]){padding:var(--_ui5-v2-4-1-rc-0_dynamic_page_header_padding_M)}:host([media-range="L"]) .ui5-dynamic-page-fit-content{padding:var(--_ui5-v2-4-1-rc-0_dynamic_page_content_padding_L)}:host([media-range="L"]) ::slotted([slot="titleArea"]){padding:var(--_ui5-v2-4-1-rc-0_dynamic_page_title_padding_L)}:host([media-range="L"]) ::slotted([slot="headerArea"]){padding:var(--_ui5-v2-4-1-rc-0_dynamic_page_header_padding_L)}:host([media-range="XL"]) .ui5-dynamic-page-fit-content{padding:var(--_ui5-v2-4-1-rc-0_dynamic_page_content_padding_XL)}:host([media-range="XL"]) ::slotted([slot="titleArea"]){padding:var(--_ui5-v2-4-1-rc-0_dynamic_page_title_padding_XL)}:host([media-range="XL"]) ::slotted([slot="headerArea"]){padding:var(--_ui5-v2-4-1-rc-0_dynamic_page_header_padding_XL)}
1
+ .ui5-dynamic-page-title-header-wrapper{position:sticky;top:0;z-index:110}:host{display:block;height:100%;background-color:var(--ui5-v2-5-0-rc-0_dynamic_page_background)}.ui5-dynamic-page-root{height:inherit;overflow-y:hidden}.ui5-dynamic-page-scroll-container{overflow-y:auto;height:100%}.ui5-dynamic-page-scroll-container{display:flex;flex-direction:column}.ui5-dynamic-page-content{flex-grow:1;position:relative}.ui5-dynamic-page-fit-content{position:absolute;inset:0}.ui5-dynamic-page-footer{position:sticky;bottom:.5rem;box-sizing:border-box;z-index:110;opacity:0;transform:translateY(100%);transition:opacity .35s ease-in-out,transform .35s ease-in-out}.ui5-dynamic-page-spacer{height:var(--_ui5-v2-5-0-rc-0_dynamic_page_footer_spacer)}:host([show-footer]) .ui5-dynamic-page-fit-content{bottom:var(--_ui5-v2-5-0-rc-0_dynamic_page_footer_spacer)}:host([show-footer]) .ui5-dynamic-page-footer{transform:translateY(0);opacity:1}::slotted([slot="footerArea"]){border-radius:.25rem;background-color:var(--_ui5-v2-5-0-rc-0_dynamic_page_header_background_color);box-sizing:content-box;width:auto;margin:0 .5rem .5rem}::slotted([slot="titleArea"]){width:auto}:host([media-range="S"]) .ui5-dynamic-page-fit-content{padding:var(--_ui5-v2-5-0-rc-0_dynamic_page_content_padding_S)}:host([media-range="S"]) ::slotted([slot="titleArea"]){padding:var(--_ui5-v2-5-0-rc-0_dynamic_page_title_padding_S)}:host([media-range="S"]) ::slotted([slot="headerArea"]){padding:var(--_ui5-v2-5-0-rc-0_dynamic_page_header_padding_S)}:host([media-range="M"]) .ui5-dynamic-page-fit-content{padding:var(--_ui5-v2-5-0-rc-0_dynamic_page_content_padding_M)}:host([media-range="M"]) ::slotted([slot="titleArea"]){padding:var(--_ui5-v2-5-0-rc-0_dynamic_page_title_padding_M)}:host([media-range="M"]) ::slotted([slot="headerArea"]){padding:var(--_ui5-v2-5-0-rc-0_dynamic_page_header_padding_M)}:host([media-range="L"]) .ui5-dynamic-page-fit-content{padding:var(--_ui5-v2-5-0-rc-0_dynamic_page_content_padding_L)}:host([media-range="L"]) ::slotted([slot="titleArea"]){padding:var(--_ui5-v2-5-0-rc-0_dynamic_page_title_padding_L)}:host([media-range="L"]) ::slotted([slot="headerArea"]){padding:var(--_ui5-v2-5-0-rc-0_dynamic_page_header_padding_L)}:host([media-range="XL"]) .ui5-dynamic-page-fit-content{padding:var(--_ui5-v2-5-0-rc-0_dynamic_page_content_padding_XL)}:host([media-range="XL"]) ::slotted([slot="titleArea"]){padding:var(--_ui5-v2-5-0-rc-0_dynamic_page_title_padding_XL)}:host([media-range="XL"]) ::slotted([slot="headerArea"]){padding:var(--_ui5-v2-5-0-rc-0_dynamic_page_header_padding_XL)}
@@ -1 +1 @@
1
- :host{background-color:var(--_ui5-v2-4-1-rc-0_dynamic_page_header_background_color);display:block;box-shadow:var(--_ui5-v2-4-1-rc-0_dynamic_page_header-box-shadow)}.ui5-dynamic-page-header-root{background:inherit;padding-top:var(--_ui5-v2-4-1-rc-0_dynamic_page_header_padding_top);padding-bottom:var(--_ui5-v2-4-1-rc-0_dynamic_page_header_padding_bottom)}
1
+ :host{background-color:var(--_ui5-v2-5-0-rc-0_dynamic_page_header_background_color);display:block;box-shadow:var(--_ui5-v2-5-0-rc-0_dynamic_page_header-box-shadow)}.ui5-dynamic-page-header-root{background:inherit;padding-top:var(--_ui5-v2-5-0-rc-0_dynamic_page_header_padding_top);padding-bottom:var(--_ui5-v2-5-0-rc-0_dynamic_page_header_padding_bottom)}
@@ -1 +1 @@
1
- .ui5-dynamic-page-header-actions-root{position:relative;display:flex;justify-content:center;align-items:center;width:100%;.ui5-dynamic-page-header-action{position:relative;z-index:1;min-width:1.5rem;height:1.5rem;background-color:var(--_ui5-v2-4-1-rc-0_dynamic_page_header-actions-background);border:1px solid var(--sapButton_BorderColor);box-shadow:var(--_ui5-v2-4-1-rc-0_dynamic_page_header-actions-box-shadow);color:var(--_ui5-v2-4-1-rc-0_dynamic_page_header-actions-color)}.ui5-dynamic-page-header-action-pin[pressed]{background-color:var(--_ui5-v2-4-1-rc-0_dynamic_page_header-actions-background-pressed);color:var(--_ui5-v2-4-1-rc-0_dynamic_page_header-actions-color-pressed)}.ui5-dynamic-page-header-actions--wrapper{position:absolute;display:flex;gap:.5rem;z-index:1;&:before,&:after{content:"";position:absolute;top:50%;transform:translateY(-100%);width:6.125rem;height:.0625rem;z-index:0}&:before{right:50%;background:linear-gradient(to right,transparent,var(--_ui5-v2-4-1-rc-0_dynamic_page_actions-lines-color))}&:after{left:50%;background:linear-gradient(to left,transparent,var(--_ui5-v2-4-1-rc-0_dynamic_page_actions-lines-color))}}}
1
+ .ui5-dynamic-page-header-actions-root{position:relative;display:flex;justify-content:center;align-items:center;width:100%;.ui5-dynamic-page-header-action{position:relative;z-index:1;min-width:1.5rem;height:1.5rem;background-color:var(--_ui5-v2-5-0-rc-0_dynamic_page_header-actions-background);border:1px solid var(--sapButton_BorderColor);box-shadow:var(--_ui5-v2-5-0-rc-0_dynamic_page_header-actions-box-shadow);color:var(--_ui5-v2-5-0-rc-0_dynamic_page_header-actions-color)}.ui5-dynamic-page-header-action-pin[pressed]{background-color:var(--_ui5-v2-5-0-rc-0_dynamic_page_header-actions-background-pressed);color:var(--_ui5-v2-5-0-rc-0_dynamic_page_header-actions-color-pressed)}.ui5-dynamic-page-header-actions--wrapper{position:absolute;display:flex;gap:.5rem;z-index:1;&:before,&:after{content:"";position:absolute;top:50%;transform:translateY(-100%);width:6.125rem;height:.0625rem;z-index:0}&:before{right:50%;background:linear-gradient(to right,transparent,var(--_ui5-v2-5-0-rc-0_dynamic_page_actions-lines-color))}&:after{left:50%;background:linear-gradient(to left,transparent,var(--_ui5-v2-5-0-rc-0_dynamic_page_actions-lines-color))}}}
@@ -1 +1 @@
1
- .ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}:host{display:flex;flex-direction:column;position:relative;width:100%;background-color:var(--_ui5-v2-4-1-rc-0_dynamic_page_header_background_color);min-height:var(--_ui5-v2-4-1-rc-0_dynamic_page_title_min_height);word-wrap:break-word;padding-top:var(--_ui5-v2-4-1-rc-0_dynamic_page_title_padding_top);padding-bottom:var(--_ui5-v2-4-1-rc-0_dynamic_page_title_padding_bottom);border-bottom:var(--_ui5-v2-4-1-rc-0_dynamic_page_title_border)}:host(:not([interactive])){box-shadow:var(--_ui5-v2-4-1-rc-0_dynamic_page_header-box-shadow)}:host .ui5-dynamic-page-title-root{display:inherit;flex-direction:inherit;width:inherit;height:inherit}:host:host([interactive]:hover),:host:host([interactive][hovered]){background-color:var(--_ui5-v2-4-1-rc-0_dynamic_page_title_hover_background);cursor:pointer;border-bottom:var(--_ui5-v2-4-1-rc-0_dynamic_page_title_hover_border)}:host([snapped]){box-shadow:var(--sapContent_HeaderShadow)}:host([has-snapped-title-on-mobile]){min-height:var(--_ui5-v2-4-1-rc-0_dynamic_page_snapped_title_on_mobile_min_height);line-height:var(--_ui5-v2-4-1-rc-0_dynamic_page_snapped_title_on_mobile_line_height)}::slotted([ui5-breadcrumbs][slot="breadcrumbs"]){padding:var(--_ui5-v2-4-1-rc-0_dynamic_page_title_breadcrumbs_padding_top) 0 var(--_ui5-v2-4-1-rc-0_dynamic_page_title_breadcrumbs_padding_bottom) 0}::slotted([ui5-title][slot="heading"]),::slotted([ui5-title][slot="snappedHeading"]){font-family:var(--sapObjectHeader_Title_FontFamily);color:var(--sapObjectHeader_Title_TextColor);padding:var(--_ui5-v2-4-1-rc-0_dynamic_page_title_heading_padding_top) 0 0 0;margin:var(--_ui5-v2-4-1-rc-0_dynamic_page_title_heading_margin)}::slotted([ui5-title][slot="heading"]){font-size:var(--sapObjectHeader_Title_FontSize)}::slotted([ui5-title][slot="snappedHeading"]),:host([snapped]) ::slotted([ui5-title][slot="heading"]){font-size:var(--sapObjectHeader_Title_SnappedFontSize);text-overflow:ellipsis}::slotted([slot="content"]),::slotted([slot="snappedSubheading"]){color:var(--sapObjectHeader_Subtitle_TextColor);font-size:var(--sapFontSize);margin-top:var(--_ui5-v2-4-1-rc-0_dynamic_page_title_subheading_margin_top);min-width:0}::slotted([ui5-tag]){max-width:100%}::slotted([ui5-toolbar][slot="actionsBar"]){padding:0 0 0 1rem}.ui5-dynamic-page-title--wrapper{display:flex}.ui5-dynamic-page-title--heading{flex-shrink:1;min-width:1px}.ui5-dynamic-page--snapped-title-on-mobile{display:flex;justify-content:space-between;align-items:center;pointer-events:none}.ui5-dynamic-page-title--content{padding:.6rem 0 0 1rem;flex-shrink:1.6;min-width:3rem;flex-grow:1;display:flex}.ui5-dynamic-page-title--actions{flex-shrink:1.6;min-width:3rem;flex-grow:1;display:flex}.ui5-dynamic-page-title--actions ::slotted([slot="actionsBar"]){border:none;flex:1}.ui5-dynamic-page-title--actions .ui5-dynamic-page-title--actions-separator{flex:0 1;&:before{content:"";display:inline-block;height:var(--_ui5-v2-4-1-rc-0_dynamic_page_title_actions_separator_height);width:.0625rem;vertical-align:middle;background:var(--sapToolbar_SeparatorColor);margin:.5rem .5rem 0 .25rem}}::slotted([slot="navigationBar"]){border:none;margin-left:auto;flex:0 1;padding-left:0;padding-right:0}.ui5-dynamic-page-title--top-area ::slotted([slot="navigationBar"]){flex:0 1.6 auto}.ui5-dynamic-page-title--top-area{display:flex;justify-content:space-between;align-items:center}:host([desktop]:focus),.ui5-dynamic-page-title-focus-area:focus-visible{outline:var(--_ui5-v2-4-1-rc-0_dynamic_page_title_focus_outline);outline-offset:var(--_ui5-v2-4-1-rc-0_dynamic_page_title_focus_outline_offset)}.ui5-dynamic-page-title-focus-area{outline:none;position:absolute;top:0;left:0;width:100%;height:100%}
1
+ .ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}:host{display:flex;flex-direction:column;position:relative;width:100%;background-color:var(--_ui5-v2-5-0-rc-0_dynamic_page_header_background_color);min-height:var(--_ui5-v2-5-0-rc-0_dynamic_page_title_min_height);word-wrap:break-word;padding-top:var(--_ui5-v2-5-0-rc-0_dynamic_page_title_padding_top);padding-bottom:var(--_ui5-v2-5-0-rc-0_dynamic_page_title_padding_bottom);border-bottom:var(--_ui5-v2-5-0-rc-0_dynamic_page_title_border)}:host(:not([interactive])){box-shadow:var(--_ui5-v2-5-0-rc-0_dynamic_page_header-box-shadow)}:host .ui5-dynamic-page-title-root{display:inherit;flex-direction:inherit;width:inherit;height:inherit}:host:host([interactive]:hover),:host:host([interactive][hovered]){background-color:var(--_ui5-v2-5-0-rc-0_dynamic_page_title_hover_background);cursor:pointer;border-bottom:var(--_ui5-v2-5-0-rc-0_dynamic_page_title_hover_border)}:host([snapped]){box-shadow:var(--sapContent_HeaderShadow)}:host([has-snapped-title-on-mobile]){min-height:var(--_ui5-v2-5-0-rc-0_dynamic_page_snapped_title_on_mobile_min_height);line-height:var(--_ui5-v2-5-0-rc-0_dynamic_page_snapped_title_on_mobile_line_height)}::slotted([ui5-breadcrumbs][slot="breadcrumbs"]){padding:var(--_ui5-v2-5-0-rc-0_dynamic_page_title_breadcrumbs_padding_top) 0 var(--_ui5-v2-5-0-rc-0_dynamic_page_title_breadcrumbs_padding_bottom) 0}::slotted([ui5-title][slot="heading"]),::slotted([ui5-title][slot="snappedHeading"]){font-family:var(--sapObjectHeader_Title_FontFamily);color:var(--sapObjectHeader_Title_TextColor);padding:var(--_ui5-v2-5-0-rc-0_dynamic_page_title_heading_padding_top) 0 0 0;margin:var(--_ui5-v2-5-0-rc-0_dynamic_page_title_heading_margin)}::slotted([ui5-title][slot="heading"]){font-size:var(--sapObjectHeader_Title_FontSize)}::slotted([ui5-title][slot="snappedHeading"]),:host([snapped]) ::slotted([ui5-title][slot="heading"]){font-size:var(--sapObjectHeader_Title_SnappedFontSize);text-overflow:ellipsis}::slotted([slot="content"]),::slotted([slot="snappedSubheading"]){color:var(--sapObjectHeader_Subtitle_TextColor);font-size:var(--sapFontSize);margin-top:var(--_ui5-v2-5-0-rc-0_dynamic_page_title_subheading_margin_top);min-width:0}::slotted([ui5-tag]){max-width:100%}::slotted([ui5-toolbar][slot="actionsBar"]){padding:0 0 0 1rem}.ui5-dynamic-page-title--wrapper{display:flex}.ui5-dynamic-page-title--heading{flex-shrink:1;min-width:1px}.ui5-dynamic-page--snapped-title-on-mobile{display:flex;justify-content:space-between;align-items:center;pointer-events:none}.ui5-dynamic-page-title--content{padding:.6rem 0 0 1rem;flex-shrink:1.6;min-width:3rem;flex-grow:1;display:flex}.ui5-dynamic-page-title--actions{flex-shrink:1.6;min-width:3rem;flex-grow:1;display:flex}.ui5-dynamic-page-title--actions ::slotted([slot="actionsBar"]){border:none;flex:1}.ui5-dynamic-page-title--actions .ui5-dynamic-page-title--actions-separator{flex:0 1;&:before{content:"";display:inline-block;height:var(--_ui5-v2-5-0-rc-0_dynamic_page_title_actions_separator_height);width:.0625rem;vertical-align:middle;background:var(--sapToolbar_SeparatorColor);margin:.5rem .5rem 0 .25rem}}::slotted([slot="navigationBar"]){border:none;margin-left:auto;flex:0 1;padding-left:0;padding-right:0}.ui5-dynamic-page-title--top-area ::slotted([slot="navigationBar"]){flex:0 1.6 auto}.ui5-dynamic-page-title--top-area{display:flex;justify-content:space-between;align-items:center}:host([desktop]:focus),.ui5-dynamic-page-title-focus-area:focus-visible{outline:var(--_ui5-v2-5-0-rc-0_dynamic_page_title_focus_outline);outline-offset:var(--_ui5-v2-5-0-rc-0_dynamic_page_title_focus_outline_offset)}.ui5-dynamic-page-title-focus-area{outline:none;position:absolute;top:0;left:0;width:100%;height:100%}
@@ -1 +1 @@
1
- .ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}:host(:not([hidden])){display:block;background:var(--_ui5-v2-4-1-rc-0_fcl_solid_bg)}.ui5-fcl-root{height:100%;display:flex;flex-direction:row}.ui5-fcl-column{background:inherit;box-sizing:border-box;will-change:width;overflow-y:auto}:host([_resizing]) .ui5-fcl-column{pointer-events:none}.ui5-fcl-column-animation{transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in}.ui5-fcl-column--hidden{display:none}.ui5-fcl-separator{display:flex;align-items:center;justify-content:center;width:1rem;background-color:var(--sapShell_Background);border-inline-start:var(--_ui5-v2-4-1-rc-0_fcl_column_border);border-inline-end:var(--_ui5-v2-4-1-rc-0_fcl_column_border);position:relative;box-sizing:border-box}.ui5-fcl-separator:focus{border:var(--_ui5-v2-4-1-rc-0_fcl_separator_focus_border);outline:none}.ui5-fcl-grip{cursor:col-resize;overflow:visible;z-index:1;color:var(--sapButton_TextColor);padding-top:.3125rem;padding-bottom:.3125rem}.ui5-fcl-grip:before{background-image:var(--_ui5-v2-4-1-rc-0_fcl_decoration_top);bottom:calc(50% + 1rem)}.ui5-fcl-grip:after{background-image:var(--_ui5-v2-4-1-rc-0_fcl_decoration_bottom);top:calc(50% + 1rem)}.ui5-fcl-grip:before,.ui5-fcl-grip:after{content:"";position:absolute;left:0;height:4rem;width:100%;transition:all .1s ease-in;background-repeat:no-repeat;background-size:.0625rem 100%;background-position-x:calc(50% - .03125rem)}.ui5-fcl-separator:hover .ui5-fcl-grip:before,.ui5-fcl-separator:hover .ui5-fcl-grip:after{height:calc(50% - 1rem)}[aria-hidden] ::slotted([slot="startColumn"]),[aria-hidden] ::slotted([slot="midColumn"]),[aria-hidden] ::slotted([slot="endColumn"]){visibility:hidden}
1
+ .ui5-hidden-text{position:absolute;clip:rect(1px,1px,1px,1px);user-select:none;left:-1000px;top:-1000px;pointer-events:none;font-size:0}:host(:not([hidden])){display:block;background:var(--_ui5-v2-5-0-rc-0_fcl_solid_bg)}.ui5-fcl-root{height:100%;display:flex;flex-direction:row}.ui5-fcl-column{background:inherit;box-sizing:border-box;will-change:width;overflow-y:auto}:host([_resizing]) .ui5-fcl-column{pointer-events:none}.ui5-fcl-column-animation{transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in}.ui5-fcl-column--hidden{display:none}.ui5-fcl-separator{display:flex;align-items:center;justify-content:center;width:1rem;background-color:var(--sapShell_Background);border-inline-start:var(--_ui5-v2-5-0-rc-0_fcl_column_border);border-inline-end:var(--_ui5-v2-5-0-rc-0_fcl_column_border);position:relative;box-sizing:border-box}.ui5-fcl-separator:focus{border:var(--_ui5-v2-5-0-rc-0_fcl_separator_focus_border);outline:none}.ui5-fcl-grip{cursor:col-resize;overflow:visible;z-index:1;color:var(--sapButton_TextColor);padding-top:.3125rem;padding-bottom:.3125rem}.ui5-fcl-grip:before{background-image:var(--_ui5-v2-5-0-rc-0_fcl_decoration_top);bottom:calc(50% + 1rem)}.ui5-fcl-grip:after{background-image:var(--_ui5-v2-5-0-rc-0_fcl_decoration_bottom);top:calc(50% + 1rem)}.ui5-fcl-grip:before,.ui5-fcl-grip:after{content:"";position:absolute;left:0;height:4rem;width:100%;transition:all .1s ease-in;background-repeat:no-repeat;background-size:.0625rem 100%;background-position-x:calc(50% - .03125rem)}.ui5-fcl-separator:hover .ui5-fcl-grip:before,.ui5-fcl-separator:hover .ui5-fcl-grip:after{height:calc(50% - 1rem)}[aria-hidden] ::slotted([slot="startColumn"]),[aria-hidden] ::slotted([slot="midColumn"]),[aria-hidden] ::slotted([slot="endColumn"]){visibility:hidden}
@@ -1 +1 @@
1
- :host{height:100%}:host,.ui5-media-gallery-display-wrapper,.ui5-media-gallery-display{width:100%}.ui5-media-gallery-root{width:inherit;height:inherit;background:var(--sapBaseColor);display:flex;flex-direction:column;position:relative}:host([menu-vertical-align="Top"]) .ui5-media-gallery-root{flex-direction:column-reverse}:host([effective-layout="Horizontal"]) .ui5-media-gallery-root{flex-direction:row-reverse}:host([effective-layout="Horizontal"][menu-horizontal-align="Right"]) .ui5-media-gallery-root{flex-direction:row}.ui5-media-gallery-display-wrapper{display:flex;justify-content:center;position:relative}:host([effective-layout="Horizontal"][show-all-thumbnails]) .ui5-media-gallery-display-wrapper{flex-grow:3;flex-basis:0}.ui5-media-gallery-display{position:relative;margin:1rem;display:flex;justify-content:center}.ui5-media-gallery-display [ui5-media-gallery-item]{z-index:1}[ui5-carousel]{width:calc(100% - 2rem)}[ui5-carousel]::part(item){padding:0;overflow:hidden}.ui5-media-gallery-thumbnails-wrapper{margin-block:1rem 0}:host([menu-vertical-align="Top"]) .ui5-media-gallery-thumbnails-wrapper{margin-block:0 1rem}:host([effective-layout="Horizontal"]) .ui5-media-gallery-thumbnails-wrapper{margin-inline:0 1rem}:host([effective-layout="Horizontal"][menu-horizontal-align="Right"]) .ui5-media-gallery-thumbnails-wrapper{margin-inline:1rem 0}:host([show-all-thumbnails]) .ui5-media-gallery-thumbnails-wrapper{overflow-x:auto;overflow-y:hidden}:host([effective-layout="Horizontal"][show-all-thumbnails]) .ui5-media-gallery-thumbnails-wrapper{overflow-y:auto;overflow-x:hidden;flex-grow:1;flex-basis:0}.ui5-media-gallery-thumbnails-wrapper ul{height:5rem;display:flex;flex-wrap:nowrap;padding-left:0;margin-top:0;margin-bottom:0;list-style-type:none;padding-inline-start:0}:host([effective-layout="Horizontal"]) ul{width:5rem;flex-wrap:wrap}:host([effective-layout="Horizontal"][show-all-thumbnails][media-range="M"]) ul{width:10rem}:host([effective-layout="Horizontal"][show-all-thumbnails][media-range="L"]) ul{width:15rem}:host([effective-layout="Horizontal"][show-all-thumbnails][media-range="XL"]) ul{width:20rem}.ui5-media-gallery-thumbnail,.ui5-media-gallery-overflow [ui5-button]{width:4rem;height:4rem;flex-shrink:0}.ui5-media-gallery-overflow [ui5-button]{background:var(--_ui5-v2-4-1-rc-0_media_gallery_overflow_btn_background);color:var(--_ui5-v2-4-1-rc-0_media_gallery_overflow_btn_color);border:var(--_ui5-v2-4-1-rc-0_media_gallery_overflow_btn_border)}.ui5-media-gallery-thumbnail,.ui5-media-gallery-overflow{margin:0 0 0 1rem}:host([menu-vertical-align="Top"]) .ui5-media-gallery-thumbnail,:host([menu-vertical-align="Top"]) .ui5-media-gallery-overflow{margin:1rem 0 0 1rem}:host([effective-layout="Horizontal"]) .ui5-media-gallery-thumbnail,:host([effective-layout="Horizontal"]) .ui5-media-gallery-overflow{margin:1rem 0 0 1rem}:host([effective-layout="Horizontal"][menu-horizontal-align="Right"]) .ui5-media-gallery-thumbnail,:host([effective-layout="Horizontal"][menu-horizontal-align="Right"]) .ui5-media-gallery-overflow{margin:1rem 1rem 0 0}
1
+ :host{height:100%}:host,.ui5-media-gallery-display-wrapper,.ui5-media-gallery-display{width:100%}.ui5-media-gallery-root{width:inherit;height:inherit;background:var(--sapBaseColor);display:flex;flex-direction:column;position:relative}:host([menu-vertical-align="Top"]) .ui5-media-gallery-root{flex-direction:column-reverse}:host([effective-layout="Horizontal"]) .ui5-media-gallery-root{flex-direction:row-reverse}:host([effective-layout="Horizontal"][menu-horizontal-align="Right"]) .ui5-media-gallery-root{flex-direction:row}.ui5-media-gallery-display-wrapper{display:flex;justify-content:center;position:relative}:host([effective-layout="Horizontal"][show-all-thumbnails]) .ui5-media-gallery-display-wrapper{flex-grow:3;flex-basis:0}.ui5-media-gallery-display{position:relative;margin:1rem;display:flex;justify-content:center}.ui5-media-gallery-display [ui5-media-gallery-item]{z-index:1}[ui5-carousel]{width:calc(100% - 2rem)}[ui5-carousel]::part(item){padding:0;overflow:hidden}.ui5-media-gallery-thumbnails-wrapper{margin-block:1rem 0}:host([menu-vertical-align="Top"]) .ui5-media-gallery-thumbnails-wrapper{margin-block:0 1rem}:host([effective-layout="Horizontal"]) .ui5-media-gallery-thumbnails-wrapper{margin-inline:0 1rem}:host([effective-layout="Horizontal"][menu-horizontal-align="Right"]) .ui5-media-gallery-thumbnails-wrapper{margin-inline:1rem 0}:host([show-all-thumbnails]) .ui5-media-gallery-thumbnails-wrapper{overflow-x:auto;overflow-y:hidden}:host([effective-layout="Horizontal"][show-all-thumbnails]) .ui5-media-gallery-thumbnails-wrapper{overflow-y:auto;overflow-x:hidden;flex-grow:1;flex-basis:0}.ui5-media-gallery-thumbnails-wrapper ul{height:5rem;display:flex;flex-wrap:nowrap;padding-left:0;margin-top:0;margin-bottom:0;list-style-type:none;padding-inline-start:0}:host([effective-layout="Horizontal"]) ul{width:5rem;flex-wrap:wrap}:host([effective-layout="Horizontal"][show-all-thumbnails][media-range="M"]) ul{width:10rem}:host([effective-layout="Horizontal"][show-all-thumbnails][media-range="L"]) ul{width:15rem}:host([effective-layout="Horizontal"][show-all-thumbnails][media-range="XL"]) ul{width:20rem}.ui5-media-gallery-thumbnail,.ui5-media-gallery-overflow [ui5-button]{width:4rem;height:4rem;flex-shrink:0}.ui5-media-gallery-overflow [ui5-button]{background:var(--_ui5-v2-5-0-rc-0_media_gallery_overflow_btn_background);color:var(--_ui5-v2-5-0-rc-0_media_gallery_overflow_btn_color);border:var(--_ui5-v2-5-0-rc-0_media_gallery_overflow_btn_border)}.ui5-media-gallery-thumbnail,.ui5-media-gallery-overflow{margin:0 0 0 1rem}:host([menu-vertical-align="Top"]) .ui5-media-gallery-thumbnail,:host([menu-vertical-align="Top"]) .ui5-media-gallery-overflow{margin:1rem 0 0 1rem}:host([effective-layout="Horizontal"]) .ui5-media-gallery-thumbnail,:host([effective-layout="Horizontal"]) .ui5-media-gallery-overflow{margin:1rem 0 0 1rem}:host([effective-layout="Horizontal"][menu-horizontal-align="Right"]) .ui5-media-gallery-thumbnail,:host([effective-layout="Horizontal"][menu-horizontal-align="Right"]) .ui5-media-gallery-overflow{margin:1rem 1rem 0 0}