@ui5/webcomponents 2.26.0-rc.0 → 2.26.0-rc.1

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 (205) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/List.d.ts +2 -1
  4. package/dist/List.js +3 -0
  5. package/dist/List.js.map +1 -1
  6. package/dist/ListItemBaseTemplate.js +1 -1
  7. package/dist/ListItemBaseTemplate.js.map +1 -1
  8. package/dist/ListTemplate.js +1 -1
  9. package/dist/ListTemplate.js.map +1 -1
  10. package/dist/MultiComboBox.d.ts +3 -0
  11. package/dist/MultiComboBox.js +3 -0
  12. package/dist/MultiComboBox.js.map +1 -1
  13. package/dist/Popup.d.ts +17 -0
  14. package/dist/Popup.js +29 -0
  15. package/dist/Popup.js.map +1 -1
  16. package/dist/SelectTemplate.js +1 -1
  17. package/dist/SelectTemplate.js.map +1 -1
  18. package/dist/Tab.d.ts +1 -1
  19. package/dist/Toolbar.d.ts +1 -1
  20. package/dist/Toolbar.js.map +1 -1
  21. package/dist/ToolbarSelect.d.ts +6 -2
  22. package/dist/ToolbarSelect.js +46 -6
  23. package/dist/ToolbarSelect.js.map +1 -1
  24. package/dist/ToolbarSelectOption.d.ts +1 -3
  25. package/dist/ToolbarSelectOption.js +9 -30
  26. package/dist/ToolbarSelectOption.js.map +1 -1
  27. package/dist/ToolbarSelectTemplate.js +2 -2
  28. package/dist/ToolbarSelectTemplate.js.map +1 -1
  29. package/dist/bundle.common.bootstrap.d.ts +2 -0
  30. package/dist/bundle.common.bootstrap.js +3 -1
  31. package/dist/bundle.common.bootstrap.js.map +1 -1
  32. package/dist/bundle.esm.d.ts +2 -0
  33. package/dist/css/themes/Link.css +1 -1
  34. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  35. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  36. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  37. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  38. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  39. package/dist/css/themes/sap_horizon_auto/parameters-bundle.css +1 -0
  40. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  41. package/dist/css/themes/sap_horizon_hc_auto/parameters-bundle.css +1 -0
  42. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  43. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  44. package/dist/custom-elements-internal.json +17 -17
  45. package/dist/custom-elements.json +17 -17
  46. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  47. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  48. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  49. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  50. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  51. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  52. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  53. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  54. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  55. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  56. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  57. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  58. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  59. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  60. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  61. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  62. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  63. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  64. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  65. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  66. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  67. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  68. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  69. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  70. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  71. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  72. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  73. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  74. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  75. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  76. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  77. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  78. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  79. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  80. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  81. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  82. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  83. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  84. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  85. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  86. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  87. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  88. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  89. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  90. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  91. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  92. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  93. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  94. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  95. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  96. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  97. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  98. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  99. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  100. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  101. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  102. package/dist/generated/assets/themes/sap_horizon_auto/parameters-bundle.css.json +1 -1
  103. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  104. package/dist/generated/assets/themes/sap_horizon_hc_auto/parameters-bundle.css.json +1 -1
  105. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  106. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  107. package/dist/generated/i18n/i18n-defaults.js +1 -1
  108. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  109. package/dist/generated/themes/Link.css.d.ts +1 -1
  110. package/dist/generated/themes/Link.css.js +1 -1
  111. package/dist/generated/themes/Link.css.js.map +1 -1
  112. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  113. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  114. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  115. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  116. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  117. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  118. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  119. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  120. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  121. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  122. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  123. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  124. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  125. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  126. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  127. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.d.ts +1 -1
  128. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js +1 -0
  129. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js.map +1 -1
  130. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  131. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  132. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  133. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.d.ts +1 -1
  134. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js +1 -0
  135. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js.map +1 -1
  136. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  137. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  138. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  139. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  140. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  141. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  142. package/dist/vscode.html-custom-data.json +5 -5
  143. package/dist/web-types.json +9 -9
  144. package/package.json +9 -9
  145. package/src/ListItemBaseTemplate.tsx +1 -0
  146. package/src/ListTemplate.tsx +1 -1
  147. package/src/SelectTemplate.tsx +1 -0
  148. package/src/ToolbarSelectTemplate.tsx +2 -2
  149. package/src/i18n/messagebundle_ar.properties +5 -0
  150. package/src/i18n/messagebundle_bg.properties +5 -0
  151. package/src/i18n/messagebundle_ca.properties +5 -0
  152. package/src/i18n/messagebundle_cnr.properties +5 -0
  153. package/src/i18n/messagebundle_cs.properties +5 -0
  154. package/src/i18n/messagebundle_cy.properties +5 -0
  155. package/src/i18n/messagebundle_da.properties +5 -0
  156. package/src/i18n/messagebundle_de.properties +5 -0
  157. package/src/i18n/messagebundle_el.properties +5 -0
  158. package/src/i18n/messagebundle_en.properties +5 -0
  159. package/src/i18n/messagebundle_en_GB.properties +5 -0
  160. package/src/i18n/messagebundle_en_US_sappsd.properties +5 -0
  161. package/src/i18n/messagebundle_en_US_saprigi.properties +5 -0
  162. package/src/i18n/messagebundle_en_US_saptrc.properties +5 -0
  163. package/src/i18n/messagebundle_es.properties +5 -0
  164. package/src/i18n/messagebundle_es_MX.properties +5 -0
  165. package/src/i18n/messagebundle_et.properties +5 -0
  166. package/src/i18n/messagebundle_fi.properties +5 -0
  167. package/src/i18n/messagebundle_fr.properties +5 -0
  168. package/src/i18n/messagebundle_fr_CA.properties +5 -0
  169. package/src/i18n/messagebundle_hi.properties +5 -0
  170. package/src/i18n/messagebundle_hr.properties +5 -0
  171. package/src/i18n/messagebundle_hu.properties +5 -0
  172. package/src/i18n/messagebundle_id.properties +5 -0
  173. package/src/i18n/messagebundle_it.properties +5 -0
  174. package/src/i18n/messagebundle_iw.properties +5 -0
  175. package/src/i18n/messagebundle_ja.properties +5 -0
  176. package/src/i18n/messagebundle_kk.properties +5 -0
  177. package/src/i18n/messagebundle_ko.properties +5 -0
  178. package/src/i18n/messagebundle_lt.properties +5 -0
  179. package/src/i18n/messagebundle_lv.properties +5 -0
  180. package/src/i18n/messagebundle_mk.properties +5 -0
  181. package/src/i18n/messagebundle_ms.properties +5 -0
  182. package/src/i18n/messagebundle_nl.properties +5 -0
  183. package/src/i18n/messagebundle_no.properties +5 -0
  184. package/src/i18n/messagebundle_pl.properties +5 -0
  185. package/src/i18n/messagebundle_pt.properties +5 -0
  186. package/src/i18n/messagebundle_pt_PT.properties +5 -0
  187. package/src/i18n/messagebundle_ro.properties +5 -0
  188. package/src/i18n/messagebundle_ru.properties +5 -0
  189. package/src/i18n/messagebundle_sh.properties +5 -0
  190. package/src/i18n/messagebundle_sk.properties +5 -0
  191. package/src/i18n/messagebundle_sl.properties +5 -0
  192. package/src/i18n/messagebundle_sr.properties +5 -0
  193. package/src/i18n/messagebundle_sv.properties +5 -0
  194. package/src/i18n/messagebundle_th.properties +5 -0
  195. package/src/i18n/messagebundle_tr.properties +5 -0
  196. package/src/i18n/messagebundle_uk.properties +5 -0
  197. package/src/i18n/messagebundle_vi.properties +5 -0
  198. package/src/i18n/messagebundle_zh_CN.properties +5 -0
  199. package/src/i18n/messagebundle_zh_TW.properties +5 -0
  200. package/src/themes/Link.css +1 -1
  201. package/src/themes/base/Link-parameters.css +1 -0
  202. package/src/themes/sap_fiori_3_hcb/Link-parameters.css +1 -0
  203. package/src/themes/sap_fiori_3_hcw/Link-parameters.css +1 -0
  204. package/src/themes/sap_horizon_hcb/Link-parameters.css +1 -0
  205. package/src/themes/sap_horizon_hcw/Link-parameters.css +1 -0
