wcs-core 7.1.0 → 7.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (570) hide show
  1. package/README.md +1 -11
  2. package/design-tokens/dist/sncf-groupe-root-scoped.css +590 -0
  3. package/design-tokens/dist/sncf-groupe.css +590 -0
  4. package/design-tokens/dist/sncf-groupe.json +10693 -0
  5. package/design-tokens/dist/sncf-holding-root-scoped.css +426 -425
  6. package/design-tokens/dist/sncf-holding.css +426 -425
  7. package/design-tokens/dist/sncf-holding.json +26 -3
  8. package/design-tokens/dist/sncf-reseau-root-scoped.css +465 -465
  9. package/design-tokens/dist/sncf-reseau.css +465 -465
  10. package/design-tokens/dist/sncf-voyageurs-root-scoped.css +383 -383
  11. package/design-tokens/dist/sncf-voyageurs.css +383 -383
  12. package/dist/cjs/{grid-pagination-e4f29c78.js → grid-pagination-4505d7b6.js} +25 -5
  13. package/dist/cjs/grid-pagination-4505d7b6.js.map +1 -0
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/cjs/wcs-accordion-panel.cjs.entry.js +1 -1
  16. package/dist/cjs/wcs-accordion-panel.cjs.entry.js.map +1 -1
  17. package/dist/cjs/wcs-action-bar.cjs.entry.js +1 -1
  18. package/dist/cjs/wcs-action-bar.cjs.entry.js.map +1 -1
  19. package/dist/cjs/wcs-alert-drawer.cjs.entry.js +99 -0
  20. package/dist/cjs/wcs-alert-drawer.cjs.entry.js.map +1 -0
  21. package/dist/cjs/wcs-alert.cjs.entry.js +121 -0
  22. package/dist/cjs/wcs-alert.cjs.entry.js.map +1 -0
  23. package/dist/cjs/wcs-app.cjs.entry.js +3 -3
  24. package/dist/cjs/wcs-badge.cjs.entry.js +2 -2
  25. package/dist/cjs/wcs-badge.cjs.entry.js.map +1 -1
  26. package/dist/cjs/wcs-breadcrumb-item.cjs.entry.js +1 -1
  27. package/dist/cjs/wcs-breadcrumb-item.cjs.entry.js.map +1 -1
  28. package/dist/cjs/wcs-breadcrumb.cjs.entry.js +1 -1
  29. package/dist/cjs/wcs-button_2.cjs.entry.js +3 -8
  30. package/dist/cjs/wcs-button_2.cjs.entry.js.map +1 -1
  31. package/dist/cjs/wcs-card-body.cjs.entry.js +9 -2
  32. package/dist/cjs/wcs-card-body.cjs.entry.js.map +1 -1
  33. package/dist/cjs/wcs-card-content.cjs.entry.js +22 -0
  34. package/dist/cjs/wcs-card-content.cjs.entry.js.map +1 -0
  35. package/dist/cjs/wcs-card-footer.cjs.entry.js +22 -0
  36. package/dist/cjs/wcs-card-footer.cjs.entry.js.map +1 -0
  37. package/dist/cjs/wcs-card-header.cjs.entry.js +22 -0
  38. package/dist/cjs/wcs-card-header.cjs.entry.js.map +1 -0
  39. package/dist/cjs/wcs-card-media.cjs.entry.js +29 -0
  40. package/dist/cjs/wcs-card-media.cjs.entry.js.map +1 -0
  41. package/dist/cjs/wcs-card.cjs.entry.js +30 -2
  42. package/dist/cjs/wcs-card.cjs.entry.js.map +1 -1
  43. package/dist/cjs/wcs-checkbox.cjs.entry.js +1 -1
  44. package/dist/cjs/wcs-checkbox.cjs.entry.js.map +1 -1
  45. package/dist/cjs/wcs-com-nav-category.cjs.entry.js +2 -2
  46. package/dist/cjs/wcs-com-nav-item.cjs.entry.js +1 -1
  47. package/dist/cjs/wcs-com-nav-submenu.cjs.entry.js +2 -2
  48. package/dist/cjs/wcs-com-nav.cjs.entry.js +2 -2
  49. package/dist/cjs/wcs-counter.cjs.entry.js +2 -12
  50. package/dist/cjs/wcs-counter.cjs.entry.js.map +1 -1
  51. package/dist/cjs/wcs-divider.cjs.entry.js +1 -1
  52. package/dist/cjs/wcs-dropdown-divider.cjs.entry.js +1 -1
  53. package/dist/cjs/wcs-dropdown-header.cjs.entry.js +1 -1
  54. package/dist/cjs/wcs-dropdown-item.cjs.entry.js +1 -1
  55. package/dist/cjs/wcs-dropdown.cjs.entry.js +1 -6
  56. package/dist/cjs/wcs-dropdown.cjs.entry.js.map +1 -1
  57. package/dist/cjs/wcs-editable-field.cjs.entry.js +2 -2
  58. package/dist/cjs/wcs-editable-field.cjs.entry.js.map +1 -1
  59. package/dist/cjs/wcs-error_3.cjs.entry.js +3 -3
  60. package/dist/cjs/wcs-error_3.cjs.entry.js.map +1 -1
  61. package/dist/cjs/wcs-field-content.cjs.entry.js +1 -1
  62. package/dist/cjs/wcs-field-label.cjs.entry.js +1 -1
  63. package/dist/cjs/wcs-field.cjs.entry.js +1 -1
  64. package/dist/cjs/wcs-footer.cjs.entry.js +1 -1
  65. package/dist/cjs/wcs-galactic-menu.cjs.entry.js +2 -2
  66. package/dist/cjs/wcs-galactic.cjs.entry.js +1 -1
  67. package/dist/cjs/wcs-grid-column.cjs.entry.js +1 -1
  68. package/dist/cjs/wcs-grid-column.cjs.entry.js.map +1 -1
  69. package/dist/cjs/wcs-grid-custom-cell.cjs.entry.js +1 -1
  70. package/dist/cjs/wcs-grid-pagination.cjs.entry.js +1 -1
  71. package/dist/cjs/wcs-grid.cjs.entry.js +12 -4
  72. package/dist/cjs/wcs-grid.cjs.entry.js.map +1 -1
  73. package/dist/cjs/wcs-header.cjs.entry.js +2 -2
  74. package/dist/cjs/wcs-header.cjs.entry.js.map +1 -1
  75. package/dist/cjs/wcs-hint.cjs.entry.js +1 -1
  76. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js +1 -1
  77. package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js.map +1 -1
  78. package/dist/cjs/wcs-icon.cjs.entry.js +1 -1
  79. package/dist/cjs/wcs-input.cjs.entry.js +2 -12
  80. package/dist/cjs/wcs-input.cjs.entry.js.map +1 -1
  81. package/dist/cjs/wcs-list-item-properties.cjs.entry.js +1 -1
  82. package/dist/cjs/wcs-list-item-property.cjs.entry.js +1 -1
  83. package/dist/cjs/wcs-list-item.cjs.entry.js +1 -1
  84. package/dist/cjs/wcs-mat-icon.cjs.entry.js +1 -1
  85. package/dist/cjs/wcs-mat-icon.cjs.entry.js.map +1 -1
  86. package/dist/cjs/wcs-modal.cjs.entry.js +2 -2
  87. package/dist/cjs/wcs-modal.cjs.entry.js.map +1 -1
  88. package/dist/cjs/wcs-native-select.cjs.entry.js +2 -2
  89. package/dist/cjs/wcs-native-select.cjs.entry.js.map +1 -1
  90. package/dist/cjs/wcs-nav-item.cjs.entry.js +1 -1
  91. package/dist/cjs/wcs-nav.cjs.entry.js +2 -2
  92. package/dist/cjs/wcs-nav.cjs.entry.js.map +1 -1
  93. package/dist/cjs/wcs-progress-bar.cjs.entry.js +3 -3
  94. package/dist/cjs/wcs-progress-bar.cjs.entry.js.map +1 -1
  95. package/dist/cjs/wcs-progress-radial.cjs.entry.js +2 -2
  96. package/dist/cjs/wcs-progress-radial.cjs.entry.js.map +1 -1
  97. package/dist/cjs/wcs-radio-group.cjs.entry.js +1 -1
  98. package/dist/cjs/wcs-radio.cjs.entry.js +1 -1
  99. package/dist/cjs/wcs-radio.cjs.entry.js.map +1 -1
  100. package/dist/cjs/wcs-select_2.cjs.entry.js +18 -11
  101. package/dist/cjs/wcs-select_2.cjs.entry.js.map +1 -1
  102. package/dist/cjs/wcs-skeleton-circle.cjs.entry.js +1 -1
  103. package/dist/cjs/wcs-skeleton-rectangle.cjs.entry.js +1 -1
  104. package/dist/cjs/wcs-skeleton-text.cjs.entry.js +1 -1
  105. package/dist/cjs/wcs-switch.cjs.entry.js +1 -1
  106. package/dist/cjs/wcs-switch.cjs.entry.js.map +1 -1
  107. package/dist/cjs/wcs-tab.cjs.entry.js +1 -1
  108. package/dist/cjs/wcs-tabs.cjs.entry.js +149 -6
  109. package/dist/cjs/wcs-tabs.cjs.entry.js.map +1 -1
  110. package/dist/cjs/wcs-textarea.cjs.entry.js +1 -1
  111. package/dist/cjs/wcs-textarea.cjs.entry.js.map +1 -1
  112. package/dist/cjs/wcs-tooltip.cjs.entry.js +1 -1
  113. package/dist/cjs/wcs-tooltip.cjs.entry.js.map +1 -1
  114. package/dist/cjs/wcs.cjs.js +1 -1
  115. package/dist/collection/collection-manifest.json +6 -0
  116. package/dist/collection/components/accordion-panel/accordion-panel.js +1 -1
  117. package/dist/collection/components/accordion-panel/accordion-panel.js.map +1 -1
  118. package/dist/collection/components/action-bar/action-bar.js +1 -1
  119. package/dist/collection/components/action-bar/action-bar.js.map +1 -1
  120. package/dist/collection/components/alert/alert-interface.js +2 -0
  121. package/dist/collection/components/alert/alert-interface.js.map +1 -0
  122. package/dist/collection/components/alert/alert.css +115 -0
  123. package/dist/collection/components/alert/alert.e2e.js +142 -0
  124. package/dist/collection/components/alert/alert.e2e.js.map +1 -0
  125. package/dist/collection/components/alert/alert.js +257 -0
  126. package/dist/collection/components/alert/alert.js.map +1 -0
  127. package/dist/collection/components/alert-drawer/alert-drawer-interface.js +2 -0
  128. package/dist/collection/components/alert-drawer/alert-drawer-interface.js.map +1 -0
  129. package/dist/collection/components/alert-drawer/alert-drawer.css +103 -0
  130. package/dist/collection/components/alert-drawer/alert-drawer.e2e.js +111 -0
  131. package/dist/collection/components/alert-drawer/alert-drawer.e2e.js.map +1 -0
  132. package/dist/collection/components/alert-drawer/alert-drawer.js +237 -0
  133. package/dist/collection/components/alert-drawer/alert-drawer.js.map +1 -0
  134. package/dist/collection/components/app/app.js +3 -3
  135. package/dist/collection/components/badge/badge.css +4 -1
  136. package/dist/collection/components/badge/badge.js +1 -1
  137. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
  138. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js +1 -1
  139. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js.map +1 -1
  140. package/dist/collection/components/button/button-interface.js +1 -5
  141. package/dist/collection/components/button/button-interface.js.map +1 -1
  142. package/dist/collection/components/button/button.css +2 -2
  143. package/dist/collection/components/button/button.js +1 -6
  144. package/dist/collection/components/button/button.js.map +1 -1
  145. package/dist/collection/components/card/card-interface.js.map +1 -1
  146. package/dist/collection/components/card/card.css +10 -0
  147. package/dist/collection/components/card/card.js +62 -1
  148. package/dist/collection/components/card/card.js.map +1 -1
  149. package/dist/collection/components/card-body/card-body.css +12 -1
  150. package/dist/collection/components/card-body/card-body.js +52 -2
  151. package/dist/collection/components/card-body/card-body.js.map +1 -1
  152. package/dist/collection/components/card-content/card-content.css +12 -0
  153. package/dist/collection/components/card-content/card-content.js +30 -0
  154. package/dist/collection/components/card-content/card-content.js.map +1 -0
  155. package/dist/collection/components/card-footer/card-footer.css +7 -0
  156. package/dist/collection/components/card-footer/card-footer.js +25 -0
  157. package/dist/collection/components/card-footer/card-footer.js.map +1 -0
  158. package/dist/collection/components/card-header/card-header.css +28 -0
  159. package/dist/collection/components/card-header/card-header.js +32 -0
  160. package/dist/collection/components/card-header/card-header.js.map +1 -0
  161. package/dist/collection/components/card-media/card-media.css +21 -0
  162. package/dist/collection/components/card-media/card-media.js +77 -0
  163. package/dist/collection/components/card-media/card-media.js.map +1 -0
  164. package/dist/collection/components/checkbox/checkbox.js +1 -1
  165. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  166. package/dist/collection/components/com-nav/com-nav.js +2 -2
  167. package/dist/collection/components/com-nav-category/com-nav-category.js +2 -2
  168. package/dist/collection/components/com-nav-item/com-nav-item.js +1 -1
  169. package/dist/collection/components/com-nav-submenu/com-nav-submenu.js +2 -2
  170. package/dist/collection/components/counter/counter-interface.js +1 -5
  171. package/dist/collection/components/counter/counter-interface.js.map +1 -1
  172. package/dist/collection/components/counter/counter.css +4 -1
  173. package/dist/collection/components/counter/counter.js +1 -6
  174. package/dist/collection/components/counter/counter.js.map +1 -1
  175. package/dist/collection/components/divider/divider.js +1 -1
  176. package/dist/collection/components/dropdown/dropdown.js +2 -7
  177. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  178. package/dist/collection/components/dropdown-divider/dropdown-divider.js +1 -1
  179. package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
  180. package/dist/collection/components/dropdown-item/dropdown-item.js +1 -1
  181. package/dist/collection/components/editable-field/editable-field.css +3 -0
  182. package/dist/collection/components/editable-field/editable-field.js +1 -1
  183. package/dist/collection/components/error/error.js +1 -1
  184. package/dist/collection/components/error/error.js.map +1 -1
  185. package/dist/collection/components/field/field.js +1 -1
  186. package/dist/collection/components/field-content/field-content.js +1 -1
  187. package/dist/collection/components/field-label/field-label.js +1 -1
  188. package/dist/collection/components/footer/footer.js +1 -1
  189. package/dist/collection/components/form-field/form-field.js +1 -1
  190. package/dist/collection/components/form-field/form-field.js.map +1 -1
  191. package/dist/collection/components/galactic/galactic.js +1 -1
  192. package/dist/collection/components/galactic-menu/galactic-menu.js +2 -2
  193. package/dist/collection/components/grid/grid.js +30 -5
  194. package/dist/collection/components/grid/grid.js.map +1 -1
  195. package/dist/collection/components/grid-column/grid-column.js +3 -3
  196. package/dist/collection/components/grid-column/grid-column.js.map +1 -1
  197. package/dist/collection/components/grid-custom-cell/grid-custom-cell.js +1 -1
  198. package/dist/collection/components/grid-pagination/grid-pagination-arrow.js +2 -2
  199. package/dist/collection/components/grid-pagination/grid-pagination-arrow.js.map +1 -1
  200. package/dist/collection/components/grid-pagination/grid-pagination.js +22 -2
  201. package/dist/collection/components/grid-pagination/grid-pagination.js.map +1 -1
  202. package/dist/collection/components/header/header.css +9 -1
  203. package/dist/collection/components/header/header.js +2 -1
  204. package/dist/collection/components/header/header.js.map +1 -1
  205. package/dist/collection/components/hint/hint.js +1 -1
  206. package/dist/collection/components/horizontal-stepper/horizontal-stepper.js +2 -2
  207. package/dist/collection/components/horizontal-stepper/horizontal-stepper.js.map +1 -1
  208. package/dist/collection/components/icon/icon.js +1 -1
  209. package/dist/collection/components/input/input-interface.js +1 -5
  210. package/dist/collection/components/input/input-interface.js.map +1 -1
  211. package/dist/collection/components/input/input.css +4 -0
  212. package/dist/collection/components/input/input.js +3 -8
  213. package/dist/collection/components/input/input.js.map +1 -1
  214. package/dist/collection/components/label/label.js +1 -1
  215. package/dist/collection/components/label/label.js.map +1 -1
  216. package/dist/collection/components/list-item/list-item.js +1 -1
  217. package/dist/collection/components/list-item-properties/list-item-properties.js +1 -1
  218. package/dist/collection/components/list-item-property/list-item-property.js +1 -1
  219. package/dist/collection/components/mat-icon/mat-icon.js +2 -2
  220. package/dist/collection/components/mat-icon/mat-icon.js.map +1 -1
  221. package/dist/collection/components/modal/modal-interface.js.map +1 -1
  222. package/dist/collection/components/modal/modal.css +1 -0
  223. package/dist/collection/components/modal/modal.js +2 -2
  224. package/dist/collection/components/modal/modal.js.map +1 -1
  225. package/dist/collection/components/native-select/native-select.css +2 -2
  226. package/dist/collection/components/native-select/native-select.js +2 -2
  227. package/dist/collection/components/native-select/native-select.js.map +1 -1
  228. package/dist/collection/components/nav/nav.css +2 -0
  229. package/dist/collection/components/nav/nav.js +1 -1
  230. package/dist/collection/components/nav-item/nav-item.js +1 -1
  231. package/dist/collection/components/progress-bar/progress-bar.css +2 -2
  232. package/dist/collection/components/progress-bar/progress-bar.js +3 -3
  233. package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
  234. package/dist/collection/components/progress-radial/progress-radial.js +3 -3
  235. package/dist/collection/components/progress-radial/progress-radial.js.map +1 -1
  236. package/dist/collection/components/radio/radio.js +1 -1
  237. package/dist/collection/components/radio/radio.js.map +1 -1
  238. package/dist/collection/components/radio-group/radio-group.js +1 -1
  239. package/dist/collection/components/select/select.css +1 -1
  240. package/dist/collection/components/select/select.js +16 -9
  241. package/dist/collection/components/select/select.js.map +1 -1
  242. package/dist/collection/components/select-option/select-option.js +2 -2
  243. package/dist/collection/components/select-option/select-option.js.map +1 -1
  244. package/dist/collection/components/skeleton-circle/skeleton-circle.js +1 -1
  245. package/dist/collection/components/skeleton-rectangle/skeleton-rectangle.js +1 -1
  246. package/dist/collection/components/skeleton-text/skeleton-text.js +1 -1
  247. package/dist/collection/components/spinner/spinner.js +1 -1
  248. package/dist/collection/components/switch/switch.js +1 -1
  249. package/dist/collection/components/switch/switch.js.map +1 -1
  250. package/dist/collection/components/tab/tab.js +1 -1
  251. package/dist/collection/components/tabs/tabs.css +104 -1
  252. package/dist/collection/components/tabs/tabs.js +180 -5
  253. package/dist/collection/components/tabs/tabs.js.map +1 -1
  254. package/dist/collection/components/textarea/textarea.js +3 -3
  255. package/dist/collection/components/textarea/textarea.js.map +1 -1
  256. package/dist/collection/components/tooltip/tooltip.js +2 -2
  257. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  258. package/dist/esm/{grid-pagination-976a86e9.js → grid-pagination-731726a6.js} +25 -5
  259. package/dist/esm/grid-pagination-731726a6.js.map +1 -0
  260. package/dist/esm/loader.js +1 -1
  261. package/dist/esm/wcs-accordion-panel.entry.js +1 -1
  262. package/dist/esm/wcs-accordion-panel.entry.js.map +1 -1
  263. package/dist/esm/wcs-action-bar.entry.js +1 -1
  264. package/dist/esm/wcs-action-bar.entry.js.map +1 -1
  265. package/dist/esm/wcs-alert-drawer.entry.js +95 -0
  266. package/dist/esm/wcs-alert-drawer.entry.js.map +1 -0
  267. package/dist/esm/wcs-alert.entry.js +117 -0
  268. package/dist/esm/wcs-alert.entry.js.map +1 -0
  269. package/dist/esm/wcs-app.entry.js +3 -3
  270. package/dist/esm/wcs-badge.entry.js +2 -2
  271. package/dist/esm/wcs-badge.entry.js.map +1 -1
  272. package/dist/esm/wcs-breadcrumb-item.entry.js +1 -1
  273. package/dist/esm/wcs-breadcrumb-item.entry.js.map +1 -1
  274. package/dist/esm/wcs-breadcrumb.entry.js +1 -1
  275. package/dist/esm/wcs-button_2.entry.js +3 -8
  276. package/dist/esm/wcs-button_2.entry.js.map +1 -1
  277. package/dist/esm/wcs-card-body.entry.js +10 -3
  278. package/dist/esm/wcs-card-body.entry.js.map +1 -1
  279. package/dist/esm/wcs-card-content.entry.js +18 -0
  280. package/dist/esm/wcs-card-content.entry.js.map +1 -0
  281. package/dist/esm/wcs-card-footer.entry.js +18 -0
  282. package/dist/esm/wcs-card-footer.entry.js.map +1 -0
  283. package/dist/esm/wcs-card-header.entry.js +18 -0
  284. package/dist/esm/wcs-card-header.entry.js.map +1 -0
  285. package/dist/esm/wcs-card-media.entry.js +25 -0
  286. package/dist/esm/wcs-card-media.entry.js.map +1 -0
  287. package/dist/esm/wcs-card.entry.js +31 -3
  288. package/dist/esm/wcs-card.entry.js.map +1 -1
  289. package/dist/esm/wcs-checkbox.entry.js +1 -1
  290. package/dist/esm/wcs-checkbox.entry.js.map +1 -1
  291. package/dist/esm/wcs-com-nav-category.entry.js +2 -2
  292. package/dist/esm/wcs-com-nav-item.entry.js +1 -1
  293. package/dist/esm/wcs-com-nav-submenu.entry.js +2 -2
  294. package/dist/esm/wcs-com-nav.entry.js +2 -2
  295. package/dist/esm/wcs-counter.entry.js +2 -12
  296. package/dist/esm/wcs-counter.entry.js.map +1 -1
  297. package/dist/esm/wcs-divider.entry.js +1 -1
  298. package/dist/esm/wcs-dropdown-divider.entry.js +1 -1
  299. package/dist/esm/wcs-dropdown-header.entry.js +1 -1
  300. package/dist/esm/wcs-dropdown-item.entry.js +1 -1
  301. package/dist/esm/wcs-dropdown.entry.js +1 -6
  302. package/dist/esm/wcs-dropdown.entry.js.map +1 -1
  303. package/dist/esm/wcs-editable-field.entry.js +2 -2
  304. package/dist/esm/wcs-editable-field.entry.js.map +1 -1
  305. package/dist/esm/wcs-error_3.entry.js +3 -3
  306. package/dist/esm/wcs-error_3.entry.js.map +1 -1
  307. package/dist/esm/wcs-field-content.entry.js +1 -1
  308. package/dist/esm/wcs-field-label.entry.js +1 -1
  309. package/dist/esm/wcs-field.entry.js +1 -1
  310. package/dist/esm/wcs-footer.entry.js +1 -1
  311. package/dist/esm/wcs-galactic-menu.entry.js +2 -2
  312. package/dist/esm/wcs-galactic.entry.js +1 -1
  313. package/dist/esm/wcs-grid-column.entry.js +1 -1
  314. package/dist/esm/wcs-grid-column.entry.js.map +1 -1
  315. package/dist/esm/wcs-grid-custom-cell.entry.js +1 -1
  316. package/dist/esm/wcs-grid-pagination.entry.js +1 -1
  317. package/dist/esm/wcs-grid.entry.js +12 -4
  318. package/dist/esm/wcs-grid.entry.js.map +1 -1
  319. package/dist/esm/wcs-header.entry.js +2 -2
  320. package/dist/esm/wcs-header.entry.js.map +1 -1
  321. package/dist/esm/wcs-hint.entry.js +1 -1
  322. package/dist/esm/wcs-horizontal-stepper.entry.js +1 -1
  323. package/dist/esm/wcs-horizontal-stepper.entry.js.map +1 -1
  324. package/dist/esm/wcs-icon.entry.js +1 -1
  325. package/dist/esm/wcs-input.entry.js +2 -12
  326. package/dist/esm/wcs-input.entry.js.map +1 -1
  327. package/dist/esm/wcs-list-item-properties.entry.js +1 -1
  328. package/dist/esm/wcs-list-item-property.entry.js +1 -1
  329. package/dist/esm/wcs-list-item.entry.js +1 -1
  330. package/dist/esm/wcs-mat-icon.entry.js +1 -1
  331. package/dist/esm/wcs-mat-icon.entry.js.map +1 -1
  332. package/dist/esm/wcs-modal.entry.js +2 -2
  333. package/dist/esm/wcs-modal.entry.js.map +1 -1
  334. package/dist/esm/wcs-native-select.entry.js +2 -2
  335. package/dist/esm/wcs-native-select.entry.js.map +1 -1
  336. package/dist/esm/wcs-nav-item.entry.js +1 -1
  337. package/dist/esm/wcs-nav.entry.js +2 -2
  338. package/dist/esm/wcs-nav.entry.js.map +1 -1
  339. package/dist/esm/wcs-progress-bar.entry.js +3 -3
  340. package/dist/esm/wcs-progress-bar.entry.js.map +1 -1
  341. package/dist/esm/wcs-progress-radial.entry.js +2 -2
  342. package/dist/esm/wcs-progress-radial.entry.js.map +1 -1
  343. package/dist/esm/wcs-radio-group.entry.js +1 -1
  344. package/dist/esm/wcs-radio.entry.js +1 -1
  345. package/dist/esm/wcs-radio.entry.js.map +1 -1
  346. package/dist/esm/wcs-select_2.entry.js +18 -11
  347. package/dist/esm/wcs-select_2.entry.js.map +1 -1
  348. package/dist/esm/wcs-skeleton-circle.entry.js +1 -1
  349. package/dist/esm/wcs-skeleton-rectangle.entry.js +1 -1
  350. package/dist/esm/wcs-skeleton-text.entry.js +1 -1
  351. package/dist/esm/wcs-switch.entry.js +1 -1
  352. package/dist/esm/wcs-switch.entry.js.map +1 -1
  353. package/dist/esm/wcs-tab.entry.js +1 -1
  354. package/dist/esm/wcs-tabs.entry.js +149 -6
  355. package/dist/esm/wcs-tabs.entry.js.map +1 -1
  356. package/dist/esm/wcs-textarea.entry.js +1 -1
  357. package/dist/esm/wcs-textarea.entry.js.map +1 -1
  358. package/dist/esm/wcs-tooltip.entry.js +1 -1
  359. package/dist/esm/wcs-tooltip.entry.js.map +1 -1
  360. package/dist/esm/wcs.js +1 -1
  361. package/dist/types/components/alert/alert-interface.d.ts +11 -0
  362. package/dist/types/components/alert/alert.d.ts +79 -0
  363. package/dist/types/components/alert-drawer/alert-drawer-interface.d.ts +1 -0
  364. package/dist/types/components/alert-drawer/alert-drawer.d.ts +83 -0
  365. package/dist/types/components/button/button-interface.d.ts +1 -3
  366. package/dist/types/components/card/card-interface.d.ts +1 -0
  367. package/dist/types/components/card/card.d.ts +18 -1
  368. package/dist/types/components/card-body/card-body.d.ts +9 -0
  369. package/dist/types/components/card-content/card-content.d.ts +14 -0
  370. package/dist/types/components/card-footer/card-footer.d.ts +9 -0
  371. package/dist/types/components/card-header/card-header.d.ts +16 -0
  372. package/dist/types/components/card-media/card-media.d.ts +20 -0
  373. package/dist/types/components/counter/counter-interface.d.ts +1 -3
  374. package/dist/types/components/grid/grid.d.ts +4 -0
  375. package/dist/types/components/grid-pagination/grid-pagination.d.ts +6 -1
  376. package/dist/types/components/header/header.d.ts +1 -0
  377. package/dist/types/components/input/input-interface.d.ts +1 -3
  378. package/dist/types/components/mat-icon/mat-icon.d.ts +1 -1
  379. package/dist/types/components/modal/modal-interface.d.ts +2 -1
  380. package/dist/types/components/select/select.d.ts +7 -1
  381. package/dist/types/components/tabs/tabs.d.ts +55 -0
  382. package/dist/types/components.d.ts +571 -6
  383. package/dist/wcs/{p-9c012aae.entry.js → p-0424e545.entry.js} +2 -2
  384. package/dist/wcs/{p-50523b53.entry.js → p-0758d22e.entry.js} +2 -2
  385. package/dist/wcs/p-0b8157e7.entry.js +2 -0
  386. package/dist/wcs/p-0dd07842.entry.js +2 -0
  387. package/dist/wcs/p-0dd07842.entry.js.map +1 -0
  388. package/dist/wcs/{p-9554196c.entry.js → p-1244daa0.entry.js} +2 -2
  389. package/dist/wcs/{p-96bff8fe.entry.js → p-18fa39f4.entry.js} +2 -2
  390. package/dist/wcs/{p-96bff8fe.entry.js.map → p-18fa39f4.entry.js.map} +1 -1
  391. package/dist/wcs/p-1ba616c2.entry.js +2 -0
  392. package/dist/wcs/p-1ba616c2.entry.js.map +1 -0
  393. package/dist/wcs/p-1e7ea63c.entry.js +2 -0
  394. package/dist/wcs/p-1e7ea63c.entry.js.map +1 -0
  395. package/dist/wcs/p-1f593d06.entry.js +2 -0
  396. package/dist/wcs/p-1f593d06.entry.js.map +1 -0
  397. package/dist/wcs/{p-4dc52a25.entry.js → p-1fbe0328.entry.js} +2 -2
  398. package/dist/wcs/p-1fbe0328.entry.js.map +1 -0
  399. package/dist/wcs/{p-c2d35aa6.entry.js → p-204f2722.entry.js} +9 -9
  400. package/dist/wcs/p-204f2722.entry.js.map +1 -0
  401. package/dist/wcs/{p-37800935.entry.js → p-27b438c0.entry.js} +2 -2
  402. package/dist/wcs/{p-0ffdfc10.entry.js → p-352e1f99.entry.js} +2 -2
  403. package/dist/wcs/{p-3cfa1c4b.entry.js → p-367946fe.entry.js} +2 -2
  404. package/dist/wcs/p-3823f54e.entry.js +2 -0
  405. package/dist/wcs/{p-a7891233.entry.js → p-3a18535f.entry.js} +2 -2
  406. package/dist/wcs/p-41b946b2.entry.js +2 -0
  407. package/dist/wcs/p-41b946b2.entry.js.map +1 -0
  408. package/dist/wcs/{p-4661290b.entry.js → p-496115a5.entry.js} +2 -2
  409. package/dist/wcs/{p-4661290b.entry.js.map → p-496115a5.entry.js.map} +1 -1
  410. package/dist/wcs/p-4fb2d985.entry.js +2 -0
  411. package/dist/wcs/{p-9243a323.entry.js.map → p-4fb2d985.entry.js.map} +1 -1
  412. package/dist/wcs/{p-d895ffb4.entry.js → p-5202b323.entry.js} +2 -2
  413. package/dist/wcs/{p-ca8f3677.entry.js → p-53a395a9.entry.js} +2 -2
  414. package/dist/wcs/{p-ca8f3677.entry.js.map → p-53a395a9.entry.js.map} +1 -1
  415. package/dist/wcs/p-5607246c.entry.js +2 -0
  416. package/dist/wcs/p-5607246c.entry.js.map +1 -0
  417. package/dist/wcs/p-580b3142.entry.js +2 -0
  418. package/dist/wcs/p-5da0534f.entry.js +2 -0
  419. package/dist/wcs/p-5da0534f.entry.js.map +1 -0
  420. package/dist/wcs/p-5e8fff73.entry.js +2 -0
  421. package/dist/wcs/p-5e8fff73.entry.js.map +1 -0
  422. package/dist/wcs/{p-dddcd685.entry.js → p-622f7403.entry.js} +2 -2
  423. package/dist/wcs/p-637ec45a.entry.js +2 -0
  424. package/dist/wcs/p-637ec45a.entry.js.map +1 -0
  425. package/dist/wcs/p-6aededc6.entry.js +2 -0
  426. package/dist/wcs/p-6aededc6.entry.js.map +1 -0
  427. package/dist/wcs/p-6c6079ee.entry.js +2 -0
  428. package/dist/wcs/{p-76c92e22.entry.js.map → p-6c6079ee.entry.js.map} +1 -1
  429. package/dist/wcs/{p-e5c057c4.entry.js → p-781a956e.entry.js} +2 -2
  430. package/dist/wcs/p-7de847e0.entry.js +2 -0
  431. package/dist/wcs/p-8152d360.entry.js +2 -0
  432. package/dist/wcs/p-8152d360.entry.js.map +1 -0
  433. package/dist/wcs/{p-294732f7.entry.js → p-850fa9c9.entry.js} +2 -2
  434. package/dist/wcs/{p-796e690d.entry.js → p-86ec9ead.entry.js} +2 -2
  435. package/dist/wcs/{p-796e690d.entry.js.map → p-86ec9ead.entry.js.map} +1 -1
  436. package/dist/wcs/p-8c2605fd.entry.js +2 -0
  437. package/dist/wcs/p-8c2605fd.entry.js.map +1 -0
  438. package/dist/wcs/{p-16dd21cf.entry.js → p-8e9bd0f1.entry.js} +2 -2
  439. package/dist/wcs/p-98a8b806.entry.js +2 -0
  440. package/dist/wcs/p-98a8b806.entry.js.map +1 -0
  441. package/dist/wcs/p-9c73744c.entry.js +2 -0
  442. package/dist/wcs/p-9c73744c.entry.js.map +1 -0
  443. package/dist/wcs/p-9fd3366c.entry.js +2 -0
  444. package/dist/wcs/p-9fd3366c.entry.js.map +1 -0
  445. package/dist/wcs/p-a0f6ef30.entry.js +2 -0
  446. package/dist/wcs/p-a0f6ef30.entry.js.map +1 -0
  447. package/dist/wcs/{p-5bf73e05.entry.js → p-a94e685c.entry.js} +2 -2
  448. package/dist/wcs/{p-5bf73e05.entry.js.map → p-a94e685c.entry.js.map} +1 -1
  449. package/dist/wcs/{p-7d665a7e.entry.js → p-a956dc84.entry.js} +2 -2
  450. package/dist/wcs/p-a956dc84.entry.js.map +1 -0
  451. package/dist/wcs/{p-5d5f50ed.entry.js → p-aadf37e7.entry.js} +2 -2
  452. package/dist/wcs/{p-6b06d2e7.entry.js → p-ad286030.entry.js} +2 -2
  453. package/dist/wcs/p-ad5192cd.entry.js +2 -0
  454. package/dist/wcs/{p-dd60a6db.entry.js → p-b0a6eec6.entry.js} +2 -2
  455. package/dist/wcs/{p-dd60a6db.entry.js.map → p-b0a6eec6.entry.js.map} +1 -1
  456. package/dist/wcs/{p-9ad23e83.entry.js → p-b28b2fba.entry.js} +2 -2
  457. package/dist/wcs/p-b28b2fba.entry.js.map +1 -0
  458. package/dist/wcs/{p-29f5b974.entry.js → p-bc009574.entry.js} +2 -2
  459. package/dist/wcs/{p-29f5b974.entry.js.map → p-bc009574.entry.js.map} +1 -1
  460. package/dist/wcs/p-c211a5d1.entry.js +2 -0
  461. package/dist/wcs/{p-206c01d5.entry.js → p-c261eaf9.entry.js} +2 -2
  462. package/dist/wcs/p-c261eaf9.entry.js.map +1 -0
  463. package/dist/wcs/p-c5bad0b8.js +2 -0
  464. package/dist/wcs/p-c5bad0b8.js.map +1 -0
  465. package/dist/wcs/p-c7812760.entry.js +2 -0
  466. package/dist/wcs/{p-694724a2.entry.js → p-c84ae00d.entry.js} +2 -2
  467. package/dist/wcs/p-cad10435.entry.js +2 -0
  468. package/dist/wcs/{p-13e50077.entry.js.map → p-cad10435.entry.js.map} +1 -1
  469. package/dist/wcs/p-cbbca016.entry.js +2 -0
  470. package/dist/wcs/p-cbbca016.entry.js.map +1 -0
  471. package/dist/wcs/{p-619e1110.entry.js → p-cbda74f6.entry.js} +2 -2
  472. package/dist/wcs/{p-21b964cd.entry.js → p-d27d4a53.entry.js} +2 -2
  473. package/dist/wcs/p-d27d4a53.entry.js.map +1 -0
  474. package/dist/wcs/p-dfb52a1c.entry.js +2 -0
  475. package/dist/wcs/p-dfb52a1c.entry.js.map +1 -0
  476. package/dist/wcs/{p-6f5d570a.entry.js → p-dff8641e.entry.js} +2 -2
  477. package/dist/wcs/p-e26c19e5.entry.js +2 -0
  478. package/dist/wcs/{p-d9525519.entry.js → p-e56b9ce2.entry.js} +2 -2
  479. package/dist/wcs/p-ec383729.entry.js +2 -0
  480. package/dist/wcs/p-ec383729.entry.js.map +1 -0
  481. package/dist/wcs/p-f929b66f.entry.js +2 -0
  482. package/dist/wcs/p-f929b66f.entry.js.map +1 -0
  483. package/dist/wcs/{p-da4636fa.entry.js → p-fd187bce.entry.js} +2 -2
  484. package/dist/wcs/{p-b96f4921.entry.js → p-fdeae83e.entry.js} +2 -2
  485. package/dist/wcs/wcs.esm.js +1 -1
  486. package/dist/wcs/wcs.esm.js.map +1 -1
  487. package/package.json +5 -2
  488. package/dist/cjs/button-interface-629f3563.js +0 -12
  489. package/dist/cjs/button-interface-629f3563.js.map +0 -1
  490. package/dist/cjs/grid-pagination-e4f29c78.js.map +0 -1
  491. package/dist/esm/button-interface-dc5ddd51.js +0 -9
  492. package/dist/esm/button-interface-dc5ddd51.js.map +0 -1
  493. package/dist/esm/grid-pagination-976a86e9.js.map +0 -1
  494. package/dist/wcs/p-13090618.entry.js +0 -2
  495. package/dist/wcs/p-13090618.entry.js.map +0 -1
  496. package/dist/wcs/p-13e50077.entry.js +0 -2
  497. package/dist/wcs/p-1438530e.entry.js +0 -2
  498. package/dist/wcs/p-1438530e.entry.js.map +0 -1
  499. package/dist/wcs/p-206c01d5.entry.js.map +0 -1
  500. package/dist/wcs/p-21b964cd.entry.js.map +0 -1
  501. package/dist/wcs/p-21d2f06f.entry.js +0 -2
  502. package/dist/wcs/p-21d2f06f.entry.js.map +0 -1
  503. package/dist/wcs/p-258855a1.entry.js +0 -2
  504. package/dist/wcs/p-258855a1.entry.js.map +0 -1
  505. package/dist/wcs/p-2adf00be.entry.js +0 -2
  506. package/dist/wcs/p-2adf00be.entry.js.map +0 -1
  507. package/dist/wcs/p-388e6d75.entry.js +0 -2
  508. package/dist/wcs/p-388e6d75.entry.js.map +0 -1
  509. package/dist/wcs/p-43d70995.entry.js +0 -2
  510. package/dist/wcs/p-43d70995.entry.js.map +0 -1
  511. package/dist/wcs/p-4dc52a25.entry.js.map +0 -1
  512. package/dist/wcs/p-550012c2.entry.js +0 -2
  513. package/dist/wcs/p-5974be61.entry.js +0 -2
  514. package/dist/wcs/p-5974be61.entry.js.map +0 -1
  515. package/dist/wcs/p-5de993d7.entry.js +0 -2
  516. package/dist/wcs/p-5de993d7.entry.js.map +0 -1
  517. package/dist/wcs/p-71db0ed5.entry.js +0 -2
  518. package/dist/wcs/p-76c92e22.entry.js +0 -2
  519. package/dist/wcs/p-7d665a7e.entry.js.map +0 -1
  520. package/dist/wcs/p-8fcceaf1.js +0 -2
  521. package/dist/wcs/p-8fcceaf1.js.map +0 -1
  522. package/dist/wcs/p-9243a323.entry.js +0 -2
  523. package/dist/wcs/p-94aa269f.entry.js +0 -2
  524. package/dist/wcs/p-94aa269f.entry.js.map +0 -1
  525. package/dist/wcs/p-96195d9a.entry.js +0 -2
  526. package/dist/wcs/p-96195d9a.entry.js.map +0 -1
  527. package/dist/wcs/p-9ad23e83.entry.js.map +0 -1
  528. package/dist/wcs/p-9dc3f9a5.entry.js +0 -2
  529. package/dist/wcs/p-9dc3f9a5.entry.js.map +0 -1
  530. package/dist/wcs/p-9eb66fa9.entry.js +0 -2
  531. package/dist/wcs/p-ab49926d.entry.js +0 -2
  532. package/dist/wcs/p-ab49926d.entry.js.map +0 -1
  533. package/dist/wcs/p-b2080509.entry.js +0 -2
  534. package/dist/wcs/p-c2d35aa6.entry.js.map +0 -1
  535. package/dist/wcs/p-c6a28b79.js +0 -2
  536. package/dist/wcs/p-c6a28b79.js.map +0 -1
  537. package/dist/wcs/p-c752b85a.entry.js +0 -2
  538. package/dist/wcs/p-d443d419.entry.js +0 -2
  539. package/dist/wcs/p-e36b2ad1.entry.js +0 -2
  540. package/dist/wcs/p-f87636f6.entry.js +0 -2
  541. package/dist/wcs/p-f87636f6.entry.js.map +0 -1
  542. package/dist/wcs/p-fc115de4.entry.js +0 -2
  543. /package/dist/wcs/{p-9c012aae.entry.js.map → p-0424e545.entry.js.map} +0 -0
  544. /package/dist/wcs/{p-50523b53.entry.js.map → p-0758d22e.entry.js.map} +0 -0
  545. /package/dist/wcs/{p-e36b2ad1.entry.js.map → p-0b8157e7.entry.js.map} +0 -0
  546. /package/dist/wcs/{p-9554196c.entry.js.map → p-1244daa0.entry.js.map} +0 -0
  547. /package/dist/wcs/{p-37800935.entry.js.map → p-27b438c0.entry.js.map} +0 -0
  548. /package/dist/wcs/{p-0ffdfc10.entry.js.map → p-352e1f99.entry.js.map} +0 -0
  549. /package/dist/wcs/{p-3cfa1c4b.entry.js.map → p-367946fe.entry.js.map} +0 -0
  550. /package/dist/wcs/{p-c752b85a.entry.js.map → p-3823f54e.entry.js.map} +0 -0
  551. /package/dist/wcs/{p-a7891233.entry.js.map → p-3a18535f.entry.js.map} +0 -0
  552. /package/dist/wcs/{p-d895ffb4.entry.js.map → p-5202b323.entry.js.map} +0 -0
  553. /package/dist/wcs/{p-b2080509.entry.js.map → p-580b3142.entry.js.map} +0 -0
  554. /package/dist/wcs/{p-dddcd685.entry.js.map → p-622f7403.entry.js.map} +0 -0
  555. /package/dist/wcs/{p-e5c057c4.entry.js.map → p-781a956e.entry.js.map} +0 -0
  556. /package/dist/wcs/{p-550012c2.entry.js.map → p-7de847e0.entry.js.map} +0 -0
  557. /package/dist/wcs/{p-294732f7.entry.js.map → p-850fa9c9.entry.js.map} +0 -0
  558. /package/dist/wcs/{p-16dd21cf.entry.js.map → p-8e9bd0f1.entry.js.map} +0 -0
  559. /package/dist/wcs/{p-5d5f50ed.entry.js.map → p-aadf37e7.entry.js.map} +0 -0
  560. /package/dist/wcs/{p-6b06d2e7.entry.js.map → p-ad286030.entry.js.map} +0 -0
  561. /package/dist/wcs/{p-fc115de4.entry.js.map → p-ad5192cd.entry.js.map} +0 -0
  562. /package/dist/wcs/{p-9eb66fa9.entry.js.map → p-c211a5d1.entry.js.map} +0 -0
  563. /package/dist/wcs/{p-d443d419.entry.js.map → p-c7812760.entry.js.map} +0 -0
  564. /package/dist/wcs/{p-694724a2.entry.js.map → p-c84ae00d.entry.js.map} +0 -0
  565. /package/dist/wcs/{p-619e1110.entry.js.map → p-cbda74f6.entry.js.map} +0 -0
  566. /package/dist/wcs/{p-6f5d570a.entry.js.map → p-dff8641e.entry.js.map} +0 -0
  567. /package/dist/wcs/{p-71db0ed5.entry.js.map → p-e26c19e5.entry.js.map} +0 -0
  568. /package/dist/wcs/{p-d9525519.entry.js.map → p-e56b9ce2.entry.js.map} +0 -0
  569. /package/dist/wcs/{p-da4636fa.entry.js.map → p-fd187bce.entry.js.map} +0 -0
  570. /package/dist/wcs/{p-b96f4921.entry.js.map → p-fdeae83e.entry.js.map} +0 -0
