@sapudex/web-components 0.192.4 → 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 (250) 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/SecondaryNavigation.d.ts +0 -1
  48. package/dist/SecondaryNavigation.js +3 -3
  49. package/dist/SecondaryNavigation.js.map +1 -1
  50. package/dist/SecondaryNavigationItemBase.d.ts +1 -6
  51. package/dist/SecondaryNavigationItemBase.js +3 -9
  52. package/dist/SecondaryNavigationItemBase.js.map +1 -1
  53. package/dist/SegmentedButton.d.ts +2 -2
  54. package/dist/SegmentedButton.js +3 -2
  55. package/dist/SegmentedButton.js.map +1 -1
  56. package/dist/SegmentedButtonItem.d.ts +2 -6
  57. package/dist/SegmentedButtonItem.js +2 -7
  58. package/dist/SegmentedButtonItem.js.map +1 -1
  59. package/dist/SelectBox.d.ts +9 -1
  60. package/dist/SelectBox.js +14 -1
  61. package/dist/SelectBox.js.map +1 -1
  62. package/dist/Tab.d.ts +1 -6
  63. package/dist/Tab.js +1 -7
  64. package/dist/Tab.js.map +1 -1
  65. package/dist/Upload.d.ts +110 -0
  66. package/dist/Upload.js +198 -0
  67. package/dist/Upload.js.map +1 -0
  68. package/dist/UploadItem.d.ts +101 -0
  69. package/dist/UploadItem.js +151 -0
  70. package/dist/UploadItem.js.map +1 -0
  71. package/dist/assets/{bundle-c5e3cbf2.css → bundle-7a4a3e16.css} +1 -1
  72. package/dist/assets/{bundle.esm-aa637b3f.js → bundle.esm-44fd7c69.js} +208 -191
  73. package/dist/assets/messagebundle_en-59e0affd.js +1 -0
  74. package/dist/css/themes/Avatar.css +1 -1
  75. package/dist/css/themes/Button.css +1 -1
  76. package/dist/css/themes/CountrySelector.css +1 -1
  77. package/dist/css/themes/Link.css +1 -1
  78. package/dist/css/themes/Pagination.css +1 -1
  79. package/dist/css/themes/RatingIndicator.css +1 -1
  80. package/dist/css/themes/Slider.css +1 -1
  81. package/dist/css/themes/StatusBadge.css +1 -1
  82. package/dist/css/themes/TagGroup.css +1 -1
  83. package/dist/css/themes/TextField.css +1 -1
  84. package/dist/css/themes/Upload.css +1 -0
  85. package/dist/css/themes/UploadItem.css +1 -0
  86. package/dist/custom-elements-internal.json +470 -26
  87. package/dist/custom-elements.json +431 -21
  88. package/dist/features/SearchSuggestionsPopover.js +1 -1
  89. package/dist/features/SearchSuggestionsPopover.js.map +1 -1
  90. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  91. package/dist/generated/i18n/i18n-defaults.d.ts +6 -1
  92. package/dist/generated/i18n/i18n-defaults.js +10 -5
  93. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  94. package/dist/generated/templates/ListItemTemplate.lit.js +4 -4
  95. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  96. package/dist/generated/templates/ListTemplate.lit.js +2 -2
  97. package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
  98. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +1 -1
  99. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
  100. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +1 -1
  101. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
  102. package/dist/generated/templates/MessageStripTemplate.lit.js +1 -1
  103. package/dist/generated/templates/MessageStripTemplate.lit.js.map +1 -1
  104. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +1 -1
  105. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  106. package/dist/generated/templates/SelectBoxTemplate.lit.js +2 -2
  107. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
  108. package/dist/generated/templates/TagGroupTemplate.lit.js +2 -2
  109. package/dist/generated/templates/TagGroupTemplate.lit.js.map +1 -1
  110. package/dist/generated/templates/TileTemplate.lit.js +2 -2
  111. package/dist/generated/templates/TileTemplate.lit.js.map +1 -1
  112. package/dist/generated/templates/UploadItemTemplate.lit.d.ts +4 -0
  113. package/dist/generated/templates/UploadItemTemplate.lit.js +10 -0
  114. package/dist/generated/templates/UploadItemTemplate.lit.js.map +1 -0
  115. package/dist/generated/templates/UploadTemplate.lit.d.ts +4 -0
  116. package/dist/generated/templates/UploadTemplate.lit.js +8 -0
  117. package/dist/generated/templates/UploadTemplate.lit.js.map +1 -0
  118. package/dist/generated/themes/Avatar.css.js +1 -1
  119. package/dist/generated/themes/Avatar.css.js.map +1 -1
  120. package/dist/generated/themes/Button.css.js +1 -1
  121. package/dist/generated/themes/Button.css.js.map +1 -1
  122. package/dist/generated/themes/CountrySelector.css.js +1 -1
  123. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  124. package/dist/generated/themes/Link.css.js +1 -1
  125. package/dist/generated/themes/Link.css.js.map +1 -1
  126. package/dist/generated/themes/Pagination.css.js +1 -1
  127. package/dist/generated/themes/Pagination.css.js.map +1 -1
  128. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  129. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  130. package/dist/generated/themes/Slider.css.js +1 -1
  131. package/dist/generated/themes/Slider.css.js.map +1 -1
  132. package/dist/generated/themes/StatusBadge.css.js +1 -1
  133. package/dist/generated/themes/StatusBadge.css.js.map +1 -1
  134. package/dist/generated/themes/TagGroup.css.js +1 -1
  135. package/dist/generated/themes/TagGroup.css.js.map +1 -1
  136. package/dist/generated/themes/TextField.css.js +1 -1
  137. package/dist/generated/themes/TextField.css.js.map +1 -1
  138. package/dist/generated/themes/Upload.css.d.ts +3 -0
  139. package/dist/generated/themes/Upload.css.js +9 -0
  140. package/dist/generated/themes/Upload.css.js.map +1 -0
  141. package/dist/generated/themes/UploadItem.css.d.ts +3 -0
  142. package/dist/generated/themes/UploadItem.css.js +9 -0
  143. package/dist/generated/themes/UploadItem.css.js.map +1 -0
  144. package/dist/i18n/messagebundle.properties +13 -4
  145. package/dist/i18n/messagebundle_en.properties +9 -4
  146. package/dist/types/ButtonSize.d.ts +6 -0
  147. package/dist/types/ButtonSize.js +8 -0
  148. package/dist/types/ButtonSize.js.map +1 -0
  149. package/dist/types/FileData.d.ts +5 -0
  150. package/dist/types/FileData.js +2 -0
  151. package/dist/types/FileData.js.map +1 -0
  152. package/dist/types/FileUploadState.d.ts +6 -0
  153. package/dist/types/FileUploadState.js +8 -0
  154. package/dist/types/FileUploadState.js.map +1 -0
  155. package/dist/types/MessageStrip.d.ts +12 -0
  156. package/dist/types/MessageStrip.js +15 -0
  157. package/dist/types/MessageStrip.js.map +1 -0
  158. package/dist/types/common.d.ts +6 -0
  159. package/dist/types/common.js +7 -0
  160. package/dist/types/common.js.map +1 -1
  161. package/dist/utils/Breakpoints.d.ts +33 -0
  162. package/dist/utils/Breakpoints.js +33 -0
  163. package/dist/utils/Breakpoints.js.map +1 -0
  164. package/dist/utils/convertBytesToMegabytes.d.ts +2 -0
  165. package/dist/utils/convertBytesToMegabytes.js +3 -0
  166. package/dist/utils/convertBytesToMegabytes.js.map +1 -0
  167. package/dist/vscode.html-custom-data.json +83 -1
  168. package/dist/web-types.json +191 -4
  169. package/package.json +2 -2
  170. package/src/Button.ts +5 -2
  171. package/src/ControlButton.ts +29 -8
  172. package/src/CountrySelector.ts +1 -1
  173. package/src/Footer.ts +3 -9
  174. package/src/Link.ts +12 -0
  175. package/src/List.hbs +4 -2
  176. package/src/List.ts +14 -8
  177. package/src/ListGroupHeader.ts +4 -2
  178. package/src/ListGroupHeaderBase.ts +12 -11
  179. package/src/ListItem.hbs +3 -1
  180. package/src/ListItem.ts +19 -15
  181. package/src/ListItemBase.ts +10 -10
  182. package/src/ListSelectAll.ts +5 -5
  183. package/src/MastheadItem.ts +3 -11
  184. package/src/MastheadMenuItem.hbs +1 -1
  185. package/src/MastheadMenuItem.ts +14 -7
  186. package/src/MastheadMobileMenu.hbs +1 -0
  187. package/src/MastheadShell.ts +2 -2
  188. package/src/MediaPlayer.ts +3 -3
  189. package/src/MessageStrip.hbs +1 -1
  190. package/src/MessageStrip.ts +38 -68
  191. package/src/PhoneNumberField.hbs +2 -2
  192. package/src/PhoneNumberField.ts +9 -4
  193. package/src/SecondaryNavigation.ts +3 -3
  194. package/src/SecondaryNavigationItemBase.ts +3 -9
  195. package/src/SegmentedButton.ts +4 -3
  196. package/src/SegmentedButtonItem.ts +3 -8
  197. package/src/SelectBox.hbs +19 -23
  198. package/src/SelectBox.ts +23 -1
  199. package/src/Tab.ts +1 -8
  200. package/src/TagGroup.hbs +20 -20
  201. package/src/Tile.hbs +3 -2
  202. package/src/Upload.hbs +21 -0
  203. package/src/Upload.ts +273 -0
  204. package/src/UploadItem.hbs +32 -0
  205. package/src/UploadItem.ts +218 -0
  206. package/src/features/SearchSuggestionsPopover.ts +1 -1
  207. package/src/generated/i18n/i18n-defaults.ts +2 -2
  208. package/src/generated/templates/ListItemTemplate.lit.ts +4 -4
  209. package/src/generated/templates/ListTemplate.lit.ts +2 -2
  210. package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +1 -1
  211. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +1 -1
  212. package/src/generated/templates/MessageStripTemplate.lit.ts +1 -1
  213. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +1 -1
  214. package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
  215. package/src/generated/templates/TagGroupTemplate.lit.ts +2 -2
  216. package/src/generated/templates/TileTemplate.lit.ts +2 -2
  217. package/src/generated/templates/UploadItemTemplate.lit.ts +15 -0
  218. package/src/generated/templates/UploadTemplate.lit.ts +13 -0
  219. package/src/generated/themes/Avatar.css.ts +1 -1
  220. package/src/generated/themes/Button.css.ts +1 -1
  221. package/src/generated/themes/CountrySelector.css.ts +1 -1
  222. package/src/generated/themes/Link.css.ts +1 -1
  223. package/src/generated/themes/Pagination.css.ts +1 -1
  224. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  225. package/src/generated/themes/Slider.css.ts +1 -1
  226. package/src/generated/themes/StatusBadge.css.ts +1 -1
  227. package/src/generated/themes/TagGroup.css.ts +1 -1
  228. package/src/generated/themes/TextField.css.ts +1 -1
  229. package/src/generated/themes/Upload.css.ts +13 -0
  230. package/src/generated/themes/UploadItem.css.ts +13 -0
  231. package/src/i18n/messagebundle.properties +13 -4
  232. package/src/i18n/messagebundle_en.properties +9 -4
  233. package/src/themes/Avatar.css +36 -45
  234. package/src/themes/Button.css +3 -3
  235. package/src/themes/CountrySelector.css +1 -0
  236. package/src/themes/Link.css +17 -4
  237. package/src/themes/Pagination.css +1 -1
  238. package/src/themes/StatusBadge.css +9 -9
  239. package/src/themes/TagGroup.css +0 -4
  240. package/src/themes/TextField.css +2 -1
  241. package/src/themes/Upload.css +65 -0
  242. package/src/themes/UploadItem.css +131 -0
  243. package/src/types/ButtonSize.ts +7 -0
  244. package/src/types/FileData.ts +6 -0
  245. package/src/types/FileUploadState.ts +7 -0
  246. package/src/types/MessageStrip.ts +13 -0
  247. package/src/types/common.ts +7 -0
  248. package/src/utils/Breakpoints.ts +41 -0
  249. package/src/utils/convertBytesToMegabytes.ts +3 -0
  250. package/dist/assets/messagebundle_en-06c0dadc.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": "0.192.4",
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.4",
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
 
