@sapudex/web-components 2.9.0 → 2.10.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 (273) hide show
  1. package/bundle.esm.js +1 -0
  2. package/cypress/fixtures/footer-links.ts +32 -33
  3. package/cypress/specs/CountrySelector.cy.tsx +5 -2
  4. package/cypress/specs/FilterMenu.cy.tsx +884 -0
  5. package/cypress/specs/Footer.cy.tsx +10 -11
  6. package/cypress/specs/SocialMediaButton.cy.tsx +44 -0
  7. package/cypress/specs/Table.cy.tsx +8 -2
  8. package/cypress/specs/TextField.cy.tsx +11 -4
  9. package/cypress/support/component-imports.instrumented.ts +11 -1
  10. package/cypress/support/component-imports.src.ts +12 -2
  11. package/dist/Assets.d.ts +1 -0
  12. package/dist/Assets.js +1 -0
  13. package/dist/Assets.js.map +1 -1
  14. package/dist/CountrySelector.d.ts +2 -2
  15. package/dist/CountrySelector.js +6 -3
  16. package/dist/CountrySelector.js.map +1 -1
  17. package/dist/DatePicker.js +2 -2
  18. package/dist/DatePicker.js.map +1 -1
  19. package/dist/FilterMenu.d.ts +13 -2
  20. package/dist/FilterMenu.js +59 -13
  21. package/dist/FilterMenu.js.map +1 -1
  22. package/dist/Footer.d.ts +5 -3
  23. package/dist/Footer.js +3 -5
  24. package/dist/Footer.js.map +1 -1
  25. package/dist/MastheadItem.d.ts +12 -0
  26. package/dist/MastheadItem.js +6 -0
  27. package/dist/MastheadItem.js.map +1 -1
  28. package/dist/MastheadShell.d.ts +13 -3
  29. package/dist/MastheadShell.js +17 -4
  30. package/dist/MastheadShell.js.map +1 -1
  31. package/dist/SelectBox.d.ts +0 -1
  32. package/dist/SelectBox.js +2 -2
  33. package/dist/SelectBox.js.map +1 -1
  34. package/dist/SocialMediaButton.d.ts +73 -0
  35. package/dist/SocialMediaButton.js +135 -0
  36. package/dist/SocialMediaButton.js.map +1 -0
  37. package/dist/SocialMediaButtonTemplate.d.ts +2 -0
  38. package/dist/SocialMediaButtonTemplate.js +6 -0
  39. package/dist/SocialMediaButtonTemplate.js.map +1 -0
  40. package/dist/StepInput.d.ts +2 -1
  41. package/dist/StepInput.js +6 -0
  42. package/dist/StepInput.js.map +1 -1
  43. package/dist/StepInputTemplate.js +1 -1
  44. package/dist/StepInputTemplate.js.map +1 -1
  45. package/dist/TableRow.d.ts +11 -0
  46. package/dist/TableRow.js +16 -0
  47. package/dist/TableRow.js.map +1 -1
  48. package/dist/TextArea.d.ts +3 -8
  49. package/dist/TextArea.js +12 -5
  50. package/dist/TextArea.js.map +1 -1
  51. package/dist/TextField.d.ts +20 -11
  52. package/dist/TextField.js +44 -31
  53. package/dist/TextField.js.map +1 -1
  54. package/dist/assets/{InputSuggestions-BmjyLzkP.js → InputSuggestions-xcV7PZDf.js} +1 -1
  55. package/dist/assets/{ListItemStandardExpandableTextTemplate-CDt3iORy.js → ListItemStandardExpandableTextTemplate-RYCr4pVL.js} +1 -1
  56. package/dist/assets/ar-CUjm9SSI.js +1 -0
  57. package/dist/assets/ar_EG-DQlFzN6x.js +1 -0
  58. package/dist/assets/ar_SA-lp21-ovF.js +1 -0
  59. package/dist/assets/bg-BMgSEqKu.js +1 -0
  60. package/dist/assets/{bundle.esm-Dz11sAJe.js → bundle.esm-bg-64miJ.js} +208 -207
  61. package/dist/assets/ca-BEgqToWu.js +1 -0
  62. package/dist/assets/cnr-IJYa9RjY.js +1 -0
  63. package/dist/assets/cs-DcM44PeB.js +1 -0
  64. package/dist/assets/da-D81rJc1N.js +1 -0
  65. package/dist/assets/de-eQRPkDbn.js +1 -0
  66. package/dist/assets/de_AT-Ag3CVI5m.js +1 -0
  67. package/dist/assets/de_CH-DgRYNg0p.js +1 -0
  68. package/dist/assets/el-W3XNt9Wl.js +1 -0
  69. package/dist/assets/el_CY-BfNIiYpU.js +1 -0
  70. package/dist/assets/en-CrBjXhTl.js +1 -0
  71. package/dist/assets/en_AU-Br7ytKW4.js +1 -0
  72. package/dist/assets/en_GB-DfnNoCgD.js +1 -0
  73. package/dist/assets/en_HK-Cyj9DPsW.js +1 -0
  74. package/dist/assets/en_IE-B5FpEUby.js +1 -0
  75. package/dist/assets/en_IN-C3XmKnWe.js +1 -0
  76. package/dist/assets/en_NZ-COJ5ycaE.js +1 -0
  77. package/dist/assets/en_PG-BB-Cmgcm.js +1 -0
  78. package/dist/assets/en_SG-Dfevg5da.js +1 -0
  79. package/dist/assets/en_ZA-BgOSNy0v.js +1 -0
  80. package/dist/assets/es-CRcVj7aR.js +1 -0
  81. package/dist/assets/es_AR-CFf6aWC5.js +1 -0
  82. package/dist/assets/es_BO-DNFEED1o.js +1 -0
  83. package/dist/assets/es_CL-DZhLyidG.js +1 -0
  84. package/dist/assets/es_CO-uWf-1tom.js +1 -0
  85. package/dist/assets/es_MX-C_wDRcT-.js +1 -0
  86. package/dist/assets/es_PE-QQsdF6EB.js +1 -0
  87. package/dist/assets/es_UY-CWhNSkyr.js +1 -0
  88. package/dist/assets/es_VE-hweLK9Ws.js +1 -0
  89. package/dist/assets/et-B3fco2O5.js +1 -0
  90. package/dist/assets/fa-oRguSKlL.js +1 -0
  91. package/dist/assets/fi-Daa_vlE5.js +1 -0
  92. package/dist/assets/fr-CANfYyyO.js +1 -0
  93. package/dist/assets/fr_BE-CCxD_K6m.js +1 -0
  94. package/dist/assets/fr_CA-BEtkRJZv.js +1 -0
  95. package/dist/assets/fr_CH-CrBmdh_n.js +1 -0
  96. package/dist/assets/fr_LU-CDcjZueC.js +1 -0
  97. package/dist/assets/he-CVUhin6m.js +1 -0
  98. package/dist/assets/hi-DF2PyuOw.js +1 -0
  99. package/dist/assets/hr-b6c4wXpD.js +1 -0
  100. package/dist/assets/hu-B7IWSU6b.js +1 -0
  101. package/dist/assets/id-GxIydI_w.js +1 -0
  102. package/dist/assets/it-DAjzvm2X.js +1 -0
  103. package/dist/assets/it_CH-BvNuHKQK.js +1 -0
  104. package/dist/assets/ja-DhVA6Wxm.js +1 -0
  105. package/dist/assets/kk-BSxmnq67.js +1 -0
  106. package/dist/assets/ko-ZT8Z04Uq.js +1 -0
  107. package/dist/assets/lt-BVWqkFr_.js +1 -0
  108. package/dist/assets/lv-DyXyW37Y.js +1 -0
  109. package/dist/assets/messagebundle_en-BHfPJk-2.js +1 -0
  110. package/dist/assets/mk-ChbdOzZI.js +1 -0
  111. package/dist/assets/ms-H9bJ42GA.js +1 -0
  112. package/dist/assets/nb-Dgkq7ozi.js +1 -0
  113. package/dist/assets/nl-DZqLtAXS.js +1 -0
  114. package/dist/assets/nl_BE-Dx4AxOFo.js +1 -0
  115. package/dist/assets/pl-MzEgIfvm.js +1 -0
  116. package/dist/assets/pt-2N8dosOm.js +1 -0
  117. package/dist/assets/pt_PT-CIcj5FsJ.js +1 -0
  118. package/dist/assets/ro-CZHCJKTk.js +1 -0
  119. package/dist/assets/ru-BcU9rFqC.js +1 -0
  120. package/dist/assets/ru_UA-aH_wNrwj.js +1 -0
  121. package/dist/assets/sk-DYn5gXzA.js +1 -0
  122. package/dist/assets/sl-RYb_KlOx.js +1 -0
  123. package/dist/assets/sr-Bap_3nyz.js +1 -0
  124. package/dist/assets/sr_Latn-FYOU_tQB.js +1 -0
  125. package/dist/assets/sv-CeQXZ1qM.js +1 -0
  126. package/dist/assets/th-C5mRgAid.js +1 -0
  127. package/dist/assets/tr-vCU3KUkO.js +1 -0
  128. package/dist/assets/uk-CKvdHIrD.js +1 -0
  129. package/dist/assets/vi-0BxthtV1.js +1 -0
  130. package/dist/assets/zh_CN-BV9PXZ7J.js +1 -0
  131. package/dist/assets/zh_HK-kGfo3-wS.js +1 -0
  132. package/dist/assets/zh_SG-B8bEKxnm.js +1 -0
  133. package/dist/assets/zh_TW-BshO-JEe.js +1 -0
  134. package/dist/css/themes/DatePicker.css +1 -1
  135. package/dist/css/themes/Dropdown.css +1 -1
  136. package/dist/css/themes/FilterMenu.css +1 -1
  137. package/dist/css/themes/Footer.css +1 -1
  138. package/dist/css/themes/Link.css +1 -1
  139. package/dist/css/themes/MastheadItem.css +1 -1
  140. package/dist/css/themes/MastheadMenu.css +1 -1
  141. package/dist/css/themes/RatingIndicator.css +1 -1
  142. package/dist/css/themes/SelectBox.css +1 -1
  143. package/dist/css/themes/Slider.css +1 -1
  144. package/dist/css/themes/SocialMediaButton.css +1 -0
  145. package/dist/css/themes/TextField.css +1 -1
  146. package/dist/custom-elements-internal.json +214 -6
  147. package/dist/custom-elements.json +205 -6
  148. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  149. package/dist/generated/i18n/i18n-defaults.d.ts +2 -2
  150. package/dist/generated/i18n/i18n-defaults.js +2 -2
  151. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  152. package/dist/generated/templates/CountrySelectorTemplate.lit.js +1 -2
  153. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
  154. package/dist/generated/templates/DatePickerTemplate.lit.js +4 -5
  155. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  156. package/dist/generated/templates/FilterMenuTemplate.lit.js +2 -2
  157. package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
  158. package/dist/generated/templates/FooterTemplate.lit.js +1 -1
  159. package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
  160. package/dist/generated/templates/MastheadItemTemplate.lit.js +3 -3
  161. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
  162. package/dist/generated/templates/MastheadShellTemplate.lit.js +1 -1
  163. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  164. package/dist/generated/templates/SearchableListBaseTemplate.lit.js +1 -1
  165. package/dist/generated/templates/SearchableListBaseTemplate.lit.js.map +1 -1
  166. package/dist/generated/templates/SelectBoxTemplate.lit.js +4 -4
  167. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
  168. package/dist/generated/templates/TextFieldTemplate.lit.js +2 -2
  169. package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
  170. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  171. package/dist/generated/themes/DatePicker.css.js +1 -1
  172. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  173. package/dist/generated/themes/Dropdown.css.d.ts +1 -1
  174. package/dist/generated/themes/Dropdown.css.js +1 -1
  175. package/dist/generated/themes/Dropdown.css.js.map +1 -1
  176. package/dist/generated/themes/FilterMenu.css.d.ts +1 -1
  177. package/dist/generated/themes/FilterMenu.css.js +1 -1
  178. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  179. package/dist/generated/themes/Footer.css.d.ts +1 -1
  180. package/dist/generated/themes/Footer.css.js +1 -1
  181. package/dist/generated/themes/Footer.css.js.map +1 -1
  182. package/dist/generated/themes/Link.css.d.ts +1 -1
  183. package/dist/generated/themes/Link.css.js +1 -1
  184. package/dist/generated/themes/Link.css.js.map +1 -1
  185. package/dist/generated/themes/MastheadItem.css.d.ts +1 -1
  186. package/dist/generated/themes/MastheadItem.css.js +1 -1
  187. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  188. package/dist/generated/themes/MastheadMenu.css.d.ts +1 -1
  189. package/dist/generated/themes/MastheadMenu.css.js +1 -1
  190. package/dist/generated/themes/MastheadMenu.css.js.map +1 -1
  191. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  192. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  193. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  194. package/dist/generated/themes/SelectBox.css.d.ts +1 -1
  195. package/dist/generated/themes/SelectBox.css.js +1 -1
  196. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  197. package/dist/generated/themes/Slider.css.d.ts +1 -1
  198. package/dist/generated/themes/Slider.css.js +1 -1
  199. package/dist/generated/themes/Slider.css.js.map +1 -1
  200. package/dist/generated/themes/SocialMediaButton.css.d.ts +2 -0
  201. package/dist/generated/themes/SocialMediaButton.css.js +8 -0
  202. package/dist/generated/themes/SocialMediaButton.css.js.map +1 -0
  203. package/dist/generated/themes/TextField.css.d.ts +1 -1
  204. package/dist/generated/themes/TextField.css.js +1 -1
  205. package/dist/generated/themes/TextField.css.js.map +1 -1
  206. package/dist/messagebundle.properties +3 -3
  207. package/dist/messagebundle_en.properties +1 -1
  208. package/dist/types/SocialMediaButtonType.d.ts +9 -0
  209. package/dist/types/SocialMediaButtonType.js +11 -0
  210. package/dist/types/SocialMediaButtonType.js.map +1 -0
  211. package/dist/vscode.html-custom-data.json +50 -1
  212. package/dist/web-types.json +112 -7
  213. package/package.json +2 -1
  214. package/src/Assets.ts +1 -0
  215. package/src/CountrySelector.hbs +3 -9
  216. package/src/CountrySelector.ts +7 -4
  217. package/src/DatePicker.hbs +17 -26
  218. package/src/DatePicker.ts +2 -2
  219. package/src/FilterMenu.hbs +33 -37
  220. package/src/FilterMenu.ts +69 -15
  221. package/src/Footer.hbs +7 -14
  222. package/src/Footer.ts +7 -8
  223. package/src/MastheadItem.hbs +2 -2
  224. package/src/MastheadItem.ts +18 -0
  225. package/src/MastheadShell.hbs +3 -2
  226. package/src/MastheadShell.ts +28 -7
  227. package/src/SearchableListBase.hbs +1 -1
  228. package/src/SelectBox.hbs +11 -13
  229. package/src/SelectBox.ts +2 -2
  230. package/src/SocialMediaButton.ts +152 -0
  231. package/src/SocialMediaButtonTemplate.tsx +18 -0
  232. package/src/StepInput.ts +8 -1
  233. package/src/StepInputTemplate.tsx +1 -2
  234. package/src/TableRow.ts +27 -1
  235. package/src/TextArea.ts +14 -7
  236. package/src/TextField.hbs +5 -5
  237. package/src/TextField.ts +87 -66
  238. package/src/generated/i18n/i18n-defaults.ts +2 -2
  239. package/src/generated/templates/CountrySelectorTemplate.lit.ts +1 -2
  240. package/src/generated/templates/DatePickerTemplate.lit.ts +4 -5
  241. package/src/generated/templates/FilterMenuTemplate.lit.ts +2 -2
  242. package/src/generated/templates/FooterTemplate.lit.ts +1 -1
  243. package/src/generated/templates/MastheadItemTemplate.lit.ts +3 -3
  244. package/src/generated/templates/MastheadShellTemplate.lit.ts +1 -1
  245. package/src/generated/templates/SearchableListBaseTemplate.lit.ts +1 -1
  246. package/src/generated/templates/SelectBoxTemplate.lit.ts +4 -4
  247. package/src/generated/templates/TextFieldTemplate.lit.ts +2 -2
  248. package/src/generated/themes/DatePicker.css.ts +1 -1
  249. package/src/generated/themes/Dropdown.css.ts +1 -1
  250. package/src/generated/themes/FilterMenu.css.ts +1 -1
  251. package/src/generated/themes/Footer.css.ts +1 -1
  252. package/src/generated/themes/Link.css.ts +1 -1
  253. package/src/generated/themes/MastheadItem.css.ts +1 -1
  254. package/src/generated/themes/MastheadMenu.css.ts +1 -1
  255. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  256. package/src/generated/themes/SelectBox.css.ts +1 -1
  257. package/src/generated/themes/Slider.css.ts +1 -1
  258. package/src/generated/themes/SocialMediaButton.css.ts +9 -0
  259. package/src/generated/themes/TextField.css.ts +1 -1
  260. package/src/i18n/messagebundle.properties +3 -3
  261. package/src/i18n/messagebundle_en.properties +1 -1
  262. package/src/themes/DatePicker.css +0 -5
  263. package/src/themes/Dropdown.css +1 -1
  264. package/src/themes/FilterMenu.css +2 -2
  265. package/src/themes/Footer.css +0 -16
  266. package/src/themes/Link.css +4 -1
  267. package/src/themes/MastheadItem.css +2 -1
  268. package/src/themes/MastheadMenu.css +4 -4
  269. package/src/themes/SelectBox.css +1 -1
  270. package/src/themes/SocialMediaButton.css +50 -0
  271. package/src/themes/TextField.css +0 -15
  272. package/src/types/SocialMediaButtonType.ts +10 -0
  273. package/dist/assets/messagebundle_en-CKeTZNW3.js +0 -1
