@ui5/webcomponents-fiori 2.4.0-rc.1 → 2.4.0-rc.2

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 (153) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/cypress/specs/BarcodeScannerDialog.cy.ts +124 -4
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/BarcodeScannerDialog.d.ts +24 -0
  5. package/dist/BarcodeScannerDialog.js +7 -0
  6. package/dist/BarcodeScannerDialog.js.map +1 -1
  7. package/dist/ViewSettingsDialog.d.ts +7 -0
  8. package/dist/ViewSettingsDialog.js +17 -1
  9. package/dist/ViewSettingsDialog.js.map +1 -1
  10. package/dist/css/themes/BarcodeScannerDialog.css +1 -1
  11. package/dist/css/themes/DynamicPage.css +1 -1
  12. package/dist/css/themes/DynamicPageHeader.css +1 -1
  13. package/dist/css/themes/DynamicPageHeaderActions.css +1 -1
  14. package/dist/css/themes/DynamicPageTitle.css +1 -1
  15. package/dist/css/themes/FlexibleColumnLayout.css +1 -1
  16. package/dist/css/themes/MediaGallery.css +1 -1
  17. package/dist/css/themes/MediaGalleryItem.css +1 -1
  18. package/dist/css/themes/NotificationListGroupItem.css +1 -1
  19. package/dist/css/themes/NotificationListItem.css +1 -1
  20. package/dist/css/themes/NotificationListItemBase.css +1 -1
  21. package/dist/css/themes/NotificationStateIcon.css +1 -1
  22. package/dist/css/themes/Page.css +1 -1
  23. package/dist/css/themes/ProductSwitchItem.css +1 -1
  24. package/dist/css/themes/ShellBar.css +1 -1
  25. package/dist/css/themes/SideNavigation.css +1 -1
  26. package/dist/css/themes/SideNavigationGroup.css +1 -1
  27. package/dist/css/themes/SideNavigationItem.css +1 -1
  28. package/dist/css/themes/SideNavigationItemBase.css +1 -1
  29. package/dist/css/themes/SideNavigationPopover.css +1 -1
  30. package/dist/css/themes/SideNavigationSubItem.css +1 -1
  31. package/dist/css/themes/Timeline.css +1 -1
  32. package/dist/css/themes/TimelineGroupItem.css +1 -1
  33. package/dist/css/themes/TimelineItem.css +1 -1
  34. package/dist/css/themes/UploadCollection.css +1 -1
  35. package/dist/css/themes/UploadCollectionItem.css +1 -1
  36. package/dist/css/themes/ViewSettingsDialog.css +1 -1
  37. package/dist/css/themes/Wizard.css +1 -1
  38. package/dist/css/themes/WizardTab.css +1 -1
  39. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  40. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  41. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  42. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  43. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  44. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  45. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  46. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  47. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  48. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  49. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  50. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  51. package/dist/custom-elements-internal.json +20 -0
  52. package/dist/custom-elements.json +10 -0
  53. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  54. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  55. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  56. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  57. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  58. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  59. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  60. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  61. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  62. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  63. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  64. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  65. package/dist/generated/templates/BarcodeScannerDialogTemplate.lit.js +1 -1
  66. package/dist/generated/templates/BarcodeScannerDialogTemplate.lit.js.map +1 -1
  67. package/dist/generated/themes/BarcodeScannerDialog.css.js +1 -1
  68. package/dist/generated/themes/BarcodeScannerDialog.css.js.map +1 -1
  69. package/dist/generated/themes/DynamicPage.css.js +1 -1
  70. package/dist/generated/themes/DynamicPage.css.js.map +1 -1
  71. package/dist/generated/themes/DynamicPageHeader.css.js +1 -1
  72. package/dist/generated/themes/DynamicPageHeader.css.js.map +1 -1
  73. package/dist/generated/themes/DynamicPageHeaderActions.css.js +1 -1
  74. package/dist/generated/themes/DynamicPageHeaderActions.css.js.map +1 -1
  75. package/dist/generated/themes/DynamicPageTitle.css.js +1 -1
  76. package/dist/generated/themes/DynamicPageTitle.css.js.map +1 -1
  77. package/dist/generated/themes/FlexibleColumnLayout.css.js +1 -1
  78. package/dist/generated/themes/FlexibleColumnLayout.css.js.map +1 -1
  79. package/dist/generated/themes/MediaGallery.css.js +1 -1
  80. package/dist/generated/themes/MediaGallery.css.js.map +1 -1
  81. package/dist/generated/themes/MediaGalleryItem.css.js +1 -1
  82. package/dist/generated/themes/MediaGalleryItem.css.js.map +1 -1
  83. package/dist/generated/themes/NotificationListGroupItem.css.js +1 -1
  84. package/dist/generated/themes/NotificationListGroupItem.css.js.map +1 -1
  85. package/dist/generated/themes/NotificationListItem.css.js +1 -1
  86. package/dist/generated/themes/NotificationListItem.css.js.map +1 -1
  87. package/dist/generated/themes/NotificationListItemBase.css.js +1 -1
  88. package/dist/generated/themes/NotificationListItemBase.css.js.map +1 -1
  89. package/dist/generated/themes/NotificationStateIcon.css.js +1 -1
  90. package/dist/generated/themes/NotificationStateIcon.css.js.map +1 -1
  91. package/dist/generated/themes/Page.css.js +1 -1
  92. package/dist/generated/themes/Page.css.js.map +1 -1
  93. package/dist/generated/themes/ProductSwitchItem.css.js +1 -1
  94. package/dist/generated/themes/ProductSwitchItem.css.js.map +1 -1
  95. package/dist/generated/themes/ShellBar.css.js +1 -1
  96. package/dist/generated/themes/ShellBar.css.js.map +1 -1
  97. package/dist/generated/themes/SideNavigation.css.js +1 -1
  98. package/dist/generated/themes/SideNavigation.css.js.map +1 -1
  99. package/dist/generated/themes/SideNavigationGroup.css.js +1 -1
  100. package/dist/generated/themes/SideNavigationGroup.css.js.map +1 -1
  101. package/dist/generated/themes/SideNavigationItem.css.js +1 -1
  102. package/dist/generated/themes/SideNavigationItem.css.js.map +1 -1
  103. package/dist/generated/themes/SideNavigationItemBase.css.js +1 -1
  104. package/dist/generated/themes/SideNavigationItemBase.css.js.map +1 -1
  105. package/dist/generated/themes/SideNavigationPopover.css.js +1 -1
  106. package/dist/generated/themes/SideNavigationPopover.css.js.map +1 -1
  107. package/dist/generated/themes/SideNavigationSubItem.css.js +1 -1
  108. package/dist/generated/themes/SideNavigationSubItem.css.js.map +1 -1
  109. package/dist/generated/themes/Timeline.css.js +1 -1
  110. package/dist/generated/themes/Timeline.css.js.map +1 -1
  111. package/dist/generated/themes/TimelineGroupItem.css.js +1 -1
  112. package/dist/generated/themes/TimelineGroupItem.css.js.map +1 -1
  113. package/dist/generated/themes/TimelineItem.css.js +1 -1
  114. package/dist/generated/themes/TimelineItem.css.js.map +1 -1
  115. package/dist/generated/themes/UploadCollection.css.js +1 -1
  116. package/dist/generated/themes/UploadCollection.css.js.map +1 -1
  117. package/dist/generated/themes/UploadCollectionItem.css.js +1 -1
  118. package/dist/generated/themes/UploadCollectionItem.css.js.map +1 -1
  119. package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
  120. package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
  121. package/dist/generated/themes/Wizard.css.js +1 -1
  122. package/dist/generated/themes/Wizard.css.js.map +1 -1
  123. package/dist/generated/themes/WizardTab.css.js +1 -1
  124. package/dist/generated/themes/WizardTab.css.js.map +1 -1
  125. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  126. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  127. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  128. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  129. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  130. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  131. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  132. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  133. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  134. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  135. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  136. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  137. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  138. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  139. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  140. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  141. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  142. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  143. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  144. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  145. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  146. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  147. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  148. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  149. package/dist/vscode.html-custom-data.json +1 -1
  150. package/dist/web-types.json +12 -2
  151. package/package.json +8 -8
  152. package/src/BarcodeScannerDialog.hbs +3 -2
  153. package/src/themes/BarcodeScannerDialog.css +4 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,23 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.4.0-rc.2](https://github.com/SAP/ui5-webcomponents/compare/v2.4.0-rc.1...v2.4.0-rc.2) (2024-10-24)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **ui5-notification-list:** fix header bar visibility ([#10010](https://github.com/SAP/ui5-webcomponents/issues/10010)) ([95db5c6](https://github.com/SAP/ui5-webcomponents/commit/95db5c63a3c21ba2d948f5070f3bd1ba85e584ef)), closes [#9995](https://github.com/SAP/ui5-webcomponents/issues/9995)
12
+
13
+
14
+ ### Features
15
+
16
+ * **ui5-barcode-scanner-dialog:** added support for custom header and footer slots ([#10066](https://github.com/SAP/ui5-webcomponents/issues/10066)) ([4d06b2e](https://github.com/SAP/ui5-webcomponents/commit/4d06b2e94024e1cf6e121650453362ca79fc8836)), closes [#8919](https://github.com/SAP/ui5-webcomponents/issues/8919)
17
+ * **ui5-filter-item, ui5-sort-item,..:** add selected `filterItems` to `ui5-confirm` event details ([#9838](https://github.com/SAP/ui5-webcomponents/issues/9838)) ([56ad311](https://github.com/SAP/ui5-webcomponents/commit/56ad3115affe17f453a30ac0880ac879dbbd763b))
18
+
19
+
20
+
21
+
22
+
6
23
  # [2.4.0-rc.1](https://github.com/SAP/ui5-webcomponents/compare/v2.4.0-rc.0...v2.4.0-rc.1) (2024-10-17)
7
24
 
8
25
 
@@ -4,6 +4,7 @@ import "../../src/BarcodeScannerDialog.js";
4
4
  import type BarcodeScannerDialog from "../../src/BarcodeScannerDialog.js";
5
5
 
6
6
  describe("BarcodeScannerDialog", () => {
7
+ let openDialogHandler: EventListener | null;
7
8
  let handleScanSuccess: (event: CustomEvent) => void;
8
9
  let handleScanError: (event: CustomEvent) => void;
9
10
 
@@ -49,6 +50,12 @@ describe("BarcodeScannerDialog", () => {
49
50
  handleScanError = undefined!;
50
51
  }
51
52
 
53
+ const btnScan = doc.querySelector("#btnScan");
54
+ if (btnScan && openDialogHandler) {
55
+ btnScan.removeEventListener("click", openDialogHandler);
56
+ }
57
+ openDialogHandler = null;
58
+
52
59
  // Clear the scan result and error
53
60
  const scanResultElement = doc.querySelector("#scanResult")!;
54
61
  const scanErrorElement = doc.querySelector("#scanError")!;
@@ -82,7 +89,7 @@ describe("BarcodeScannerDialog", () => {
82
89
  // Close the dialog using the close button
83
90
  cy.get("@dialog")
84
91
  .shadow()
85
- .find("ui5-dialog [slot=footer] ui5-button")
92
+ .find("ui5-dialog slot[name=footer] ui5-button")
86
93
  .realClick();
87
94
 
88
95
  // Verify the dialog is closed
@@ -188,7 +195,7 @@ describe("BarcodeScannerDialog", () => {
188
195
  // Close the dialog using the close button
189
196
  cy.get("@dialog")
190
197
  .shadow()
191
- .find("ui5-dialog [slot=footer] ui5-button")
198
+ .find("ui5-dialog slot[name=footer] ui5-button")
192
199
  .realClick();
193
200
 
194
201
  // Verify the dialog is closed
@@ -266,7 +273,7 @@ describe("BarcodeScannerDialog", () => {
266
273
  const dlgScan = $dialog.get(0) as BarcodeScannerDialog;
267
274
 
268
275
  // Simulate the scan success
269
- dlgScan.fireEvent("scan-success", {
276
+ dlgScan.fireDecoratorEvent("scan-success", {
270
277
  text: "mocked-scan-result",
271
278
  rawBytes: new Uint8Array(),
272
279
  });
@@ -301,7 +308,7 @@ describe("BarcodeScannerDialog", () => {
301
308
  const dlgScan = $dialog.get(0) as BarcodeScannerDialog;
302
309
 
303
310
  // Simulate the scan error
304
- dlgScan.fireEvent("scan-error", {
311
+ dlgScan.fireDecoratorEvent("scan-error", {
305
312
  message: "mocked-scan-error",
306
313
  });
307
314
  });
@@ -347,3 +354,116 @@ describe("BarcodeScannerDialog", () => {
347
354
  });
348
355
  });
349
356
  });
357
+
358
+ describe("BarcodeScannerDialog with Custom Slots", () => {
359
+ let openDialogHandler: EventListener | null;
360
+ let closeDialogHandler: EventListener | null;
361
+
362
+ beforeEach(() => {
363
+ cy.mount(html`
364
+ <ui5-barcode-scanner-dialog id="dlgScanCustom">
365
+ <div slot="header" class="custom-dialog-header">
366
+ <ui5-title level="H2">My Custom Header</ui5-title>
367
+ </div>
368
+ <div slot="footer" class="custom-dialog-footer">
369
+ <ui5-button id="customCloseBtn">My Custom Close Button</ui5-button>
370
+ </div>
371
+ </ui5-barcode-scanner-dialog>
372
+ <ui5-button id="btnScanCustom" icon="camera">Open Custom Scanner Dialog</ui5-button>
373
+ `);
374
+
375
+ cy.get("#dlgScanCustom").as("customDialog");
376
+ cy.get("#btnScanCustom").as("customButton");
377
+ cy.get("@customDialog")
378
+ .shadow()
379
+ .find(".ui5-barcode-scanner-dialog-video")
380
+ .as("videoElement");
381
+
382
+ cy.document().then(doc => {
383
+ const dlgScanCustom = doc.querySelector<BarcodeScannerDialog>("#dlgScanCustom")!;
384
+ const btnScanCustom = doc.querySelector("#btnScanCustom")!;
385
+ const btnScanCustomClose = doc.querySelector("#customCloseBtn")!;
386
+
387
+ btnScanCustom.addEventListener("click", () => {
388
+ dlgScanCustom.open = true;
389
+ });
390
+
391
+ btnScanCustomClose.addEventListener("click", () => {
392
+ dlgScanCustom.open = false;
393
+ });
394
+ });
395
+ });
396
+
397
+ afterEach(() => {
398
+ cy.document().then(doc => {
399
+ const btnScanCustom = doc.querySelector("#btnScanCustom");
400
+ const btnScanCustomClose = doc.querySelector("#customCloseBtn");
401
+
402
+ if (btnScanCustom && openDialogHandler) {
403
+ btnScanCustom.removeEventListener("click", openDialogHandler);
404
+ }
405
+ openDialogHandler = null;
406
+
407
+ if (btnScanCustomClose && closeDialogHandler) {
408
+ btnScanCustomClose.removeEventListener("click", closeDialogHandler);
409
+ }
410
+
411
+ closeDialogHandler = null;
412
+ });
413
+ });
414
+
415
+ it("renders custom header when provided", () => {
416
+ // Click the button to open the custom dialog
417
+ cy.get("@customButton").realClick();
418
+
419
+ // Wait for the video to be ready
420
+ cy.get("@videoElement").should($video => {
421
+ const videoEl = $video[0] as HTMLVideoElement;
422
+ expect(videoEl.readyState, "Video readyState should be >= 1").to.be.at.least(1);
423
+ });
424
+
425
+ // Assert that the dialog is open
426
+ cy.get("@customDialog")
427
+ .shadow()
428
+ .find("ui5-dialog")
429
+ .should("have.attr", "open");
430
+
431
+ // Verify that the custom header is rendered
432
+ cy.get("@customDialog")
433
+ .find("[slot=header] ui5-title")
434
+ .should("contain.text", "My Custom Header");
435
+ });
436
+
437
+ it("renders custom footer and functions correctly", () => {
438
+ // Click the button to open the custom dialog
439
+ cy.get("@customButton").realClick();
440
+
441
+ // Wait for the video to be ready
442
+ cy.get("@videoElement").should($video => {
443
+ const videoEl = $video[0] as HTMLVideoElement;
444
+ expect(videoEl.readyState, "Video readyState should be >= 1").to.be.at.least(1);
445
+ });
446
+
447
+ // Assert that the dialog is open
448
+ cy.get("@customDialog")
449
+ .shadow()
450
+ .find("ui5-dialog")
451
+ .should("have.attr", "open");
452
+
453
+ // Verify that the custom footer is rendered
454
+ cy.get("@customDialog")
455
+ .find("[slot=footer] ui5-button")
456
+ .should("contain.text", "My Custom Close Button");
457
+
458
+ // Test that the custom button closes the dialog
459
+ cy.get("@customDialog")
460
+ .find("#customCloseBtn")
461
+ .realClick();
462
+
463
+ // Verify the dialog is closed
464
+ cy.get("@customDialog")
465
+ .shadow()
466
+ .find("ui5-dialog")
467
+ .should("not.have.attr", "open");
468
+ });
469
+ });