@sapudex/web-components 2.55.0 → 2.56.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 (275) hide show
  1. package/cypress/specs/HeroBanner.cy.tsx +35 -1
  2. package/cypress/specs/List.cy.tsx +63 -1
  3. package/cypress/specs/ListItem.cy.tsx +44 -0
  4. package/cypress/specs/MastheadShell.cy.tsx +39 -0
  5. package/cypress/specs/PhoneNumberField.cy.tsx +29 -1
  6. package/cypress/specs/SelectBox.cy.tsx +99 -0
  7. package/dist/CountrySelectorTemplate.js +1 -1
  8. package/dist/CountrySelectorTemplate.js.map +1 -1
  9. package/dist/FilterMenu.js +5 -1
  10. package/dist/FilterMenu.js.map +1 -1
  11. package/dist/HeroBanner.d.ts +12 -0
  12. package/dist/HeroBanner.js +54 -0
  13. package/dist/HeroBanner.js.map +1 -1
  14. package/dist/List.d.ts +5 -0
  15. package/dist/List.js +7 -0
  16. package/dist/List.js.map +1 -1
  17. package/dist/ListItem.js +5 -1
  18. package/dist/ListItem.js.map +1 -1
  19. package/dist/ListTemplate.js +1 -1
  20. package/dist/ListTemplate.js.map +1 -1
  21. package/dist/MastheadShell.d.ts +7 -0
  22. package/dist/MastheadShell.js +38 -0
  23. package/dist/MastheadShell.js.map +1 -1
  24. package/dist/PhoneNumberField.d.ts +3 -3
  25. package/dist/PhoneNumberField.js +18 -21
  26. package/dist/PhoneNumberField.js.map +1 -1
  27. package/dist/PhoneNumberFieldTemplate.d.ts +2 -0
  28. package/dist/PhoneNumberFieldTemplate.js +12 -0
  29. package/dist/PhoneNumberFieldTemplate.js.map +1 -0
  30. package/dist/Search.d.ts +2 -0
  31. package/dist/Search.js +21 -0
  32. package/dist/Search.js.map +1 -1
  33. package/dist/SearchableListBase.d.ts +4 -0
  34. package/dist/SearchableListBase.js +66 -6
  35. package/dist/SearchableListBase.js.map +1 -1
  36. package/dist/SearchableListBaseTemplate.js +1 -1
  37. package/dist/SearchableListBaseTemplate.js.map +1 -1
  38. package/dist/SelectBase.js +14 -22
  39. package/dist/SelectBase.js.map +1 -1
  40. package/dist/SelectBoxTemplate.js +1 -1
  41. package/dist/SelectBoxTemplate.js.map +1 -1
  42. package/dist/StatusMessage.d.ts +2 -2
  43. package/dist/StatusMessage.js +1 -1
  44. package/dist/StatusMessage.js.map +1 -1
  45. package/dist/TextAreaTemplate.js +1 -1
  46. package/dist/TextAreaTemplate.js.map +1 -1
  47. package/dist/TextFieldTemplate.js +1 -1
  48. package/dist/TextFieldTemplate.js.map +1 -1
  49. package/dist/Upload.js +6 -9
  50. package/dist/Upload.js.map +1 -1
  51. package/dist/UploadItem.d.ts +2 -2
  52. package/dist/UploadItem.js +6 -9
  53. package/dist/UploadItem.js.map +1 -1
  54. package/dist/UploadItemTemplate.d.ts +2 -0
  55. package/dist/UploadItemTemplate.js +14 -0
  56. package/dist/UploadItemTemplate.js.map +1 -0
  57. package/dist/UploadTemplate.d.ts +2 -0
  58. package/dist/UploadTemplate.js +11 -0
  59. package/dist/UploadTemplate.js.map +1 -0
  60. package/dist/assets/{InputSuggestions-DPiJnNLn.js → InputSuggestions-ChhTxYh4.js} +1 -1
  61. package/dist/assets/{ListItemStandardExpandableTextTemplate-B-v72jL6.js → ListItemStandardExpandableTextTemplate-Bh1HxZfH.js} +1 -1
  62. package/dist/assets/{bundle-C7Yft7IG.css → bundle-CdO3MnjQ.css} +1 -1
  63. package/dist/assets/{bundle.esm-DPppjwN7.js → bundle.esm-DCX_ohoZ.js} +253 -241
  64. package/dist/assets/messagebundle_uk-CCv57GhV.js +1 -0
  65. package/dist/css/themes/AccordionItem.css +1 -1
  66. package/dist/css/themes/AccordionSpotlight.css +1 -1
  67. package/dist/css/themes/Avatar.css +1 -1
  68. package/dist/css/themes/CountrySelector.css +1 -1
  69. package/dist/css/themes/EventRibbon.css +1 -1
  70. package/dist/css/themes/FilterMenu.css +1 -1
  71. package/dist/css/themes/HeroBanner.css +1 -1
  72. package/dist/css/themes/ImageGridTicker.css +1 -1
  73. package/dist/css/themes/ListItem.css +1 -1
  74. package/dist/css/themes/MastheadCountrySelector.css +1 -1
  75. package/dist/css/themes/MastheadItem.css +1 -1
  76. package/dist/css/themes/MastheadProfileMenu.css +1 -1
  77. package/dist/css/themes/MastheadShell.css +1 -1
  78. package/dist/css/themes/MediaPlayer.css +1 -1
  79. package/dist/css/themes/Modal.css +1 -1
  80. package/dist/css/themes/PhoneNumberField.css +1 -1
  81. package/dist/css/themes/Search.css +1 -1
  82. package/dist/css/themes/SecondaryNavigationItem.css +1 -1
  83. package/dist/css/themes/SelectBase.css +1 -1
  84. package/dist/css/themes/StepInput.css +1 -1
  85. package/dist/css/themes/TabInOverflow.css +1 -1
  86. package/dist/css/themes/TabNavigation.css +1 -1
  87. package/dist/css/themes/TableCellBase.css +1 -1
  88. package/dist/css/themes/TagGroup.css +1 -1
  89. package/dist/css/themes/TextArea.css +1 -1
  90. package/dist/css/themes/TextField.css +1 -1
  91. package/dist/css/themes/Wizard.css +1 -1
  92. package/dist/custom-elements-internal.json +1138 -117
  93. package/dist/custom-elements.json +740 -123
  94. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  95. package/dist/generated/themes/AccordionItem.css.d.ts +1 -1
  96. package/dist/generated/themes/AccordionItem.css.js +1 -1
  97. package/dist/generated/themes/AccordionItem.css.js.map +1 -1
  98. package/dist/generated/themes/AccordionSpotlight.css.d.ts +1 -1
  99. package/dist/generated/themes/AccordionSpotlight.css.js +1 -1
  100. package/dist/generated/themes/AccordionSpotlight.css.js.map +1 -1
  101. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  102. package/dist/generated/themes/Avatar.css.js +1 -1
  103. package/dist/generated/themes/Avatar.css.js.map +1 -1
  104. package/dist/generated/themes/CountrySelector.css.d.ts +1 -1
  105. package/dist/generated/themes/CountrySelector.css.js +1 -1
  106. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  107. package/dist/generated/themes/EventRibbon.css.d.ts +1 -1
  108. package/dist/generated/themes/EventRibbon.css.js +1 -1
  109. package/dist/generated/themes/EventRibbon.css.js.map +1 -1
  110. package/dist/generated/themes/FilterMenu.css.d.ts +1 -1
  111. package/dist/generated/themes/FilterMenu.css.js +1 -1
  112. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  113. package/dist/generated/themes/HeroBanner.css.d.ts +1 -1
  114. package/dist/generated/themes/HeroBanner.css.js +1 -1
  115. package/dist/generated/themes/HeroBanner.css.js.map +1 -1
  116. package/dist/generated/themes/ImageGridTicker.css.d.ts +1 -1
  117. package/dist/generated/themes/ImageGridTicker.css.js +1 -1
  118. package/dist/generated/themes/ImageGridTicker.css.js.map +1 -1
  119. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  120. package/dist/generated/themes/ListItem.css.js +1 -1
  121. package/dist/generated/themes/ListItem.css.js.map +1 -1
  122. package/dist/generated/themes/MastheadCountrySelector.css.d.ts +1 -1
  123. package/dist/generated/themes/MastheadCountrySelector.css.js +1 -1
  124. package/dist/generated/themes/MastheadCountrySelector.css.js.map +1 -1
  125. package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
  126. package/dist/generated/themes/MastheadItem.css.js +1 -1
  127. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  128. package/dist/generated/themes/MastheadProfileMenu.css.d.ts +1 -1
  129. package/dist/generated/themes/MastheadProfileMenu.css.js +1 -1
  130. package/dist/generated/themes/MastheadProfileMenu.css.js.map +1 -1
  131. package/dist/generated/themes/MastheadShell.css.d.ts +1 -1
  132. package/dist/generated/themes/MastheadShell.css.js +1 -1
  133. package/dist/generated/themes/MastheadShell.css.js.map +1 -1
  134. package/dist/generated/themes/MediaPlayer.css.d.ts +1 -1
  135. package/dist/generated/themes/MediaPlayer.css.js +1 -1
  136. package/dist/generated/themes/MediaPlayer.css.js.map +1 -1
  137. package/dist/generated/themes/Modal.css.d.ts +1 -1
  138. package/dist/generated/themes/Modal.css.js +1 -1
  139. package/dist/generated/themes/Modal.css.js.map +1 -1
  140. package/dist/generated/themes/PhoneNumberField.css.d.ts +1 -1
  141. package/dist/generated/themes/PhoneNumberField.css.js +1 -1
  142. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  143. package/dist/generated/themes/Search.css.d.ts +1 -1
  144. package/dist/generated/themes/Search.css.js +1 -1
  145. package/dist/generated/themes/Search.css.js.map +1 -1
  146. package/dist/generated/themes/SecondaryNavigationItem.css.d.ts +1 -1
  147. package/dist/generated/themes/SecondaryNavigationItem.css.js +1 -1
  148. package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
  149. package/dist/generated/themes/SelectBase.css.d.ts +1 -1
  150. package/dist/generated/themes/SelectBase.css.js +1 -1
  151. package/dist/generated/themes/SelectBase.css.js.map +1 -1
  152. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  153. package/dist/generated/themes/StepInput.css.js +1 -1
  154. package/dist/generated/themes/StepInput.css.js.map +1 -1
  155. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  156. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  157. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  158. package/dist/generated/themes/TabNavigation.css.d.ts +1 -1
  159. package/dist/generated/themes/TabNavigation.css.js +1 -1
  160. package/dist/generated/themes/TabNavigation.css.js.map +1 -1
  161. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  162. package/dist/generated/themes/TableCellBase.css.js +1 -1
  163. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  164. package/dist/generated/themes/TagGroup.css.d.ts +1 -1
  165. package/dist/generated/themes/TagGroup.css.js +1 -1
  166. package/dist/generated/themes/TagGroup.css.js.map +1 -1
  167. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  168. package/dist/generated/themes/TextArea.css.js +1 -1
  169. package/dist/generated/themes/TextArea.css.js.map +1 -1
  170. package/dist/generated/themes/TextField.css.d.ts +1 -1
  171. package/dist/generated/themes/TextField.css.js +1 -1
  172. package/dist/generated/themes/TextField.css.js.map +1 -1
  173. package/dist/generated/themes/Wizard.css.d.ts +1 -1
  174. package/dist/generated/themes/Wizard.css.js +1 -1
  175. package/dist/generated/themes/Wizard.css.js.map +1 -1
  176. package/dist/messagebundle_uk.properties +8 -0
  177. package/dist/utils/searchBackdrop.d.ts +1 -0
  178. package/dist/utils/searchBackdrop.js +23 -0
  179. package/dist/utils/searchBackdrop.js.map +1 -0
  180. package/dist/vscode.html-custom-data.json +165 -2
  181. package/dist/web-types.json +363 -6
  182. package/package.json +1 -1
  183. package/src/CountrySelectorTemplate.tsx +2 -2
  184. package/src/FilterMenu.ts +5 -1
  185. package/src/HeroBanner.ts +66 -0
  186. package/src/List.ts +8 -0
  187. package/src/ListItem.ts +5 -1
  188. package/src/ListTemplate.tsx +1 -1
  189. package/src/MastheadShell.ts +44 -0
  190. package/src/PhoneNumberField.ts +23 -22
  191. package/src/PhoneNumberFieldTemplate.tsx +128 -0
  192. package/src/Search.ts +21 -1
  193. package/src/SearchableListBase.ts +62 -7
  194. package/src/SearchableListBaseTemplate.tsx +1 -0
  195. package/src/SelectBase.ts +14 -21
  196. package/src/SelectBoxTemplate.tsx +1 -1
  197. package/src/StatusMessage.ts +4 -3
  198. package/src/TextAreaTemplate.tsx +1 -1
  199. package/src/TextFieldTemplate.tsx +1 -1
  200. package/src/Upload.ts +7 -10
  201. package/src/UploadItem.ts +7 -9
  202. package/src/UploadItemTemplate.tsx +62 -0
  203. package/src/UploadTemplate.tsx +53 -0
  204. package/src/generated/themes/AccordionItem.css.ts +1 -1
  205. package/src/generated/themes/AccordionSpotlight.css.ts +1 -1
  206. package/src/generated/themes/Avatar.css.ts +1 -1
  207. package/src/generated/themes/CountrySelector.css.ts +1 -1
  208. package/src/generated/themes/EventRibbon.css.ts +1 -1
  209. package/src/generated/themes/FilterMenu.css.ts +1 -1
  210. package/src/generated/themes/HeroBanner.css.ts +1 -1
  211. package/src/generated/themes/ImageGridTicker.css.ts +1 -1
  212. package/src/generated/themes/ListItem.css.ts +1 -1
  213. package/src/generated/themes/MastheadCountrySelector.css.ts +1 -1
  214. package/src/generated/themes/MastheadItem.css.ts +1 -1
  215. package/src/generated/themes/MastheadProfileMenu.css.ts +1 -1
  216. package/src/generated/themes/MastheadShell.css.ts +1 -1
  217. package/src/generated/themes/MediaPlayer.css.ts +1 -1
  218. package/src/generated/themes/Modal.css.ts +1 -1
  219. package/src/generated/themes/PhoneNumberField.css.ts +1 -1
  220. package/src/generated/themes/Search.css.ts +1 -1
  221. package/src/generated/themes/SecondaryNavigationItem.css.ts +1 -1
  222. package/src/generated/themes/SelectBase.css.ts +1 -1
  223. package/src/generated/themes/StepInput.css.ts +1 -1
  224. package/src/generated/themes/TabInOverflow.css.ts +1 -1
  225. package/src/generated/themes/TabNavigation.css.ts +1 -1
  226. package/src/generated/themes/TableCellBase.css.ts +1 -1
  227. package/src/generated/themes/TagGroup.css.ts +1 -1
  228. package/src/generated/themes/TextArea.css.ts +1 -1
  229. package/src/generated/themes/TextField.css.ts +1 -1
  230. package/src/generated/themes/Wizard.css.ts +1 -1
  231. package/src/i18n/messagebundle_uk.properties +8 -0
  232. package/src/themes/AccordionItem.css +1 -1
  233. package/src/themes/AccordionSpotlight.css +1 -1
  234. package/src/themes/Avatar.css +1 -1
  235. package/src/themes/CountrySelector.css +12 -2
  236. package/src/themes/EventRibbon.css +1 -1
  237. package/src/themes/FilterMenu.css +3 -2
  238. package/src/themes/HeroBanner.css +1 -1
  239. package/src/themes/ImageGridTicker.css +1 -1
  240. package/src/themes/ListItem.css +10 -2
  241. package/src/themes/MastheadCountrySelector.css +1 -1
  242. package/src/themes/MastheadItem.css +1 -1
  243. package/src/themes/MastheadProfileMenu.css +1 -1
  244. package/src/themes/MastheadShell.css +1 -1
  245. package/src/themes/MediaPlayer.css +10 -10
  246. package/src/themes/Modal.css +5 -3
  247. package/src/themes/PhoneNumberField.css +16 -6
  248. package/src/themes/Search.css +9 -9
  249. package/src/themes/SecondaryNavigationItem.css +1 -1
  250. package/src/themes/SelectBase.css +2 -2
  251. package/src/themes/StepInput.css +1 -1
  252. package/src/themes/TabInOverflow.css +2 -2
  253. package/src/themes/TabNavigation.css +7 -7
  254. package/src/themes/TableCellBase.css +1 -1
  255. package/src/themes/TagGroup.css +1 -1
  256. package/src/themes/TextArea.css +1 -1
  257. package/src/themes/TextField.css +1 -1
  258. package/src/themes/Wizard.css +1 -1
  259. package/src/utils/searchBackdrop.ts +23 -0
  260. package/dist/assets/messagebundle_uk-GmdhsMsP.js +0 -1
  261. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.d.ts +0 -3
  262. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +0 -16
  263. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +0 -1
  264. package/dist/generated/templates/UploadItemTemplate.lit.d.ts +0 -3
  265. package/dist/generated/templates/UploadItemTemplate.lit.js +0 -12
  266. package/dist/generated/templates/UploadItemTemplate.lit.js.map +0 -1
  267. package/dist/generated/templates/UploadTemplate.lit.d.ts +0 -3
  268. package/dist/generated/templates/UploadTemplate.lit.js +0 -10
  269. package/dist/generated/templates/UploadTemplate.lit.js.map +0 -1
  270. package/src/PhoneNumberField.hbs +0 -119
  271. package/src/Upload.hbs +0 -21
  272. package/src/UploadItem.hbs +0 -32
  273. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +0 -20
  274. package/src/generated/templates/UploadItemTemplate.lit.ts +0 -16
  275. package/src/generated/templates/UploadTemplate.lit.ts +0 -14
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "name": "@sapudex/web-components",
4
- "version": "2.55.0",
4
+ "version": "2.56.0",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -7386,7 +7386,7 @@
7386
7386
  },
