@ui5/webcomponents-fiori 0.0.0-11d529e8a → 0.0.0-1e08ebdef

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 (219) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/README.md +1 -1
  3. package/dist/Assets-static.js +1 -1
  4. package/dist/Assets.js +1 -1
  5. package/dist/BarcodeScannerDialog.js +4 -5
  6. package/dist/FilterItem.js +1 -0
  7. package/dist/FilterItemOption.js +1 -0
  8. package/dist/FlexibleColumnLayout.js +9 -10
  9. package/dist/IllustratedMessage.js +4 -5
  10. package/dist/NotificationListGroupItem.js +11 -16
  11. package/dist/NotificationListItem.js +9 -14
  12. package/dist/NotificationListItemBase.js +4 -7
  13. package/dist/ProductSwitch.js +3 -5
  14. package/dist/ShellBar.js +127 -32
  15. package/dist/ShellBarItem.js +5 -17
  16. package/dist/SideNavigation.js +4 -0
  17. package/dist/SortItem.js +1 -0
  18. package/dist/Timeline.js +3 -4
  19. package/dist/UploadCollection.js +7 -8
  20. package/dist/UploadCollectionItem.js +16 -13
  21. package/dist/ViewSettingsDialog.js +12 -13
  22. package/dist/Wizard.js +18 -29
  23. package/dist/WizardStep.js +0 -23
  24. package/dist/api.json +62 -35
  25. package/dist/css/themes/Bar.css +1 -0
  26. package/dist/css/themes/BarcodeScannerDialog.css +1 -0
  27. package/dist/css/themes/FilterItem.css +1 -0
  28. package/dist/css/themes/FlexibleColumnLayout.css +1 -0
  29. package/dist/css/themes/IllustratedMessage.css +1 -0
  30. package/dist/css/themes/InvisibleTextStyles.css +1 -0
  31. package/dist/css/themes/NotifactionOverflowActionsPopover.css +1 -0
  32. package/dist/css/themes/NotificationListGroupItem.css +1 -0
  33. package/dist/css/themes/NotificationListItem.css +1 -0
  34. package/dist/css/themes/NotificationListItemBase.css +1 -0
  35. package/dist/css/themes/NotificationPrioIcon.css +1 -0
  36. package/dist/css/themes/Page.css +1 -0
  37. package/dist/css/themes/ProductSwitch.css +1 -0
  38. package/dist/css/themes/ProductSwitchItem.css +1 -0
  39. package/dist/css/themes/ShellBar.css +1 -0
  40. package/dist/css/themes/SideNavigation.css +1 -0
  41. package/dist/css/themes/Timeline.css +1 -0
  42. package/dist/css/themes/TimelineItem.css +1 -0
  43. package/dist/css/themes/UploadCollection.css +1 -0
  44. package/dist/css/themes/UploadCollectionItem.css +1 -0
  45. package/dist/css/themes/ViewSettingsDialog.css +1 -0
  46. package/dist/css/themes/Wizard.css +1 -0
  47. package/dist/css/themes/WizardPopover.css +1 -0
  48. package/dist/css/themes/WizardTab.css +1 -0
  49. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -0
  50. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -0
  51. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -0
  52. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -0
  53. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
  54. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
  55. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
  56. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -0
  57. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -0
  58. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  59. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  60. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  61. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  62. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  63. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  64. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  65. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  66. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
  67. package/dist/generated/json-imports/Themes-static.js +4 -2
  68. package/dist/generated/json-imports/Themes.js +2 -1
  69. package/dist/generated/templates/FilterItemTemplate.lit.js +1 -1
  70. package/dist/generated/templates/FlexibleColumnLayoutTemplate.lit.js +1 -1
  71. package/dist/generated/templates/IllustratedMessageTemplate.lit.js +1 -1
  72. package/dist/generated/templates/NotificationListGroupItemTemplate.lit.js +1 -1
  73. package/dist/generated/templates/NotificationListItemTemplate.lit.js +2 -2
  74. package/dist/generated/templates/ShellBarTemplate.lit.js +6 -6
  75. package/dist/generated/templates/SideNavigationItemPopoverContentTemplate.lit.js +1 -1
  76. package/dist/generated/templates/TimelineTemplate.lit.js +1 -1
  77. package/dist/generated/templates/UploadCollectionItemTemplate.lit.js +1 -1
  78. package/dist/generated/templates/WizardTemplate.lit.js +2 -2
  79. package/dist/generated/themes/Bar.css.js +3 -3
  80. package/dist/generated/themes/BarcodeScannerDialog.css.js +3 -3
  81. package/dist/generated/themes/FilterItem.css.js +3 -3
  82. package/dist/generated/themes/FlexibleColumnLayout.css.js +3 -3
  83. package/dist/generated/themes/IllustratedMessage.css.js +3 -3
  84. package/dist/generated/themes/InvisibleTextStyles.css.js +3 -3
  85. package/dist/generated/themes/NotifactionOverflowActionsPopover.css.js +3 -3
  86. package/dist/generated/themes/NotificationListGroupItem.css.js +3 -3
  87. package/dist/generated/themes/NotificationListItem.css.js +3 -3
  88. package/dist/generated/themes/NotificationListItemBase.css.js +3 -3
  89. package/dist/generated/themes/NotificationPrioIcon.css.js +3 -3
  90. package/dist/generated/themes/Page.css.js +3 -3
  91. package/dist/generated/themes/ProductSwitch.css.js +3 -3
  92. package/dist/generated/themes/ProductSwitchItem.css.js +3 -3
  93. package/dist/generated/themes/ShellBar.css.js +3 -3
  94. package/dist/generated/themes/SideNavigation.css.js +3 -3
  95. package/dist/generated/themes/Timeline.css.js +3 -3
  96. package/dist/generated/themes/TimelineItem.css.js +3 -3
  97. package/dist/generated/themes/UploadCollection.css.js +3 -3
  98. package/dist/generated/themes/UploadCollectionItem.css.js +3 -3
  99. package/dist/generated/themes/ViewSettingsDialog.css.js +3 -3
  100. package/dist/generated/themes/Wizard.css.js +3 -3
  101. package/dist/generated/themes/WizardPopover.css.js +3 -3
  102. package/dist/generated/themes/WizardTab.css.js +3 -3
  103. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  104. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  105. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  106. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  107. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  108. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  109. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  110. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  111. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
  112. package/package-scripts.js +1 -1
  113. package/package.json +8 -8
  114. package/src/Assets-static.js +1 -1
  115. package/src/Assets.js +1 -1
  116. package/src/BarcodeScannerDialog.js +4 -5
  117. package/src/FilterItem.js +1 -0
  118. package/src/FilterItemOption.js +1 -0
  119. package/src/FlexibleColumnLayout.hbs +0 -2
  120. package/src/FlexibleColumnLayout.js +9 -10
  121. package/src/IllustratedMessage.hbs +13 -13
  122. package/src/IllustratedMessage.js +4 -5
  123. package/src/NotificationListGroupItem.hbs +0 -1
  124. package/src/NotificationListGroupItem.js +11 -16
  125. package/src/NotificationListItem.hbs +1 -1
  126. package/src/NotificationListItem.js +9 -14
  127. package/src/NotificationListItemBase.js +4 -7
  128. package/src/ProductSwitch.js +3 -5
  129. package/src/ShellBar.hbs +24 -19
  130. package/src/ShellBar.js +127 -32
  131. package/src/ShellBarItem.js +5 -17
  132. package/src/SideNavigation.js +4 -0
  133. package/src/SideNavigationItemPopoverContent.hbs +1 -0
  134. package/src/SortItem.js +1 -0
  135. package/src/Timeline.hbs +1 -1
  136. package/src/Timeline.js +3 -4
  137. package/src/UploadCollection.js +7 -8
  138. package/src/UploadCollectionItem.js +16 -13
  139. package/src/ViewSettingsDialog.js +12 -13
  140. package/src/Wizard.hbs +3 -1
  141. package/src/Wizard.js +18 -29
  142. package/src/WizardStep.js +0 -23
  143. package/src/themes/Bar.css +72 -0
  144. package/src/themes/BarcodeScannerDialog.css +35 -0
  145. package/src/themes/FilterItem.css +3 -0
  146. package/src/themes/FlexibleColumnLayout.css +111 -0
  147. package/src/themes/IllustratedMessage.css +167 -0
  148. package/src/themes/InvisibleTextStyles.css +9 -0
  149. package/src/themes/NotifactionOverflowActionsPopover.css +5 -0
  150. package/src/themes/NotificationListGroupItem.css +86 -0
  151. package/src/themes/NotificationListItem.css +168 -0
  152. package/src/themes/NotificationListItemBase.css +57 -0
  153. package/src/themes/NotificationPrioIcon.css +22 -0
  154. package/src/themes/Page.css +129 -0
  155. package/src/themes/ProductSwitch.css +30 -0
  156. package/src/themes/ProductSwitchItem.css +179 -0
  157. package/src/themes/ShellBar.css +534 -0
  158. package/src/themes/SideNavigation.css +50 -0
  159. package/src/themes/Timeline.css +52 -0
  160. package/src/themes/TimelineItem.css +287 -0
  161. package/src/themes/UploadCollection.css +118 -0
  162. package/src/themes/UploadCollectionItem.css +166 -0
  163. package/src/themes/ViewSettingsDialog.css +56 -0
  164. package/src/themes/Wizard.css +89 -0
  165. package/src/themes/WizardPopover.css +18 -0
  166. package/src/themes/WizardTab.css +171 -0
  167. package/src/themes/base/Bar-parameters.css +11 -0
  168. package/src/themes/base/FlexibleColumnLayout-parameters.css +6 -0
  169. package/src/themes/base/IllustratedMessage-parameters.css +13 -0
  170. package/src/themes/base/NotificationListItem-parameters.css +3 -0
  171. package/src/themes/base/Page-parameters.css +3 -0
  172. package/src/themes/base/ProductSwitchItem-parameters.css +10 -0
  173. package/src/themes/base/ShellBar-parameters.css +10 -0
  174. package/src/themes/base/SideNavigation-parameters.css +3 -0
  175. package/src/themes/base/TimelineItem-parameters.css +12 -0
  176. package/src/themes/base/UploadCollection-parameters.css +5 -0
  177. package/src/themes/base/WizardTab-parameters.css +11 -0
  178. package/src/themes/sap_belize/parameters-bundle.css +9 -0
  179. package/src/themes/sap_belize_hcb/FlexibleColumnLayout-parameters.css +6 -0
  180. package/src/themes/sap_belize_hcb/Page-parameters.css +3 -0
  181. package/src/themes/sap_belize_hcb/ProductSwitchItem-parameters.css +8 -0
  182. package/src/themes/sap_belize_hcb/TimelineItem-parameters.css +11 -0
  183. package/src/themes/sap_belize_hcb/UploadCollection-parameters.css +7 -0
  184. package/src/themes/sap_belize_hcb/WizardTab-parameters.css +9 -0
  185. package/src/themes/sap_belize_hcb/parameters-bundle.css +9 -0
  186. package/src/themes/sap_belize_hcw/FlexibleColumnLayout-parameters.css +6 -0
  187. package/src/themes/sap_belize_hcw/Page-parameters.css +3 -0
  188. package/src/themes/sap_belize_hcw/ProductSwitchItem-parameters.css +8 -0
  189. package/src/themes/sap_belize_hcw/TimelineItem-parameters.css +11 -0
  190. package/src/themes/sap_belize_hcw/UploadCollection-parameters.css +6 -0
  191. package/src/themes/sap_belize_hcw/WizardTab-parameters.css +8 -0
  192. package/src/themes/sap_belize_hcw/parameters-bundle.css +9 -0
  193. package/src/themes/sap_fiori_3/parameters-bundle.css +9 -0
  194. package/src/themes/sap_fiori_3_dark/FlexibleColumnLayout-parameters.css +6 -0
  195. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +9 -0
  196. package/src/themes/sap_fiori_3_hcb/FlexibleColumnLayout-parameters.css +6 -0
  197. package/src/themes/sap_fiori_3_hcb/Page-parameters.css +3 -0
  198. package/src/themes/sap_fiori_3_hcb/ProductSwitchItem-parameters.css +9 -0
  199. package/src/themes/sap_fiori_3_hcb/TimelineItem-parameters.css +11 -0
  200. package/src/themes/sap_fiori_3_hcb/UploadCollection-parameters.css +9 -0
  201. package/src/themes/sap_fiori_3_hcb/WizardTab-parameters.css +9 -0
  202. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +9 -0
  203. package/src/themes/sap_fiori_3_hcw/FlexibleColumnLayout-parameters.css +6 -0
  204. package/src/themes/sap_fiori_3_hcw/Page-parameters.css +3 -0
  205. package/src/themes/sap_fiori_3_hcw/ProductSwitchItem-parameters.css +9 -0
  206. package/src/themes/sap_fiori_3_hcw/TimelineItem-parameters.css +11 -0
  207. package/src/themes/sap_fiori_3_hcw/UploadCollection-parameters.css +8 -0
  208. package/src/themes/sap_fiori_3_hcw/WizardTab-parameters.css +8 -0
  209. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +9 -0
  210. package/src/themes/sap_horizon/NotificationListItem-parameters.css +3 -0
  211. package/src/themes/sap_horizon/ProductSwitchItem-parameters.css +5 -0
  212. package/src/themes/sap_horizon/ShellBar-parameters.css +10 -0
  213. package/src/themes/sap_horizon/SideNavigation-parameters.css +5 -0
  214. package/src/themes/sap_horizon/TimelineItem-parameters.css +13 -0
  215. package/src/themes/sap_horizon/WizardTab-parameters.css +8 -0
  216. package/src/themes/sap_horizon/parameters-bundle.css +11 -0
  217. package/src/themes/sap_horizon_exp/parameters-bundle.css +9 -0
  218. package/dist/generated/templates/ShellBarItemTemplate.lit.js +0 -7
  219. package/src/ShellBarItem.hbs +0 -1