@@ -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.9.0",
4
+ "version": "2.10.0",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -3899,17 +3899,17 @@
3899
3899
  {
3900
3900
  "name": "body-overflow",
3901
3901
  "description": "Defines overflow style for the body after clicking mobile menu opener button",
3902
- "value": { "type": "boolean", "default": "\"\"" }
3902
+ "value": { "type": "boolean", "default": "false" }
3903
3903
  },
3904
3904
  {
3905
3905
  "name": "show-search-by-default",
3906
3906
  "description": "Defines the visibility of the Search by default.",
3907
- "value": { "type": "boolean", "default": "\"\"" }
3907
+ "value": { "type": "boolean", "default": "false" }
3908
3908
  },
3909
3909
  {
3910
3910
  "name": "sticky-position",
3911
3911
  "description": "Defines sticky position for component",
3912
- "value": { "type": "boolean", "default": "\"\"" }
3912
+ "value": { "type": "boolean", "default": "false" }
3913
3913
  },
3914
3914
  {
3915
3915
  "name": "co-brand-image",
@@ -3966,6 +3966,11 @@
3966
3966
  "description": "Defines an accessible name for close icon for the search bar",
3967
3967
  "value": { "type": "string | undefined", "default": "undefined" }
3968
3968
  },
3969
+ {
3970
+ "name": "mobile-close-button-accessible-name",
3971
+ "description": "Defines an accessible name for the close mobile menu button",
3972
+ "value": { "type": "string | undefined", "default": "undefined" }
3973
+ },
3969
3974
  {
3970
3975
  "name": "homepage-aria-label",
3971
3976
  "description": "Defines an aria label for the homepage link",
@@ -4132,6 +4137,11 @@
4132
4137
  "description": "Defines an accessible name for close icon for the search bar",
4133
4138
  "value": { "type": "string | undefined" }
4134
4139
  },
