@sapudex/web-components 0.192.2 → 0.199.3

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 (258) hide show
  1. package/bundle.esm.js +2 -0
  2. package/dist/Button.d.ts +2 -1
  3. package/dist/Button.js +2 -1
  4. package/dist/Button.js.map +1 -1
  5. package/dist/ControlButton.d.ts +11 -6
  6. package/dist/ControlButton.js +19 -7
  7. package/dist/ControlButton.js.map +1 -1
  8. package/dist/CountrySelector.js +1 -1
  9. package/dist/CountrySelector.js.map +1 -1
  10. package/dist/Footer.d.ts +1 -6
  11. package/dist/Footer.js +2 -9
  12. package/dist/Footer.js.map +1 -1
  13. package/dist/Link.d.ts +5 -0
  14. package/dist/Link.js +6 -0
  15. package/dist/Link.js.map +1 -1
  16. package/dist/List.d.ts +3 -2
  17. package/dist/List.js +10 -5
  18. package/dist/List.js.map +1 -1
  19. package/dist/ListGroupHeader.d.ts +1 -1
  20. package/dist/ListGroupHeader.js +2 -1
  21. package/dist/ListGroupHeader.js.map +1 -1
  22. package/dist/ListGroupHeaderBase.js +3 -3
  23. package/dist/ListGroupHeaderBase.js.map +1 -1
  24. package/dist/ListItem.d.ts +1 -1
  25. package/dist/ListItem.js +8 -7
  26. package/dist/ListItem.js.map +1 -1
  27. package/dist/ListItemBase.d.ts +1 -1
  28. package/dist/ListItemBase.js +1 -1
  29. package/dist/ListItemBase.js.map +1 -1
  30. package/dist/ListSelectAll.js +4 -5
  31. package/dist/ListSelectAll.js.map +1 -1
  32. package/dist/MastheadItem.d.ts +1 -6
  33. package/dist/MastheadItem.js +3 -9
  34. package/dist/MastheadItem.js.map +1 -1
  35. package/dist/MastheadMenuItem.d.ts +8 -5
  36. package/dist/MastheadMenuItem.js +9 -7
  37. package/dist/MastheadMenuItem.js.map +1 -1
  38. package/dist/MastheadShell.js +2 -2
  39. package/dist/MastheadShell.js.map +1 -1
  40. package/dist/MediaPlayer.js +3 -2
  41. package/dist/MediaPlayer.js.map +1 -1
  42. package/dist/MessageStrip.d.ts +9 -38
  43. package/dist/MessageStrip.js +30 -56
  44. package/dist/MessageStrip.js.map +1 -1
  45. package/dist/PhoneNumberField.js +7 -2
  46. package/dist/PhoneNumberField.js.map +1 -1
  47. package/dist/Search.js +1 -0
  48. package/dist/Search.js.map +1 -1
  49. package/dist/SecondaryNavigation.d.ts +0 -1
  50. package/dist/SecondaryNavigation.js +3 -3
  51. package/dist/SecondaryNavigation.js.map +1 -1
  52. package/dist/SecondaryNavigationItemBase.d.ts +1 -6
  53. package/dist/SecondaryNavigationItemBase.js +3 -9
  54. package/dist/SecondaryNavigationItemBase.js.map +1 -1
  55. package/dist/SegmentedButton.d.ts +2 -2
  56. package/dist/SegmentedButton.js +3 -2
  57. package/dist/SegmentedButton.js.map +1 -1
  58. package/dist/SegmentedButtonItem.d.ts +2 -6
  59. package/dist/SegmentedButtonItem.js +2 -7
  60. package/dist/SegmentedButtonItem.js.map +1 -1
  61. package/dist/SelectBox.d.ts +9 -1
  62. package/dist/SelectBox.js +14 -1
  63. package/dist/SelectBox.js.map +1 -1
  64. package/dist/Tab.d.ts +1 -6
  65. package/dist/Tab.js +1 -7
  66. package/dist/Tab.js.map +1 -1
  67. package/dist/Upload.d.ts +110 -0
  68. package/dist/Upload.js +198 -0
  69. package/dist/Upload.js.map +1 -0
  70. package/dist/UploadItem.d.ts +101 -0
  71. package/dist/UploadItem.js +151 -0
  72. package/dist/UploadItem.js.map +1 -0
  73. package/dist/assets/{bundle-c5e3cbf2.css → bundle-7a4a3e16.css} +1 -1
  74. package/dist/assets/{bundle.esm-809b9769.js → bundle.esm-44fd7c69.js} +208 -191
  75. package/dist/assets/messagebundle_en-59e0affd.js +1 -0
  76. package/dist/css/themes/Avatar.css +1 -1
  77. package/dist/css/themes/Button.css +1 -1
  78. package/dist/css/themes/CountrySelector.css +1 -1
  79. package/dist/css/themes/Link.css +1 -1
  80. package/dist/css/themes/Pagination.css +1 -1
  81. package/dist/css/themes/RatingIndicator.css +1 -1
  82. package/dist/css/themes/Slider.css +1 -1
  83. package/dist/css/themes/StatusBadge.css +1 -1
  84. package/dist/css/themes/Tag.css +1 -1
  85. package/dist/css/themes/TagGroup.css +1 -1
  86. package/dist/css/themes/TextField.css +1 -1
  87. package/dist/css/themes/Upload.css +1 -0
  88. package/dist/css/themes/UploadItem.css +1 -0
  89. package/dist/custom-elements-internal.json +470 -26
  90. package/dist/custom-elements.json +431 -21
  91. package/dist/features/SearchSuggestionsPopover.js +1 -1
  92. package/dist/features/SearchSuggestionsPopover.js.map +1 -1
  93. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  94. package/dist/generated/i18n/i18n-defaults.d.ts +6 -1
  95. package/dist/generated/i18n/i18n-defaults.js +10 -5
  96. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  97. package/dist/generated/templates/ListItemTemplate.lit.js +4 -4
  98. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  99. package/dist/generated/templates/ListTemplate.lit.js +2 -2
  100. package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
  101. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +1 -1
  102. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
  103. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +1 -1
  104. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
  105. package/dist/generated/templates/MessageStripTemplate.lit.js +1 -1
  106. package/dist/generated/templates/MessageStripTemplate.lit.js.map +1 -1
  107. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +1 -1
  108. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  109. package/dist/generated/templates/SelectBoxTemplate.lit.js +2 -2
  110. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
  111. package/dist/generated/templates/TagGroupTemplate.lit.js +2 -2
  112. package/dist/generated/templates/TagGroupTemplate.lit.js.map +1 -1
  113. package/dist/generated/templates/TileTemplate.lit.js +2 -2
  114. package/dist/generated/templates/TileTemplate.lit.js.map +1 -1
  115. package/dist/generated/templates/UploadItemTemplate.lit.d.ts +4 -0
  116. package/dist/generated/templates/UploadItemTemplate.lit.js +10 -0
  117. package/dist/generated/templates/UploadItemTemplate.lit.js.map +1 -0
  118. package/dist/generated/templates/UploadTemplate.lit.d.ts +4 -0
  119. package/dist/generated/templates/UploadTemplate.lit.js +8 -0
  120. package/dist/generated/templates/UploadTemplate.lit.js.map +1 -0
  121. package/dist/generated/themes/Avatar.css.js +1 -1
  122. package/dist/generated/themes/Avatar.css.js.map +1 -1
  123. package/dist/generated/themes/Button.css.js +1 -1
  124. package/dist/generated/themes/Button.css.js.map +1 -1
  125. package/dist/generated/themes/CountrySelector.css.js +1 -1
  126. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  127. package/dist/generated/themes/Link.css.js +1 -1
  128. package/dist/generated/themes/Link.css.js.map +1 -1
  129. package/dist/generated/themes/Pagination.css.js +1 -1
  130. package/dist/generated/themes/Pagination.css.js.map +1 -1
  131. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  132. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  133. package/dist/generated/themes/Slider.css.js +1 -1
  134. package/dist/generated/themes/Slider.css.js.map +1 -1
  135. package/dist/generated/themes/StatusBadge.css.js +1 -1
  136. package/dist/generated/themes/StatusBadge.css.js.map +1 -1
  137. package/dist/generated/themes/Tag.css.js +1 -1
  138. package/dist/generated/themes/Tag.css.js.map +1 -1
  139. package/dist/generated/themes/TagGroup.css.js +1 -1
  140. package/dist/generated/themes/TagGroup.css.js.map +1 -1
  141. package/dist/generated/themes/TextField.css.js +1 -1
  142. package/dist/generated/themes/TextField.css.js.map +1 -1
  143. package/dist/generated/themes/Upload.css.d.ts +3 -0
  144. package/dist/generated/themes/Upload.css.js +9 -0
  145. package/dist/generated/themes/Upload.css.js.map +1 -0
  146. package/dist/generated/themes/UploadItem.css.d.ts +3 -0
  147. package/dist/generated/themes/UploadItem.css.js +9 -0
  148. package/dist/generated/themes/UploadItem.css.js.map +1 -0
  149. package/dist/i18n/messagebundle.properties +13 -4
  150. package/dist/i18n/messagebundle_en.properties +9 -4
  151. package/dist/types/ButtonSize.d.ts +6 -0
  152. package/dist/types/ButtonSize.js +8 -0
  153. package/dist/types/ButtonSize.js.map +1 -0
  154. package/dist/types/FileData.d.ts +5 -0
  155. package/dist/types/FileData.js +2 -0
  156. package/dist/types/FileData.js.map +1 -0
  157. package/dist/types/FileUploadState.d.ts +6 -0
  158. package/dist/types/FileUploadState.js +8 -0
  159. package/dist/types/FileUploadState.js.map +1 -0
  160. package/dist/types/MessageStrip.d.ts +12 -0
  161. package/dist/types/MessageStrip.js +15 -0
  162. package/dist/types/MessageStrip.js.map +1 -0
  163. package/dist/types/common.d.ts +6 -0
  164. package/dist/types/common.js +7 -0
  165. package/dist/types/common.js.map +1 -1
  166. package/dist/utils/Breakpoints.d.ts +33 -0
  167. package/dist/utils/Breakpoints.js +33 -0
  168. package/dist/utils/Breakpoints.js.map +1 -0
  169. package/dist/utils/convertBytesToMegabytes.d.ts +2 -0
  170. package/dist/utils/convertBytesToMegabytes.js +3 -0
  171. package/dist/utils/convertBytesToMegabytes.js.map +1 -0
  172. package/dist/vscode.html-custom-data.json +83 -1
  173. package/dist/web-types.json +191 -4
  174. package/package.json +2 -2
  175. package/src/Button.ts +5 -2
  176. package/src/ControlButton.ts +29 -8
  177. package/src/CountrySelector.ts +1 -1
  178. package/src/Footer.ts +3 -9
  179. package/src/Link.ts +12 -0
  180. package/src/List.hbs +4 -2
  181. package/src/List.ts +14 -8
  182. package/src/ListGroupHeader.ts +4 -2
  183. package/src/ListGroupHeaderBase.ts +12 -11
  184. package/src/ListItem.hbs +3 -1
  185. package/src/ListItem.ts +19 -15
  186. package/src/ListItemBase.ts +10 -10
  187. package/src/ListSelectAll.ts +5 -5
  188. package/src/MastheadItem.ts +3 -11
  189. package/src/MastheadMenuItem.hbs +1 -1
  190. package/src/MastheadMenuItem.ts +14 -7
  191. package/src/MastheadMobileMenu.hbs +1 -0
  192. package/src/MastheadShell.ts +2 -2
  193. package/src/MediaPlayer.ts +3 -3
  194. package/src/MessageStrip.hbs +1 -1
  195. package/src/MessageStrip.ts +38 -68
  196. package/src/PhoneNumberField.hbs +2 -2
  197. package/src/PhoneNumberField.ts +9 -4
  198. package/src/Search.ts +1 -0
  199. package/src/SecondaryNavigation.ts +3 -3
  200. package/src/SecondaryNavigationItemBase.ts +3 -9
  201. package/src/SegmentedButton.ts +4 -3
  202. package/src/SegmentedButtonItem.ts +3 -8
  203. package/src/SelectBox.hbs +19 -23
  204. package/src/SelectBox.ts +23 -1
  205. package/src/Tab.ts +1 -8
  206. package/src/TagGroup.hbs +20 -20
  207. package/src/Tile.hbs +3 -2
  208. package/src/Upload.hbs +21 -0
  209. package/src/Upload.ts +273 -0
  210. package/src/UploadItem.hbs +32 -0
  211. package/src/UploadItem.ts +218 -0
  212. package/src/features/SearchSuggestionsPopover.ts +1 -1
  213. package/src/generated/i18n/i18n-defaults.ts +2 -2
  214. package/src/generated/templates/ListItemTemplate.lit.ts +4 -4
  215. package/src/generated/templates/ListTemplate.lit.ts +2 -2
  216. package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +1 -1
  217. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +1 -1
  218. package/src/generated/templates/MessageStripTemplate.lit.ts +1 -1
  219. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +1 -1
  220. package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
  221. package/src/generated/templates/TagGroupTemplate.lit.ts +2 -2
  222. package/src/generated/templates/TileTemplate.lit.ts +2 -2
  223. package/src/generated/templates/UploadItemTemplate.lit.ts +15 -0
  224. package/src/generated/templates/UploadTemplate.lit.ts +13 -0
  225. package/src/generated/themes/Avatar.css.ts +1 -1
  226. package/src/generated/themes/Button.css.ts +1 -1
  227. package/src/generated/themes/CountrySelector.css.ts +1 -1
  228. package/src/generated/themes/Link.css.ts +1 -1
  229. package/src/generated/themes/Pagination.css.ts +1 -1
  230. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  231. package/src/generated/themes/Slider.css.ts +1 -1
  232. package/src/generated/themes/StatusBadge.css.ts +1 -1
  233. package/src/generated/themes/Tag.css.ts +1 -1
  234. package/src/generated/themes/TagGroup.css.ts +1 -1
  235. package/src/generated/themes/TextField.css.ts +1 -1
  236. package/src/generated/themes/Upload.css.ts +13 -0
  237. package/src/generated/themes/UploadItem.css.ts +13 -0
  238. package/src/i18n/messagebundle.properties +13 -4
  239. package/src/i18n/messagebundle_en.properties +9 -4
  240. package/src/themes/Avatar.css +36 -45
  241. package/src/themes/Button.css +3 -3
  242. package/src/themes/CountrySelector.css +1 -0
  243. package/src/themes/Link.css +17 -4
  244. package/src/themes/Pagination.css +1 -1
  245. package/src/themes/StatusBadge.css +9 -9
  246. package/src/themes/Tag.css +6 -3
  247. package/src/themes/TagGroup.css +0 -4
  248. package/src/themes/TextField.css +2 -1
  249. package/src/themes/Upload.css +65 -0
  250. package/src/themes/UploadItem.css +131 -0
  251. package/src/types/ButtonSize.ts +7 -0
  252. package/src/types/FileData.ts +6 -0
  253. package/src/types/FileUploadState.ts +7 -0
  254. package/src/types/MessageStrip.ts +13 -0
  255. package/src/types/common.ts +7 -0
  256. package/src/utils/Breakpoints.ts +41 -0
  257. package/src/utils/convertBytesToMegabytes.ts +3 -0
  258. package/dist/assets/messagebundle_en-06c0dadc.js +0 -1