package/dist/ShellBar.js CHANGED
@@ -9,7 +9,7 @@ import StandardListItem from "@ui5/webcomponents/dist/StandardListItem.js";
9
9
  import List from "@ui5/webcomponents/dist/List.js";
10
10
  import Popover from "@ui5/webcomponents/dist/Popover.js";
11
11
  import Button from "@ui5/webcomponents/dist/Button.js";
12
- import { fetchI18nBundle, getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
12
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
13
13
  import "@ui5/webcomponents-icons/dist/search.js";
14
14
  import "@ui5/webcomponents-icons/dist/bell.js";
15
15
  import "@ui5/webcomponents-icons/dist/overflow.js";
@@ -111,6 +111,21 @@ const metadata = {
111
111
  type: Boolean,
112
112
  },
113
113
 
114
+ /**
115
+ * An object of strings that defines several additional accessibility texts
116
+ * for even further customization.
117
+ *
118
+ * It supports the following fields:
119
+ * - <code>profileButtonTitle</code>: defines the tooltip for the profile button
120
+ *
121
+ * @type {object}
122
+ * @public
123
+ * @since 1.1.0
124
+ */
125
+ accessibilityTexts: {
126
+ type: Object,
127
+ },
128
+
114
129
  /**
115
130
  * @private
116
131
  */
@@ -362,12 +377,6 @@ const metadata = {
362
377
  * <li>product-switch</li>
363
378
  * </ul>
364
379
  *
365
- * In the context of <code>ui5-shellbar</code>, you can provide a custom stable DOM refs for:
366
- * <ul>
367
- * <li>Every <code>ui5-shellbar-item</code> that you provide.
368
- * Example: <code><ui5-shellbar-item stable-dom-ref="messages"></ui5-shellbar-item></code></li>
369
- * </ul>
370
- *
371
380
  * <h3>CSS Shadow Parts</h3>
372
381
  *
373
382
  * <ui5-link target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/::part">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.
@@ -472,8 +481,6 @@ class ShellBar extends UI5Element {
472
481
  this._overflowActions();
473
482
  }, HANDLE_RESIZE_DEBOUNCE_RATE);
474
483
  };