4140
+ {
4141
+ "name": "mobile-close-button-accessible-name",
4142
+ "description": "Defines an accessible name for the close mobile menu button",
4143
+ "value": { "type": "string | undefined" }
4144
+ },
4135
4145
  {
4136
4146
  "name": "homepage-aria-label",
4137
4147
  "description": "Defines an aria label for the homepage link",
@@ -6644,6 +6654,81 @@
6644
6654
  "events": [],
6645
6655
  "js": { "properties": [], "events": [] }
6646
6656
  },
6657
+ {
6658
+ "name": "udex-social-media-button",
6659
+ "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-social-media-button</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/SocialMediaButton.js\";</code>\n---\n\n\n### **Events:**\n - **click** - Triggered when the user clicks on an item.",
6660
+ "doc-url": "",
6661
+ "attributes": [
6662
+ {
6663
+ "name": "type",
6664
+ "description": "Defines the type of Social Media Button.\n<br><br>\nAvailable options are:\n<ul>\n<li><code>facebook</code> - the button with Facebook icon</li>\n<li><code>instagram</code> - the button with Instagram icon</li>\n<li><code>linkedin</code> - the button with LinkedIn icon</li>\n<li><code>youtube</code> - the button with YouTube icon</li>\n<li><code>x</code> - the button with X icon</li>\n<li><code>mail</code> - the button with Instagram mail icon (default)</li>\n</ul>",
6665
+ "value": {
6666
+ "type": "\"facebook\" | \"instagram\" | \"linkedin\" | \"email\" | \"youtube\" | \"x\""
6667
+ }
6668
+ },
6669
+ {
6670
+ "name": "url",
6671
+ "description": "Defines the URL address for Social Media platform profile.",
6672
+ "value": { "type": "string | undefined", "default": "\"\"" }
6673
+ },
6674
+ {
6675
+ "name": "target",
6676
+ "description": "Define the target of the Social Media Button link\n<b>Note:</b> Standard hyperlink behavior is supported.",
6677
+ "value": {
6678
+ "type": "\"_blank\" | \"_parent\" | \"_self\" | \"_top\"",
6679
+ "default": "\"_blank\""
6680
+ }
6681
+ },
6682
+ {
6683
+ "name": "accessible-name",
6684
+ "description": "Defines the accessible ARIA name of the component.",
6685
+ "value": {
6686
+ "type": "string | undefined",
6687
+ "default": "\"Social Media Button\""
6688
+ }
6689
+ }
6690
+ ],
6691
+ "events": [
6692
+ {
6693
+ "name": "click",
6694
+ "description": "Triggered when the user clicks on an item."
6695
+ }
6696
+ ],
6697
+ "js": {
6698
+ "properties": [
6699
+ {
6700
+ "name": "type",
6701
+ "description": "Defines the type of Social Media Button.\n<br><br>\nAvailable options are:\n<ul>\n<li><code>facebook</code> - the button with Facebook icon</li>\n<li><code>instagram</code> - the button with Instagram icon</li>\n<li><code>linkedin</code> - the button with LinkedIn icon</li>\n<li><code>youtube</code> - the button with YouTube icon</li>\n<li><code>x</code> - the button with X icon</li>\n<li><code>mail</code> - the button with Instagram mail icon (default)</li>\n</ul>",
6702
+ "value": {
6703
+ "type": "\"facebook\" | \"instagram\" | \"linkedin\" | \"email\" | \"youtube\" | \"x\""
6704
+ }
6705
+ },
6706
+ {
6707
+ "name": "url",
6708
+ "description": "Defines the URL address for Social Media platform profile.",
6709
+ "value": { "type": "string | undefined" }
6710
+ },
6711
+ {
6712
+ "name": "target",
6713
+ "description": "Define the target of the Social Media Button link\n<b>Note:</b> Standard hyperlink behavior is supported.",
6714
+ "value": {
6715
+ "type": "\"_blank\" | \"_parent\" | \"_self\" | \"_top\""
6716
+ }
6717
+ },
6718
+ {
6719
+ "name": "accessible-name",
6720
+ "description": "Defines the accessible ARIA name of the component.",
6721
+ "value": { "type": "string | undefined" }
6722
+ }
6723
+ ],
6724
+ "events": [
6725
+ {
6726
+ "name": "click",
6727
+ "description": "Triggered when the user clicks on an item."
6728
+ }
6729
+ ]
6730
+ }
6731
+ },
6647
6732
  {
6648
6733
  "name": "udex-status-badge",
6649
6734
  "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-status-badge</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@sapudex/web-components/dist/StatusBadge.js\";</code>\n---\n",
@@ -7506,6 +7591,11 @@
7506
7591
  "name": "interactive",
7507
7592
  "description": "Defines the interactive state of the row.",
7508
7593
  "value": { "type": "boolean | undefined", "default": "false" }
7594
+ },
7595
+ {
7596
+ "name": "highlighted",
7597
+ "description": "Defines highlighted the row.",
7598
+ "value": { "type": "boolean | undefined", "default": "false" }
7509
7599
  }