7387
7387
  {
7388
7388
  "name": "udex-search",
7389
- "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-search</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/Search.js\";</code>\n---\n\n\n### **Events:**\n - **dropdown-item-click** - Fired event when the user clicks on the item inside the popover.\n- **handle-value-reset** - Fired event when the user clicks on the reset button.\n- **handle-value-search** - Fired event when the user typed to search field.\n- **prefix-item-click** - Fired event when the user clicks on the intem inside the prefix dropdown.\n- **search-keydown** - Fired event when the user clicks on the intem inside the prefix dropdown.\n- **submit-search-value** - Fired event when the user submitted the value.\n\n### **Slots:**\n - **default** - Defines the prefix dropdown of the Search component.",
7389
+ "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-search</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/Search.js\";</code>\n---\n\n\n### **Events:**\n - **dropdown-item-click** - Fired event when the user clicks on the item inside the popover.\n- **handle-value-reset** - Fired event when the user clicks on the reset button.\n- **handle-value-search** - Fired event when the user typed to search field.\n- **prefix-item-click** - Fired event when the user clicks on the intem inside the prefix dropdown.\n- **search-keydown** - Fired event when the user clicks on the intem inside the prefix dropdown.\n- **submit-search-value** - Fired event when the user submitted the value.\n- **suggestion-popover-closed** - Fired when the suggestions popover closes.\n- **suggestion-popover-opened** - Fired when the suggestions popover opens.\n\n### **Slots:**\n - **default** - Defines the prefix dropdown of the Search component.",
7390
7390
  "doc-url": "",
7391
7391
  "attributes": [
7392
7392
  {
@@ -7520,6 +7520,14 @@
7520
7520
  {
7521
7521
  "name": "submit-search-value",
7522
7522
  "description": "Fired event when the user submitted the value."
7523
+ },
7524
+ {
7525
+ "name": "suggestion-popover-closed",
7526
+ "description": "Fired when the suggestions popover closes."
7527
+ },
7528
+ {
7529
+ "name": "suggestion-popover-opened",
7530
+ "description": "Fired when the suggestions popover opens."
7523
7531
  }
7524
7532
  ],
7525
7533
  "js": {
@@ -7649,6 +7657,14 @@
7649
7657
  {
7650
7658
  "name": "submit-search-value",
7651
7659
  "description": "Fired event when the user submitted the value."
7660
+ },
7661
+ {
7662
+ "name": "suggestion-popover-closed",
7663
+ "description": "Fired when the suggestions popover closes."
7664
+ },
7665
+ {
7666
+ "name": "suggestion-popover-opened",
7667
+ "description": "Fired when the suggestions popover opens."
7652
7668
  }
7653
7669
  ]
7654
7670
  }
@@ -9321,7 +9337,7 @@
9321
9337
  {
9322
9338
  "name": "disabled",
9323
9339
  "description": "Defines if component should have disabled styles.",
9324
- "value": { "type": "string", "default": "\"\"" }
9340
+ "value": { "type": "boolean", "default": "false" }
9325
9341
  },
9326
9342
  {
9327
9343
  "name": "supporting-text",
@@ -9348,7 +9364,7 @@
9348
9364
  {
9349
9365
  "name": "disabled",
9350
9366
  "description": "Defines if component should have disabled styles.",
9351
- "value": { "type": "string" }
9367
+ "value": { "type": "boolean" }
9352
9368
  },
9353
9369
  {
9354
9370
  "name": "supporting-text",
@@ -11480,9 +11496,57 @@
11480
11496
  },
11481
11497
  {
11482
11498
  "name": "udex-upload-item",
11483
- "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-upload-item</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/UploadItem.js\";</code>\n---\n\n\n### **Events:**\n - **request-delete** - Triggered when the upload item is deleted.\n\n### **Slots:**\n - **default** - Slot for information about the uploaded file.",
11499
+ "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-upload-item</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/UploadItem.js\";</code>\n---\n\n\n### **Events:**\n - **accordion-icon-click** - Triggered when the user clicks on an accordion item.\n- **first-icon-click** - Fired event when the user click on a first icon.\n- **item-focus** - Fired event when the user focuses on a list item.\n- **item-press** - Fired event when the user click on a list item.\n- **request-delete** - Triggered when the upload item is deleted.\n- **second-icon-click** - Fired event when the user click on a second icon.\n\n### **Slots:**\n - **default** - Slot for information about the uploaded file.\n- **firstIcon** - Slot for first icon.\n- **secondIcon** - Slot for second icon.",
11484
11500
  "doc-url": "",
11485
11501
  "attributes": [
11502
+ {
11503
+ "name": "accessible-name",
11504
+ "description": "Defines the accessible name of the item.",
11505
+ "value": { "type": "string", "default": "\"\"" }
11506
+ },
11507
+ {
11508
+ "name": "accessible-role",
11509
+ "description": "Defines the role attribute of component",
11510
+ "value": { "type": "string", "default": "\"\"" }
11511
+ },
11512
+ {
11513
+ "name": "additional-text",
11514
+ "description": "Defines the additionalText, displayed at the end of the list item.",
11515
+ "value": { "type": "string | undefined" }
11516
+ },
11517
+ {
11518
+ "name": "additional-text-state",
11519
+ "description": "Defines the state of the additionalText.",
11520
+ "value": {
11521
+ "type": "\"Information\" | \"Warning\" | \"None\" | \"Success\" | \"Error\"",
11522
+ "default": "\"None\""
11523
+ }
11524
+ },
11525
+ {
11526
+ "name": "collapsed",
11527
+ "description": "Defines if collapsible grouping header is collapsed or expanded",
11528
+ "value": { "type": "boolean", "default": "undefined" }
11529
+ },
11530
+ {
11531
+ "name": "collapsible",
11532
+ "description": "Defines if grouping header can collapse/expand child elements.",
11533
+ "value": { "type": "boolean", "default": "false" }
11534
+ },
11535
+ {
11536
+ "name": "controlled",
11537
+ "description": "Defines the controlled state of the item.",
11538
+ "value": { "type": "boolean | undefined", "default": "false" }
11539
+ },
11540
+ {
11541
+ "name": "disabled",
11542
+ "description": "Defines whether <code> list item</code> is in disabled state.",
11543
+ "value": { "type": "boolean" }
11544
+ },
11545
+ {
11546
+ "name": "divider",
11547
+ "description": "Defines whether a visual separator should be rendered after the item.",
11548
+ "value": { "type": "boolean", "default": "false" }
11549
+ },
11486
11550
  {
11487
11551
  "name": "file-link",
11488
11552
  "description": "Defines the link of the uploaded file.",
@@ -11500,6 +11564,114 @@
11500
11564
  "type": "\"_blank\" | \"_parent\" | \"_self\" | \"_top\""
11501
11565
  }
11502
11566
  },
11567
+ {
11568
+ "name": "flag",
11569
+ "description": "Defines the image, displayed at the start of the item.",
11570
+ "value": { "type": "boolean | undefined" }
11571
+ },
11572
+ {
11573
+ "name": "flag-position",
11574
+ "description": "Defines the position for flag image.",
11575
+ "value": { "type": "string | undefined" }
11576
+ },
11577
+ {
11578
+ "name": "image",
11579
+ "description": "Allows control over the image source.",
11580
+ "value": { "type": "string | undefined" }
11581
+ },
11582
+ {
11583
+ "name": "image-alt",
11584
+ "description": "Allows control over the alternative text of the image.",
11585
+ "value": { "type": "string | undefined" }
11586
+ },
11587
+ {
11588
+ "name": "image-badge-state",
11589
+ "description": "Defines the image badge state of the component.",
11590
+ "value": {
11591
+ "type": "\"Information\" | \"Warning\" | \"Success\" | \"Error\" | \"Edit\" | undefined",
11592
+ "default": "\"\""
11593
+ }
11594
+ },
11595
+ {
11596
+ "name": "image-shape",
11597
+ "description": "Defines the shape of the image.",
11598
+ "value": {
11599
+ "type": "\"Circle\" | \"Square\"",
11600
+ "default": "\"Circle\""
11601
+ }
11602
+ },
11603
+ {
11604
+ "name": "image-size",
11605
+ "description": "Allows control over the size of the image.",
11606
+ "value": {
11607
+ "type": "\"XS\" | \"S\" | \"M\" | \"L\" | \"XL\"",
11608
+ "default": "\"S\""
11609
+ }
11610
+ },
11611
+ {
11612
+ "name": "indeterminate",
11613
+ "description": "Defines whether the selection of a list is displayed as partially selected.",
11614
+ "value": { "type": "boolean | undefined", "default": "false" }
11615
+ },
11616
+ {
11617
+ "name": "label",
11618
+ "description": "Defines the <code>label</code> for the item.",
11619
+ "value": { "type": "string" }
11620
+ },
11621
+ {
11622
+ "name": "mode",
11623
+ "description": "Defines the mode of the item.",
11624
+ "value": {
11625
+ "type": "\"SingleSelect\" | \"MultiSelect\" | \"SingleContent\" | \"RadioGroup\"",
11626
+ "default": "\"SingleSelect\""
11627
+ }
11628
+ },
11629
+ {
11630
+ "name": "rating",
11631
+ "description": "Defines the value of the rating.\nUse for rating indicator to represent aggregated review scores within list items",
11632
+ "value": { "type": "string | undefined" }
11633
+ },
11634
+ {
11635
+ "name": "rating-count",
11636
+ "description": "Defines the number of the rating.\nUse for the rating indicator",
11637
+ "value": { "type": "string | undefined" }
11638
+ },
11639
+ {
11640
+ "name": "rating-max",
11641
+ "description": "Defines the number of displayed rating symbols.",
11642
+ "value": { "type": "number", "default": "5" }
11643
+ },
11644
+ {
11645
+ "name": "selected",
11646
+ "description": "Defines the selected state of the item.",
11647
+ "value": { "type": "boolean", "default": "false" }
11648
+ },
11649
+ {
11650
+ "name": "size",
11651
+ "description": "Defines the size of the item.",
11652
+ "value": {
11653
+ "type": "\"Large\" | \"Standard\"",
11654
+ "default": "\"Standard\""
11655
+ }
11656
+ },
11657
+ {
11658
+ "name": "supporting-text",
11659
+ "description": "Defines the supportingText, displayed in the end of the item.",
11660
+ "value": { "type": "string" }
11661
+ },
11662
+ {
11663
+ "name": "total-count",
11664
+ "description": "The number of total votes.\nUse for the rating indicator",
11665
+ "value": { "type": "string | undefined" }
11666
+ },
11667
+ {
11668
+ "name": "type",
11669
+ "description": "Defines the type of the item.",
11670
+ "value": {
11671
+ "type": "\"Circle\" | \"Number\" | \"None\" | \"Icon\"",
11672
+ "default": "\"None\""
11673
+ }
11674
+ },
11503
11675
  {
11504
11676
  "name": "upload-percentage",
11505
11677
  "description": "Defines the percentage of the upload.",
@@ -11518,16 +11690,85 @@
11518
11690
  {
11519
11691
  "name": "default",
11520
11692
  "description": "Slot for information about the uploaded file."
11521
- }
11693
+ },
11694
+ { "name": "firstIcon", "description": "Slot for first icon." },
11695
+ { "name": "secondIcon", "description": "Slot for second icon." }
11522
11696
  ],
11523
11697
  "events": [
11698
+ {
11699
+ "name": "accordion-icon-click",
11700
+ "description": "Triggered when the user clicks on an accordion item."
11701
+ },
11702
+ {
11703
+ "name": "first-icon-click",
11704
+ "description": "Fired event when the user click on a first icon."
11705
+ },
11706
+ {
11707
+ "name": "item-focus",
11708
+ "description": "Fired event when the user focuses on a list item."
11709
+ },
11710
+ {
11711
+ "name": "item-press",
11712
+ "description": "Fired event when the user click on a list item."
11713
+ },
11524
11714
  {
11525
11715
  "name": "request-delete",
11526
11716
  "description": "Triggered when the upload item is deleted."
11717
+ },
11718
+ {
11719
+ "name": "second-icon-click",
11720
+ "description": "Fired event when the user click on a second icon."
11527
11721
  }
11528
11722
  ],
11529
11723
  "js": {
11530
11724
  "properties": [
11725
+ {
11726
+ "name": "accessible-name",
11727
+ "description": "Defines the accessible name of the item.",
11728
+ "value": { "type": "string" }
11729
+ },
11730
+ {
11731
+ "name": "accessible-role",
11732
+ "description": "Defines the role attribute of component",
11733
+ "value": { "type": "string" }
11734
+ },
11735
+ {
11736
+ "name": "additional-text",
11737
+ "description": "Defines the additionalText, displayed at the end of the list item.",
11738
+ "value": { "type": "string | undefined" }
11739
+ },
11740
+ {
11741
+ "name": "additional-text-state",
11742
+ "description": "Defines the state of the additionalText.",
11743
+ "value": {
11744
+ "type": "\"Information\" | \"Warning\" | \"None\" | \"Success\" | \"Error\""
11745
+ }
11746
+ },
11747
+ {
11748
+ "name": "collapsed",
11749
+ "description": "Defines if collapsible grouping header is collapsed or expanded",
11750
+ "value": { "type": "boolean" }
11751
+ },
11752
+ {
11753
+ "name": "collapsible",
11754
+ "description": "Defines if grouping header can collapse/expand child elements.",
11755
+ "value": { "type": "boolean" }
11756
+ },
11757
+ {
11758
+ "name": "controlled",
11759
+ "description": "Defines the controlled state of the item.",
11760
+ "value": { "type": "boolean | undefined" }
11761
+ },
11762
+ {
11763
+ "name": "disabled",
11764
+ "description": "Defines whether <code> list item</code> is in disabled state.",
11765
+ "value": { "type": "boolean" }
11766
+ },
11767
+ {
11768
+ "name": "divider",
11769
+ "description": "Defines whether a visual separator should be rendered after the item.",
11770
+ "value": { "type": "boolean" }
11771
+ },
11531
11772
  {
11532
11773
  "name": "file-link",
11533
11774
  "description": "Defines the link of the uploaded file.",
@@ -11545,6 +11786,102 @@
11545
11786
  "type": "\"_blank\" | \"_parent\" | \"_self\" | \"_top\""
11546
11787
  }
11547
11788
  },
11789
+ {
11790
+ "name": "flag",
11791
+ "description": "Defines the image, displayed at the start of the item.",
11792
+ "value": { "type": "boolean | undefined" }
11793
+ },
11794
+ {
11795
+ "name": "flag-position",
11796
+ "description": "Defines the position for flag image.",
11797
+ "value": { "type": "string | undefined" }
11798
+ },
11799
+ {
11800
+ "name": "image",
11801
+ "description": "Allows control over the image source.",
11802
+ "value": { "type": "string | undefined" }
11803
+ },
11804
+ {
11805
+ "name": "image-alt",
11806
+ "description": "Allows control over the alternative text of the image.",
11807
+ "value": { "type": "string | undefined" }
11808
+ },
11809
+ {
11810
+ "name": "image-badge-state",
11811
+ "description": "Defines the image badge state of the component.",
11812
+ "value": {
11813
+ "type": "\"Information\" | \"Warning\" | \"Success\" | \"Error\" | \"Edit\" | undefined"
11814
+ }
11815
+ },
11816
+ {
11817
+ "name": "image-shape",
11818
+ "description": "Defines the shape of the image.",
11819
+ "value": { "type": "\"Circle\" | \"Square\"" }
11820
+ },
11821
+ {
11822
+ "name": "image-size",
11823
+ "description": "Allows control over the size of the image.",
11824
+ "value": { "type": "\"XS\" | \"S\" | \"M\" | \"L\" | \"XL\"" }
11825
+ },
11826
+ {
11827
+ "name": "indeterminate",
11828
+ "description": "Defines whether the selection of a list is displayed as partially selected.",
11829
+ "value": { "type": "boolean | undefined" }
11830
+ },
11831
+ {
11832
+ "name": "label",
11833
+ "description": "Defines the <code>label</code> for the item.",
11834
+ "value": { "type": "string" }
11835
+ },
11836
+ {
11837
+ "name": "mode",
11838
+ "description": "Defines the mode of the item.",
11839
+ "value": {
11840
+ "type": "\"SingleSelect\" | \"MultiSelect\" | \"SingleContent\" | \"RadioGroup\""
11841
+ }
11842
+ },
11843
+ {
11844
+ "name": "rating",
11845
+ "description": "Defines the value of the rating.\nUse for rating indicator to represent aggregated review scores within list items",
11846
+ "value": { "type": "string | undefined" }
11847
+ },
11848
+ {
11849
+ "name": "rating-count",
11850
+ "description": "Defines the number of the rating.\nUse for the rating indicator",
11851
+ "value": { "type": "string | undefined" }
11852
+ },
11853
+ {
11854
+ "name": "rating-max",
11855
+ "description": "Defines the number of displayed rating symbols.",
11856
+ "value": { "type": "number" }
11857
+ },
11858
+ {
11859
+ "name": "selected",
11860
+ "description": "Defines the selected state of the item.",
11861
+ "value": { "type": "boolean" }
11862
+ },
11863
+ {
11864
+ "name": "size",
11865
+ "description": "Defines the size of the item.",
11866
+ "value": { "type": "\"Large\" | \"Standard\"" }
11867
+ },
11868
+ {
11869
+ "name": "supporting-text",
11870
+ "description": "Defines the supportingText, displayed in the end of the item.",
11871
+ "value": { "type": "string" }
11872
+ },
11873
+ {
11874
+ "name": "total-count",
11875
+ "description": "The number of total votes.\nUse for the rating indicator",
11876
+ "value": { "type": "string | undefined" }
11877
+ },
11878
+ {
11879
+ "name": "type",
11880
+ "description": "Defines the type of the item.",
11881
+ "value": {
11882
+ "type": "\"Circle\" | \"Number\" | \"None\" | \"Icon\""
11883
+ }
11884
+ },
11548
11885
  {
11549
11886
  "name": "upload-percentage",
11550
11887
  "description": "Defines the percentage of the upload.",
@@ -11557,9 +11894,29 @@
11557
11894
  }
11558
11895
  ],
11559
11896
  "events": [
11897
+ {
11898
+ "name": "accordion-icon-click",
11899
+ "description": "Triggered when the user clicks on an accordion item."
11900
+ },
11901
+ {
11902
+ "name": "first-icon-click",
11903
+ "description": "Fired event when the user click on a first icon."
11904
+ },
11905
+ {
11906
+ "name": "item-focus",
11907
+ "description": "Fired event when the user focuses on a list item."
11908
+ },
11909
+ {
11910
+ "name": "item-press",
11911
+ "description": "Fired event when the user click on a list item."
11912
+ },
11560
11913
  {
11561
11914
  "name": "request-delete",
11562
11915
  "description": "Triggered when the upload item is deleted."
11916
+ },
11917
+ {
11918
+ "name": "second-icon-click",
11919
+ "description": "Fired event when the user click on a second icon."
11563
11920
  }
11564
11921
  ]
11565
11922
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@sapudex/web-components",
4
- "version": "2.55.0",
4
+ "version": "2.56.0",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
7
7
  },
@@ -3,10 +3,10 @@ import type UDExCountrySelector from "./CountrySelector.js";
3
3
  export default function CountrySelectorTemplate(this: UDExCountrySelector) {
4
4
  if (this.hideFlagImages) { return <></>; }
5
5
  return (
6
- <img
6
+ <span
7
7
  class="udex-text-field__image"
8
8
  aria-label={this.flagAriaLabel}
9
9
  style={`background-position-x: ${this.selectedCountryFlagX}; background-position-y: ${this.selectedCountryFlagY}`}>
10
- </img>
10
+ </span>
11
11
  );
12
12
  }
package/src/FilterMenu.ts CHANGED
@@ -6,6 +6,7 @@ import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
6
6
  import {
7
7
  isTabPrevious, isTabNext, isEscape, isSpace, isEnter,
8
8
  } from "@ui5/webcomponents-base/dist/Keys.js";
9
+ import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
9
10
  import PopupAccessibleRole from "@ui5/webcomponents/dist/types/PopupAccessibleRole.js";
10
11
  import Popover from "@ui5/webcomponents/dist/Popover.js";
11
12
  import UDExBusyIndicator from "./BusyIndicator.js";
@@ -485,7 +486,10 @@ class UDExFilterMenu extends UDExSearchableListBase {
485
486
  if (this.modeSingleSelect && !this._search) {
486
487
  this.activeItem?.focus();
487
488
  }
488
- this._handleDropdownScroll();
489
+ this._expandCollapsedGroupsWithSelection();
490
+ renderFinished().then(() => {
491
+ this._handleDropdownScroll();
492
+ }).catch(() => {});
489
493
  this.fireDecoratorEvent("after-open");
490
494
  }
491
495
 
package/src/HeroBanner.ts CHANGED
@@ -8,6 +8,7 @@ import { isSpace } from "@ui5/webcomponents-base/dist/Keys.js";
8
8
  import Icon from "@ui5/webcomponents/dist/Icon.js";
9
9
  import HeroBannerTemplate from "./HeroBannerTemplate.js";
10
10
  import type UDExBreadcrumbs from "./Breadcrumbs.js";
11
+ import ensureSearchBackdropStyles from "./utils/searchBackdrop.js";
11
12
 
12
13
  // Styles
13
14
  import HeroBannerCss from "./generated/themes/HeroBanner.css.js";
@@ -155,6 +156,71 @@ class UDExHeroBanner extends UI5Element {
155
156
  this._calculateMediaButtonState();
156
157
  });