@@ -0,0 +1,257 @@
1
+ import { h, Host } from "@stencil/core";
2
+ /**
3
+ * Alerts are used to communicate a state or an action that has been performed.
4
+ * It has to be used conjunction with the `wcs-alert-drawer` component, or you can use it independently by taking care of
5
+ * the alert visibility
6
+ *
7
+ * @cssprop --wcs-alert-background-color - Background color of the alert
8
+ * @cssprop --wcs-alert-icon-background-color - Background color of the icon
9
+ * @cssprop --wcs-alert-title-color - Color of the title
10
+ * @cssprop --wcs-alert-subtitle-color - Color of the subtitle
11
+ * @cssprop --wcs-alert-dismiss-button-color - Color of the dismiss button
12
+ * @cssprop --wcs-alert-title-font-weight - Font weight of the title
13
+ * @cssprop --wcs-alert-subtitle-font-weight - Font weight of the subtitle
14
+ * @cssprop --wcs-alert-title-font-size - Font size of the title
15
+ * @cssprop --wcs-alert-subtitle-font-size - Font size of the subtitle
16
+ * @cssprop --wcs-alert-border-width - Border width of the alert
17
+ * @cssprop --wcs-alert-border-color - Border color of the alert
18
+ * @cssprop --wcs-alert-border-radius - Border radius of the alert
19
+ * @cssprop --wcs-alert-padding - Padding of the alert
20
+ * @cssprop --wcs-alert-gap - Gap between each element of the alert, icon content and close button
21
+ * @cssprop --wcs-alert-min-width - Minimum width of the alert, default to 100% and it is set by alert-drawer component
22
+ * @cssprop --wcs-alert-progress-bar-height - Height of the progress bar if `showProgressBar` is set to true
23
+ * @cssprop --wcs-alert-progress-bar-background-color - Background color of the progress bar
24
+ */
25
+ export class Alert {
26
+ constructor() {
27
+ /** Only active if timeout > 0, becomes true when the alert reaches its maximum display time */
28
+ this.isTimedOut = false;
29
+ /** Indicates if the mouse cursor is hovering over the alert */
30
+ this.isMouseHover = false;
31
+ /**
32
+ * ID of the setTimeout used to manage the alert's lifetime
33
+ * https://developer.mozilla.org/en-US/docs/Web/API/Window/clearTimeout#notes
34
+ */
35
+ this.timeoutId = undefined;
36
+ this.show = true;
37
+ this.intent = 'success';
38
+ this.timeout = 5000;
39
+ this.showProgressBar = false;
40
+ }
41
+ mouseOverHandler() {
42
+ this.mouseHover(true);
43
+ }
44
+ mouseOutHandler() {
45
+ this.mouseHover(false);
46
+ }
47
+ /**
48
+ * Handles the mouse hover state of the alert
49
+ * @param hover - true if the mouse is hovering over the alert, false otherwise
50
+ */
51
+ mouseHover(hover) {
52
+ this.isMouseHover = hover;
53
+ // If the timeout has passed (i.e. the user had the mouse on the component when it expired), we close the alert.
54
+ if (this.isTimedOut && !this.isMouseHover) {
55
+ this.close();
56
+ }
57
+ }
58
+ async componentWillLoad() {
59
+ await this.showAlertAndRunTimeout();
60
+ }
61
+ async componentDidLoad() {
62
+ var _a;
63
+ /*
64
+ Because icon serves also to announce the state of the alert based on the type. We set aria-label on the icon based
65
+ on the type
66
+ */
67
+ (_a = this.annoucementIconHtmlElement) === null || _a === void 0 ? void 0 : _a.setAriaAttribute('aria-hidden', 'false');
68
+ if (this.showProgressBar) {
69
+ this.el.style.setProperty('--wcs-alert-internal-progress-bar-animation-duration', this.timeout / 1000 + 's');
70
+ }
71
+ else {
72
+ this.el.style.setProperty('--wcs-alert-internal-progress-bar-animation-duration', '0s');
73
+ }
74
+ }
75
+ async showAlertAndRunTimeout() {
76
+ if (this.timeout === 0)
77
+ return;
78
+ this.show = true;
79
+ this.timeoutId = setTimeout(() => {
80
+ // If the user has the mouse over the alert, we only indicate that the timemout has expired, and the method that handles the mousehover event will close it
81
+ if (!this.isMouseHover) {
82
+ this.close();
83
+ }
84
+ this.isTimedOut = true;
85
+ }, this.timeout);
86
+ }
87
+ onCloseButtonClick(_) {
88
+ this.close();
89
+ }
90
+ close() {
91
+ this.show = false;
92
+ this.wcsAlertDismiss.emit();
93
+ }
94
+ getMaterialIcon() {
95
+ switch (this.intent) {
96
+ case "success":
97
+ return 'check_circle';
98
+ case "information":
99
+ return 'info';
100
+ case "error":
101
+ return 'error';
102
+ case "warning":
103
+ return 'warning';
104
+ }
105
+ }
106
+ getAriaLabel() {
107
+ switch (this.intent) {
108
+ case "success":
109
+ return 'Succès';
110
+ case "information":
111
+ return 'Information';
112
+ case "error":
113
+ return 'Erreur';
114
+ case "warning":
115
+ return 'Attention';
116
+ }
117
+ }
118
+ disconnectedCallback() {
119
+ /*
120
+ https://developer.mozilla.org/en-US/docs/Web/API/Window/clearTimeout#notes
121
+ (Passing an invalid ID to clearTimeout() silently does nothing; no exception is thrown.)
122
+ */
123
+ clearTimeout(this.timeoutId);
124
+ }
125
+ render() {
126
+ return (h(Host, { key: '82c9f5879eae7adef41c921ef34b2b9d891c0d6b' }, h("div", { key: 'b46424dfb6b620b62767b6bb8048827f83d116a7', class: "icon-content-container" }, h("wcs-mat-icon", { key: 'ff3a0bc91a73e275936bbe8f77c904f397296551', class: "announcement-icon", ref: (el) => this.annoucementIconHtmlElement = el, icon: this.getMaterialIcon(), "aria-label": this.getAriaLabel(), role: "img", "aria-hidden": false }), h("div", { key: 'ea866940416ddaf5eaf73cec83f30c71b01c41d8', class: "content" }, h("slot", { key: 'd14c321ebdb78b646bb4fc19e613dbd2cc61ed31', name: "title" }), h("slot", { key: '569d6556ea823f82e1d6164ac20361e27c85b592', name: "subtitle" }))), h("wcs-button", { key: 'f13afc31116b7b6fe04e0186128d0288725ace98', shape: "round", size: "s", mode: "clear", class: "close-button wcs-dark", "aria-label": "Fermer cette notification", onClick: ($event) => this.onCloseButtonClick($event) }, h("wcs-mat-icon", { key: '02557c896159ec1a7fdab853a07f7c79c17dd5d7', icon: "close" })), h("div", { key: '9e90e95009da575ca693e5ba4e92b3916ad4ee6f', class: 'progress-bar' + (!this.showProgressBar ? ' hidden' : '') }, h("div", { key: 'c8858551592bb0b1622e2ee19c67a662f31ce068', class: "progress-bar-track" }))));
127
+ }
128
+ static get is() { return "wcs-alert"; }
129
+ static get encapsulation() { return "shadow"; }
130
+ static get originalStyleUrls() {
131
+ return {
132
+ "$": ["alert.scss"]
133
+ };
134
+ }
135
+ static get styleUrls() {
136
+ return {
137
+ "$": ["alert.css"]
138
+ };
139
+ }
140
+ static get properties() {
141
+ return {
142
+ "show": {
143
+ "type": "boolean",
144
+ "mutable": true,
145
+ "complexType": {
146
+ "original": "boolean",
147
+ "resolved": "boolean",
148
+ "references": {}
149
+ },
150
+ "required": false,
151
+ "optional": false,
152
+ "docs": {
153
+ "tags": [],
154
+ "text": "Controls the visibility state of the alert.\nThis property is exposed to allow control of the alert's display state and animation timing:\n- Used by wcs-alert-drawer to coordinate exit animations when the alert is dismissed\n- Can be used directly for custom implementations (though using wcs-alert-drawer is recommended)\n- When set to false, it triggers the exit animation if implemented\n\nNote: While direct usage is possible for custom implementations, it's recommended to use\nwcs-alert-drawer for consistent alert management and animations."
155
+ },
156
+ "attribute": "show",
157
+ "reflect": true,
158
+ "defaultValue": "true"
159
+ },
160
+ "intent": {
161
+ "type": "string",
162
+ "mutable": false,
163
+ "complexType": {
164
+ "original": "WcsAlertIntent",
165
+ "resolved": "\"error\" | \"information\" | \"success\" | \"warning\"",
166
+ "references": {
167
+ "WcsAlertIntent": {
168
+ "location": "import",
169
+ "path": "./alert-interface",
170
+ "id": "src/components/alert/alert-interface.ts::WcsAlertIntent"
171
+ }
172
+ }
173
+ },
174
+ "required": false,
175
+ "optional": false,
176
+ "docs": {
177
+ "tags": [],
178
+ "text": ""
179
+ },
180
+ "attribute": "intent",
181
+ "reflect": true,
182
+ "defaultValue": "'success'"
183
+ },
184
+ "timeout": {
185
+ "type": "number",
186
+ "mutable": false,
187
+ "complexType": {
188
+ "original": "number",
189
+ "resolved": "number",
190
+ "references": {}
191
+ },
192
+ "required": false,
193
+ "optional": false,
194
+ "docs": {
195
+ "tags": [],
196
+ "text": "Time duration of the alert visibility\n\n5000ms by default\nIf 0, the alert will not emit `wcsAlertDismiss` event automatically"
197
+ },
198
+ "attribute": "timeout",
199
+ "reflect": false,
200
+ "defaultValue": "5000"
201
+ },
202
+ "showProgressBar": {
203
+ "type": "boolean",
204
+ "mutable": false,
205
+ "complexType": {
206
+ "original": "boolean",
207
+ "resolved": "boolean",
208
+ "references": {}
209
+ },
210
+ "required": false,
211
+ "optional": false,
212
+ "docs": {
213
+ "tags": [],
214
+ "text": ""
215
+ },
216
+ "attribute": "show-progress-bar",
217
+ "reflect": false,
218
+ "defaultValue": "false"
219
+ }
220
+ };
221
+ }
222
+ static get events() {
223
+ return [{
224
+ "method": "wcsAlertDismiss",
225
+ "name": "wcsAlertDismiss",
226
+ "bubbles": true,
227
+ "cancelable": true,
228
+ "composed": true,
229
+ "docs": {
230
+ "tags": [],
231
+ "text": "Event emitted when the alert is dismissed"
232
+ },
233
+ "complexType": {
234
+ "original": "void",
235
+ "resolved": "void",
236
+ "references": {}
237
+ }
238
+ }];
239
+ }
240
+ static get elementRef() { return "el"; }
241
+ static get listeners() {
242
+ return [{
243
+ "name": "mouseover",
244
+ "method": "mouseOverHandler",
245
+ "target": undefined,
246
+ "capture": false,
247
+ "passive": true
248
+ }, {
249
+ "name": "mouseout",
250
+ "method": "mouseOutHandler",
251
+ "target": undefined,
252
+ "capture": false,
253
+ "passive": true
254
+ }];
255
+ }
256
+ }
257
+ //# sourceMappingURL=alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../src/components/alert/alert.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, h, Host, Prop, Element, Listen } from '@stencil/core';\nimport { WcsAlertIntent } from \"./alert-interface\";\n\n/**\n * Alerts are used to communicate a state or an action that has been performed.\n * It has to be used conjunction with the `wcs-alert-drawer` component, or you can use it independently by taking care of \n * the alert visibility\n * \n * @cssprop --wcs-alert-background-color - Background color of the alert\n * @cssprop --wcs-alert-icon-background-color - Background color of the icon\n * @cssprop --wcs-alert-title-color - Color of the title\n * @cssprop --wcs-alert-subtitle-color - Color of the subtitle\n * @cssprop --wcs-alert-dismiss-button-color - Color of the dismiss button\n * @cssprop --wcs-alert-title-font-weight - Font weight of the title\n * @cssprop --wcs-alert-subtitle-font-weight - Font weight of the subtitle\n * @cssprop --wcs-alert-title-font-size - Font size of the title\n * @cssprop --wcs-alert-subtitle-font-size - Font size of the subtitle\n * @cssprop --wcs-alert-border-width - Border width of the alert\n * @cssprop --wcs-alert-border-color - Border color of the alert\n * @cssprop --wcs-alert-border-radius - Border radius of the alert\n * @cssprop --wcs-alert-padding - Padding of the alert\n * @cssprop --wcs-alert-gap - Gap between each element of the alert, icon content and close button\n * @cssprop --wcs-alert-min-width - Minimum width of the alert, default to 100% and it is set by alert-drawer component\n * @cssprop --wcs-alert-progress-bar-height - Height of the progress bar if `showProgressBar` is set to true\n * @cssprop --wcs-alert-progress-bar-background-color - Background color of the progress bar\n */\n@Component({\n tag: 'wcs-alert',\n styleUrl: 'alert.scss',\n shadow: true,\n})\nexport class Alert {\n @Element() private el: HTMLElement;\n\n /**\n * Controls the visibility state of the alert.\n * This property is exposed to allow control of the alert's display state and animation timing:\n * - Used by wcs-alert-drawer to coordinate exit animations when the alert is dismissed\n * - Can be used directly for custom implementations (though using wcs-alert-drawer is recommended)\n * - When set to false, it triggers the exit animation if implemented\n * \n * Note: While direct usage is possible for custom implementations, it's recommended to use\n * wcs-alert-drawer for consistent alert management and animations.\n */\n @Prop({ mutable: true, reflect: true }) show: boolean = true;\n\n @Prop({ reflect: true })\n intent: WcsAlertIntent = 'success';\n\n /**\n * Event emitted when the alert is dismissed\n */\n @Event() wcsAlertDismiss: EventEmitter<void>;\n\n /**\n * Time duration of the alert visibility\n * \n * 5000ms by default\n * If 0, the alert will not emit `wcsAlertDismiss` event automatically\n */\n @Prop() timeout = 5000;\n @Prop() showProgressBar: boolean = false;\n\n /** Only active if timeout > 0, becomes true when the alert reaches its maximum display time */\n private isTimedOut: boolean = false;\n\n /** Indicates if the mouse cursor is hovering over the alert */\n private isMouseHover: boolean = false;\n /**\n * ID of the setTimeout used to manage the alert's lifetime\n * https://developer.mozilla.org/en-US/docs/Web/API/Window/clearTimeout#notes\n */\n private timeoutId = undefined;\n\n /** Reference to the alert's information icon for managing its aria-label */\n private annoucementIconHtmlElement!: HTMLWcsMatIconElement;\n\n\n @Listen('mouseover')\n mouseOverHandler() {\n this.mouseHover(true)\n }\n\n @Listen('mouseout')\n mouseOutHandler() {\n this.mouseHover(false);\n }\n\n /**\n * Handles the mouse hover state of the alert\n * @param hover - true if the mouse is hovering over the alert, false otherwise\n */\n private mouseHover(hover: boolean) {\n this.isMouseHover = hover;\n\n // If the timeout has passed (i.e. the user had the mouse on the component when it expired), we close the alert.\n if (this.isTimedOut && !this.isMouseHover) {\n this.close();\n }\n }\n\n async componentWillLoad() {\n await this.showAlertAndRunTimeout();\n }\n\n async componentDidLoad() {\n /*\n Because icon serves also to announce the state of the alert based on the type. We set aria-label on the icon based\n on the type\n */\n this.annoucementIconHtmlElement?.setAriaAttribute('aria-hidden', 'false');\n\n if (this.showProgressBar) {\n this.el.style.setProperty('--wcs-alert-internal-progress-bar-animation-duration', this.timeout / 1000 + 's');\n } else {\n this.el.style.setProperty('--wcs-alert-internal-progress-bar-animation-duration', '0s');\n }\n }\n\n async showAlertAndRunTimeout() {\n if (this.timeout === 0) return;\n this.show = true;\n this.timeoutId = setTimeout(() => {\n // If the user has the mouse over the alert, we only indicate that the timemout has expired, and the method that handles the mousehover event will close it\n if (!this.isMouseHover) {\n this.close();\n }\n this.isTimedOut = true;\n }, this.timeout);\n }\n\n private onCloseButtonClick(_: MouseEvent) {\n this.close();\n }\n\n private close() {\n this.show = false;\n this.wcsAlertDismiss.emit();\n }\n\n private getMaterialIcon() {\n switch (this.intent) {\n case \"success\":\n return 'check_circle'\n case \"information\":\n return 'info'\n case \"error\":\n return 'error'\n case \"warning\":\n return 'warning'\n }\n }\n\n private getAriaLabel() {\n switch (this.intent) {\n case \"success\":\n return 'Succès';\n case \"information\":\n return 'Information';\n case \"error\":\n return 'Erreur';\n case \"warning\":\n return 'Attention';\n }\n }\n\n disconnectedCallback() {\n /*\n https://developer.mozilla.org/en-US/docs/Web/API/Window/clearTimeout#notes \n (Passing an invalid ID to clearTimeout() silently does nothing; no exception is thrown.)\n */\n clearTimeout(this.timeoutId);\n }\n\n render() {\n return (\n <Host>\n <div class=\"icon-content-container\">\n <wcs-mat-icon class=\"announcement-icon\"\n ref={(el) => this.annoucementIconHtmlElement = el}\n icon={this.getMaterialIcon()}\n aria-label={this.getAriaLabel()}\n role=\"img\"\n aria-hidden={false}></wcs-mat-icon>\n <div class=\"content\">\n <slot name=\"title\"></slot>\n <slot name=\"subtitle\"></slot>\n </div>\n </div>\n <wcs-button shape=\"round\" size=\"s\" mode=\"clear\" class=\"close-button wcs-dark\"\n aria-label=\"Fermer cette notification\"\n onClick={($event) => this.onCloseButtonClick($event)}>\n <wcs-mat-icon icon=\"close\"></wcs-mat-icon>\n </wcs-button>\n <div class={'progress-bar' + (!this.showProgressBar ? ' hidden' : '')}>\n <div class=\"progress-bar-track\"></div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=alert-drawer-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-drawer-interface.js","sourceRoot":"","sources":["../../../src/components/alert-drawer/alert-drawer-interface.ts"],"names":[],"mappings":"","sourcesContent":["export type WcsAlertDrawerPosition = 'bottom' | 'top' | \"top-left\" | \"top-right\" | \"bottom-left\" | \"bottom-right\";\n"]}
@@ -0,0 +1,103 @@
1
+ @keyframes slide-in-bottom {
2
+ from {
3
+ transform: translateY(100%);
4
+ }
5
+ to {
6
+ transform: translateY(0%);
7
+ }
8
+ }
9
+ @keyframes slide-out {
10
+ from {
11
+ opacity: 1;
12
+ }
13
+ to {
14
+ opacity: 0;
15
+ }
16
+ }
17
+ @keyframes slide-in-top {
18
+ from {
19
+ opacity: 0;
20
+ transform: translateY(-100%);
21
+ }
22
+ to {
23
+ opacity: 1;
24
+ transform: translateY(0%);
25
+ }
26
+ }
27
+ :host {
28
+ --wcs-alert-drawer-gap: var(--wcs-semantic-spacing-base);
29
+ --wcs-alert-drawer-margin-horizontal: var(--wcs-semantic-spacing-base);
30
+ --wcs-alert-drawer-margin-vertical: var(--wcs-semantic-spacing-base);
31
+ --wcs-alert-drawer-min-width: 400px;
32
+ --wcs-alert-drawer-hide-alert-animation-duration: var(--wcs-semantic-motion-duration-feedback-slow);
33
+ position: fixed;
34
+ z-index: 99999;
35
+ width: fit-content;
36
+ }
37
+ :host wcs-alert {
38
+ --wcs-alert-min-width: var(--wcs-alert-drawer-min-width);
39
+ }
40
+ :host wcs-alert:not([show]) {
41
+ animation-duration: var(--wcs-alert-drawer-hide-alert-animation-duration);
42
+ animation-timing-function: ease;
43
+ animation-name: slide-out;
44
+ animation-fill-mode: forwards;
45
+ }
46
+ @media (prefers-reduced-motion: reduce) {
47
+ :host wcs-alert:not([show]) {
48
+ animation: none;
49
+ }
50
+ }
51
+ :host #alerts-container {
52
+ display: flex;
53
+ flex-direction: column;
54
+ gap: var(--wcs-alert-drawer-gap);
55
+ }
56
+
57
+ @media (max-width: 575px) {
58
+ :host {
59
+ left: 50% !important;
60
+ transform: translate(-50%, 0);
61
+ width: calc(100% - 2 * var(--wcs-alert-drawer-margin-horizontal));
62
+ }
63
+ :host wcs-alert {
64
+ --wcs-alert-min-width: 100%;
65
+ }
66
+ }
67
+ :host([position=top]), :host([position=top-left]), :host([position=top-right]) {
68
+ top: var(--wcs-alert-drawer-margin-vertical);
69
+ flex-direction: column-reverse;
70
+ }
71
+ :host([position=top]) wcs-alert[show], :host([position=top-left]) wcs-alert[show], :host([position=top-right]) wcs-alert[show] {
72
+ animation: slide-in-top var(--wcs-alert-drawer-hide-alert-animation-duration) ease;
73
+ }
74
+ @media (prefers-reduced-motion: reduce) {
75
+ :host([position=top]) wcs-alert[show], :host([position=top-left]) wcs-alert[show], :host([position=top-right]) wcs-alert[show] {
76
+ animation: none;
77
+ }
78
+ }
79
+
80
+ :host([position=bottom]), :host([position=bottom-left]), :host([position=bottom-right]) {
81
+ bottom: var(--wcs-alert-drawer-margin-vertical);
82
+ }
83
+ :host([position=bottom]) wcs-alert[show], :host([position=bottom-left]) wcs-alert[show], :host([position=bottom-right]) wcs-alert[show] {
84
+ animation: slide-in-bottom var(--wcs-alert-drawer-hide-alert-animation-duration) ease;
85
+ }
86
+ @media (prefers-reduced-motion: reduce) {
87
+ :host([position=bottom]) wcs-alert[show], :host([position=bottom-left]) wcs-alert[show], :host([position=bottom-right]) wcs-alert[show] {
88
+ animation: none;
89
+ }
90
+ }
91
+
92
+ :host([position=top-right]), :host([position=bottom-right]) {
93
+ right: var(--wcs-alert-drawer-margin-horizontal);
94
+ }
95
+
96
+ :host([position=top-left]), :host([position=bottom-left]) {
97
+ left: var(--wcs-alert-drawer-margin-horizontal);
98
+ }
99
+
100
+ :host([position=bottom]), :host([position=top]) {
101
+ left: 50%;
102
+ transform: translate(-50%, 0);
103
+ }
@@ -0,0 +1,111 @@
1
+ import { newE2EPage } from "@stencil/core/testing";
2
+ import { setWcsContent } from "../../utils/tests";
3
+ const WAITING_DELAY_BEFORE_ASSERTIONS = 1000;
4
+ describe('alert-drawer', () => {
5
+ it('should show an alert when using show() method', async () => {
6
+ // Given
7
+ const page = await newE2EPage();
8
+ await setWcsContent(page, `
9
+ <wcs-alert-drawer position="bottom-right"></wcs-alert-drawer>
10
+ `);
11
+ const alertDrawer = await page.find('wcs-alert-drawer');
12
+ // When
13
+ await alertDrawer.callMethod('show', {
14
+ title: 'Test Title',
15
+ subtitle: 'Test Subtitle',
16
+ intent: 'success',
17
+ showProgressBar: false,
18
+ timeout: 0
19
+ });
20
+ await page.waitForChanges();
21
+ // Then
22
+ const alert = await page.find('wcs-alert-drawer >>> wcs-alert');
23
+ expect(alert).not.toBeNull();
24
+ const title = await page.find('wcs-alert-drawer >>> wcs-alert > [slot="title"]');
25
+ const subtitle = await page.find('wcs-alert-drawer >>> wcs-alert > [slot="subtitle"]');
26
+ expect(title.textContent).toBe('Test Title');
27
+ expect(subtitle.textContent).toBe('Test Subtitle');
28
+ });
29
+ it('should close the alert after timeout', async () => {
30
+ // Given
31
+ const page = await newE2EPage();
32
+ await setWcsContent(page, `
33
+ <wcs-alert-drawer></wcs-alert-drawer>
34
+ `);
35
+ const alertDrawer = await page.find('wcs-alert-drawer');
36
+ // When
37
+ await alertDrawer.callMethod('show', {
38
+ title: 'Test Title',
39
+ subtitle: 'Test Subtitle',
40
+ intent: 'success',
41
+ showProgressBar: false,
42
+ timeout: 100 // Short timeout for testing
43
+ });
44
+ await page.waitForChanges();
45
+ // Wait for the alert to be removed
46
+ await new Promise(resolve => setTimeout(resolve, WAITING_DELAY_BEFORE_ASSERTIONS)); // Wait a bit longer than the timeout
47
+ // Then
48
+ const alert = await page.find('wcs-alert-drawer >>> wcs-alert');
49
+ expect(alert).toBeNull();
50
+ });
51
+ it('should show progress bar when showProgressBar is true', async () => {
52
+ // Given
53
+ const page = await newE2EPage();
54
+ await setWcsContent(page, `
55
+ <wcs-alert-drawer></wcs-alert-drawer>
56
+ `);
57
+ const alertDrawer = await page.find('wcs-alert-drawer');
58
+ // When
59
+ await alertDrawer.callMethod('show', {
60
+ title: 'Test Title',
61
+ subtitle: 'Test Subtitle',
62
+ intent: 'success',
63
+ showProgressBar: true,
64
+ timeout: 5000
65
+ });
66
+ await page.waitForChanges();
67
+ // Then
68
+ const progressBar = await page.find('wcs-alert-drawer >>> wcs-alert >>> .progress-bar');
69
+ expect(progressBar).not.toBeNull();
70
+ });
71
+ it('should have correct ARIA attributes for accessibility', async () => {
72
+ // Given
73
+ const page = await newE2EPage();
74
+ await setWcsContent(page, `
75
+ <wcs-alert-drawer></wcs-alert-drawer>
76
+ `);
77
+ const alertDrawer = await page.find('wcs-alert-drawer');
78
+ // Then
79
+ expect(alertDrawer.getAttribute('role')).toBe('region');
80
+ expect(alertDrawer.getAttribute('aria-live')).toBe('polite');
81
+ expect(alertDrawer.getAttribute('aria-atomic')).toBe('true');
82
+ });
83
+ it('should handle multiple alerts', async () => {
84
+ // Given
85
+ const page = await newE2EPage();
86
+ await setWcsContent(page, `
87
+ <wcs-alert-drawer></wcs-alert-drawer>
88
+ `);
89
+ const alertDrawer = await page.find('wcs-alert-drawer');
90
+ // When
91
+ await alertDrawer.callMethod('show', {
92
+ title: 'First Alert',
93
+ subtitle: 'First Subtitle',
94
+ intent: 'success',
95
+ showProgressBar: false,
96
+ timeout: 0
97
+ });
98
+ await alertDrawer.callMethod('show', {
99
+ title: 'Second Alert',
100
+ subtitle: 'Second Subtitle',
101
+ intent: 'warning',
102
+ showProgressBar: false,
103
+ timeout: 0
104
+ });
105
+ await page.waitForChanges();
106
+ // Then
107
+ const alerts = await page.findAll('wcs-alert-drawer >>> wcs-alert');
108
+ expect(alerts.length).toBe(2);
109
+ });
110
+ });
111
+ //# sourceMappingURL=alert-drawer.e2e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-drawer.e2e.js","sourceRoot":"","sources":["../../../src/components/alert-drawer/alert-drawer.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from '@stencil/core/testing';\nimport { setWcsContent } from '../../utils/tests';\n\nconst WAITING_DELAY_BEFORE_ASSERTIONS = 1_000;\n\ndescribe('alert-drawer', () => {\n it('should show an alert when using show() method', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-alert-drawer position=\"bottom-right\"></wcs-alert-drawer>\n `);\n const alertDrawer = await page.find('wcs-alert-drawer');\n\n // When\n await alertDrawer.callMethod('show', {\n title: 'Test Title',\n subtitle: 'Test Subtitle',\n intent: 'success',\n showProgressBar: false,\n timeout: 0\n });\n await page.waitForChanges();\n\n // Then\n const alert = await page.find('wcs-alert-drawer >>> wcs-alert');\n expect(alert).not.toBeNull();\n const title = await page.find('wcs-alert-drawer >>> wcs-alert > [slot=\"title\"]');\n const subtitle = await page.find('wcs-alert-drawer >>> wcs-alert > [slot=\"subtitle\"]');\n expect(title.textContent).toBe('Test Title');\n expect(subtitle.textContent).toBe('Test Subtitle');\n });\n\n it('should close the alert after timeout', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-alert-drawer></wcs-alert-drawer>\n `);\n const alertDrawer = await page.find('wcs-alert-drawer');\n\n // When\n await alertDrawer.callMethod('show', {\n title: 'Test Title',\n subtitle: 'Test Subtitle',\n intent: 'success',\n showProgressBar: false,\n timeout: 100 // Short timeout for testing\n });\n await page.waitForChanges();\n\n // Wait for the alert to be removed\n await new Promise(resolve => setTimeout(resolve, WAITING_DELAY_BEFORE_ASSERTIONS)); // Wait a bit longer than the timeout\n\n // Then\n const alert = await page.find('wcs-alert-drawer >>> wcs-alert');\n expect(alert).toBeNull();\n });\n\n it('should show progress bar when showProgressBar is true', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-alert-drawer></wcs-alert-drawer>\n `);\n const alertDrawer = await page.find('wcs-alert-drawer');\n\n // When\n await alertDrawer.callMethod('show', {\n title: 'Test Title',\n subtitle: 'Test Subtitle',\n intent: 'success',\n showProgressBar: true,\n timeout: 5000\n });\n await page.waitForChanges();\n\n // Then\n const progressBar = await page.find('wcs-alert-drawer >>> wcs-alert >>> .progress-bar');\n expect(progressBar).not.toBeNull();\n });\n\n it('should have correct ARIA attributes for accessibility', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-alert-drawer></wcs-alert-drawer>\n `);\n const alertDrawer = await page.find('wcs-alert-drawer');\n\n // Then\n expect(alertDrawer.getAttribute('role')).toBe('region');\n expect(alertDrawer.getAttribute('aria-live')).toBe('polite');\n expect(alertDrawer.getAttribute('aria-atomic')).toBe('true');\n });\n\n it('should handle multiple alerts', async () => {\n // Given\n const page = await newE2EPage();\n await setWcsContent(page, `\n <wcs-alert-drawer></wcs-alert-drawer>\n `);\n const alertDrawer = await page.find('wcs-alert-drawer');\n\n // When\n await alertDrawer.callMethod('show', {\n title: 'First Alert',\n subtitle: 'First Subtitle',\n intent: 'success',\n showProgressBar: false,\n timeout: 0\n });\n await alertDrawer.callMethod('show', {\n title: 'Second Alert',\n subtitle: 'Second Subtitle',\n intent: 'warning',\n showProgressBar: false,\n timeout: 0\n });\n await page.waitForChanges();\n\n // Then\n const alerts = await page.findAll('wcs-alert-drawer >>> wcs-alert');\n expect(alerts.length).toBe(2);\n });\n});\n"]}