@sapui5/sap.fe.controls 1.144.0 → 1.146.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 (79) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/controls/.library +2 -2
  3. package/src/sap/fe/controls/AINotice.js +172 -0
  4. package/src/sap/fe/controls/AINotice.tsx +150 -0
  5. package/src/sap/fe/controls/easyFill/EasyFillPlaceholder.js +1 -1
  6. package/src/sap/fe/controls/easyFilter/EasyFilterBarContainer.js +65 -26
  7. package/src/sap/fe/controls/easyFilter/EasyFilterBarContainer.tsx +45 -7
  8. package/src/sap/fe/controls/easyFilter/EasyFilterInput.js +14 -10
  9. package/src/sap/fe/controls/easyFilter/EasyFilterInput.tsx +14 -10
  10. package/src/sap/fe/controls/easyFilter/ErrorMessageHandler.js +1 -1
  11. package/src/sap/fe/controls/easyFilter/PXFeedback.js +1 -1
  12. package/src/sap/fe/controls/easyFilter/ShellHistoryProvider.js +1 -1
  13. package/src/sap/fe/controls/easyFilter/Token.js +4 -4
  14. package/src/sap/fe/controls/easyFilter/Token.tsx +2 -2
  15. package/src/sap/fe/controls/easyFilter/innerControls/BaseFactory.js +1 -1
  16. package/src/sap/fe/controls/easyFilter/innerControls/CalendarFactory.js +1 -1
  17. package/src/sap/fe/controls/easyFilter/innerControls/MenuWithCheckBoxFactory.js +1 -1
  18. package/src/sap/fe/controls/easyFilter/innerControls/MenuWithSingleSelectFactory.js +1 -1
  19. package/src/sap/fe/controls/easyFilter/innerControls/TimeFactory.js +1 -1
  20. package/src/sap/fe/controls/easyFilter/innerControls/ValueHelpPreviewFactory.js +1 -1
  21. package/src/sap/fe/controls/easyFilter/utils.js +1 -1
  22. package/src/sap/fe/controls/inlineEdit/InlineEditIndicator.js +1 -1
  23. package/src/sap/fe/controls/library.js +2 -2
  24. package/src/sap/fe/controls/messagebundle.properties +20 -10
  25. package/src/sap/fe/controls/messagebundle_ar.properties +21 -5
  26. package/src/sap/fe/controls/messagebundle_bg.properties +21 -5
  27. package/src/sap/fe/controls/messagebundle_ca.properties +21 -5
  28. package/src/sap/fe/controls/messagebundle_cnr.properties +21 -5
  29. package/src/sap/fe/controls/messagebundle_cs.properties +21 -5
  30. package/src/sap/fe/controls/messagebundle_cy.properties +21 -5
  31. package/src/sap/fe/controls/messagebundle_da.properties +21 -5
  32. package/src/sap/fe/controls/messagebundle_de.properties +25 -9
  33. package/src/sap/fe/controls/messagebundle_el.properties +21 -5
  34. package/src/sap/fe/controls/messagebundle_en.properties +21 -5
  35. package/src/sap/fe/controls/messagebundle_en_GB.properties +21 -5
  36. package/src/sap/fe/controls/messagebundle_en_US_saprigi.properties +6 -5
  37. package/src/sap/fe/controls/messagebundle_es.properties +21 -5
  38. package/src/sap/fe/controls/messagebundle_es_MX.properties +22 -6
  39. package/src/sap/fe/controls/messagebundle_et.properties +21 -5
  40. package/src/sap/fe/controls/messagebundle_fi.properties +21 -5
  41. package/src/sap/fe/controls/messagebundle_fr.properties +21 -5
  42. package/src/sap/fe/controls/messagebundle_fr_CA.properties +21 -5
  43. package/src/sap/fe/controls/messagebundle_hi.properties +21 -5
  44. package/src/sap/fe/controls/messagebundle_hr.properties +21 -5
  45. package/src/sap/fe/controls/messagebundle_hu.properties +21 -5
  46. package/src/sap/fe/controls/messagebundle_id.properties +21 -5
  47. package/src/sap/fe/controls/messagebundle_it.properties +21 -5
  48. package/src/sap/fe/controls/messagebundle_iw.properties +21 -5
  49. package/src/sap/fe/controls/messagebundle_ja.properties +21 -5
  50. package/src/sap/fe/controls/messagebundle_kk.properties +21 -5
  51. package/src/sap/fe/controls/messagebundle_ko.properties +21 -5
  52. package/src/sap/fe/controls/messagebundle_lt.properties +21 -5
  53. package/src/sap/fe/controls/messagebundle_lv.properties +21 -5
  54. package/src/sap/fe/controls/messagebundle_mk.properties +21 -5
  55. package/src/sap/fe/controls/messagebundle_ms.properties +21 -5
  56. package/src/sap/fe/controls/messagebundle_nl.properties +21 -5
  57. package/src/sap/fe/controls/messagebundle_no.properties +22 -6
  58. package/src/sap/fe/controls/messagebundle_pl.properties +21 -5
  59. package/src/sap/fe/controls/messagebundle_pt.properties +21 -5
  60. package/src/sap/fe/controls/messagebundle_pt_PT.properties +21 -5
  61. package/src/sap/fe/controls/messagebundle_ro.properties +21 -5
  62. package/src/sap/fe/controls/messagebundle_ru.properties +21 -5
  63. package/src/sap/fe/controls/messagebundle_sh.properties +21 -5
  64. package/src/sap/fe/controls/messagebundle_sk.properties +21 -5
  65. package/src/sap/fe/controls/messagebundle_sl.properties +21 -5
  66. package/src/sap/fe/controls/messagebundle_sr.properties +21 -5
  67. package/src/sap/fe/controls/messagebundle_sv.properties +21 -5
  68. package/src/sap/fe/controls/messagebundle_th.properties +21 -5
  69. package/src/sap/fe/controls/messagebundle_tr.properties +21 -5
  70. package/src/sap/fe/controls/messagebundle_uk.properties +21 -5
  71. package/src/sap/fe/controls/messagebundle_vi.properties +21 -5
  72. package/src/sap/fe/controls/messagebundle_zh_CN.properties +21 -5
  73. package/src/sap/fe/controls/messagebundle_zh_TW.properties +21 -5
  74. package/src/sap/fe/controls/shortcuts/ShortcutExplanationProvider.js +25 -17
  75. package/src/sap/fe/controls/shortcuts/ShortcutExplanationProvider.tsx +38 -17
  76. package/src/sap/fe/controls/shortcuts/popup/ShortcutTool.js +1 -1
  77. package/src/sap/fe/controls/themes/base/InlineEditIndicator.less +9 -1
  78. package/src/sap/fe/controls/easyFilter/AINotice.js +0 -90
  79. package/src/sap/fe/controls/easyFilter/AINotice.tsx +0 -101
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.fe.controls",
3
- "version": "1.144.0",
3
+ "version": "1.146.0",
4
4
  "description": "SAPUI5 Library sap.fe.controls",