157
158
  }
159
+ this._handleSuggestionOpenedBound = this._showSearchBackdrop.bind(this);
160
+ this._handleSuggestionClosedBound = this._hideSearchBackdrop.bind(this);
161
+ this.addEventListener("suggestion-popover-opened", this._handleSuggestionOpenedBound);
162
+ this.addEventListener("suggestion-popover-closed", this._handleSuggestionClosedBound);
163
+ }
164
+
165
+ onExitDOM() {
166
+ this.removeEventListener("suggestion-popover-opened", this._handleSuggestionOpenedBound);
167
+ this.removeEventListener("suggestion-popover-closed", this._handleSuggestionClosedBound);
168
+ this._removeBackdropScrollListener();
169
+ this._bodyBackdropEl?.remove();
170
+ this._bodyBackdropEl = null;
171
+ }
172
+
173
+ _handleSuggestionOpenedBound!: () => void;
174
+ _handleSuggestionClosedBound!: () => void;
175
+ _handleBackdropScrollBound!: () => void;
176
+ _bodyBackdropEl: HTMLElement | null = null;
177
+
178
+ private _getBackdropEl(): HTMLElement {
179
+ if (!this._bodyBackdropEl) {
180
+ ensureSearchBackdropStyles(this.ownerDocument);
181
+ const el = this.ownerDocument.createElement("div");
182
+ el.className = "udex-search-backdrop";
183
+ el.addEventListener("click", () => this.handleBackdropClick());
184
+ this.ownerDocument.body.appendChild(el);
185
+ this._bodyBackdropEl = el;
186
+ }
187
+ return this._bodyBackdropEl;
188
+ }
189
+
190
+ private _updateBackdropTop(): void {
191
+ if (this._bodyBackdropEl) {
192
+ this._bodyBackdropEl.style.top = `${this.getBoundingClientRect().bottom}px`;
193
+ }
194
+ }
195
+
196
+ private _addBackdropScrollListener(): void {
197
+ this._handleBackdropScrollBound = this._updateBackdropTop.bind(this);
198
+ window.addEventListener("scroll", this._handleBackdropScrollBound, { passive: true });
199
+ }
200
+
201
+ private _removeBackdropScrollListener(): void {
202
+ if (this._handleBackdropScrollBound) {
203
+ window.removeEventListener("scroll", this._handleBackdropScrollBound);
204
+ }
205
+ }
206
+
207
+ private _showSearchBackdrop(): void {
208
+ const backdrop = this._getBackdropEl();
209
+ this._updateBackdropTop();
210
+ this._addBackdropScrollListener();
211
+ backdrop.style.display = "block";
212
+ }
213
+
214
+ private _hideSearchBackdrop(): void {
215
+ this._removeBackdropScrollListener();
216
+ if (this._bodyBackdropEl) {
217
+ this._bodyBackdropEl.style.display = "none";
218
+ }
219
+ }
220
+
221
+ handleBackdropClick(): void {
222
+ const search = this.querySelector<any>("[udex-search]");
223
+ search?.onClosePopover?.();
158
224
  }