475
-
476
- this.i18nBundle = getI18nBundle("@ui5/webcomponents-fiori");
477
484
  }
478
485
 
479
486
  _debounce(fn, delay) {
@@ -621,7 +628,9 @@ class ShellBar extends UI5Element {
621
628
  return {
622
629
  ...info,
623
630
  classes: `${info.classes} ${shouldStayOnScreen ? "" : "ui5-shellbar-hidden-button"} ui5-shellbar-button`,
624
- style: `order: ${shouldStayOnScreen ? 1 : -1}`,
631
+ styles: {
632
+ order: shouldStayOnScreen ? 1 : -1,
633
+ },
625
634
  };
626
635
  });
627
636
 
@@ -668,7 +677,9 @@ class ShellBar extends UI5Element {
668
677
  for (let i = 0; i < itemsByPriority.length; i++) {
669
678
  if (i < overflowCount) {
670
679
  itemsByPriority[i].classes = `${itemsByPriority[i].classes} ui5-shellbar-hidden-button`;
671
- itemsByPriority[i].style = `order: -1`;
680
+ itemsByPriority[i].styles = {
681
+ order: -1,
682
+ };
672
683
  }
673
684
  }
674
685
 
@@ -686,9 +697,10 @@ class ShellBar extends UI5Element {
686
697
  this._updateItemsInfo(newItems);
687
698
  }
688
699
 
689
- _toggleActionPopover() {
700
+ async _toggleActionPopover() {
690
701
  const overflowButton = this.shadowRoot.querySelector(".ui5-shellbar-overflow-button");
691
- this.overflowPopover.showAt(overflowButton);
702
+ const overflowPopover = await this._getOverflowPopover();
703
+ overflowPopover.showAt(overflowButton);
692
704
  }
693
705
 
694
706
  onEnterDOM() {
@@ -729,10 +741,10 @@ class ShellBar extends UI5Element {
729
741
 
730
742
  if (refItemId) {
731
743
  const shellbarItem = this.items.find(item => {
732
- return item.shadowRoot.querySelector(`#${refItemId}`);
744
+ return item._id === refItemId;
733
745
  });
734
746
 
735
- const prevented = !shellbarItem.fireEvent("item-click", { targetRef: event.target }, true);
747
+ const prevented = !shellbarItem.fireEvent("click", { targetRef: event.target }, true);
736
748
 
737
749
  this._defaultItemPressPrevented = prevented;
738
750
  }
@@ -768,6 +780,72 @@ class ShellBar extends UI5Element {
768
780
  }, true);
769
781
  }
770
782
 
783
+ /**
784
+ * Returns the <code>logo</code> DOM ref.
785
+ * @type { HTMLElement }
786
+ * @public
787
+ * @readonly
788
+ * @since 1.0.0-rc.16
789
+ */
790
+ get logoDomRef() {
791
+ return this.shadowRoot.querySelector(`*[data-ui5-stable="logo"]`);
792
+ }
793
+
794
+ /**
795
+ * Returns the <code>copilot</code> DOM ref.
796
+ * @type { HTMLElement }
797
+ * @public
798
+ * @readonly
799
+ * @since 1.0.0-rc.16
800
+ */
801
+ get copilotDomRef() {
802
+ return this.shadowRoot.querySelector(`*[data-ui5-stable="copilot"]`);
803
+ }
804
+
805
+ /**
806
+ * Returns the <code>notifications</code> icon DOM ref.
807
+ * @type { HTMLElement }
808
+ * @public
809
+ * @readonly
810
+ * @since 1.0.0-rc.16
811
+ */
812
+ get notificationsDomRef() {
813
+ return this.shadowRoot.querySelector(`*[data-ui5-stable="notifications"]`);
814
+ }
815
+
816
+ /**
817
+ * Returns the <code>overflow</code> icon DOM ref.
818
+ * @type { HTMLElement }
819
+ * @public
820
+ * @readonly
821
+ * @since 1.0.0-rc.16
822
+ */
823
+ get overflowDomRef() {
824
+ return this.shadowRoot.querySelector(`*[data-ui5-stable="overflow"]`);
825
+ }
826
+
827
+ /**
828
+ * Returns the <code>profile</code> icon DOM ref.
829
+ * @type { HTMLElement }
830
+ * @public
831
+ * @readonly
832
+ * @since 1.0.0-rc.16
833
+ */
834
+ get profileDomRef() {
835
+ return this.shadowRoot.querySelector(`*[data-ui5-stable="profile"]`);
836
+ }
837
+
838
+ /**
839
+ * Returns the <code>product-switch</code> icon DOM ref.
840
+ * @type { HTMLElement }
841
+ * @public
842
+ * @readonly
843
+ * @since 1.0.0-rc.16
844
+ */
845
+ get productSwitchDomRef() {
846
+ return this.shadowRoot.querySelector(`*[data-ui5-stable="product-switch"]`);
847
+ }
848
+
771
849
  /**
772
850
  * Returns all items that will be placed in the right of the bar as icons / dom elements.
773
851
  * @param {boolean} showOverflowButton Determines if overflow button should be visible (not overflowing)
@@ -782,12 +860,15 @@ class ShellBar extends UI5Element {
782
860
  classes: `${this.searchField.length ? "" : "ui5-shellbar-invisible-button"} ui5-shellbar-search-button ui5-shellbar-button`,
783
861
  priority: 4,
784
862
  domOrder: this.searchField.length ? (++domOrder) : -1,
785
- style: `order: ${this.searchField.length ? 1 : -10}`,
863
+ styles: {
864
+ order: this.searchField.length ? 1 : -10,
865
+ },
786
866
  id: `${this._id}-item-${1}`,
787
867
  press: this._handleSearchIconPress.bind(this),
788
868
  show: !!this.searchField.length,
789
869
  },
790
870
  ...this.items.map((item, index) => {
871
+ item._getRealDomRef = () => this.getDomRef().querySelector(`*[data-ui5-stable=${item.stableDomRef}]`);
791
872
  return {
792
873
  icon: item.icon,
793
874
  id: item._id,
@@ -797,7 +878,9 @@ class ShellBar extends UI5Element {
797
878
  classes: "ui5-shellbar-custom-item ui5-shellbar-button",
798
879
  priority: 1,
799
880
  domOrder: (++domOrder),
800
- style: `order: ${2}`,
881
+ styles: {
882
+ order: 2,
883
+ },
801
884
  show: true,
802
885
  press: this._handleCustomActionPress.bind(this),
803
886
  custom: true,
@@ -810,7 +893,9 @@ class ShellBar extends UI5Element {
810
893
  text: "Notifications",
811
894
  classes: `${this.showNotifications ? "" : "ui5-shellbar-invisible-button"} ui5-shellbar-bell-button ui5-shellbar-button`,
812
895
  priority: 3,
813
- style: `order: ${this.showNotifications ? 3 : -10}`,
896
+ styles: {
897
+ order: this.showNotifications ? 3 : -10,
898
+ },
814
899
  id: `${this._id}-item-${2}`,
815
900
  show: this.showNotifications,
816
901
  domOrder: this.showNotifications ? (++domOrder) : -1,
@@ -822,7 +907,9 @@ class ShellBar extends UI5Element {
822
907
  classes: `${showOverflowButton ? "" : "ui5-shellbar-hidden-button"} ui5-shellbar-overflow-button-shown ui5-shellbar-overflow-button ui5-shellbar-button`,
823
908
  priority: 5,
824
909
  order: 4,
825
- style: `order: ${showOverflowButton ? 4 : -1}`,
910
+ styles: {
911
+ order: showOverflowButton ? 4 : -1,
912
+ },
826
913
  domOrder: showOverflowButton ? (++domOrder) : -1,
827
914
  id: `${this.id}-item-${5}`,
828
915
  press: this._handleOverflowPress.bind(this),
@@ -832,7 +919,9 @@ class ShellBar extends UI5Element {
832
919
  text: "Person",
833
920
  classes: `${this.hasProfile ? "" : "ui5-shellbar-invisible-button"} ui5-shellbar-image-button ui5-shellbar-button`,
834
921
  priority: 4,
835
- style: `order: ${this.hasProfile ? 5 : -10};`,
922
+ styles: {
923
+ order: this.hasProfile ? 5 : -10,
924
+ },
836
925
  profile: true,
837
926
  id: `${this._id}-item-${3}`,
838
927
  domOrder: this.hasProfile ? (++domOrder) : -1,
@@ -844,7 +933,9 @@ class ShellBar extends UI5Element {
844
933
  text: "Product Switch",
845
934
  classes: `${this.showProductSwitch ? "" : "ui5-shellbar-invisible-button"} ui5-shellbar-button ui5-shellbar-button-product-switch`,
846
935
  priority: 2,
847
- style: `order: ${this.showProductSwitch ? 6 : -10}`,
936
+ styles: {
937
+ order: this.showProductSwitch ? 6 : -10,
938
+ },
848
939
  id: `${this._id}-item-${4}`,
849
940
  show: this.showProductSwitch,
850
941
  domOrder: this.showProductSwitch ? (++domOrder) : -1,
@@ -891,6 +982,11 @@ class ShellBar extends UI5Element {
891
982
  this.menuPopover = staticAreaItem.querySelector(".ui5-shellbar-menu-popover");
892
983
  }
893
984
 
985
+ async _getOverflowPopover() {
986
+ const staticAreaItem = await this.getStaticAreaItemDomRef();
987
+ return staticAreaItem.querySelector(".ui5-shellbar-overflow-popover");
988
+ }
989
+
894
990
  async _getMenuPopover() {
895
991
  const staticAreaItem = await this.getStaticAreaItemDomRef();
896
992
  return staticAreaItem.querySelector(".ui5-shellbar-menu-popover");
@@ -911,7 +1007,6 @@ class ShellBar extends UI5Element {
911
1007
  wrapper: {
912
1008
  "ui5-shellbar-root": true,
913
1009
  "ui5-shellbar-with-searchfield": this.searchField.length,
914
- "ui5-shellbar-with-coPilot": this.showCoPilot,
915
1010
  },
916
1011
  button: {
917
1012
  "ui5-shellbar-menu-button--interactive": this.hasMenuItems,
@@ -1022,23 +1117,23 @@ class ShellBar extends UI5Element {
1022
1117
  }
1023
1118
 
1024
1119
  get _shellbarText() {
1025
- return this.i18nBundle.getText(SHELLBAR_LABEL);
1120
+ return ShellBar.i18nBundle.getText(SHELLBAR_LABEL);
1026
1121
  }
1027
1122
 
1028
1123
  get _logoText() {
1029
- return this.i18nBundle.getText(SHELLBAR_LOGO);
1124
+ return ShellBar.i18nBundle.getText(SHELLBAR_LOGO);
1030
1125
  }
1031
1126
 
1032
1127
  get _copilotText() {
1033
- return this.i18nBundle.getText(SHELLBAR_COPILOT);
1128
+ return ShellBar.i18nBundle.getText(SHELLBAR_COPILOT);
1034
1129
  }
1035
1130
 
1036
1131
  get _notificationsText() {
1037
- return this.i18nBundle.getText(SHELLBAR_NOTIFICATIONS, this.notificationsCount);
1132
+ return ShellBar.i18nBundle.getText(SHELLBAR_NOTIFICATIONS, this.notificationsCount);
1038
1133
  }
1039
1134
 
1040
1135
  get _cancelBtnText() {
1041
- return this.i18nBundle.getText(SHELLBAR_CANCEL);
1136
+ return ShellBar.i18nBundle.getText(SHELLBAR_CANCEL);
1042
1137
  }
1043
1138
 
1044
1139
  get _showFullWidthSearch() {
@@ -1049,19 +1144,19 @@ class ShellBar extends UI5Element {
1049
1144
  }
1050
1145
 
1051
1146
  get _profileText() {
1052
- return this.i18nBundle.getText(SHELLBAR_PROFILE);
1147
+ return this.accessibilityTexts.profileButtonTitle || ShellBar.i18nBundle.getText(SHELLBAR_PROFILE);
1053
1148
  }
1054
1149
 
1055
1150
  get _productsText() {
1056
- return this.i18nBundle.getText(SHELLBAR_PRODUCTS);
1151
+ return ShellBar.i18nBundle.getText(SHELLBAR_PRODUCTS);
1057
1152
  }
1058
1153
 
1059
1154
  get _searchText() {
1060
- return this.i18nBundle.getText(SHELLBAR_SEARCH);
1155
+ return ShellBar.i18nBundle.getText(SHELLBAR_SEARCH);
1061
1156
  }
1062
1157
 
1063
1158
  get _overflowText() {
1064
- return this.i18nBundle.getText(SHELLBAR_OVERFLOW);
1159
+ return ShellBar.i18nBundle.getText(SHELLBAR_OVERFLOW);
1065
1160
  }
1066
1161
 
1067
1162
  get accInfo() {
@@ -1097,7 +1192,7 @@ class ShellBar extends UI5Element {
1097
1192
  }
1098
1193
 
1099
1194
  static async onDefine() {
1100
- await fetchI18nBundle("@ui5/webcomponents-fiori");
1195
+ ShellBar.i18nBundle = await getI18nBundle("@ui5/webcomponents-fiori");
1101
1196
  }
1102
1197
  }
1103
1198
 
@@ -1,9 +1,6 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
3
 
4
- // Template
5
- import ShellBarItemTemplate from "./generated/templates/ShellBarItemTemplate.lit.js";
6
-
7
4
  /**
8
5
  * @public
9
6
  */
@@ -40,28 +37,19 @@ const metadata = {
40
37
  count: {
41
38
  type: String,
42
39
  },
43
-
44
- /**
45
- * Defines the stable selector that you can use via getStableDomRef method.
46
- * @public
47
- * @type {string}
48
- * @since 1.0.0-rc.8
49
- */
50
- stableDomRef: {
51
- type: String,
52
- },
53
40
  },
54
41
 
55
42
  events: /** @lends sap.ui.webcomponents.fiori.ShellBarItem.prototype */ {
56
43
  /**
57
44
  * Fired, when the item is pressed.
58
45
  *
59
- * @event sap.ui.webcomponents.fiori.ShellBarItem#item-click
46
+ * @event sap.ui.webcomponents.fiori.ShellBarItem#click
60
47
  * @allowPreventDefault
61
48
  * @param {HTMLElement} targetRef DOM ref of the clicked element
62
49
  * @public
50
+ * @native
63
51
  */
64
- "item-click": {
52
+ "click": {
65
53
  detail: {
66
54
  targetRef: { type: HTMLElement },
67
55
  },
@@ -93,8 +81,8 @@ class ShellBarItem extends UI5Element {
93
81
  return litRender;
94
82
  }
95
83
 
96
- static get template() {
97
- return ShellBarItemTemplate;
84
+ get stableDomRef() {
85
+ return `${this._id}-stable-dom-ref`;
98
86
  }
99
87
  }
100
88
 
@@ -141,6 +141,10 @@ class SideNavigation extends UI5Element {
141
141
  return metadata;
142
142
  }
143
143
 
144
+ static get staticAreaStyles() {
145
+ return [SideNavigationCss];
146
+ }
147
+
144
148
  static get render() {
145
149
  return litRender;
146
150
  }
package/dist/SortItem.js CHANGED
@@ -54,6 +54,7 @@ const metadata = {
54
54
  * @extends UI5Element
55
55
  * @since 1.0.0-rc.16
56
56
  * @tagname ui5-sort-item
57
+ * @implements sap.ui.webcomponents.fiori.ISortItem
57
58
  * @public
58
59
  */
59
60
  class SortItem extends UI5Element {
package/dist/Timeline.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
- import { fetchI18nBundle, getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
2
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
3
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
4
4
  import { isTabNext, isTabPrevious } from "@ui5/webcomponents-base/dist/Keys.js";
5
5
  import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
@@ -104,7 +104,6 @@ class Timeline extends UI5Element {
104
104
  this._itemNavigation = new ItemNavigation(this, {
105
105
  getItemsCallback: () => this.items,
106
106
  });
107
- this.i18nBundle = getI18nBundle("@ui5/webcomponents-fiori");
108
107
  }
109
108
 
110
109
  static get dependencies() {
@@ -112,11 +111,11 @@ class Timeline extends UI5Element {
112
111
  }
113
112
 
114
113
  static async onDefine() {
115
- await fetchI18nBundle("@ui5/webcomponents-fiori");
114
+ Timeline.i18nBundle = await getI18nBundle("@ui5/webcomponents-fiori");
116
115
  }
117
116
 
118
117
  get ariaLabel() {
119
- return this.i18nBundle.getText(TIMELINE_ARIA_LABEL);
118
+ return Timeline.i18nBundle.getText(TIMELINE_ARIA_LABEL);
120
119
  }
121
120
 
122
121
  _onfocusin(event) {
@@ -1,6 +1,6 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
- import { getI18nBundle, fetchI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
4
4
  import Icon from "@ui5/webcomponents/dist/Icon.js";
5
5
  import Label from "@ui5/webcomponents/dist/Label.js";
6
6
  import List from "@ui5/webcomponents/dist/List.js";
@@ -240,12 +240,11 @@ class UploadCollection extends UI5Element {
240
240
  }
241
241
 
242
242
  static async onDefine() {
243
- await fetchI18nBundle("@ui5/webcomponents-fiori");
243
+ UploadCollection.i18nBundle = await getI18nBundle("@ui5/webcomponents-fiori");
244
244
  }
245
245
 
246
246
  constructor() {
247
247
  super();
248
- this.i18nBundle = getI18nBundle("@ui5/webcomponents-fiori");
249
248
  this._bodyDnDHandler = event => {
250
249
  if (this._dndOverlayMode !== UploadCollectionDnDOverlayMode.Drop) {
251
250
  this._dndOverlayMode = event.mode;
@@ -352,23 +351,23 @@ class UploadCollection extends UI5Element {
352
351
  }
353
352
 
354
353
  get _noDataText() {
355
- return this.noDataText || this.i18nBundle.getText(UPLOADCOLLECTION_NO_DATA_TEXT);
354
+ return this.noDataText || UploadCollection.i18nBundle.getText(UPLOADCOLLECTION_NO_DATA_TEXT);
356
355
  }
357
356
 
358
357
  get _noDataDescription() {
359
- return this.noDataDescription || this.i18nBundle.getText(UPLOADCOLLECTION_NO_DATA_DESCRIPTION);
358
+ return this.noDataDescription || UploadCollection.i18nBundle.getText(UPLOADCOLLECTION_NO_DATA_DESCRIPTION);
360
359
  }
361
360
 
362
361
  get _roleDescription() {
363
- return this.i18nBundle.getText(UPLOADCOLLECTION_ARIA_ROLE_DESCRIPTION);
362
+ return UploadCollection.i18nBundle.getText(UPLOADCOLLECTION_ARIA_ROLE_DESCRIPTION);
364
363
  }
365
364
 
366
365
  get _dndOverlayText() {
367
366
  if (this._dndOverlayMode === UploadCollectionDnDOverlayMode.Drag) {
368
- return this.i18nBundle.getText(UPLOADCOLLECTION_DRAG_FILE_INDICATOR);
367
+ return UploadCollection.i18nBundle.getText(UPLOADCOLLECTION_DRAG_FILE_INDICATOR);
369
368
  }
370
369
 
371
- return this.i18nBundle.getText(UPLOADCOLLECTION_DROP_FILE_INDICATOR);
370
+ return UploadCollection.i18nBundle.getText(UPLOADCOLLECTION_DROP_FILE_INDICATOR);
372
371
  }
373
372
  }
374
373
 
@@ -1,4 +1,4 @@
1
- import { fetchI18nBundle, getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
1
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
2
2
  import ListItemType from "@ui5/webcomponents/dist/types/ListItemType.js";
3
3
  import Button from "@ui5/webcomponents/dist/Button.js";
4
4
  import Input from "@ui5/webcomponents/dist/Input.js";
@@ -274,12 +274,15 @@ class UploadCollectionItem extends ListItem {
274
274
  }
275
275
 
276
276
  static async onDefine() {
277
- await fetchI18nBundle("@ui5/webcomponents-fiori");
277
+ [UploadCollectionItem.i18nFioriBundle] = await Promise.all([
278
+ getI18nBundle("@ui5/webcomponents-fiori"),
279
+ super.onDefine(),
280
+ ]);
278
281
  }
279
282
 
280
- constructor() {
281
- super();
282
- this.i18nFioriBundle = getI18nBundle("@ui5/webcomponents-fiori");
283
+ onBeforeRendering() {
284
+ // In the base class the item can become "actionable",
285
+ // that's why we are overriding this method.
283
286
  }
284
287
 
285
288
  async _initInputField() {
@@ -443,11 +446,11 @@ class UploadCollectionItem extends ListItem {
443
446
  }
444
447
 
445
448
  get _renameBtnText() {
446
- return this.i18nFioriBundle.getText(UPLOADCOLLECTIONITEM_RENAMEBUTTON_TEXT);
449
+ return UploadCollectionItem.i18nFioriBundle.getText(UPLOADCOLLECTIONITEM_RENAMEBUTTON_TEXT);
447
450
  }
448
451
 
449
452
  get _cancelRenameBtnText() {
450
- return this.i18nFioriBundle.getText(UPLOADCOLLECTIONITEM_CANCELBUTTON_TEXT);
453
+ return UploadCollectionItem.i18nFioriBundle.getText(UPLOADCOLLECTIONITEM_CANCELBUTTON_TEXT);
451
454
  }
452
455
 
453
456
  get _showProgressIndicator() {
@@ -456,14 +459,14 @@ class UploadCollectionItem extends ListItem {
456
459
 
457
460
  get _progressText() {
458
461
  if (this.uploadState === UploadState.Uploading) {
459
- return this.i18nFioriBundle.getText(UPLOADCOLLECTIONITEM_UPLOADING_STATE);
462
+ return UploadCollectionItem.i18nFioriBundle.getText(UPLOADCOLLECTIONITEM_UPLOADING_STATE);
460
463
  }
461
464
 
462
465
  if (this.uploadState === UploadState.Error) {
463
- return this.i18nFioriBundle.getText(UPLOADCOLLECTIONITEM_ERROR_STATE);
466
+ return UploadCollectionItem.i18nFioriBundle.getText(UPLOADCOLLECTIONITEM_ERROR_STATE);
464
467
  }
465
468
 
466
- return this.i18nFioriBundle.getText(UPLOADCOLLECTIONITEM_READY_STATE);
469
+ return UploadCollectionItem.i18nFioriBundle.getText(UPLOADCOLLECTIONITEM_READY_STATE);
467
470
  }
468
471
 
469
472
  get _showRetry() {
@@ -475,15 +478,15 @@ class UploadCollectionItem extends ListItem {
475
478
  }
476
479
 
477
480
  get _retryButtonTooltip() {
478
- return this.i18nFioriBundle.getText(UPLOADCOLLECTIONITEM_RETRY_BUTTON_TEXT);
481
+ return UploadCollectionItem.i18nFioriBundle.getText(UPLOADCOLLECTIONITEM_RETRY_BUTTON_TEXT);
479
482
  }
480
483
 
481
484
  get _terminateButtonTooltip() {
482
- return this.i18nFioriBundle.getText(UPLOADCOLLECTIONITEM_TERMINATE_BUTTON_TEXT);
485
+ return UploadCollectionItem.i18nFioriBundle.getText(UPLOADCOLLECTIONITEM_TERMINATE_BUTTON_TEXT);
483
486
  }
484
487
 
485
488
  get _editButtonTooltip() {
486
- return this.i18nFioriBundle.getText(UPLOADCOLLECTIONITEM_EDIT_BUTTON_TEXT);
489
+ return UploadCollectionItem.i18nFioriBundle.getText(UPLOADCOLLECTIONITEM_EDIT_BUTTON_TEXT);
487
490
  }
488
491
 
489
492
  get valueStateName() {
@@ -1,4 +1,4 @@
1
- import { fetchI18nBundle, getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
1
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
2
2
  import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
3
3
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
4
4
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
@@ -208,7 +208,6 @@ const metadata = {
208
208
  class ViewSettingsDialog extends UI5Element {
209
209
  constructor() {
210
210
  super();
211
- this.i18nBundle = getI18nBundle("@ui5/webcomponents-fiori");
212
211
  this._currentSettings = {
213
212
  sortOrder: [],
214
213
  sortBy: [],
@@ -267,7 +266,7 @@ class ViewSettingsDialog extends UI5Element {
267
266
  }
268
267
 
269
268
  static async onDefine() {
270
- await fetchI18nBundle("@ui5/webcomponents-fiori");
269
+ ViewSettingsDialog.i18nBundle = await getI18nBundle("@ui5/webcomponents-fiori");
271
270
  }
272
271
 
273
272
  get _selectedFilter() {
@@ -281,44 +280,44 @@ class ViewSettingsDialog extends UI5Element {
281
280
  }
282
281
 
283
282
  get _filterByTitle() {
284
- return `${this.i18nBundle.getText(VSD_FILTER_BY)}: ${this._selectedFilter.text}`;
283
+ return `${ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY)}: ${this._selectedFilter.text}`;
285
284
  }
286
285
 
287
286
  get _dialogTitle() {
288
287
  const currentModeText = this._currentMode === ViewSettingsDialogMode.Sort ? VSD_DIALOG_TITLE_SORT : VSD_FILTER_BY;
289
- return this.i18nBundle.getText(currentModeText);
288
+ return ViewSettingsDialog.i18nBundle.getText(currentModeText);
290
289
  }
291
290
 
292
291
  get _okButtonLabel() {
293
- return this.i18nBundle.getText(VSD_SUBMIT_BUTTON);
292
+ return ViewSettingsDialog.i18nBundle.getText(VSD_SUBMIT_BUTTON);
294
293
  }
295
294
 
296
295
  get _cancelButtonLabel() {
297
- return this.i18nBundle.getText(VSD_CANCEL_BUTTON);
296
+ return ViewSettingsDialog.i18nBundle.getText(VSD_CANCEL_BUTTON);
298
297
  }
299
298
 
300
299
  get _resetButtonLabel() {
301
- return this.i18nBundle.getText(VSD_RESET_BUTTON);
300
+ return ViewSettingsDialog.i18nBundle.getText(VSD_RESET_BUTTON);
302
301
  }
303
302
 
304
303
  get _ascendingLabel() {
305
- return this.i18nBundle.getText(VSD_ORDER_ASCENDING);
304
+ return ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_ASCENDING);
306
305
  }
307
306
 
308
307
  get _descendingLabel() {
309
- return this.i18nBundle.getText(VSD_ORDER_DESCENDING);
308
+ return ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_DESCENDING);
310
309
  }
311
310
 
312
311
  get _sortOrderLabel() {
313
- return this.i18nBundle.getText(VSD_SORT_ORDER);
312
+ return ViewSettingsDialog.i18nBundle.getText(VSD_SORT_ORDER);
314
313
  }
315
314
 
316
315
  get _filterByLabel() {
317
- return this.i18nBundle.getText(VSD_FILTER_BY);
316
+ return ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY);
318
317
  }
319
318
 
320
319
  get _sortByLabel() {
321
- return this.i18nBundle.getText(VSD_SORT_BY);
320
+ return ViewSettingsDialog.i18nBundle.getText(VSD_SORT_BY);
322
321
  }
323
322
 
324
323
  get _isPhone() {