7510
7600
  ],
7511
7601
  "slots": [
@@ -7521,6 +7611,11 @@
7521
7611
  "name": "interactive",
7522
7612
  "description": "Defines the interactive state of the row.",
7523
7613
  "value": { "type": "boolean | undefined" }
7614
+ },
7615
+ {
7616
+ "name": "highlighted",
7617
+ "description": "Defines highlighted the row.",
7618
+ "value": { "type": "boolean | undefined" }
7524
7619
  }
7525
7620
  ],
7526
7621
  "events": []
@@ -7778,7 +7873,7 @@
7778
7873
  },
7779
7874
  {
7780
7875
  "name": "udex-textarea",
7781
- "description": "\n---\n",
7876
+ "description": "\n---\n\n\n### **Events:**\n - **change** - Fires when the value of the textarea changes and the textarea loses focus.",
7782
7877
  "doc-url": "",
7783
7878
  "attributes": [
7784
7879
  {
@@ -7852,7 +7947,12 @@
7852
7947
  "value": { "type": "string", "default": "\"\"" }
7853
7948
  }
7854
7949
  ],
7855
- "events": [],
7950
+ "events": [
7951
+ {
7952
+ "name": "change",
7953
+ "description": "Fires when the value of the textarea changes and the textarea loses focus."
7954
+ }
7955
+ ],
7856
7956
  "js": {
7857
7957
  "properties": [
7858
7958
  {
@@ -7926,7 +8026,12 @@
7926
8026
  "value": { "type": "string" }
7927
8027
  }
7928
8028
  ],
7929
- "events": []
8029
+ "events": [
8030
+ {
8031
+ "name": "change",
8032
+ "description": "Fires when the value of the textarea changes and the textarea loses focus."
8033
+ }
8034
+ ]
7930
8035
  }
7931
8036
  },