package/src/ListItem.hbs CHANGED
@@ -102,6 +102,7 @@
102
102
  icon="{{editIcon}}"
103
103
  accessible-name="{{editButtonAccessibleName}}"
104
104
  toolTip="{{editButtonAccessibleName}}"
105
+ ?disabled="{{disabled}}"
105
106
  size="Small">
106
107
  </udex-button>
107
108
  {{/if}}
@@ -115,7 +116,8 @@
115
116
  size="Small"
116
117
  accessible-name="{{deleteButtonAccessibleName}}"
117
118
  toolTip="{{deleteButtonAccessibleName}}"
118
- icon="{{deleteIcon}}">
119
+ icon="{{deleteIcon}}"
120
+ ?disabled="{{disabled}}">
119
121
  </udex-button>
120
122
  {{/if}}
121
123
  {{/if}}
package/src/ListItem.ts CHANGED
@@ -25,6 +25,9 @@ import ListItemTemplate from "./generated/templates/ListItemTemplate.lit.js";
25
25
  // Styles
26
26
  import ListItemCss from "./generated/themes/ListItem.css.js";
27
27
 
28
+ const listItemClass: string = "udex-list__item";
29
+ const listItemRole: string = "option";
30
+
28
31
  /**
29
32
  * @class
30
33
  *
@@ -262,7 +265,7 @@ class UDExListItem extends UDExListItemBase {
262
265
  }
263
266
 
264
267
  onAfterRendering() {
265
- if (!this.accessibleRole || this.accessibleRole === "listitem") {
268
+ if (!this.accessibleRole || this.accessibleRole === listItemRole) {
266
269
  this.shadowRoot?.querySelector("li")?.removeAttribute("aria-selected");
267
270
  }
268
271
  }
@@ -360,36 +363,35 @@ class UDExListItem extends UDExListItemBase {
360
363
  }
361
364
  }
362
365
 
363
- get className() {
366
+ get className(): string {
364
367
  const isGroupChild = this?.parentElement as UDExListGroupHeaderBase;
365
- const className = "udex-list__item";
366
- const controlledClassName = this.controlled ? `${className}_controlled` : "";
367
- const groupClassName = isGroupChild?.isGroup ? `${className}_group` : "";
368
- const largeSizeClassName = this.isLargeSize ? `${className}_large` : "";
369
- return `${className} ${groupClassName} ${this._additionalClassName} ${controlledClassName} ${largeSizeClassName}`;
368
+ const controlledClassName = this.controlled ? `${listItemClass}_controlled` : "";
369
+ const groupClassName = isGroupChild?.isGroup ? `${listItemClass}_group` : "";
370
+ const largeSizeClassName = this.isLargeSize ? `${listItemClass}_large` : "";
371
+ return `${listItemClass} ${groupClassName} ${this._additionalClassName} ${controlledClassName} ${largeSizeClassName}`.trim();
370
372
  }
371
373
 
372
- get roleItem() {
373
- return this.accessibleRole.length > 0 ? this.accessibleRole : "listitem";
374
+ get roleItem(): string {
375
+ return this.accessibleRole.length > 0 ? this.accessibleRole : listItemRole;
374
376
  }
375
377
 
376
- get _ariaDisabled() {
378
+ get _ariaDisabled(): boolean | undefined {
377
379
  return this.disabled ? true : undefined;
378
380
  }
379
381
 
380
- get modeSingleContent() {
382
+ get modeSingleContent(): boolean {
381
383
  return this.mode === ListMode.SingleContent;
382
384
  }
383
385
 
384
- get modeRadioGroup() {
386
+ get modeRadioGroup(): boolean {
385
387
  return this.mode === ListMode.RadioGroup;
386
388
  }
387
389
 
388
- get modeSelected() {
390
+ get modeSelected(): boolean {
389
391
  return [ListMode.SingleSelect, ListMode.MultiSelect, ListMode.RadioGroup].includes(this.mode as ListMode);
390
392
  }
391
393
 
392
- get isLargeSize() {
394
+ get isLargeSize(): boolean {
393
395
  return this.size === ListItemSize.Large;
394
396
  }
395
397
 
@@ -398,7 +400,9 @@ class UDExListItem extends UDExListItemBase {
398
400
  }
399
401
 
400
402
  get stateAccessibleName(): string {
401
- if (this.indeterminate) { return UDExListItem.i18nBundle.getText(INDETERMINATE); }
403
+ if (this.indeterminate) {
404
+ return UDExListItem.i18nBundle.getText(INDETERMINATE);
405
+ }
402
406
  return `${this.selected ? UDExListItem.i18nBundle.getText(SELECTED) : UDExListItem.i18nBundle.getText(UNSELECTED)} `;
403
407
  }
404
408