@@ -196,7 +196,11 @@
196
196
  {
197
197
  "name": "size",
198
198
  "description": "Defines the size of the component.\n<br><br>\n<b>Note:</b> There are three different sizes to choose from.",
199
- "values": []
199
+ "values": [
200
+ { "name": "Small" },
201
+ { "name": "Large" },
202
+ { "name": "Medium" }
203
+ ]
200
204
  },
201
205
  {
202
206
  "name": "toggled",
@@ -3670,6 +3674,84 @@
3670
3674
  ],
3671
3675
  "references": []
3672
3676
  },
3677
+ {
3678
+ "name": "udex-upload",
3679
+ "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-upload</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@udex/web-components/dist/Upload.js\";</code>\n\n\n---\n\n\n\n\n### **Events:**\n - **file-size-exceed** - Triggered when the uploaded file exceeds the maximum allowed size.\n- **file-delete** - Triggered when the user deletes the uploaded item.\n- **file-change** - Triggered when the user uploads the item.\n\n### **Slots:**\n - **default** - Defines the uploaded files.",
3680
+ "attributes": [
3681
+ {
3682
+ "name": "upload-title",
3683
+ "description": "Defines the title of the upload.",
3684
+ "values": []
3685
+ },
3686
+ {
3687
+ "name": "error-text",
3688
+ "description": "Defines the error message shown when more than one file is uploaded with multiple set to false.",
3689
+ "values": []
3690
+ },
3691
+ {
3692
+ "name": "required",
3693
+ "description": "Defines if uploader is required.",
3694
+ "values": []
3695
+ },
3696
+ {
3697
+ "name": "multiple",
3698
+ "description": "Defines if uploading multiple files is allowed.",
3699
+ "values": []
3700
+ },
3701
+ {
3702
+ "name": "accept",
3703
+ "description": "Defines the acceptable file formats for uploading.",
3704
+ "values": []
3705
+ },
3706
+ {
3707
+ "name": "max-file-size",
3708
+ "description": "Defines the maximum allowed size of the file for uploading.",
3709
+ "values": []
3710
+ },
3711
+ {
3712
+ "name": "additional-text",
3713
+ "description": "Defines the additional text below the title of the upload.",
3714
+ "values": []
3715
+ },
3716
+ {
3717
+ "name": "upload-button-text",
3718
+ "description": "Defines the text in the upload button.",
3719
+ "values": []
3720
+ }
3721
+ ],
3722
+ "references": []
3723
+ },
3724
+ {
3725
+ "name": "udex-upload-item",
3726
+ "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 \"@udex/web-components/dist/UploadItem.js\";</code>\n\n\n---\n\n\n\n\n### **Slots:**\n - **default** - Slot for information about the uploaded file.",
3727
+ "attributes": [
3728
+ {
3729
+ "name": "file-name",
3730
+ "description": "Defines the name of the uploaded file.",
3731
+ "values": []
3732
+ },
3733
+ {
3734
+ "name": "file-link",
3735
+ "description": "Defines the link of the uploaded file.",
3736
+ "values": []
3737
+ },
3738
+ {
3739
+ "name": "upload-percentage",
3740
+ "description": "Defines the percentage of the upload.",
3741
+ "values": []
3742
+ },
3743
+ {
3744
+ "name": "upload-state",
3745
+ "description": "Defines the percentage of the upload.",
3746
+ "values": [
3747
+ { "name": "Error" },
3748
+ { "name": "Uploading" },
3749
+ { "name": "Uploaded" }
3750
+ ]
3751
+ }
3752
+ ],
3753
+ "references": []
3754
+ },
3673
3755
  {
3674
3756
  "name": "udex-wizard",
3675
3757
  "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-wizard</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@udex/web-components/dist/Wizard.js\";</code>\n\n\n---\n\n\n",
@@ -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": "0.192.2",
4
+ "version": "0.199.3",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -421,7 +421,10 @@
421
421
  {
422
422
  "name": "size",
423
423
  "description": "Defines the size of the component.\n<br><br>\n<b>Note:</b> There are three different sizes to choose from.",
424
- "value": { "type": "string", "default": "\"Medium\"" }
424
+ "value": {
425
+ "type": "\"Small\" | \"Large\" | \"Medium\"",
426
+ "default": "\"Medium\""
427
+ }
425
428
  },
426
429
  {
427
430
  "name": "toggled",
@@ -443,7 +446,7 @@
443
446
  {
444
447
  "name": "size",
445
448
  "description": "Defines the size of the component.\n<br><br>\n<b>Note:</b> There are three different sizes to choose from.",
446
- "value": { "type": "string" }
449
+ "value": { "type": "\"Small\" | \"Large\" | \"Medium\"" }
447
450
  },
448
451
  {
449
452
  "name": "toggled",
@@ -2341,7 +2344,7 @@
2341
2344
  {
2342
2345
  "name": "accessible-role",
2343
2346
  "description": "Defines the accessible role of the component.",
2344
- "value": { "type": "string", "default": "\"list\"" }
2347
+ "value": { "type": "string", "default": "\"listbox\"" }
2345
2348
  },
2346
2349
  {
2347
2350
  "name": "accessible-name",
@@ -7557,6 +7560,190 @@
7557
7560
  "events": []
7558
7561
  }
7559
7562
  },
7563
+ {
7564
+ "name": "udex-upload",
7565
+ "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-upload</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@udex/web-components/dist/Upload.js\";</code>\n---\n\n\n### **Events:**\n - **file-size-exceed** - Triggered when the uploaded file exceeds the maximum allowed size.\n- **file-delete** - Triggered when the user deletes the uploaded item.\n- **file-change** - Triggered when the user uploads the item.\n\n### **Slots:**\n - **default** - Defines the uploaded files.",
7566
+ "doc-url": "",
7567
+ "attributes": [
7568
+ {
7569
+ "name": "upload-title",
7570
+ "description": "Defines the title of the upload.",
7571
+ "value": { "type": "string" }
7572
+ },
7573
+ {
7574
+ "name": "error-text",
7575
+ "description": "Defines the error message shown when more than one file is uploaded with multiple set to false.",
7576
+ "value": { "type": "string" }
7577
+ },
7578
+ {
7579
+ "name": "required",
7580
+ "description": "Defines if uploader is required.",
7581
+ "value": { "type": "boolean" }
7582
+ },
7583
+ {
7584
+ "name": "multiple",
7585
+ "description": "Defines if uploading multiple files is allowed.",
7586
+ "value": { "type": "boolean" }
7587
+ },
7588
+ {
7589
+ "name": "accept",
7590
+ "description": "Defines the acceptable file formats for uploading.",
7591
+ "value": { "type": "string" }
7592
+ },
7593
+ {
7594
+ "name": "max-file-size",
7595
+ "description": "Defines the maximum allowed size of the file for uploading.",
7596
+ "value": { "type": "number", "default": "undefined" }
7597
+ },
7598
+ {
7599
+ "name": "additional-text",
7600
+ "description": "Defines the additional text below the title of the upload.",
7601
+ "value": { "type": "string" }
7602
+ },
7603
+ {
7604
+ "name": "upload-button-text",
7605
+ "description": "Defines the text in the upload button.",
7606
+ "value": { "type": "string" }
7607
+ }
7608
+ ],
7609
+ "slots": [
7610
+ { "name": "default", "description": "Defines the uploaded files." }
7611
+ ],
7612
+ "events": [
7613
+ {
7614
+ "name": "file-size-exceed",
7615
+ "description": "Triggered when the uploaded file exceeds the maximum allowed size."
7616
+ },
7617
+ {
7618
+ "name": "file-delete",
7619
+ "description": "Triggered when the user deletes the uploaded item."
7620
+ },
7621
+ {
7622
+ "name": "file-change",
7623
+ "description": "Triggered when the user uploads the item."
7624
+ }
7625
+ ],
7626
+ "js": {
7627
+ "properties": [
7628
+ {
7629
+ "name": "upload-title",
7630
+ "description": "Defines the title of the upload.",
7631
+ "value": { "type": "string" }
7632
+ },
7633
+ {
7634
+ "name": "error-text",
7635
+ "description": "Defines the error message shown when more than one file is uploaded with multiple set to false.",
7636
+ "value": { "type": "string" }
7637
+ },
7638
+ {
7639
+ "name": "required",
7640
+ "description": "Defines if uploader is required.",
7641
+ "value": { "type": "boolean" }
7642
+ },
7643
+ {
7644
+ "name": "multiple",
7645
+ "description": "Defines if uploading multiple files is allowed.",
7646
+ "value": { "type": "boolean" }
7647
+ },
7648
+ {
7649
+ "name": "accept",
7650
+ "description": "Defines the acceptable file formats for uploading.",
7651
+ "value": { "type": "string" }
7652
+ },
7653
+ {
7654
+ "name": "max-file-size",
7655
+ "description": "Defines the maximum allowed size of the file for uploading.",
7656
+ "value": { "type": "number" }
7657
+ },
7658
+ {
7659
+ "name": "additional-text",
7660
+ "description": "Defines the additional text below the title of the upload.",
7661
+ "value": { "type": "string" }
7662
+ },
7663
+ {
7664
+ "name": "upload-button-text",
7665
+ "description": "Defines the text in the upload button.",
7666
+ "value": { "type": "string" }
7667
+ }
7668
+ ],
7669
+ "events": [
7670
+ {
7671
+ "name": "file-size-exceed",
7672
+ "description": "Triggered when the uploaded file exceeds the maximum allowed size."
7673
+ },
7674
+ {
7675
+ "name": "file-delete",
7676
+ "description": "Triggered when the user deletes the uploaded item."
7677
+ },
7678
+ {
7679
+ "name": "file-change",
7680
+ "description": "Triggered when the user uploads the item."
7681
+ }
7682
+ ]
7683
+ }
7684
+ },
7685
+ {
7686
+ "name": "udex-upload-item",
7687
+ "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 \"@udex/web-components/dist/UploadItem.js\";</code>\n---\n\n\n### **Slots:**\n - **default** - Slot for information about the uploaded file.",
7688
+ "doc-url": "",
7689
+ "attributes": [
7690
+ {
7691
+ "name": "file-name",
7692
+ "description": "Defines the name of the uploaded file.",
7693
+ "value": { "type": "string", "default": "\"\"" }
7694
+ },
7695
+ {
7696
+ "name": "file-link",
7697
+ "description": "Defines the link of the uploaded file.",
7698
+ "value": { "type": "string | undefined", "default": "undefined" }
7699
+ },
7700
+ {
7701
+ "name": "upload-percentage",
7702
+ "description": "Defines the percentage of the upload.",
7703
+ "value": { "type": "number", "default": "0" }
7704
+ },
7705
+ {
7706
+ "name": "upload-state",
7707
+ "description": "Defines the percentage of the upload.",
7708
+ "value": {
7709
+ "type": "\"Error\" | \"Uploading\" | \"Uploaded\"",
7710
+ "default": "0"
7711
+ }
7712
+ }
7713
+ ],
7714
+ "slots": [
7715
+ {
7716
+ "name": "default",
7717
+ "description": "Slot for information about the uploaded file."
7718
+ }
7719
+ ],
7720
+ "events": [],
7721
+ "js": {
7722
+ "properties": [
7723
+ {
7724
+ "name": "file-name",
7725
+ "description": "Defines the name of the uploaded file.",
7726
+ "value": { "type": "string" }
7727
+ },
7728
+ {
7729
+ "name": "file-link",
7730
+ "description": "Defines the link of the uploaded file.",
7731
+ "value": { "type": "string | undefined" }
7732
+ },
7733
+ {
7734
+ "name": "upload-percentage",
7735
+ "description": "Defines the percentage of the upload.",
7736
+ "value": { "type": "number" }
7737
+ },
7738
+ {
7739
+ "name": "upload-state",
7740
+ "description": "Defines the percentage of the upload.",
7741
+ "value": { "type": "\"Error\" | \"Uploading\" | \"Uploaded\"" }
7742
+ }
7743
+ ],
7744
+ "events": []
7745
+ }
7746
+ },
7560
7747
  {
7561
7748
  "name": "udex-wizard",
7562
7749
  "description": "<h3 class=\"comment-api-title\">Overview</h3>\n\n\n<h3>Usage</h3>\n\nFor the <code>udex-wizard</code>\n<h3>ES6 Module Import</h3>\n\n<code>import \"@udex/web-components/dist/Wizard.js\";</code>\n---\n",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapudex/web-components",
3
- "version": "0.192.2",
3
+ "version": "0.199.3",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/"
6
6
  },
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "devDependencies": {
42
42
  "@ui5/webcomponents-tools": "1.24.20",
43
- "chromedriver": "134.0.4",
43
+ "chromedriver": "136.0.0",
44
44
  "cross-env": "^7.0.3",
45
45
  "typescript": "^4.9.4",
46
46
  "wdio-chromedriver-service": "^8.1.1",
package/src/Button.ts CHANGED
@@ -10,6 +10,7 @@ import {
10
10
 
11
11
  // Styles
12
12
  import ButtonCss from "./generated/themes/Button.css";
13
+ import UDExButtonSize from "./types/ButtonSize.js";
13
14
 
14
15
  export enum UDExButtonDesign {
15
16
  Primary = "Primary",
@@ -47,8 +48,9 @@ class UDExButton extends Button {
47
48
  * @default "Medium"
48
49
  * @public
49
50
  */
50
- @property({ type: String, defaultValue: "Medium" })
51
- size!: string;
51
+ @property({ type: UDExButtonSize, defaultValue: UDExButtonSize.Medium })
52
+ size!: `${UDExButtonSize}`;
53
+
52
54
  /**
53
55
  * Defines if button is in toggled state
54
56
  *
@@ -57,6 +59,7 @@ class UDExButton extends Button {
57
59
  */
58
60
  @property({ type: Boolean })
59
61
  toggled!: boolean;
62
+
60
63
  /**
61
64
  * Defines the component design.
62
65
  * @default "Primary"
@@ -5,12 +5,7 @@ import Button from "@ui5/webcomponents/dist/Button.js";
5
5
  // Styles
6
6
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
7
7
  import ControlButtonCss from "./generated/themes/ControlButton.css.js";
8
-
9
- export enum ControlButtonSize {
10
- Small = "Small",
11
- Medium = "Medium",
12
- Large = "Large",
13
- }
8
+ import UDExButtonSize from "./types/ButtonSize.js";
14
9
 
15
10
  /**
16
11
  * @class
@@ -34,6 +29,7 @@ export enum ControlButtonSize {
34
29
  renderer: litRender,
35
30
  styles: [Button.styles, ControlButtonCss],
36
31
  })
32
+
37
33
  class UDExControlButton extends Button {
38
34
  /**
39
35
  * Defines the size of the button.
@@ -41,8 +37,8 @@ class UDExControlButton extends Button {
41
37
  * @default "Medium"
42
38
  * @public
43
39
  */
44
- @property({ type: ControlButtonSize, defaultValue: ControlButtonSize.Medium })
45
- size!: `${ControlButtonSize}`;
40
+ @property({ type: UDExButtonSize, defaultValue: UDExButtonSize.Medium })
41
+ size!: `${UDExButtonSize}`;
46
42
 
47
43
  /**
48
44
  * Determines whether the component is displayed as read-only.
@@ -51,6 +47,31 @@ class UDExControlButton extends Button {
51
47
  */
52
48
  @property({ type: Boolean })
53
49
  readonly!: boolean;
50
+
51
+ /**
52
+ * Determines Combobox role for the button.
53
+ * @default false
54
+ * @private
55
+ */
56
+ @property({ type: Boolean })
57
+ _isComboboxRole?: boolean;
58
+
59
+ async onBeforeRendering() {
60
+ await super.onBeforeRendering();
61
+ if (this.readonly) {
62
+ this.nonInteractive = true;
63
+ }
64
+ }
65
+
66
+ onAfterRendering() {
67
+ if (this._isComboboxRole) {
68
+ this.setComboboxRole();
69
+ }
70
+ }
71
+
72
+ setComboboxRole(): void {
73
+ this.shadowRoot?.querySelector(".ui5-button-root")?.setAttribute("role", "combobox");
74
+ }
54
75
  }
55
76
 
56
77
  UDExControlButton.define();
@@ -432,7 +432,7 @@ class CountrySelector extends UDExSearchableListBase {
432
432
  }
433
433
 
434
434
  handleKeyDown(e: KeyboardEvent) {
435
- if (this.disabled || this.readonly || this.displayonly) {
435
+ if (this.isOpenerDisabled) {
436
436
  return;
437
437
  }
438
438
 
package/src/Footer.ts CHANGED
@@ -19,6 +19,8 @@ import UDExAccordionItem from "./AccordionItem.js";
19
19
  import UDExButton from "./Button.js";
20
20
  import UDExAccordion from "./Accordion.js";
21
21
  import UDExDivider from "./Divider.js";
22
+ import { Target } from "./types/common.js";
23
+ import { BreakpointUtils } from "./utils/Breakpoints.js";
22
24
 
23
25
  // Template
24
26
  import FooterTemplate from "./generated/templates/FooterTemplate.lit.js";
@@ -42,16 +44,8 @@ import {
42
44
  ICP_NUMBER,
43
45
  } from "./generated/i18n/i18n-defaults.js";
44
46
 
45
- const BreakpointSizeS: number = 979;
46
47
  export const chineseICPDefaultLink = "https://beian.miit.gov.cn/";
47
48
 
48
- export enum Target {
49
- _blank = "_blank",
50
- _parent = "_parent",
51
- _self = "_self",
52
- _top = "_top",
53
- }
54
-
55
49
  export type FooterLink = {
56
50
  title: string;
57
51
  url: string;
@@ -494,7 +488,7 @@ class UDExFooter extends UI5Element {
494
488
  }
495
489
 
496
490
  get isMobile(): boolean {
497
- return window.innerWidth <= BreakpointSizeS;
491
+ return BreakpointUtils.isAtMost("S");
498
492
  }
499
493
 
500
494
  get isChineseLang(): boolean {
package/src/Link.ts CHANGED
@@ -11,6 +11,11 @@ import LinkTemplate from "./generated/templates/LinkTemplate.lit.js";
11
11
  import LinkCss from "./generated/themes/Link.css.js";
12
12
  import IconPlacement from "./types/IconPlacement.js";
13
13
 
14
+ export type AttributeValuePair = {
15
+ attribute: string,
16
+ value: string
17
+ };
18
+
14
19
  /**
15
20
  * @class
16
21
  *
@@ -56,6 +61,13 @@ class UDExLink extends Link {
56
61
  @property({ type: IconPlacement, defaultValue: IconPlacement.End })
57
62
  iconPlacement?: `${IconPlacement}`;
58
63
 
64
+ _setCustomAttributes(attributes: AttributeValuePair[]) {
65
+ if (attributes) {
66
+ const link = this.shadowRoot!.querySelector("a")!;
67
+ attributes.forEach(pair => link.setAttribute(pair.attribute, pair.value));
68
+ }
69
+ }
70
+
59
71
  get startIcon() {
60
72
  return this.icon && this.iconPlacement === IconPlacement.Start;
61
73
  }
package/src/List.hbs CHANGED
@@ -13,7 +13,8 @@
13
13
  class="udex-list"
14
14
  role="{{accessibleRole}}"
15
15
  aria-labelledby="{{ariaLabelledBy}}"
16
- aria-label="{{accessibleName}}">
16
+ aria-label="{{accessibleName}}"
17
+ aria-busy="{{ariaBusy}}">
17
18
  <slot></slot>
18
19
  </ul>
19
20
  </div>
@@ -26,7 +27,8 @@
26
27
  class="udex-list"
27
28
  role="{{accessibleRole}}"
28
29
  aria-labelledby="{{ariaLabelledBy}}"
29
- aria-label="{{accessibleName}}">
30
+ aria-label="{{accessibleName}}"
31
+ aria-busy="{{ariaBusy}}">
30
32
  <slot></slot>
31
33
  </ul>
32
34
  {{/if}}
package/src/List.ts CHANGED
@@ -18,6 +18,7 @@ import getEffectiveScrollbarStyle from "@ui5/webcomponents-base/dist/util/getEff
18
18
  import UDExListItem from "./ListItem.js";
19
19
  import { ListStyleType, ListMode, LetterPressedHandlerObj } from "./types/List.js";
20
20
  import UDExListGroupHeader from "./ListGroupHeader.js";
21
+ import UDExUploadItem from "./UploadItem.js";
21
22
  import UDExListGroupHeaderBase from "./ListGroupHeaderBase.js";
22
23
  import {
23
24
  ARIA_LABEL_LIST_MULTISELECTABLE,
@@ -30,7 +31,7 @@ import ListCss from "./generated/themes/List.css.js";
30
31
  import isLetterKey from "./utils/isLetterKeyPressed.js";
31
32
  import listItemLabelStartsWithKeyFocus from "./utils/listItemLabelStartsWithKeyFocus.js";
32
33
 
33
- export type UDExListItemBase = UDExListItem & UDExListGroupHeader;
34
+ export type UDExListItemBase = UDExListItem & UDExListGroupHeader & UDExUploadItem;
34
35
  /**
35
36
  * @class
36
37
  *
@@ -70,10 +71,10 @@ class UDExList extends UI5Element {
70
71
  /**
71
72
  * Defines the accessible role of the component.
72
73
  *
73
- * @default "list"
74
+ * @default "listbox"
74
75
  * @public
75
76
  */
76
- @property({ defaultValue: "list" })
77
+ @property({ defaultValue: "listbox" })
77
78
  accessibleRole!: string;
78
79
 
79
80
  /**
@@ -460,11 +461,16 @@ class UDExList extends UI5Element {
460
461
  }
461
462
 
462
463
  getTabIndex(index: number, item: UDExListItemBase): string {
463
- if ((item.modeSingleSelect || this.modeRadioGroup) && this.isGroupList && index === 1) {
464
- return "0";
465
- }
466
-
467
- if (this.modeSelected && index === 0) {
464
+ const isFirstItem = this.modeSelected && index === 0;
465
+ const isFirstItemInGroupList = this.isGroupList && index === 1;
466
+ const listGroupHeader = item.closest("[udex-list-group-header]") as UDExListGroupHeader;
467
+ const modeSingleOrRadio = this.modeSingleSelect || this.modeRadioGroup;
468
+ const isFirstHeader = item.isGroup && isFirstItem;
469
+ const isFirstHeaderMultiMode = isFirstHeader && this.modeMultiSelect && !item.nonInteractive;
470
+ const isFirstItemGroupSingleOrRadioMode = isFirstItemInGroupList && modeSingleOrRadio;
471
+ const isFirstItemGroupMultiMode = isFirstItemInGroupList && this.modeMultiSelect && listGroupHeader?.nonInteractive;
472
+
473
+ if (isFirstHeaderMultiMode || isFirstItemGroupSingleOrRadioMode || isFirstItemGroupMultiMode || isFirstItem) {
468
474
  return "0";
469
475
  }
470
476
 
@@ -9,6 +9,8 @@ import { ListItemSize } from "./types/List.js";
9
9
 
10
10
  // Styles
11
11
  import ListGroupHeaderCss from "./generated/themes/ListGroupHeader.css.js";
12
+
13
+ const listGroupLargeClass: string = "udex-list__group_large";
12
14
  /**
13
15
  * @class
14
16
  *
@@ -70,8 +72,8 @@ class UDExListGroupHeader extends UDExListGroupHeaderBase {
70
72
  return hasHandle ? this.handleHeaderState() : undefined;
71
73
  }
72
74
 
73
- get sizeClass() {
74
- return this.size === ListItemSize.Large ? "udex-list__group_large" : "";
75
+ get sizeClass(): string {
76
+ return this.size === ListItemSize.Large ? listGroupLargeClass : "";
75
77
  }
76
78
  }
77
79
 
@@ -4,6 +4,8 @@ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
4
4
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
5
5
  import UDExListItemBase from "./ListItemBase.js";
6
6
 
7
+ const listGroupHeaderClass: string = "udex-list__group-header";
8
+
7
9
  /**
8
10
  * @class
9
11
  *
@@ -136,31 +138,31 @@ class UDExListGroupHeaderBase extends UDExListItemBase {
136
138
  });
137
139
  }
138
140
 
139
- isAllSelected() {
141
+ isAllSelected(): boolean {
140
142
  return this.getItems().every(({ selected }) => selected);
141
143
  }
142
144
 
143
- isAllDeselected() {
145
+ isAllDeselected(): boolean {
144
146
  return this.getItems().every(({ selected }) => !selected);
145
147
  }
146
148
 
147
- isEachEnabledOptionSelected() {
149
+ isEachEnabledOptionSelected(): boolean {
148
150
  return this.getItems().every(item => item.disabled || item.selected);
149
151
  }
150
152
 
151
- isAnyNotSelectedOptionDisabled() {
153
+ isAnyNotSelectedOptionDisabled(): boolean {
152
154
  return this.getItems().some(item => !item.selected && item.disabled);
153
155
  }
154
156
 
155
- isAnySelected() {
157
+ isAnySelected(): boolean {
156
158
  return this.getItems().some(item => item.selected);
157
159
  }
158
160
 
159
- isAnySelectedOptionDisabled() {
161
+ isAnySelectedOptionDisabled(): boolean {
160
162
  return this.getItems().some(({ disabled, selected }) => disabled && selected);
161
163
  }
162
164
 
163
- isAnyEnabledOption() {
165
+ isAnyEnabledOption(): boolean {
164
166
  return this.getItems().some(({ disabled }) => !disabled);
165
167
  }
166
168
 
@@ -180,14 +182,13 @@ class UDExListGroupHeaderBase extends UDExListItemBase {
180
182
  return false;
181
183
  }
182
184
 
183
- get isNonActiveHeader() {
185
+ get isNonActiveHeader(): boolean {
184
186
  return this.nonInteractive || this.modeRadioGroup;
185
187
  }
186
188
 
187
189
  get className(): string {
188
- const className = "udex-list__group-header";
189
- const controlledClassName = this.controlled ? `${className}_controlled` : "";
190
- return `${className} ${this._additionalClassName} ${controlledClassName}`;
190
+ const controlledClassName = this.controlled ? `${listGroupHeaderClass}_controlled` : "";
191
+ return `${listGroupHeaderClass} ${this._additionalClassName} ${controlledClassName}`;
191
192
  }
192
193
  }
193
194