7932
8037
  {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@sapudex/web-components",
4
- "version": "2.9.0",
4
+ "version": "2.10.0",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
7
7
  },
@@ -41,6 +41,7 @@
41
41
  "@ui5/webcomponents-base": "2.14.0",
42
42
  "@ui5/webcomponents-fiori": "2.14.0",
43
43
  "@ui5/webcomponents-icons": "2.14.0",
44
+ "@ui5/webcomponents-localization": "2.14.0",
44
45
  "@ui5/webcomponents-theming": "2.14.0",
45
46
  "@vimeo/player": "^2.24.0",
46
47
  "video.js": "8.22.0"
package/src/Assets.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import "@ui5/webcomponents-theming/dist/Assets.js"; // Theming
2
+ import "@ui5/webcomponents-localization/dist/Assets.js";
2
3
 
3
4
  // own web-components package assets
4
5
  import "./generated/json-imports/Themes.js";
@@ -17,13 +17,6 @@
17
17
  @keydown="{{handleKeyDownDropdown}}">
18
18
  {{searchableList}}
19
19
  </udex-dropdown>
20
- {{#if supportingText}}
21
- <udex-status-message
22
- ?disabled="{{disabled}}"
23
- supporting-text="{{supportingText}}"
24
- value-state="{{valueState}}">
25
- </udex-status-message>
26
- {{/if}}
27
20
  </div>
28
21
 
29
22
  {{#*inline "trigger"}}
@@ -45,12 +38,12 @@
45
38
  class="udex-country-selector__text"
46
39
  value="{{selectedCountryName}}"
47
40
  value-state="{{valueState}}"
41
+ supporting-text="{{supportingText}}"
48
42
  direction="left"
49
43
  aria-label="{{effectiveAriaLabel}}"
50
44
  accessible-name="{{supportingText}}"
51
45
  accessible-name-ref="{{accessibleNameRef}}"
52
46
  aria-controls="{{ariaControls}}"
53
- role="combobox"
54
47
  aria-haspopup="true"
55
48
  aria-expanded="{{_open}}"
56
49
  ?required="{{required}}"
@@ -61,7 +54,8 @@
61
54
  @mousedown="{{handleInputMouseDown}}"
62
55
  icon="{{triggerIcon}}"
63
56
  accessible-icon-name="{{effectiveAriaLabel}}"
64
- maxlength="0">
57
+ maxlength="0"
58
+ _is-combobox-role>
65
59
  </udex-text-field>
66
60
  </div>
67
61
  {{/inline}}
@@ -348,7 +348,7 @@ class UDExCountrySelector extends UDExSearchableListBase {
348
348
  }
349
349
 
350
350
  handleCloseSearch() {
351
- this.getInput()?.shadowRoot!.querySelector<Button>("[udex-control-button]")?.focus();
351
+ this.getTextField()?.shadowRoot!.querySelector<Button>("[udex-control-button]")?.focus();
352
352
  }
353
353
 
354
354
  handleItemPress(e: CustomEvent) {
@@ -373,6 +373,7 @@ class UDExCountrySelector extends UDExSearchableListBase {
373
373
 
374
374
  handleTriggerClick() {
375
375
  if (!this.isOpenerDisabled) {
376
+ this._dropdown.opener = this.getTextField()._inputHolder;
376
377
  this._dropdown.open = !this._dropdown.open;
377
378
  }
378
379
  }
@@ -456,8 +457,10 @@ class UDExCountrySelector extends UDExSearchableListBase {
456
457
  return this.getCountryLabel(this.selectedCountry?.countryName, this.selectedCountry?.localName) || "None";
457
458
  }
458
459
 
459
- get triggerIcon(): string {
460
- return this._open ? "navigation-up-arrow" : "navigation-down-arrow";
460
+ get triggerIcon(): string | undefined {
461
+ if (!this.displayonly) {
462
+ return this._open ? "navigation-up-arrow" : "navigation-down-arrow";
463
+ }
461
464
  }
462
465
 
463
466
  get countrySelectorClasses(): string {
@@ -504,7 +507,7 @@ class UDExCountrySelector extends UDExSearchableListBase {
504
507
  return this.shadowRoot!.querySelector<UDExDropdown>("[udex-dropdown]")!;
505
508
  }
506
509
 
507
- getInput(): UDExTextField {
510
+ getTextField(): UDExTextField {
508
511
  return this.shadowRoot!.querySelector<UDExTextField>("[udex-text-field]")!;
509
512
  }
510
513
 
@@ -1,28 +1,19 @@
1
- <div
2
- class="udex-date-picker__container">
3
- <udex-text-field
4
- class="udex-date-picker__input"
5
- _aria-has-popup="grid"
6
- icon="appointment-2"
7
- value="{{value}}"
8
- label="{{label}}"
9
- accessible-name="{{dateAccessibleName}}"
10
- accessible-name-ref="{{accessibleNameRef}}"
11
- accessible-icon-name="{{accessibleIconName}}"
12
- ?disabled="{{disabled}}"
13
- ?required="{{required}}"
14
- ?readonly="{{readonly}}"
15
- @ui5-click-icon="{{handleInputClick}}"
16
- @ui5-change="{{_onInputChange}}"
17
- value-state="{{valueState}}">
18
- </udex-text-field>
19
- {{#if supportingText}}
20
- <udex-status-message
21
- ?disabled="{{disabled}}"
22
- supporting-text="{{supportingText}}"
23
- value-state="{{valueState}}">
24
- </udex-status-message>
25
- {{/if}}
26
- </div>
1
+ <udex-text-field
2
+ class="udex-date-picker__input"
3
+ _aria-has-popup="grid"
4
+ icon="appointment-2"
5
+ value="{{value}}"
6
+ label="{{label}}"
7
+ accessible-name="{{dateAccessibleName}}"
8
+ accessible-name-ref="{{accessibleNameRef}}"
9
+ accessible-icon-name="{{accessibleIconName}}"
10
+ ?disabled="{{disabled}}"
11
+ ?required="{{required}}"
12
+ ?readonly="{{readonly}}"
13
+ @ui5-click-icon="{{handleInputClick}}"
14
+ @ui5-change="{{_onInputChange}}"
15
+ value-state="{{valueState}}"
16
+ supporting-text="{{supportingText}}">
17
+ </udex-text-field>
27
18
 
28
19
  {{>include "./DatePickerPopover.hbs"}}
package/src/DatePicker.ts CHANGED
@@ -225,7 +225,7 @@ class UDExDatePicker extends DateComponentBase {
225
225
  * @private
226
226
  */
227
227
  get _dropdownTrigger(): UDExTextField {
228
- return this.shadowRoot!.querySelector<UDExTextField>(".udex-date-picker__input")!;
228
+ return this.shadowRoot!.querySelector<UDExTextField>("[udex-text-field]")!;
229
229
  }
230
230
 
231
231
  _afterDropdownClose(): void {
@@ -248,7 +248,7 @@ class UDExDatePicker extends DateComponentBase {
248
248
  _openRespPopover(): void {
249
249
  this._dropdownTrigger.active = true;
250
250
  this.responsivePopover = this._getResponsePopover();
251
- this.responsivePopover.opener = this._dropdownTrigger;
251
+ this.responsivePopover.opener = this._dropdownTrigger._inputHolder;
252
252
  this.responsivePopover.open = true;
253
253
  }
254
254
 
@@ -1,39 +1,39 @@
1
1
  <div>
2
2
  <button
3
- id="filterMenuTrigger"
4
- @click="{{handleTriggerClick}}"
5
- @keydown="{{handleTriggerKeydown}}"
6
- aria-label="{{triggerButtonAccessibleName}}"
7
- aria-labelledby="{{accessibleNameRef}}"
8
- aria-expanded="{{_open}}"
9
- aria-haspopup="true"
10
- role="{{triggerAccessibleRole}}"
11
- aria-controls="{{this._id}}_udex-filter-menu-dropdown"
12
- ?disabled="{{disabled}}"
13
- class="udex-filter-menu__trigger"
14
- tabindex="0">
15
- {{#if hasFilterNamePrefix}}
16
- <span class="udex-filter-menu__trigger-prefix">{{filterNamePrefix}}</span>
17
- {{/if}}
18
- <span class="udex-filter-menu__trigger-wrap" ?disabled="{{disabled}}">
19
- <span class="udex-filter-menu__trigger-name">{{filterName}}</span>
20
- {{#if badgeValue}}
21
- <udex-badge
22
- class="udex-filter-menu__badge"
23
- type="Number"
24
- design="Info"
25
- size="Small">
26
- {{badgeValue}}
27
- </udex-badge>
3
+ id="filterMenuTrigger"
4
+ @click="{{handleTriggerClick}}"
5
+ @keydown="{{handleTriggerKeydown}}"
6
+ aria-label="{{triggerButtonAccessibleName}}"
7
+ aria-labelledby="{{accessibleNameRef}}"
8
+ aria-expanded="{{_open}}"
9
+ aria-haspopup="true"
10
+ role="{{triggerAccessibleRole}}"
11
+ aria-controls="{{this._id}}_udex-filter-menu-dropdown"
12
+ ?disabled="{{disabled}}"
13
+ class="udex-filter-menu__trigger"
14
+ tabindex="0">
15
+ {{#if hasFilterNamePrefix}}
16
+ <span class="udex-filter-menu__trigger-prefix">{{filterNamePrefix}}</span>
28
17
  {{/if}}
29
- <ui5-icon
30
- class="udex-filter-menu__trigger-icon"
31
- name="navigation-down-arrow"
32
- mode="Decorative"
33
- accessible-name="{{_iconAccessibleNameText}}">
34
- </ui5-icon>
35
- </span>
36
- </button>
18
+ <span class="udex-filter-menu__trigger-wrap" ?disabled="{{disabled}}">
19
+ <span class="udex-filter-menu__trigger-name">{{filterName}}</span>
20
+ {{#if badgeValue}}
21
+ <udex-badge
22
+ class="udex-filter-menu__badge"
23
+ type="Number"
24
+ design="Info"
25
+ size="Small">
26
+ {{badgeValue}}
27
+ </udex-badge>
28
+ {{/if}}
29
+ <ui5-icon
30
+ class="udex-filter-menu__trigger-icon"
31
+ name="navigation-down-arrow"
32
+ mode="Decorative"
33
+ accessible-name="{{_iconAccessibleNameText}}">
34
+ </ui5-icon>
35
+ </span>
36
+ </button>
37
37
  <ui5-popover
38
38
  id="{{this._id}}_udex-filter-menu-dropdown"
39
39
  hide-arrow
@@ -60,8 +60,6 @@
60
60
  </ui5-popover>
61
61
  </div>
62
62
 
63
-
64
-
65
63
  {{#*inline "buttons"}}
66
64
  {{#unless hideActionBar}}
67
65
  <div class="udex-filter-menu__footer" slot="footer" name="footer">
@@ -70,7 +68,6 @@
70
68
  class="udex-filter-menu__result-btn"
71
69
  size="Medium"
72
70
  design="Primary"
73
- ?disabled="{{disabledButtons}}"
74
71
  @keydown="{{handleKeyDownResultBtn}}"
75
72
  @click="{{handleResult}}">
76
73
  {{getResultLabelText}}
@@ -82,7 +79,6 @@
82
79
  size="Medium"
83
80
  design="Tertiary"
84
81
  @keydown="{{handleKeyDownResetBtn}}"
85
- ?disabled="{{disabledButtons}}"
86
82
  @click="{{handleReset}}">
87
83
  {{getResetLabelText}}
88
84
  </udex-button>
package/src/FilterMenu.ts CHANGED
@@ -37,6 +37,7 @@ import SearchableListBaseTemplate from "./generated/templates/SearchableListBase
37
37
  import FilterMenuCss from "./generated/themes/FilterMenu.css.js";
38
38
  import SearchableListCss from "./generated/themes/SearchableList.css.js";
39
39
  import getEffectiveScrollbarStyle from "./utils/getEffectiveScrollbarStyle.js";
40
+ import type UDExListGroupHeaderBase from "./ListGroupHeaderBase.js";
40
41
 
41
42
  type UDExFilterMenuResultClickEventDetail = {
42
43
  selectedItems: Array<UDExListItemBase>,
@@ -46,6 +47,12 @@ type UDExFilterMenuResetClickEventDetail = {
46
47
  restoredItems: Array<UDExListItemBase>,
47
48
  }
48
49
 
50
+ type initialItemState = {
51
+ id: string,
52
+ selected: boolean,
53
+ indeterminate?: boolean,
54
+ }
55
+
49
56
  /**
50
57
  * @class
51
58
  *
@@ -296,10 +303,17 @@ class UDExFilterMenu extends UDExSearchableListBase {
296
303
  @property({ type: String })
297
304
  triggerAccessibleRole: string = "combobox";
298
305
 
306
+ @property({ type: Boolean })
307
+ _shouldApplyFilter: boolean = false;
308
+
309
+ @property({ type: Boolean, noAttribute: true })
310
+ _requestRender = false;
311
+
299
312
  _trigger!: UDExButton;
300
313
  _search!: UDExSearch;
301
314
  _popover!: Popover;
302
315
  _breakpointSizeXS = 640;
316
+ _initialState: Array<initialItemState> = [];
303
317
 
304
318
  onEnterDOM(): void {
305
319
  if (isDesktop()) {
@@ -348,6 +362,7 @@ class UDExFilterMenu extends UDExSearchableListBase {
348
362
  }
349
363
 
350
364
  handleReset(): void {
365
+ this.onDropdownClose();
351
366
  this.fireDecoratorEvent("reset-click", {
352
367
  restoredItems: this.selectedItems,
353
368
  });
@@ -355,12 +370,11 @@ class UDExFilterMenu extends UDExSearchableListBase {
355
370
  }
356
371
 
357
372
  handleResult(): void {
358
- if (!this.disabledButtons) {
359
- this._popover.open = false;
360
- this.fireDecoratorEvent("result-click", {
361
- selectedItems: this.selectedItems,
362
- });
363
- }
373
+ this._shouldApplyFilter = true;
374
+ this.onDropdownClose();
375
+ this.fireDecoratorEvent("result-click", {
376
+ selectedItems: this.selectedItems,
377
+ });
364
378
  }
365
379
 
366
380
  handleKeyDownList(e: KeyboardEvent): void {
@@ -438,6 +452,7 @@ class UDExFilterMenu extends UDExSearchableListBase {
438
452
  this._setContentHeight();
439
453
  }
440
454
 
455
+ this._initialState = this._getInitialState(this.items);
441
456
  this.fireDecoratorEvent("before-open");
442
457
  }
443
458
 
@@ -449,6 +464,44 @@ class UDExFilterMenu extends UDExSearchableListBase {
449
464
  this.fireDecoratorEvent("after-open");
450
465
  }
451
466
 
467
+ _getInitialState(items: Array<UDExListItemBase | UDExListGroupHeaderBase>): Array<initialItemState> {
468
+ return items.flatMap(item => {
469
+ if (item.isGroup) {
470
+ const groupState: initialItemState = {
471
+ id: item._id,
472
+ selected: item.selected,
473
+ indeterminate: item.indeterminate,
474
+ };
475
+ const subItemsState = (item as UDExListGroupHeaderBase).getItems().map(subItem => ({
476
+ id: subItem._id,
477
+ selected: subItem.selected,
478
+ }));
479
+ return [groupState, ...subItemsState];
480
+ }
481
+ return {
482
+ id: item._id,
483
+ selected: item.selected,
484
+ };
485
+ });
486
+ }
487
+
488
+ _setInitialListState(): void {
489
+ this.getSlottedItems(this.items).forEach((item, index) => {
490
+ const initialState = this._initialState[index];
491
+ if (item._id === initialState?.id) {
492
+ item.selected = initialState.selected;
493
+ if (item.isGroup) {
494
+ item.indeterminate = initialState.indeterminate;
495
+ }
496
+ }
497
+ });
498
+ }
499
+
500
+ _setInitialState(): void {
501
+ this._setInitialListState();
502
+ this._requestRender = true;
503
+ }
504
+
452
505
  _dropdownBeforeClose(): void {
453
506
  this.fireDecoratorEvent("before-close");
454
507
  }
@@ -459,6 +512,11 @@ class UDExFilterMenu extends UDExSearchableListBase {
459
512
  this._managePopupListeners(UDExPopoverPart.Footer, "removeEventListener");
460
513
  }
461
514
 
515
+ if (!this._shouldApplyFilter && this.modeMultiSelect && !this.modeSelectAll) {
516
+ this._setInitialState();
517
+ }
518
+
519
+ this._shouldApplyFilter = false;
462
520
  this._open = false;
463
521
  this._trigger.classList.remove("udex-filter-menu__trigger-active");
464
522
  this.fireDecoratorEvent("after-close");
@@ -480,10 +538,6 @@ class UDExFilterMenu extends UDExSearchableListBase {
480
538
  return this.resetBtnLabel !== undefined && this.resetBtnLabel.length > 0 ? this.resetBtnLabel : UDExFilterMenu.i18nBundle.getText(RESET);
481
539
  }
482
540
 
483
- get disabledButtons(): boolean {
484
- return !this.selectedItems.length && !this.selectAll;
485
- }
486
-
487
541
  get _iconAccessibleNameText(): string {
488
542
  return UDExFilterMenu.i18nBundle.getText(SELECT_OPTIONS);
489
543
  }
@@ -501,17 +555,17 @@ class UDExFilterMenu extends UDExSearchableListBase {
501
555
  }
502
556
 
503
557
  get hasFooterButtons(): boolean {
504
- return (this.hasResultBtn || this.hasResetBtn) && !this.disabledButtons;
505
- }
506
-
507
- get hasResultBtn(): boolean {
508
- return !this.hideResultBtn && !this.disabledButtons;
558
+ return !!this.shadowRoot!.querySelector("[udex-button]");
509
559
  }
510
560
 
511
561
  get hasResetBtn(): boolean {
512
562
  return !this.hideResetBtn;
513
563
  }
514
564
 
565
+ get modeSelectAll(): boolean {
566
+ return !!this.querySelector<UDExFilterMenuSelectAll>("[udex-filter-menu-select-all]");
567
+ }
568
+
515
569
  getTriggerButton(): UDExButton {
516
570
  return this.shadowRoot!.querySelector<UDExButton>("#filterMenuTrigger")!;
517
571
  }
package/src/Footer.hbs CHANGED
@@ -103,22 +103,15 @@
103
103
  {{#if socialLinksArray.length}}
104
104
  <div class="udex-footer__social-container">
105
105
  {{#each socialLinksArray}}
106
- <a
107
- target="{{target}}"
108
- href="{{this.url}}"
109
- class="udex-footer__social-icon"
106
+ <udex-social-media-button
107
+ type="{{this.name}}"
108
+ url="{{this.url}}"
109
+ target="{{this.target}}"
110
+ accessible-name="{{this.accessibleName}}"
110
111
  data-name="{{this.name}}"
111
112
  data-id="{{this.id}}"
112
- @click="{{../_onSocialMediaLinkClick}}"
113
- >
114
- <img
115
- data-name="{{this.name}}"
116
- data-id="{{this.id}}"
117
- alt="{{this.name}} {{../socialIconAccessibleName}}"
118
- src="{{this.iconUrl}}"
119
- loading="lazy"
120
- />
121
- </a>
113
+ @ui5-click="{{../_onSocialMediaLinkClick}}"
114
+ ></udex-social-media-button>
122
115
  {{/each}}
123
116
  </div>
124
117
  {{/if}}