159
225
 
160
226
  _toggleMediaButton(): void {
package/src/List.ts CHANGED
@@ -598,6 +598,14 @@ class UDExList extends UI5Element {
598
598
  return this._hasCollapsibleGroups ? "tree" : this.accessibleRole;
599
599
  }
600
600
 
601
+ /**
602
+ * Role for SingleContent mode. listbox/option is for selection widgets only;
603
+ * SingleContent is informational so "list"/"listitem" is the correct semantic.
604
+ */
605
+ get singleContentRole(): string {
606
+ return this.accessibleRole !== "listbox" ? this.accessibleRole : "list";
607
+ }
608
+
601
609
  /** aria-multiselectable exposed only for MultiSelect tree (collapsible groups). */
602
610
  get _listAriaMultiSelectable(): string | undefined {
603
611
  return (this._hasCollapsibleGroups && this.modeMultiSelect) ? "true" : undefined;
package/src/ListItem.ts CHANGED
@@ -372,7 +372,11 @@ class UDExListItem extends UDExListItemBase {
372
372
  if (this._useHostAriaRole) {
373
373
  return "presentation";
374
374
  }
375
- return this.accessibleRole.length > 0 ? this.accessibleRole : listItemRole;
375
+ if (this.accessibleRole.length > 0) {
376
+ return this.accessibleRole;
377
+ }
378
+ // SingleContent is informational (not a selection widget) — listitem is semantically correct
379
+ return this.modeSingleContent ? "listitem" : listItemRole;
376
380
  }
377
381
 
378
382
  get effectiveRole(): string {
@@ -34,7 +34,7 @@ export default function ListTemplate(this: UDExList) {
34
34
  <div
35
35
  id="udex-list"
36
36
  class="udex-list"
37
- role={this.accessibleRole as AriaRole}
37
+ role={this.singleContentRole as AriaRole}
38
38
  aria-label={this.singleContentAriaLabel}
39
39
  aria-busy={(this.ariaBusy ?? undefined) as "true" | "false" | undefined}>
40
40
  <slot></slot>