@@ -47,8 +47,11 @@ let ToolbarSelect = class ToolbarSelect extends ToolbarItemBase {
47
47
  * @public
48
48
  */
49
49
  this.disabled = false;
50
- // Internal value storage, in case the composite select is not rendered on the the assignment happens
51
- this._value = "";
50
+ // Staging buffer for value= assignments that arrive before options are available.
51
+ this._pendingValue = "";
52
+ this._hasPendingValue = false;
53
+ // Computed in onBeforeRendering: index of the last selected option (-1 = none)
54
+ this._lastSelectedIndex = -1;
52
55
  }
53
56
  /**
54
57
  * Defines the value of the component:
@@ -58,13 +61,24 @@ let ToolbarSelect = class ToolbarSelect extends ToolbarItemBase {
58
61
  * @since 2.15.0
59
62
  */
60
63
  set value(newValue) {
61
- if (this.select && this.select.value !== newValue) {
62
- this.select.value = newValue;
64
+ if (this.options.length) {
65
+ // Options are available: resolve immediately by setting selected on the matching outer option.
66
+ // Empty string clears all selections.
67
+ this.options.forEach(option => {
68
+ option.selected = newValue !== "" && (option.value === newValue || option.textContent?.trim() === newValue);
69
+ });
70
+ this._pendingValue = "";
71
+ this._hasPendingValue = false;
72
+ }
73
+ else {
74
+ // Options not yet available (pre-render): stage for onBeforeRendering to resolve.
75
+ this._pendingValue = newValue;
76
+ this._hasPendingValue = true;
63
77
  }
64
- this._value = newValue;
65
78
  }
66
79
  get value() {
67
- return this.select ? this.select.value : this._value;
80
+ const selectedOption = this._lastSelectedIndex >= 0 ? this.options[this._lastSelectedIndex] : undefined;
81
+ return selectedOption?.value || selectedOption?.textContent?.trim() || "";
68
82
  }
69
83
  get select() {
70
84
  return this.shadowRoot.querySelector("[ui5-select]");
@@ -90,6 +104,20 @@ let ToolbarSelect = class ToolbarSelect extends ToolbarItemBase {
90
104
  this.fireDecoratorEvent("close-overflow");
91
105
  }
92
106
  }
107
+ onBeforeRendering() {
108
+ super.onBeforeRendering();
109
+ // Resolve a pending value= assignment now that options are available.
110
+ if (this._hasPendingValue && this.options.length) {
111
+ const pending = this._pendingValue;
112
+ this.options.forEach(option => {
113
+ option.selected = pending !== "" && (option.value === pending || option.textContent?.trim() === pending);
114
+ });
115
+ this._pendingValue = "";
116
+ this._hasPendingValue = false;
117
+ }
118
+ // Last selected wins — mirrors Select._applyAutoSelection behaviour.
119
+ this._lastSelectedIndex = this.options.reduce((last, option, index) => (option.selected ? index : last), -1);
120
+ }
93
121
  onChange(e) {
94
122
  e.stopImmediatePropagation();
95
123
  const selectedOptionIndex = Number(e.detail.selectedOption?.getAttribute("data-ui5-external-action-item-index"));
@@ -101,6 +129,8 @@ let ToolbarSelect = class ToolbarSelect extends ToolbarItemBase {
101
129
  this._syncOptions(selectedOptionIndex);
102
130
  }
103
131
  _syncOptions(selectedOptionIndex) {
132
+ this._pendingValue = "";
133
+ this._hasPendingValue = false;
104
134
  this.options.forEach((option, index) => {
105
135
  option.selected = index === selectedOptionIndex;
106
136
  });
@@ -113,6 +143,16 @@ let ToolbarSelect = class ToolbarSelect extends ToolbarItemBase {
113
143
  get hasCustomLabel() {
114
144
  return !!this.label.length;
115
145
  }
146
+ // Drives the inner Select via its value= API (non-deprecated path).
147
+ // When nothing is selected, the sentinel prevents _applyAutoSelection from forcing index 0.
148
+ // The sentinel never leaks to a form: ToolbarSelect is not form-associated and the inner Select lives in shadow DOM.
149
+ get _innerSelectValue() {
150
+ if (this._lastSelectedIndex === -1) {
151
+ return "__no-selection__";
152
+ }
153
+ const opt = this.options[this._lastSelectedIndex];
154
+ return opt?.value || opt?.textContent?.trim() || "";
155
+ }
116
156
  };
117
157
  __decorate([
118
158
  property()
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarSelect.js","sourceRoot":"","sources":["../src/ToolbarSelect.ts"],"names":[],"mappings":"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","sourcesContent":["import jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.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-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport ToolbarSelectCss from \"./generated/themes/ToolbarSelect.css.js\";\nimport type Select from \"./Select.js\";\n\n// Templates\nimport ToolbarSelectTemplate from \"./ToolbarSelectTemplate.js\";\nimport ToolbarItemBase from \"./ToolbarItemBase.js\";\nimport type { ToolbarItemEventDetail } from \"./ToolbarItemBase.js\";\nimport type ToolbarSelectOption from \"./ToolbarSelectOption.js\";\nimport type { SelectChangeEventDetail } from \"./Select.js\";\nimport type { DefaultSlot, Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\ntype ToolbarSelectChangeEventDetail = ToolbarItemEventDetail & SelectChangeEventDetail & {\n\tselectedToolbarOption: ToolbarSelectOption | undefined;\n};\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-toolbar-select` component is used to create a toolbar drop-down list.\n * The items inside the `ui5-toolbar-select` define the available options by using the `ui5-toolbar-select-option` component.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/ToolbarSelect.js\";`\n *\n * `import \"@ui5/webcomponents/dist/ToolbarSelectOption.js\";` (comes with `ui5-toolbar-select`)\n * @constructor\n * @abstract\n * @extends ToolbarItemBase\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-toolbar-select\",\n\ttemplate: ToolbarSelectTemplate,\n\trenderer: jsxRenderer,\n\tstyles: ToolbarSelectCss,\n})\n\n/**\n * Fired when the selected option changes.\n * @param {HTMLElement} selectedOption the selected option.\n * @param {HTMLElement} selectedToolbarOption the original toolbar select option.\n * @since 2.25.0\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired after the component's dropdown menu opens.\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n\n/**\n * Fired after the component's dropdown menu closes.\n * @public\n */\n@event(\"close\")\nclass ToolbarSelect extends ToolbarItemBase {\n\teventDetails!: ToolbarItemBase[\"eventDetails\"] & {\n\t\tchange: ToolbarSelectChangeEventDetail;\n\t\topen: ToolbarItemEventDetail;\n\t\tclose: ToolbarItemEventDetail;\n\t\t\"click\": ToolbarItemEventDetail;\n\t}\n\n\t/**\n\t * Defines the width of the select.\n\t *\n\t * **Note:** all CSS sizes are supported - 'percentage', 'px', 'rem', 'auto', etc.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\twidth?: string;\n\n\t/**\n\t * Defines the component options.\n\t *\n\t * **Note:** Only one selected option is allowed.\n\t * If more than one option is defined as selected, the last one would be considered as the selected one.\n\t *\n\t * **Note:** Use the `ui5-toolbar-select-option` component to define the desired options.\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: true,\n\t})\n\toptions!: DefaultSlot<ToolbarSelectOption>;\n\n\t/**\n\t * Defines the HTML element that will be displayed in the component input part,\n\t * representing the selected option.\n\t * @public\n\t * @since 2.15.0\n\t*/\n\t@slot()\n\tlabel!: Slot<HTMLElement>;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\taccessibleName?: string\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the select.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the value of the component:\n\t *\n\t * @public\n\t * @default \"\"\n\t * @since 2.15.0\n\t */\n\t@property()\n\tset value(newValue: string) {\n\t\tif (this.select && this.select.value !== newValue) {\n\t\t\tthis.select.value = newValue;\n\t\t}\n\t\tthis._value = newValue;\n\t}\n\n\tget value(): string | undefined {\n\t\treturn this.select ? this.select.value : this._value;\n\t}\n\n\tget select(): Select | null {\n\t\treturn this.shadowRoot!.querySelector<Select>(\"[ui5-select]\");\n\t}\n\n\t// Internal value storage, in case the composite select is not rendered on the the assignment happens\n\t_value: string = \"\";\n\n\tonClick(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"click\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented && !this.preventOverflowClosing) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonOpen(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"open\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonClose(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"close\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonChange(e: CustomEvent<SelectChangeEventDetail>): void {\n\t\te.stopImmediatePropagation();\n\t\tconst selectedOptionIndex = Number(e.detail.selectedOption?.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tconst selectedToolbarOption = this.options[selectedOptionIndex];\n\t\tconst prevented = !this.fireDecoratorEvent(\"change\", { ...e.detail, targetRef: e.target as HTMLElement, selectedToolbarOption });\n\t\tif (!prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\n\t\tthis._syncOptions(selectedOptionIndex);\n\t}\n\n\t_syncOptions(selectedOptionIndex: number): void {\n\t\tthis.options.forEach((option: ToolbarSelectOption, index: number) => {\n\t\t\toption.selected = index === selectedOptionIndex;\n\t\t});\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\twidth: this.isOverflowed ? undefined : this.width,\n\t\t};\n\t}\n\n\tget hasCustomLabel() {\n\t\treturn !!this.label.length;\n\t}\n}\n\nToolbarSelect.define();\n\nexport default ToolbarSelect;\n\nexport type {\n\tToolbarSelectChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"ToolbarSelect.js","sourceRoot":"","sources":["../src/ToolbarSelect.ts"],"names":[],"mappings":"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","sourcesContent":["import jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.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-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport type ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport ToolbarSelectCss from \"./generated/themes/ToolbarSelect.css.js\";\nimport type Select from \"./Select.js\";\n\n// Templates\nimport ToolbarSelectTemplate from \"./ToolbarSelectTemplate.js\";\nimport ToolbarItemBase from \"./ToolbarItemBase.js\";\nimport type { ToolbarItemEventDetail } from \"./ToolbarItemBase.js\";\nimport type ToolbarSelectOption from \"./ToolbarSelectOption.js\";\nimport type { SelectChangeEventDetail } from \"./Select.js\";\nimport type { DefaultSlot, Slot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\n\ntype ToolbarSelectChangeEventDetail = ToolbarItemEventDetail & SelectChangeEventDetail & {\n\tselectedToolbarOption: ToolbarSelectOption | undefined;\n};\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-toolbar-select` component is used to create a toolbar drop-down list.\n * The items inside the `ui5-toolbar-select` define the available options by using the `ui5-toolbar-select-option` component.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/ToolbarSelect.js\";`\n *\n * `import \"@ui5/webcomponents/dist/ToolbarSelectOption.js\";` (comes with `ui5-toolbar-select`)\n * @constructor\n * @abstract\n * @extends ToolbarItemBase\n * @public\n * @since 1.17.0\n */\n@customElement({\n\ttag: \"ui5-toolbar-select\",\n\ttemplate: ToolbarSelectTemplate,\n\trenderer: jsxRenderer,\n\tstyles: ToolbarSelectCss,\n})\n\n/**\n * Fired when the selected option changes.\n * @param {HTMLElement} selectedOption the selected option.\n * @param {HTMLElement} selectedToolbarOption the original toolbar select option.\n * @since 2.25.0\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired after the component's dropdown menu opens.\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n\n/**\n * Fired after the component's dropdown menu closes.\n * @public\n */\n@event(\"close\")\nclass ToolbarSelect extends ToolbarItemBase {\n\teventDetails!: ToolbarItemBase[\"eventDetails\"] & {\n\t\tchange: ToolbarSelectChangeEventDetail;\n\t\topen: ToolbarItemEventDetail;\n\t\tclose: ToolbarItemEventDetail;\n\t\t\"click\": ToolbarItemEventDetail;\n\t}\n\n\t/**\n\t * Defines the width of the select.\n\t *\n\t * **Note:** all CSS sizes are supported - 'percentage', 'px', 'rem', 'auto', etc.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\twidth?: string;\n\n\t/**\n\t * Defines the component options.\n\t *\n\t * **Note:** Only one selected option is allowed.\n\t * If more than one option is defined as selected, the last one would be considered as the selected one.\n\t *\n\t * **Note:** Use the `ui5-toolbar-select-option` component to define the desired options.\n\t * @public\n\t */\n\t@slot({\n\t\t\"default\": true,\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: true,\n\t})\n\toptions!: DefaultSlot<ToolbarSelectOption>;\n\n\t/**\n\t * Defines the HTML element that will be displayed in the component input part,\n\t * representing the selected option.\n\t * @public\n\t * @since 2.15.0\n\t*/\n\t@slot()\n\tlabel!: Slot<HTMLElement>;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\taccessibleName?: string\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the select.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the value of the component:\n\t *\n\t * @public\n\t * @default \"\"\n\t * @since 2.15.0\n\t */\n\t@property()\n\tset value(newValue: string) {\n\t\tif (this.options.length) {\n\t\t\t// Options are available: resolve immediately by setting selected on the matching outer option.\n\t\t\t// Empty string clears all selections.\n\t\t\tthis.options.forEach(option => {\n\t\t\t\toption.selected = newValue !== \"\" && (option.value === newValue || option.textContent?.trim() === newValue);\n\t\t\t});\n\t\t\tthis._pendingValue = \"\";\n\t\t\tthis._hasPendingValue = false;\n\t\t} else {\n\t\t\t// Options not yet available (pre-render): stage for onBeforeRendering to resolve.\n\t\t\tthis._pendingValue = newValue;\n\t\t\tthis._hasPendingValue = true;\n\t\t}\n\t}\n\n\tget value(): string {\n\t\tconst selectedOption = this._lastSelectedIndex >= 0 ? this.options[this._lastSelectedIndex] : undefined;\n\t\treturn selectedOption?.value || selectedOption?.textContent?.trim() || \"\";\n\t}\n\n\tget select(): Select | null {\n\t\treturn this.shadowRoot!.querySelector<Select>(\"[ui5-select]\");\n\t}\n\n\t// Staging buffer for value= assignments that arrive before options are available.\n\t_pendingValue: string = \"\";\n\t_hasPendingValue: boolean = false;\n\n\t// Computed in onBeforeRendering: index of the last selected option (-1 = none)\n\t_lastSelectedIndex: number = -1;\n\n\tonClick(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"click\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented && !this.preventOverflowClosing) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonOpen(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"open\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonClose(e: Event): void {\n\t\te.stopImmediatePropagation();\n\t\tconst prevented = !this.fireDecoratorEvent(\"close\", { targetRef: e.target as HTMLElement });\n\t\tif (prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\t}\n\n\tonBeforeRendering(): void {\n\t\tsuper.onBeforeRendering();\n\n\t\t// Resolve a pending value= assignment now that options are available.\n\t\tif (this._hasPendingValue && this.options.length) {\n\t\t\tconst pending = this._pendingValue;\n\t\t\tthis.options.forEach(option => {\n\t\t\t\toption.selected = pending !== \"\" && (option.value === pending || option.textContent?.trim() === pending);\n\t\t\t});\n\t\t\tthis._pendingValue = \"\";\n\t\t\tthis._hasPendingValue = false;\n\t\t}\n\n\t\t// Last selected wins — mirrors Select._applyAutoSelection behaviour.\n\t\tthis._lastSelectedIndex = this.options.reduce((last, option, index) => (option.selected ? index : last), -1);\n\t}\n\n\tonChange(e: CustomEvent<SelectChangeEventDetail>): void {\n\t\te.stopImmediatePropagation();\n\t\tconst selectedOptionIndex = Number(e.detail.selectedOption?.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tconst selectedToolbarOption = this.options[selectedOptionIndex];\n\t\tconst prevented = !this.fireDecoratorEvent(\"change\", { ...e.detail, targetRef: e.target as HTMLElement, selectedToolbarOption });\n\t\tif (!prevented) {\n\t\t\tthis.fireDecoratorEvent(\"close-overflow\");\n\t\t}\n\n\t\tthis._syncOptions(selectedOptionIndex);\n\t}\n\n\t_syncOptions(selectedOptionIndex: number): void {\n\t\tthis._pendingValue = \"\";\n\t\tthis._hasPendingValue = false;\n\t\tthis.options.forEach((option: ToolbarSelectOption, index: number) => {\n\t\t\toption.selected = index === selectedOptionIndex;\n\t\t});\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\twidth: this.isOverflowed ? undefined : this.width,\n\t\t};\n\t}\n\n\tget hasCustomLabel() {\n\t\treturn !!this.label.length;\n\t}\n\n\t// Drives the inner Select via its value= API (non-deprecated path).\n\t// When nothing is selected, the sentinel prevents _applyAutoSelection from forcing index 0.\n\t// The sentinel never leaks to a form: ToolbarSelect is not form-associated and the inner Select lives in shadow DOM.\n\tget _innerSelectValue(): string | undefined {\n\t\tif (this._lastSelectedIndex === -1) {\n\t\t\treturn \"__no-selection__\";\n\t\t}\n\t\tconst opt = this.options[this._lastSelectedIndex];\n\t\treturn opt?.value || opt?.textContent?.trim() || \"\";\n\t}\n}\n\nToolbarSelect.define();\n\nexport default ToolbarSelect;\n\nexport type {\n\tToolbarSelectChangeEventDetail,\n};\n"]}
@@ -25,9 +25,7 @@ declare class ToolbarSelectOption extends UI5Element {
25
25
  * @default false
26
26
  * @public
27
27
  */
28
- set selected(value: boolean);
29
- get selected(): boolean;
30
- _clearSiblingsAndSync(): void;
28
+ selected: boolean;
31
29
  /**
32
30
  * Defines the text of the component.
33
31
  *
@@ -21,35 +21,14 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
21
21
  * @since 1.17.0
22
22
  */
23
23
  let ToolbarSelectOption = class ToolbarSelectOption extends UI5Element {
24
- /**
25
- * Defines the selected state of the component.
26
- * @default false
27
- * @public
28
- */
29
- set selected(value) {
30
- if (value) {
31
- this.setAttribute("selected", "");
32
- this._clearSiblingsAndSync();
33
- }
34
- else {
35
- this.removeAttribute("selected");
36
- }
37
- }
38
- get selected() {
39
- return this.hasAttribute("selected");
40
- }
41
- _clearSiblingsAndSync() {
42
- const parent = this.parentElement;
43
- if (parent) {
44
- parent.options?.forEach(option => {
45
- if (option !== this) {
46
- option.removeAttribute("selected");
47
- }
48
- });
49
- if (parent.select) {
50
- parent.select.value = this.value !== undefined && this.value !== "" ? this.value : (this.textContent || "");
51
- }
52
- }
24
+ constructor() {
25
+ super(...arguments);
26
+ /**
27
+ * Defines the selected state of the component.
28
+ * @default false
29
+ * @public
30
+ */
31
+ this.selected = false;
53
32
  }
54
33
  };
55
34
  __decorate([
@@ -57,7 +36,7 @@ __decorate([
57
36
  ], ToolbarSelectOption.prototype, "value", void 0);
58
37
  __decorate([
59
38
  property({ type: Boolean })
60
- ], ToolbarSelectOption.prototype, "selected", null);
39
+ ], ToolbarSelectOption.prototype, "selected", void 0);
61
40
  __decorate([
62
41
  slot({ type: Node, "default": true, invalidateOnChildChange: true })
63
42
  ], ToolbarSelectOption.prototype, "text", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarSelectOption.js","sourceRoot":"","sources":["../src/ToolbarSelectOption.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAG3E;;;;;;;;;;;GAWG;AAEH,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,UAAU;IAU3C;;;;OAIG;IAEH,IAAI,QAAQ,CAAC,KAAc;QAC1B,IAAI,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,qBAAqB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,aAA8B,CAAC;QACnD,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;gBAChC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACrB,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;gBACpC,CAAC;YACF,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YAC7G,CAAC;QACF,CAAC;IACF,CAAC;CAUD,CAAA;AA3CA;IADC,QAAQ,EAAE;kDACI;AAQf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDAQ3B;AA2BD;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;iDAC5C;AAlDpB,mBAAmB;IADxB,aAAa,CAAC,2BAA2B,CAAC;GACrC,mBAAmB,CAmDxB;AAED,mBAAmB,CAAC,MAAM,EAAE,CAAC;AAE7B,eAAe,mBAAmB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type ToolbarSelect from \"./ToolbarSelect.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-toolbar-select-option` component defines the content of an option in the `ui5-toolbar-select`.\n * @constructor\n * @extends UI5Element\n * @abstract\n * @public\n * @since 1.17.0\n */\n@customElement(\"ui5-toolbar-select-option\")\nclass ToolbarSelectOption extends UI5Element {\n\t/**\n\t * Defines the value of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.25.0\n\t */\n\t@property()\n\tvalue?: string;\n\n\t/**\n\t * Defines the selected state of the component.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tset selected(value: boolean) {\n\t\tif (value) {\n\t\t\tthis.setAttribute(\"selected\", \"\");\n\t\t\tthis._clearSiblingsAndSync();\n\t\t} else {\n\t\t\tthis.removeAttribute(\"selected\");\n\t\t}\n\t}\n\n\tget selected(): boolean {\n\t\treturn this.hasAttribute(\"selected\");\n\t}\n\n\t_clearSiblingsAndSync(): void {\n\t\tconst parent = this.parentElement as ToolbarSelect;\n\t\tif (parent) {\n\t\t\tparent.options?.forEach(option => {\n\t\t\t\tif (option !== this) {\n\t\t\t\t\toption.removeAttribute(\"selected\");\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (parent.select) {\n\t\t\t\tparent.select.value = this.value !== undefined && this.value !== \"\" ? this.value : (this.textContent || \"\");\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true, invalidateOnChildChange: true })\n\ttext!: DefaultSlot<Node>;\n}\n\nToolbarSelectOption.define();\n\nexport default ToolbarSelectOption;\n"]}
1
+ {"version":3,"file":"ToolbarSelectOption.js","sourceRoot":"","sources":["../src/ToolbarSelectOption.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E;;;;;;;;;;;GAWG;AAEH,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,UAAU;IAA5C;;QAUC;;;;WAIG;QAEH,aAAQ,GAAG,KAAK,CAAC;IAUlB,CAAC;CAAA,CAAA;AAlBA;IADC,QAAQ,EAAE;kDACI;AAQf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACX;AASjB;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;iDAC5C;AAzBpB,mBAAmB;IADxB,aAAa,CAAC,2BAA2B,CAAC;GACrC,mBAAmB,CA0BxB;AAED,mBAAmB,CAAC,MAAM,EAAE,CAAC;AAE7B,eAAe,mBAAmB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-toolbar-select-option` component defines the content of an option in the `ui5-toolbar-select`.\n * @constructor\n * @extends UI5Element\n * @abstract\n * @public\n * @since 1.17.0\n */\n@customElement(\"ui5-toolbar-select-option\")\nclass ToolbarSelectOption extends UI5Element {\n\t/**\n\t * Defines the value of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.25.0\n\t */\n\t@property()\n\tvalue?: string;\n\n\t/**\n\t * Defines the selected state of the component.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true, invalidateOnChildChange: true })\n\ttext!: DefaultSlot<Node>;\n}\n\nToolbarSelectOption.define();\n\nexport default ToolbarSelectOption;\n"]}
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime"
2
2
  import Select from "./Select.js";
3
3
  import Option from "./Option.js";
4
4
  export default function ToolbarSelectTemplate() {
5
- return (_jsxs(Select, { class: this.classes.root, style: this.styles, value: this.value, "data-ui5-external-action-item-id": this._id, valueState: this.valueState, disabled: this.disabled, accessibleName: this.accessibleName, accessibleNameRef: this.accessibleNameRef, onClick: (...args) => this.onClick(...args), onClose: (...args) => this.onClose(...args), onOpen: (...args) => this.onOpen(...args), onChange: (...args) => this.onChange(...args), children: [this.hasCustomLabel &&
6
- _jsx("slot", { name: "label", slot: "label" }), this.options.map((option, index) => (_jsx(Option, { selected: option.selected, value: option.value, "data-ui5-external-action-item-index": index, children: option.textContent })))] }));
5
+ return (_jsxs(Select, { class: this.classes.root, style: this.styles, value: this._innerSelectValue, "data-ui5-external-action-item-id": this._id, valueState: this.valueState, disabled: this.disabled, accessibleName: this.accessibleName, accessibleNameRef: this.accessibleNameRef, onClick: (...args) => this.onClick(...args), onClose: (...args) => this.onClose(...args), onOpen: (...args) => this.onOpen(...args), onChange: (...args) => this.onChange(...args), children: [this.hasCustomLabel &&
6
+ _jsx("slot", { name: "label", slot: "label" }), this.options.map((option, index) => (_jsx(Option, { selected: index === this._lastSelectedIndex, value: option.value, "data-ui5-external-action-item-index": index, children: option.textContent })))] }));
7
7
  }
8
8
  //# sourceMappingURL=ToolbarSelectTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarSelectTemplate.js","sourceRoot":"","sources":["../src/ToolbarSelectTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,qBAAqB;IAC5C,OAAO,CACN,MAAC,MAAM,IACN,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EACxB,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,KAAK,EAAE,IAAI,CAAC,KAAK,sCACiB,IAAI,CAAC,GAAG,EAC1C,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAC3C,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAC3C,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,EACzC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,aAE5C,IAAI,CAAC,cAAc;gBACnB,eAAM,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,GACxB,EAEP,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CACpC,KAAC,MAAM,IACN,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,KAAK,EAAE,MAAM,CAAC,KAAK,yCACkB,KAAK,YAEzC,MAAM,CAAC,WAAW,GACX,CACT,CAAC,IACM,CAAC,CAAC;AACb,CAAC","sourcesContent":["import type ToolbarSelect from \"./ToolbarSelect.js\";\nimport Select from \"./Select.js\";\nimport Option from \"./Option.js\";\n\nexport default function ToolbarSelectTemplate(this: ToolbarSelect) {\n\treturn (\n\t\t<Select\n\t\t\tclass={this.classes.root}\n\t\t\tstyle={this.styles}\n\t\t\tvalue={this.value}\n\t\t\tdata-ui5-external-action-item-id={this._id}\n\t\t\tvalueState={this.valueState}\n\t\t\tdisabled={this.disabled}\n\t\t\taccessibleName={this.accessibleName}\n\t\t\taccessibleNameRef={this.accessibleNameRef}\n\t\t\tonClick={(...args) => this.onClick(...args)}\n\t\t\tonClose={(...args) => this.onClose(...args)}\n\t\t\tonOpen={(...args) => this.onOpen(...args)}\n\t\t\tonChange={(...args) => this.onChange(...args)}\n\t\t>\n\t\t\t{this.hasCustomLabel &&\n\t\t\t\t<slot name=\"label\" slot=\"label\">\n\t\t\t\t</slot>\n\t\t\t}\n\t\t\t{this.options.map((option, index) => (\n\t\t\t\t<Option\n\t\t\t\t\tselected={option.selected}\n\t\t\t\t\tvalue={option.value}\n\t\t\t\t\tdata-ui5-external-action-item-index={index}\n\t\t\t\t>\n\t\t\t\t\t{option.textContent}\n\t\t\t\t</Option>\n\t\t\t))}\n\t\t</Select>);\n}\n"]}
1
+ {"version":3,"file":"ToolbarSelectTemplate.js","sourceRoot":"","sources":["../src/ToolbarSelectTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,qBAAqB;IAC5C,OAAO,CACN,MAAC,MAAM,IACN,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EACxB,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,KAAK,EAAE,IAAI,CAAC,iBAAiB,sCACK,IAAI,CAAC,GAAG,EAC1C,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAC3C,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAC3C,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,EACzC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,aAE5C,IAAI,CAAC,cAAc;gBACnB,eAAM,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,GACxB,EAEP,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CACpC,KAAC,MAAM,IACN,QAAQ,EAAE,KAAK,KAAK,IAAI,CAAC,kBAAkB,EAC3C,KAAK,EAAE,MAAM,CAAC,KAAK,yCACkB,KAAK,YAEzC,MAAM,CAAC,WAAW,GACX,CACT,CAAC,IACM,CAAC,CAAC;AACb,CAAC","sourcesContent":["import type ToolbarSelect from \"./ToolbarSelect.js\";\nimport Select from \"./Select.js\";\nimport Option from \"./Option.js\";\n\nexport default function ToolbarSelectTemplate(this: ToolbarSelect) {\n\treturn (\n\t\t<Select\n\t\t\tclass={this.classes.root}\n\t\t\tstyle={this.styles}\n\t\t\tvalue={this._innerSelectValue}\n\t\t\tdata-ui5-external-action-item-id={this._id}\n\t\t\tvalueState={this.valueState}\n\t\t\tdisabled={this.disabled}\n\t\t\taccessibleName={this.accessibleName}\n\t\t\taccessibleNameRef={this.accessibleNameRef}\n\t\t\tonClick={(...args) => this.onClick(...args)}\n\t\t\tonClose={(...args) => this.onClose(...args)}\n\t\t\tonOpen={(...args) => this.onOpen(...args)}\n\t\t\tonChange={(...args) => this.onChange(...args)}\n\t\t>\n\t\t\t{this.hasCustomLabel &&\n\t\t\t\t<slot name=\"label\" slot=\"label\">\n\t\t\t\t</slot>\n\t\t\t}\n\t\t\t{this.options.map((option, index) => (\n\t\t\t\t<Option\n\t\t\t\t\tselected={index === this._lastSelectedIndex}\n\t\t\t\t\tvalue={option.value}\n\t\t\t\t\tdata-ui5-external-action-item-index={index}\n\t\t\t\t>\n\t\t\t\t\t{option.textContent}\n\t\t\t\t</Option>\n\t\t\t))}\n\t\t</Select>);\n}\n"]}
@@ -33,6 +33,8 @@ declare const testAssets: {
33
33
  };
34
34
  invisibleMessage: {
35
35
  announce: (message: string, mode: import("@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js").default) => void;
36
+ registerInvisibleMessageRegion: (container: HTMLElement) => void;
37
+ deregisterInvisibleMessageRegion: (container: HTMLElement) => void;
36
38
  };
37
39
  getElementSelection: (element: HTMLElement) => {
38
40
  selectedText: string;
@@ -58,7 +58,7 @@ import applyDirection from "@ui5/webcomponents-base/dist/locale/applyDirection.j
58
58
  import { attachDirectionChange } from "@ui5/webcomponents-base/dist/locale/directionChange.js";
59
59
  import { attachLanguageChange, detachLanguageChange } from "@ui5/webcomponents-base/dist/locale/languageChange.js";
60
60
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
61
- import announce from "@ui5/webcomponents-base/dist/util/InvisibleMessage.js";
61
+ import announce, { registerInvisibleMessageRegion, deregisterInvisibleMessageRegion } from "@ui5/webcomponents-base/dist/util/InvisibleMessage.js";
62
62
  import { ignoreCustomElements, shouldIgnoreCustomElement } from "@ui5/webcomponents-base/dist/IgnoreCustomElements.js";
63
63
  import { startMultipleDrag } from "@ui5/webcomponents-base/dist/DragAndDrop.js";
64
64
  import getElementSelection from "@ui5/webcomponents-base/dist/util/SelectionAssistant.js";
@@ -90,6 +90,8 @@ const testAssets = {
90
90
  },
91
91
  invisibleMessage: {
92
92
  announce,
93
+ registerInvisibleMessageRegion,
94
+ deregisterInvisibleMessageRegion,
93
95
  },
94
96
  getElementSelection,
95
97
  getLocaleData,
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.common.bootstrap.js","sourceRoot":"","sources":["../src/bundle.common.bootstrap.ts"],"names":[],"mappings":"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","sourcesContent":["import { setRuntimeAlias } from \"@ui5/webcomponents-base/dist/Runtimes.js\";\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n// OpenUI5 integration\nimport OpenUI5Support from \"@ui5/webcomponents-base/dist/features/OpenUI5Support.js\";\n\n// Assets\nimport \"./Assets.js\";\n\n// Icons\nimport \"@ui5/webcomponents-icons/dist/Assets.js\";\nimport \"@ui5/webcomponents-icons/dist/AllIcons.js\";\n\n// TNT Icons\nimport \"@ui5/webcomponents-icons-tnt/dist/Assets.js\";\nimport \"@ui5/webcomponents-icons-tnt/dist/AllIcons.js\";\n\n// SAP Business Suite Icons\nimport \"@ui5/webcomponents-icons-business-suite/dist/Assets.js\";\nimport \"@ui5/webcomponents-icons-business-suite/dist/AllIcons.js\";\n\nimport \"@ui5/webcomponents-base/dist/features/F6Navigation.js\";\nimport { addCustomCSS, attachThemeLoaded, detachThemeLoaded } from \"@ui5/webcomponents-base/dist/Theming.js\";\n// import \"./customI18n.js\";\n\n// Calendars\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Buddhist.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Islamic.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Japanese.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Persian.js\";\n\n// CLDR\nimport getLocaleData from \"@ui5/webcomponents-localization/dist/locale/getLocaleData.js\";\n\n// import { registerCustomThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/AssetRegistry.js\";\n// import { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\n// const customThemeLoader = theme => Promise.resolve(`:root {\n// \t${getScopedVarName(\"--_ui5_button_base_height\")}: 4rem;\n// \t${getScopedVarName(\"--_ui5_button_base_padding\")}: 2rem;\n// }`);\n// registerCustomThemePropertiesLoader(\"@ui5/webcomponents\", \"my_custom_theme\", customThemeLoader);\n\n// Uncomment to test the registration of custom properties and JSON bundles - use the TextArea test page\n// import { registerI18nLoader } from \"@ui5/webcomponents-base/dist/asset-registries/i18n.js\";\n// import parse from \"@ui5/webcomponents-base/dist/PropertiesFileFormat.js\";\n\n// const bg = \"https://sdk.openui5.org/resources/sap/ui/core/messagebundle_bg.properties\";\n// registerI18nLoader(\"@ui5/webcomponents\", \"bg\", async (localeId) => {\n// \tconst props = await (await fetch(bg)).text();\n// \treturn parse(props);\n// });\n// registerI18nLoader(\"@ui5/webcomponents\", \"fr\", async (localeId) => {\n// \treturn await (await fetch(\"fr\")).json();\n// });\n\n// used in test pages\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport { resetConfiguration } from \"@ui5/webcomponents-base/dist/InitialConfiguration.js\";\n\nimport { sanitizeHTML, URLListValidator } from \"@ui5/webcomponents-base/dist/util/HTMLSanitizer.js\";\n\nimport { getAnimationMode, setAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport { getTheme, setTheme, isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { getThemeRoot, setThemeRoot } from \"@ui5/webcomponents-base/dist/config/ThemeRoot.js\";\nimport { getTimezone, setTimezone } from \"@ui5/webcomponents-base/dist/config/Timezone.js\";\nimport { getLanguage, setLanguage } from \"@ui5/webcomponents-base/dist/config/Language.js\";\nimport getEffectiveIconCollection from \"@ui5/webcomponents-base/dist/asset-registries/util/getIconCollectionByTheme.js\";\nimport { setNoConflict } from \"@ui5/webcomponents-base/dist/config/NoConflict.js\";\nimport { getFirstDayOfWeek } from \"@ui5/webcomponents-base/dist/config/FormatSettings.js\";\nimport { _getRegisteredNames as getIconNames, getIconAccessibleName } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport applyDirection from \"@ui5/webcomponents-base/dist/locale/applyDirection.js\";\nimport { attachDirectionChange } from \"@ui5/webcomponents-base/dist/locale/directionChange.js\";\nimport { attachLanguageChange, detachLanguageChange } from \"@ui5/webcomponents-base/dist/locale/languageChange.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport { ignoreCustomElements, shouldIgnoreCustomElement } from \"@ui5/webcomponents-base/dist/IgnoreCustomElements.js\";\nimport { startMultipleDrag } from \"@ui5/webcomponents-base/dist/DragAndDrop.js\";\nimport getElementSelection from \"@ui5/webcomponents-base/dist/util/SelectionAssistant.js\";\n\nimport * as defaultTexts from \"./generated/i18n/i18n-defaults.js\";\n\n// OpenUI5Support.enablePolling = true;\n\nsetRuntimeAlias(\"UI5 Web Components Playground\");\n\n// @ts-ignore\nwindow.sanitizeHTML = sanitizeHTML;\n// @ts-ignore\nwindow.URLListValidator = URLListValidator;\n\nignoreCustomElements(\"app-\");\nignoreCustomElements(\"my-\");\n\nconst testAssets = {\n\tresetConfiguration,\n\tconfiguration: {\n\t\tgetAnimationMode,\n\t\tsetAnimationMode,\n\t\tgetTheme,\n\t\tsetTheme,\n\t\tgetThemeRoot,\n\t\tsetThemeRoot,\n\t\tisLegacyThemeFamily,\n\t\tgetLanguage,\n\t\tsetLanguage,\n\t\tsetNoConflict,\n\t\tgetFirstDayOfWeek,\n\t\tgetTimezone,\n\t\tsetTimezone,\n\t},\n\tinvisibleMessage: {\n\t\tannounce,\n\t},\n\tgetElementSelection,\n\tgetLocaleData,\n\tapplyDirection,\n\tattachDirectionChange,\n\tattachLanguageChange,\n\tdetachLanguageChange,\n\tResizeHandler,\n\taddCustomCSS,\n\tattachThemeLoaded,\n\tdetachThemeLoaded,\n\tgetIconNames,\n\tgetIconAccessibleName,\n\trenderFinished,\n\tdefaultTexts,\n\tgetEffectiveIconCollection,\n\tignoreCustomElements,\n\tshouldIgnoreCustomElement,\n\tstartMultipleDrag,\n};\n\n// @ts-ignore\nwindow[\"sap-ui-webcomponents-bundle\"] = testAssets;\n\nexport default testAssets;\n"]}
1
+ {"version":3,"file":"bundle.common.bootstrap.js","sourceRoot":"","sources":["../src/bundle.common.bootstrap.ts"],"names":[],"mappings":"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","sourcesContent":["import { setRuntimeAlias } from \"@ui5/webcomponents-base/dist/Runtimes.js\";\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n// OpenUI5 integration\nimport OpenUI5Support from \"@ui5/webcomponents-base/dist/features/OpenUI5Support.js\";\n\n// Assets\nimport \"./Assets.js\";\n\n// Icons\nimport \"@ui5/webcomponents-icons/dist/Assets.js\";\nimport \"@ui5/webcomponents-icons/dist/AllIcons.js\";\n\n// TNT Icons\nimport \"@ui5/webcomponents-icons-tnt/dist/Assets.js\";\nimport \"@ui5/webcomponents-icons-tnt/dist/AllIcons.js\";\n\n// SAP Business Suite Icons\nimport \"@ui5/webcomponents-icons-business-suite/dist/Assets.js\";\nimport \"@ui5/webcomponents-icons-business-suite/dist/AllIcons.js\";\n\nimport \"@ui5/webcomponents-base/dist/features/F6Navigation.js\";\nimport { addCustomCSS, attachThemeLoaded, detachThemeLoaded } from \"@ui5/webcomponents-base/dist/Theming.js\";\n// import \"./customI18n.js\";\n\n// Calendars\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Buddhist.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Islamic.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Japanese.js\";\nimport \"@ui5/webcomponents-localization/dist/features/calendar/Persian.js\";\n\n// CLDR\nimport getLocaleData from \"@ui5/webcomponents-localization/dist/locale/getLocaleData.js\";\n\n// import { registerCustomThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/AssetRegistry.js\";\n// import { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\n// const customThemeLoader = theme => Promise.resolve(`:root {\n// \t${getScopedVarName(\"--_ui5_button_base_height\")}: 4rem;\n// \t${getScopedVarName(\"--_ui5_button_base_padding\")}: 2rem;\n// }`);\n// registerCustomThemePropertiesLoader(\"@ui5/webcomponents\", \"my_custom_theme\", customThemeLoader);\n\n// Uncomment to test the registration of custom properties and JSON bundles - use the TextArea test page\n// import { registerI18nLoader } from \"@ui5/webcomponents-base/dist/asset-registries/i18n.js\";\n// import parse from \"@ui5/webcomponents-base/dist/PropertiesFileFormat.js\";\n\n// const bg = \"https://sdk.openui5.org/resources/sap/ui/core/messagebundle_bg.properties\";\n// registerI18nLoader(\"@ui5/webcomponents\", \"bg\", async (localeId) => {\n// \tconst props = await (await fetch(bg)).text();\n// \treturn parse(props);\n// });\n// registerI18nLoader(\"@ui5/webcomponents\", \"fr\", async (localeId) => {\n// \treturn await (await fetch(\"fr\")).json();\n// });\n\n// used in test pages\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport { resetConfiguration } from \"@ui5/webcomponents-base/dist/InitialConfiguration.js\";\n\nimport { sanitizeHTML, URLListValidator } from \"@ui5/webcomponents-base/dist/util/HTMLSanitizer.js\";\n\nimport { getAnimationMode, setAnimationMode } from \"@ui5/webcomponents-base/dist/config/AnimationMode.js\";\nimport { getTheme, setTheme, isLegacyThemeFamily } from \"@ui5/webcomponents-base/dist/config/Theme.js\";\nimport { getThemeRoot, setThemeRoot } from \"@ui5/webcomponents-base/dist/config/ThemeRoot.js\";\nimport { getTimezone, setTimezone } from \"@ui5/webcomponents-base/dist/config/Timezone.js\";\nimport { getLanguage, setLanguage } from \"@ui5/webcomponents-base/dist/config/Language.js\";\nimport getEffectiveIconCollection from \"@ui5/webcomponents-base/dist/asset-registries/util/getIconCollectionByTheme.js\";\nimport { setNoConflict } from \"@ui5/webcomponents-base/dist/config/NoConflict.js\";\nimport { getFirstDayOfWeek } from \"@ui5/webcomponents-base/dist/config/FormatSettings.js\";\nimport { _getRegisteredNames as getIconNames, getIconAccessibleName } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport applyDirection from \"@ui5/webcomponents-base/dist/locale/applyDirection.js\";\nimport { attachDirectionChange } from \"@ui5/webcomponents-base/dist/locale/directionChange.js\";\nimport { attachLanguageChange, detachLanguageChange } from \"@ui5/webcomponents-base/dist/locale/languageChange.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport announce, { registerInvisibleMessageRegion, deregisterInvisibleMessageRegion } from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport { ignoreCustomElements, shouldIgnoreCustomElement } from \"@ui5/webcomponents-base/dist/IgnoreCustomElements.js\";\nimport { startMultipleDrag } from \"@ui5/webcomponents-base/dist/DragAndDrop.js\";\nimport getElementSelection from \"@ui5/webcomponents-base/dist/util/SelectionAssistant.js\";\n\nimport * as defaultTexts from \"./generated/i18n/i18n-defaults.js\";\n\n// OpenUI5Support.enablePolling = true;\n\nsetRuntimeAlias(\"UI5 Web Components Playground\");\n\n// @ts-ignore\nwindow.sanitizeHTML = sanitizeHTML;\n// @ts-ignore\nwindow.URLListValidator = URLListValidator;\n\nignoreCustomElements(\"app-\");\nignoreCustomElements(\"my-\");\n\nconst testAssets = {\n\tresetConfiguration,\n\tconfiguration: {\n\t\tgetAnimationMode,\n\t\tsetAnimationMode,\n\t\tgetTheme,\n\t\tsetTheme,\n\t\tgetThemeRoot,\n\t\tsetThemeRoot,\n\t\tisLegacyThemeFamily,\n\t\tgetLanguage,\n\t\tsetLanguage,\n\t\tsetNoConflict,\n\t\tgetFirstDayOfWeek,\n\t\tgetTimezone,\n\t\tsetTimezone,\n\t},\n\tinvisibleMessage: {\n\t\tannounce,\n\t\tregisterInvisibleMessageRegion,\n\t\tderegisterInvisibleMessageRegion,\n\t},\n\tgetElementSelection,\n\tgetLocaleData,\n\tapplyDirection,\n\tattachDirectionChange,\n\tattachLanguageChange,\n\tdetachLanguageChange,\n\tResizeHandler,\n\taddCustomCSS,\n\tattachThemeLoaded,\n\tdetachThemeLoaded,\n\tgetIconNames,\n\tgetIconAccessibleName,\n\trenderFinished,\n\tdefaultTexts,\n\tgetEffectiveIconCollection,\n\tignoreCustomElements,\n\tshouldIgnoreCustomElement,\n\tstartMultipleDrag,\n};\n\n// @ts-ignore\nwindow[\"sap-ui-webcomponents-bundle\"] = testAssets;\n\nexport default testAssets;\n"]}
@@ -24,6 +24,8 @@ declare const testAssets: {
24
24
  };
25
25
  invisibleMessage: {
26
26
  announce: (message: string, mode: import("@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js").default) => void;
27
+ registerInvisibleMessageRegion: (container: HTMLElement) => void;
28
+ deregisterInvisibleMessageRegion: (container: HTMLElement) => void;
27
29
  };
28
30
  getElementSelection: (element: HTMLElement) => {
29
31
  selectedText: string;
@@ -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:inline-flex}:host{max-width:100%;color:var(--sapLinkColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);cursor:pointer;outline:none;text-decoration:var(--_ui5_link_text_decoration);text-shadow:var(--sapContent_TextShadow);white-space:normal;overflow-wrap:break-word}:host(:hover){color:var(--sapLink_Hover_Color);text-decoration:var(--_ui5_link_hover_text_decoration)}:host(:active){color:var(--sapLink_Active_Color);text-decoration:var(--_ui5_link_active_text_decoration)}:host([disabled]){pointer-events:none}:host([disabled]) .ui5-link-root{text-shadow:none;outline:none;cursor:default;pointer-events:none;opacity:var(--sapContent_DisabledOpacity)}:host([design="Emphasized"]) .ui5-link-root{font-family:var(--sapFontBoldFamily)}:host([design="Subtle"]){color:var(--sapLink_SubtleColor);text-decoration:var(--_ui5_link_subtle_text_decoration)}:host([design="Subtle"]:hover:not(:active)){color:var(--sapLink_SubtleColor);text-decoration:var(--_ui5_link_subtle_text_decoration_hover)}:host([wrapping-type="None"]){white-space:nowrap;overflow-wrap:normal}.ui5-link-root{max-width:100%;display:inline-block;position:relative;overflow:hidden;text-overflow:ellipsis;outline:none;white-space:inherit;overflow-wrap:inherit;text-decoration:inherit;color:inherit}:host([wrapping-type="None"][end-icon]) .ui5-link-root{display:inline-flex;align-items:end}:host .ui5-link-root{outline-offset:-.0625rem;border-radius:var(--_ui5_link_focus_border-radius)}.ui5-link-icon,.ui5-link-end-icon{color:inherit;flex-shrink:0}.ui5-link-icon{float:inline-start;margin-inline-end:.125rem}.ui5-link-end-icon{margin-inline-start:.125rem;vertical-align:bottom}.ui5-link-text{overflow:hidden;text-overflow:ellipsis}.ui5-link-root:focus-visible,:host([desktop]) .ui5-link-root:focus-within,:host([design="Subtle"]) .ui5-link-root:focus-visible,:host([design="Subtle"][desktop]) .ui5-link-root:focus-within{background-color:var(--_ui5_link_focus_background_color);outline:var(--_ui5_link_outline);border-radius:var(--_ui5_link_focus_border-radius);text-shadow:none;color:var(--_ui5_link_focus_color)}:host(:not([desktop])) .ui5-link-root:focus-visible,:host([desktop]:focus-within),:host([design="Subtle"][desktop]:focus-within){text-decoration:var(--_ui5_link_focus_text_decoration)}:host([desktop]:hover:not(:active):focus-within),:host([design="Subtle"][desktop]:hover:not(:active):focus-within){color:var(--_ui5_link_focused_hover_text_color);text-decoration:var(--_ui5_link_focused_hover_text_decoration)}:host([interactive-area-size="Large"]) .ui5-link-root{line-height:var(--_ui5_link_large_interactive_area_height)}:host([interactive-area-size="Large"])::part(icon),:host([interactive-area-size="Large"])::part(endIcon){height:var(--_ui5_link_large_interactive_area_height)}
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:inline-flex}:host{max-width:100%;color:var(--sapLinkColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);cursor:pointer;outline:none;text-decoration:var(--_ui5_link_text_decoration);text-shadow:var(--sapContent_TextShadow);white-space:normal;overflow-wrap:break-word}:host(:hover){color:var(--sapLink_Hover_Color);text-decoration:var(--_ui5_link_hover_text_decoration)}:host(:active){color:var(--sapLink_Active_Color);text-decoration:var(--_ui5_link_active_text_decoration)}:host([disabled]){pointer-events:none}:host([disabled]) .ui5-link-root{text-shadow:none;outline:none;cursor:default;pointer-events:none;opacity:var(--sapContent_DisabledOpacity)}:host([design="Emphasized"]) .ui5-link-root{font-family:var(--sapFontBoldFamily)}:host([design="Subtle"]){color:var(--sapLink_SubtleColor);text-decoration:var(--_ui5_link_subtle_text_decoration)}:host([design="Subtle"]:hover:not(:active)){color:var(--sapLink_SubtleColor);text-decoration:var(--_ui5_link_subtle_text_decoration_hover)}:host([wrapping-type="None"]){white-space:nowrap;overflow-wrap:normal}.ui5-link-root{max-width:100%;display:inline-block;position:relative;overflow:hidden;text-overflow:ellipsis;outline:none;white-space:inherit;overflow-wrap:inherit;text-decoration:inherit;color:inherit}:host([wrapping-type="None"][end-icon]) .ui5-link-root{display:inline-flex;align-items:end}:host .ui5-link-root{outline-offset:var(--_ui5_link_outline_offset);border-radius:var(--_ui5_link_focus_border-radius)}.ui5-link-icon,.ui5-link-end-icon{color:inherit;flex-shrink:0}.ui5-link-icon{float:inline-start;margin-inline-end:.125rem}.ui5-link-end-icon{margin-inline-start:.125rem;vertical-align:bottom}.ui5-link-text{overflow:hidden;text-overflow:ellipsis}.ui5-link-root:focus-visible,:host([desktop]) .ui5-link-root:focus-within,:host([design="Subtle"]) .ui5-link-root:focus-visible,:host([design="Subtle"][desktop]) .ui5-link-root:focus-within{background-color:var(--_ui5_link_focus_background_color);outline:var(--_ui5_link_outline);border-radius:var(--_ui5_link_focus_border-radius);text-shadow:none;color:var(--_ui5_link_focus_color)}:host(:not([desktop])) .ui5-link-root:focus-visible,:host([desktop]:focus-within),:host([design="Subtle"][desktop]:focus-within){text-decoration:var(--_ui5_link_focus_text_decoration)}:host([desktop]:hover:not(:active):focus-within),:host([design="Subtle"][desktop]:hover:not(:active):focus-within){color:var(--_ui5_link_focused_hover_text_color);text-decoration:var(--_ui5_link_focused_hover_text_decoration)}:host([interactive-area-size="Large"]) .ui5-link-root{line-height:var(--_ui5_link_large_interactive_area_height)}:host([interactive-area-size="Large"])::part(icon),:host([interactive-area-size="Large"])::part(endIcon){height:var(--_ui5_link_large_interactive_area_height)}