5
5
  "keywords": [
6
6
  "sapui5",
@@ -4,9 +4,9 @@
4
4
  <vendor>SAP SE</vendor>
5
5
  <copyright>
6
6
  SAP UI development toolkit for HTML5 (SAPUI5)
7
- (c) Copyright 2009-2024 SAP SE. All rights reserved
7
+ (c) Copyright 2009-2026 SAP SE. All rights reserved
8
8
  </copyright>
9
- <version>1.144.0</version>
9
+ <version>1.146.0</version>
10
10
 
11
11
  <documentation>UI5 library: sap.fe.controls</documentation>
12
12
 
@@ -0,0 +1,172 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2026 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/fe/base/BuildingBlockBase", "sap/fe/base/ClassSupport", "sap/m/Button", "sap/m/Label", "sap/m/Link", "sap/m/OverflowToolbar", "sap/m/Popover", "sap/m/ToolbarSpacer", "sap/m/library", "sap/ui/core/Lib", "sap/fe/base/jsx-runtime/jsx", "sap/fe/base/jsx-runtime/Fragment", "sap/fe/base/jsx-runtime/jsxs"], function (BuildingBlockBase, ClassSupport, Button, Label, Link, OverflowToolbar, Popover, ToolbarSpacer, library, Lib, _jsx, _Fragment, _jsxs) {
6
+ "use strict";
7
+
8
+ var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4;
9
+ var _exports = {};
10
+ var ButtonType = library.ButtonType;
11
+ var property = ClassSupport.property;
12
+ var defineUI5Class = ClassSupport.defineUI5Class;
13
+ var aggregation = ClassSupport.aggregation;
14
+ function _initializerDefineProperty(e, i, r, l) { r && Object.defineProperty(e, i, { enumerable: r.enumerable, configurable: r.configurable, writable: r.writable, value: r.initializer ? r.initializer.call(l) : void 0 }); }
15
+ function _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); }
16
+ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
17
+ function _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a; }
18
+ function _initializerWarningHelper(r, e) { throw Error("Decorating class property failed. Please ensure that transform-class-properties is enabled and runs after the decorators transform."); }
19
+ /**
20
+ * Building block that displays a AI notice.
21
+ *
22
+ * It's used to display information related to AI features. This information is rendered either
23
+ * as a link if the aggregation popoverContent is defined or as a label if there is no aggregation popoverContent.
24
+ */
25
+ let AINotice = (_dec = defineUI5Class("sap.fe.controls.AINotice"), _dec2 = property({
26
+ type: "boolean",
27
+ isBindingInfo: true,
28
+ defaultValue: true
29
+ }), _dec3 = property({
30
+ type: "string",
31
+ defaultValue: "Link"
32
+ }), _dec4 = aggregation({
33
+ type: "sap.ui.core.Control",
34
+ multiple: true,
35
+ isDefault: true
36
+ }), _dec5 = property({
37
+ type: "string"
38
+ }), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlockBase) {
39
+ function AINotice(properties, others) {
40
+ var _this;
41
+ _this = _BuildingBlockBase.call(this, properties, others) || this;
42
+ _initializerDefineProperty(_this, "visible", _descriptor, _this);
43
+ /**
44
+ * The type of control to display
45
+ */
46
+ _initializerDefineProperty(_this, "type", _descriptor2, _this);
47
+ /**
48
+ * The content to display into the popover
49
+ * @public
50
+ */
51
+ _initializerDefineProperty(_this, "popoverContent", _descriptor3, _this);
52
+ /**
53
+ * The placement type of the popover
54
+ */
55
+ _initializerDefineProperty(_this, "placementType", _descriptor4, _this);
56
+ _this.resourceBundle = Lib.getResourceBundleFor("sap.fe.controls");
57
+ _this.content = _this.createContent();
58
+ return _this;
59
+ }
60
+
61
+ /**
62
+ * Returns the popover of the control.
63
+ * @returns The popover
64
+ */
65
+ _exports = AINotice;
66
+ _inheritsLoose(AINotice, _BuildingBlockBase);
67
+ var _proto = AINotice.prototype;
68
+ _proto.createPopover = function createPopover() {
69
+ const myPopover = _jsx(Popover, {
70
+ class: "sapUiContentPadding",
71
+ contentMinWidth: "22.8125rem",
72
+ showArrow: true,
73
+ showHeader: true,
74
+ placement: this.placementType,
75
+ title: this.resourceBundle.getText("M_POPOVER_AI_TITLE"),
76
+ children: {
77
+ content: Array.isArray(this.popoverContent) ? this.popoverContent?.map(content => content.clone()) : this.popoverContent?.clone(),
78
+ footer: _jsx(OverflowToolbar, {
79
+ children: {
80
+ content: _jsxs(_Fragment, {
81
+ children: [_jsx(ToolbarSpacer, {}), _jsx(Button, {
82
+ text: this.resourceBundle.getText("M_NOTICE_AI_CLOSE"),
83
+ press: () => {
84
+ myPopover.close();
85
+ }
86
+ })]
87
+ })
88
+ }
89
+ })
90
+ }
91
+ });
92
+ return myPopover;
93
+ }
94
+
95
+ /**
96
+ * Handles the press event on the control.
97
+ * @param event The press event
98
+ */;
99
+ _proto.onPress = function onPress(event) {
100
+ const popover = this.createPopover();
101
+ popover.openBy(event.getSource());
102
+ }
103
+
104
+ /**
105
+ * Returns the link or text depending on the popoverContent aggregation.
106
+ * @returns The control tree
107
+ */;
108
+ _proto.createLinkOrLabel = function createLinkOrLabel() {
109
+ const mainText = this.resourceBundle.getText("M_NOTICE_AI_TITLE");
110
+ return this.getAggregation("popoverContent") ? _jsx(Link, {
111
+ visible: this.visible,
112
+ text: mainText,
113
+ press: e => this.onPress(e)
114
+ }) : _jsx(Label, {
115
+ visible: this.visible,
116
+ text: mainText
117
+ });
118
+ }
119
+
120
+ /**
121
+ * Returns the button.
122
+ * @returns The button
123
+ */;
124
+ _proto.createButton = function createButton() {
125
+ return _jsx(Button, {
126
+ visible: this.visible,
127
+ icon: "sap-icon://ai",
128
+ type: ButtonType.Transparent,
129
+ text: this.resourceBundle.getText("M_NOTICE_AI_FILTER"),
130
+ press: e => this.onPress(e)
131
+ });
132
+ }
133
+
134
+ /**
135
+ * Returns the content of this building block.
136
+ * @returns The control tree
137
+ */;
138
+ _proto.createContent = function createContent() {
139
+ switch (this.type) {
140
+ case "Button":
141
+ return this.createButton();
142
+ case "Link":
143
+ default:
144
+ return this.createLinkOrLabel();
145
+ }
146
+ };
147
+ return AINotice;
148
+ }(BuildingBlockBase), _descriptor = _applyDecoratedDescriptor(_class2.prototype, "visible", [_dec2], {
149
+ configurable: true,
150
+ enumerable: true,
151
+ writable: true,
152
+ initializer: null
153
+ }), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "type", [_dec3], {
154
+ configurable: true,
155
+ enumerable: true,
156
+ writable: true,
157
+ initializer: null
158
+ }), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, "popoverContent", [_dec4], {
159
+ configurable: true,
160
+ enumerable: true,
161
+ writable: true,
162
+ initializer: null
163
+ }), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, "placementType", [_dec5], {
164
+ configurable: true,
165
+ enumerable: true,
166
+ writable: true,
167
+ initializer: null
168
+ }), _class2)) || _class);
169
+ _exports = AINotice;
170
+ return _exports;
171
+ }, false);
172
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBSU5vdGljZSIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiaXNCaW5kaW5nSW5mbyIsImRlZmF1bHRWYWx1ZSIsIl9kZWMzIiwiX2RlYzQiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiaXNEZWZhdWx0IiwiX2RlYzUiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX0J1aWxkaW5nQmxvY2tCYXNlIiwicHJvcGVydGllcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJyZXNvdXJjZUJ1bmRsZSIsIkxpYiIsImdldFJlc291cmNlQnVuZGxlRm9yIiwiY29udGVudCIsImNyZWF0ZUNvbnRlbnQiLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwiY3JlYXRlUG9wb3ZlciIsIm15UG9wb3ZlciIsIl9qc3giLCJQb3BvdmVyIiwiY2xhc3MiLCJjb250ZW50TWluV2lkdGgiLCJzaG93QXJyb3ciLCJzaG93SGVhZGVyIiwicGxhY2VtZW50IiwicGxhY2VtZW50VHlwZSIsInRpdGxlIiwiZ2V0VGV4dCIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5IiwicG9wb3ZlckNvbnRlbnQiLCJtYXAiLCJjbG9uZSIsImZvb3RlciIsIk92ZXJmbG93VG9vbGJhciIsIl9qc3hzIiwiX0ZyYWdtZW50IiwiVG9vbGJhclNwYWNlciIsIkJ1dHRvbiIsInRleHQiLCJwcmVzcyIsImNsb3NlIiwib25QcmVzcyIsImV2ZW50IiwicG9wb3ZlciIsIm9wZW5CeSIsImdldFNvdXJjZSIsImNyZWF0ZUxpbmtPckxhYmVsIiwibWFpblRleHQiLCJnZXRBZ2dyZWdhdGlvbiIsIkxpbmsiLCJ2aXNpYmxlIiwiZSIsIkxhYmVsIiwiY3JlYXRlQnV0dG9uIiwiaWNvbiIsIkJ1dHRvblR5cGUiLCJUcmFuc3BhcmVudCIsIkJ1aWxkaW5nQmxvY2tCYXNlIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJBSU5vdGljZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgUmVzb3VyY2VCdW5kbGUgZnJvbSBcInNhcC9iYXNlL2kxOG4vUmVzb3VyY2VCdW5kbGVcIjtcbmltcG9ydCBCdWlsZGluZ0Jsb2NrQmFzZSBmcm9tIFwic2FwL2ZlL2Jhc2UvQnVpbGRpbmdCbG9ja0Jhc2VcIjtcbmltcG9ydCB7IGFnZ3JlZ2F0aW9uLCBkZWZpbmVVSTVDbGFzcywgdHlwZSBQcm9wZXJ0aWVzT2YsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgeyBCdXR0b24kUHJlc3NFdmVudCB9IGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCBCdXR0b24gZnJvbSBcInNhcC9tL0J1dHRvblwiO1xuaW1wb3J0IExhYmVsIGZyb20gXCJzYXAvbS9MYWJlbFwiO1xuaW1wb3J0IHR5cGUgeyBMaW5rJFByZXNzRXZlbnQgfSBmcm9tIFwic2FwL20vTGlua1wiO1xuaW1wb3J0IExpbmsgZnJvbSBcInNhcC9tL0xpbmtcIjtcbmltcG9ydCBPdmVyZmxvd1Rvb2xiYXIgZnJvbSBcInNhcC9tL092ZXJmbG93VG9vbGJhclwiO1xuaW1wb3J0IFBvcG92ZXIgZnJvbSBcInNhcC9tL1BvcG92ZXJcIjtcbmltcG9ydCBUb29sYmFyU3BhY2VyIGZyb20gXCJzYXAvbS9Ub29sYmFyU3BhY2VyXCI7XG5pbXBvcnQgdHlwZSB7IFBsYWNlbWVudFR5cGUgfSBmcm9tIFwic2FwL20vbGlicmFyeVwiO1xuaW1wb3J0IHsgQnV0dG9uVHlwZSB9IGZyb20gXCJzYXAvbS9saWJyYXJ5XCI7XG5pbXBvcnQgdHlwZSBFdmVudCBmcm9tIFwic2FwL3VpL2Jhc2UvRXZlbnRcIjtcbmltcG9ydCB0eXBlIE1hbmFnZWRPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIHsgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgTGliIGZyb20gXCJzYXAvdWkvY29yZS9MaWJcIjtcblxuLyoqXG4gKiBCdWlsZGluZyBibG9jayB0aGF0IGRpc3BsYXlzIGEgQUkgbm90aWNlLlxuICpcbiAqIEl0J3MgdXNlZCB0byBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gQUkgZmVhdHVyZXMuIFRoaXMgaW5mb3JtYXRpb24gaXMgcmVuZGVyZWQgZWl0aGVyXG4gKiBhcyBhIGxpbmsgaWYgdGhlIGFnZ3JlZ2F0aW9uIHBvcG92ZXJDb250ZW50IGlzIGRlZmluZWQgb3IgYXMgYSBsYWJlbCBpZiB0aGVyZSBpcyBubyBhZ2dyZWdhdGlvbiBwb3BvdmVyQ29udGVudC5cbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvbnRyb2xzLkFJTm90aWNlXCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBSU5vdGljZSBleHRlbmRzIEJ1aWxkaW5nQmxvY2tCYXNlPENvbnRyb2w+IHtcblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIsIGlzQmluZGluZ0luZm86IHRydWUsIGRlZmF1bHRWYWx1ZTogdHJ1ZSB9KVxuXHR2aXNpYmxlPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogVGhlIHR5cGUgb2YgY29udHJvbCB0byBkaXNwbGF5XG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCBkZWZhdWx0VmFsdWU6IFwiTGlua1wiIH0pXG5cdHR5cGU/OiBcIkxpbmtcIiB8IFwiQnV0dG9uXCI7XG5cblx0LyoqXG5cdCAqIFRoZSBjb250ZW50IHRvIGRpc3BsYXkgaW50byB0aGUgcG9wb3ZlclxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIiwgbXVsdGlwbGU6IHRydWUsIGlzRGVmYXVsdDogdHJ1ZSB9KVxuXHRwb3BvdmVyQ29udGVudD86IENvbnRyb2w7XG5cblx0LyoqXG5cdCAqIFRoZSBwbGFjZW1lbnQgdHlwZSBvZiB0aGUgcG9wb3ZlclxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRwbGFjZW1lbnRUeXBlPzogUGxhY2VtZW50VHlwZTtcblxuXHRyZXNvdXJjZUJ1bmRsZSE6IFJlc291cmNlQnVuZGxlO1xuXG5cdGNvbnN0cnVjdG9yKHByb3BlcnRpZXM6IFByb3BlcnRpZXNPZjxBSU5vdGljZT4sIG90aGVycz86ICRDb250cm9sU2V0dGluZ3MpIHtcblx0XHRzdXBlcihwcm9wZXJ0aWVzLCBvdGhlcnMpO1xuXHRcdHRoaXMucmVzb3VyY2VCdW5kbGUgPSBMaWIuZ2V0UmVzb3VyY2VCdW5kbGVGb3IoXCJzYXAuZmUuY29udHJvbHNcIikgYXMgUmVzb3VyY2VCdW5kbGU7XG5cdFx0dGhpcy5jb250ZW50ID0gdGhpcy5jcmVhdGVDb250ZW50KCk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgcG9wb3ZlciBvZiB0aGUgY29udHJvbC5cblx0ICogQHJldHVybnMgVGhlIHBvcG92ZXJcblx0ICovXG5cdGNyZWF0ZVBvcG92ZXIoKTogUG9wb3ZlciB7XG5cdFx0Y29uc3QgbXlQb3BvdmVyID0gKFxuXHRcdFx0PFBvcG92ZXJcblx0XHRcdFx0Y2xhc3M9XCJzYXBVaUNvbnRlbnRQYWRkaW5nXCJcblx0XHRcdFx0Y29udGVudE1pbldpZHRoPXtcIjIyLjgxMjVyZW1cIn1cblx0XHRcdFx0c2hvd0Fycm93PXt0cnVlfVxuXHRcdFx0XHRzaG93SGVhZGVyPXt0cnVlfVxuXHRcdFx0XHRwbGFjZW1lbnQ9e3RoaXMucGxhY2VtZW50VHlwZX1cblx0XHRcdFx0dGl0bGU9e3RoaXMucmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fUE9QT1ZFUl9BSV9USVRMRVwiKX1cblx0XHRcdD5cblx0XHRcdFx0e3tcblx0XHRcdFx0XHRjb250ZW50OiBBcnJheS5pc0FycmF5KHRoaXMucG9wb3ZlckNvbnRlbnQpXG5cdFx0XHRcdFx0XHQ/IHRoaXMucG9wb3ZlckNvbnRlbnQ/Lm1hcCgoY29udGVudDogTWFuYWdlZE9iamVjdCkgPT4gY29udGVudC5jbG9uZSgpKVxuXHRcdFx0XHRcdFx0OiB0aGlzLnBvcG92ZXJDb250ZW50Py5jbG9uZSgpLFxuXHRcdFx0XHRcdGZvb3RlcjogKFxuXHRcdFx0XHRcdFx0PE92ZXJmbG93VG9vbGJhcj5cblx0XHRcdFx0XHRcdFx0e3tcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiAoXG5cdFx0XHRcdFx0XHRcdFx0XHQ8PlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8VG9vbGJhclNwYWNlciAvPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8QnV0dG9uXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGV4dD17dGhpcy5yZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9OT1RJQ0VfQUlfQ0xPU0VcIil9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cHJlc3M9eygpOiB2b2lkID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG15UG9wb3Zlci5jbG9zZSgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8Lz5cblx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0XHQ8L092ZXJmbG93VG9vbGJhcj5cblx0XHRcdFx0XHQpXG5cdFx0XHRcdH19XG5cdFx0XHQ8L1BvcG92ZXI+XG5cdFx0KTtcblx0XHRyZXR1cm4gbXlQb3BvdmVyO1xuXHR9XG5cblx0LyoqXG5cdCAqIEhhbmRsZXMgdGhlIHByZXNzIGV2ZW50IG9uIHRoZSBjb250cm9sLlxuXHQgKiBAcGFyYW0gZXZlbnQgVGhlIHByZXNzIGV2ZW50XG5cdCAqL1xuXHRvblByZXNzKGV2ZW50OiBCdXR0b24kUHJlc3NFdmVudCB8IExpbmskUHJlc3NFdmVudCk6IHZvaWQge1xuXHRcdGNvbnN0IHBvcG92ZXIgPSB0aGlzLmNyZWF0ZVBvcG92ZXIoKTtcblx0XHRwb3BvdmVyLm9wZW5CeSgoZXZlbnQgYXMgRXZlbnQ8Q29udHJvbD4pLmdldFNvdXJjZSgpIGFzIHVua25vd24gYXMgQ29udHJvbCk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgbGluayBvciB0ZXh0IGRlcGVuZGluZyBvbiB0aGUgcG9wb3ZlckNvbnRlbnQgYWdncmVnYXRpb24uXG5cdCAqIEByZXR1cm5zIFRoZSBjb250cm9sIHRyZWVcblx0ICovXG5cdGNyZWF0ZUxpbmtPckxhYmVsKCk6IExpbmsgfCBMYWJlbCB7XG5cdFx0Y29uc3QgbWFpblRleHQgPSB0aGlzLnJlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX05PVElDRV9BSV9USVRMRVwiKTtcblx0XHRyZXR1cm4gdGhpcy5nZXRBZ2dyZWdhdGlvbihcInBvcG92ZXJDb250ZW50XCIpID8gKFxuXHRcdFx0PExpbmsgdmlzaWJsZT17dGhpcy52aXNpYmxlfSB0ZXh0PXttYWluVGV4dH0gcHJlc3M9eyhlOiBMaW5rJFByZXNzRXZlbnQpOiB2b2lkID0+IHRoaXMub25QcmVzcyhlKX0gLz5cblx0XHQpIDogKFxuXHRcdFx0PExhYmVsIHZpc2libGU9e3RoaXMudmlzaWJsZX0gdGV4dD17bWFpblRleHR9IC8+XG5cdFx0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBidXR0b24uXG5cdCAqIEByZXR1cm5zIFRoZSBidXR0b25cblx0ICovXG5cdGNyZWF0ZUJ1dHRvbigpOiBCdXR0b24ge1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8QnV0dG9uXG5cdFx0XHRcdHZpc2libGU9e3RoaXMudmlzaWJsZX1cblx0XHRcdFx0aWNvbj1cInNhcC1pY29uOi8vYWlcIlxuXHRcdFx0XHR0eXBlPXtCdXR0b25UeXBlLlRyYW5zcGFyZW50fVxuXHRcdFx0XHR0ZXh0PXt0aGlzLnJlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX05PVElDRV9BSV9GSUxURVJcIil9XG5cdFx0XHRcdHByZXNzPXsoZTogQnV0dG9uJFByZXNzRXZlbnQpOiB2b2lkID0+IHRoaXMub25QcmVzcyhlKX1cblx0XHRcdC8+XG5cdFx0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBjb250ZW50IG9mIHRoaXMgYnVpbGRpbmcgYmxvY2suXG5cdCAqIEByZXR1cm5zIFRoZSBjb250cm9sIHRyZWVcblx0ICovXG5cdGNyZWF0ZUNvbnRlbnQoKTogTGluayB8IEJ1dHRvbiB8IExhYmVsIHtcblx0XHRzd2l0Y2ggKHRoaXMudHlwZSkge1xuXHRcdFx0Y2FzZSBcIkJ1dHRvblwiOlxuXHRcdFx0XHRyZXR1cm4gdGhpcy5jcmVhdGVCdXR0b24oKTtcblx0XHRcdGNhc2UgXCJMaW5rXCI6XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRyZXR1cm4gdGhpcy5jcmVhdGVMaW5rT3JMYWJlbCgpO1xuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBTEEsSUFPcUJBLFFBQVEsSUFBQUMsSUFBQSxHQUQ1QkMsY0FBYyxDQUFDLDBCQUEwQixDQUFDLEVBQUFDLEtBQUEsR0FFekNDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUUsU0FBUztJQUFFQyxhQUFhLEVBQUUsSUFBSTtJQUFFQyxZQUFZLEVBQUU7RUFBSyxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU10RUosUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxRQUFRO0lBQUVFLFlBQVksRUFBRTtFQUFPLENBQUMsQ0FBQyxFQUFBRSxLQUFBLEdBT2xEQyxXQUFXLENBQUM7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
@@ -0,0 +1,150 @@
1
+ import type ResourceBundle from "sap/base/i18n/ResourceBundle";
2
+ import BuildingBlockBase from "sap/fe/base/BuildingBlockBase";
3
+ import { aggregation, defineUI5Class, type PropertiesOf, property } from "sap/fe/base/ClassSupport";
4
+ import type { Button$PressEvent } from "sap/m/Button";
5
+ import Button from "sap/m/Button";
6
+ import Label from "sap/m/Label";
7
+ import type { Link$PressEvent } from "sap/m/Link";
8
+ import Link from "sap/m/Link";
9
+ import OverflowToolbar from "sap/m/OverflowToolbar";
10
+ import Popover from "sap/m/Popover";
11
+ import ToolbarSpacer from "sap/m/ToolbarSpacer";
12
+ import type { PlacementType } from "sap/m/library";
13
+ import { ButtonType } from "sap/m/library";
14
+ import type Event from "sap/ui/base/Event";
15
+ import type ManagedObject from "sap/ui/base/ManagedObject";
16
+ import type Control from "sap/ui/core/Control";
17
+ import type { $ControlSettings } from "sap/ui/core/Control";
18
+ import Lib from "sap/ui/core/Lib";
19
+
20
+ /**
21
+ * Building block that displays a AI notice.
22
+ *
23
+ * It's used to display information related to AI features. This information is rendered either
24
+ * as a link if the aggregation popoverContent is defined or as a label if there is no aggregation popoverContent.
25
+ */
26
+ @defineUI5Class("sap.fe.controls.AINotice")
27
+ export default class AINotice extends BuildingBlockBase<Control> {
28
+ @property({ type: "boolean", isBindingInfo: true, defaultValue: true })
29
+ visible?: boolean;
30
+
31
+ /**
32
+ * The type of control to display
33
+ */
34
+ @property({ type: "string", defaultValue: "Link" })
35
+ type?: "Link" | "Button";
36
+
37
+ /**
38
+ * The content to display into the popover
39
+ * @public
40
+ */
41
+ @aggregation({ type: "sap.ui.core.Control", multiple: true, isDefault: true })
42
+ popoverContent?: Control;
43
+
44
+ /**
45
+ * The placement type of the popover
46
+ */
47
+ @property({ type: "string" })
48
+ placementType?: PlacementType;
49
+
50
+ resourceBundle!: ResourceBundle;
51
+
52
+ constructor(properties: PropertiesOf<AINotice>, others?: $ControlSettings) {
53
+ super(properties, others);
54
+ this.resourceBundle = Lib.getResourceBundleFor("sap.fe.controls") as ResourceBundle;
55
+ this.content = this.createContent();
56
+ }
57
+
58
+ /**
59
+ * Returns the popover of the control.
60
+ * @returns The popover
61
+ */
62
+ createPopover(): Popover {
63
+ const myPopover = (
64
+ <Popover
65
+ class="sapUiContentPadding"
66
+ contentMinWidth={"22.8125rem"}
67
+ showArrow={true}
68
+ showHeader={true}
69
+ placement={this.placementType}
70
+ title={this.resourceBundle.getText("M_POPOVER_AI_TITLE")}
71
+ >
72
+ {{
73
+ content: Array.isArray(this.popoverContent)
74
+ ? this.popoverContent?.map((content: ManagedObject) => content.clone())
75
+ : this.popoverContent?.clone(),
76
+ footer: (
77
+ <OverflowToolbar>
78
+ {{
79
+ content: (
80
+ <>
81
+ <ToolbarSpacer />
82
+ <Button
83
+ text={this.resourceBundle.getText("M_NOTICE_AI_CLOSE")}
84
+ press={(): void => {
85
+ myPopover.close();
86
+ }}
87
+ />
88
+ </>
89
+ )
90
+ }}
91
+ </OverflowToolbar>
92
+ )
93
+ }}
94
+ </Popover>
95
+ );
96
+ return myPopover;
97
+ }
98
+
99
+ /**
100
+ * Handles the press event on the control.
101
+ * @param event The press event
102
+ */
103
+ onPress(event: Button$PressEvent | Link$PressEvent): void {
104
+ const popover = this.createPopover();
105
+ popover.openBy((event as Event<Control>).getSource() as unknown as Control);
106
+ }
107
+
108
+ /**
109
+ * Returns the link or text depending on the popoverContent aggregation.
110
+ * @returns The control tree
111
+ */
112
+ createLinkOrLabel(): Link | Label {
113
+ const mainText = this.resourceBundle.getText("M_NOTICE_AI_TITLE");
114
+ return this.getAggregation("popoverContent") ? (
115
+ <Link visible={this.visible} text={mainText} press={(e: Link$PressEvent): void => this.onPress(e)} />
116
+ ) : (
117
+ <Label visible={this.visible} text={mainText} />
118
+ );
119
+ }
120
+
121
+ /**
122
+ * Returns the button.
123
+ * @returns The button
124
+ */
125
+ createButton(): Button {
126
+ return (
127
+ <Button
128
+ visible={this.visible}
129
+ icon="sap-icon://ai"
130
+ type={ButtonType.Transparent}
131
+ text={this.resourceBundle.getText("M_NOTICE_AI_FILTER")}
132
+ press={(e: Button$PressEvent): void => this.onPress(e)}
133
+ />
134
+ );
135
+ }
136
+
137
+ /**
138
+ * Returns the content of this building block.
139
+ * @returns The control tree
140
+ */
141
+ createContent(): Link | Button | Label {
142
+ switch (this.type) {
143
+ case "Button":
144
+ return this.createButton();
145
+ case "Link":
146
+ default:
147
+ return this.createLinkOrLabel();
148
+ }
149
+ }
150
+ }
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2025 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2026 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/base/jsx-runtime/jsx", "sap/ui/core/Control", "sap/fe/base/jsx-runtime/jsx"], function (ClassSupport, jsx, Control, _jsx) {
6
6
  "use strict";