@mgdis/mg-components 5.16.0 → 5.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (475) hide show
  1. package/dist/cjs/{index-fede8ee2.js → index-c042e24b.js} +321 -68
  2. package/dist/cjs/index-c042e24b.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +2 -0
  4. package/dist/cjs/index.cjs.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +5 -12
  6. package/dist/cjs/loader.cjs.js.map +1 -0
  7. package/dist/cjs/mg-action-more_34.cjs.entry.js +485 -163
  8. package/dist/cjs/mg-action-more_34.cjs.entry.js.map +1 -0
  9. package/dist/cjs/mg-components.cjs.js +5 -3
  10. package/dist/cjs/mg-components.cjs.js.map +1 -0
  11. package/dist/cjs/mg-item-more.cjs.entry.js +4 -2
  12. package/dist/cjs/mg-item-more.cjs.entry.js.map +1 -0
  13. package/dist/cjs/{mg-menu.conf-f9d0ddec.js → mg-menu.conf-43aacf30.js} +2 -0
  14. package/dist/cjs/mg-menu.conf-43aacf30.js.map +1 -0
  15. package/dist/collection/assets/icons/index.js +7 -2
  16. package/dist/collection/collection-manifest.json +37 -37
  17. package/dist/collection/components/atoms/mg-badge/mg-badge.conf.js +1 -0
  18. package/dist/collection/components/atoms/mg-badge/mg-badge.conf.js.map +1 -0
  19. package/dist/collection/components/atoms/mg-badge/mg-badge.js +6 -4
  20. package/dist/collection/components/atoms/mg-badge/mg-badge.js.map +1 -0
  21. package/dist/collection/components/atoms/mg-badge/test/mg-badge.e2e.playwright.js +33 -0
  22. package/dist/collection/components/atoms/mg-badge/test/mg-badge.e2e.playwright.js.map +1 -0
  23. package/dist/collection/components/atoms/mg-badge/test/mg-badge.spec.js +70 -0
  24. package/dist/collection/components/atoms/mg-badge/test/mg-badge.spec.js.map +1 -0
  25. package/dist/collection/components/atoms/mg-button/mg-button.conf.js +1 -0
  26. package/dist/collection/components/atoms/mg-button/mg-button.conf.js.map +1 -0
  27. package/dist/collection/components/atoms/mg-button/mg-button.js +10 -6
  28. package/dist/collection/components/atoms/mg-button/mg-button.js.map +1 -0
  29. package/dist/collection/components/atoms/mg-button/test/mg-button.e2e.js +91 -0
  30. package/dist/collection/components/atoms/mg-button/test/mg-button.e2e.js.map +1 -0
  31. package/dist/collection/components/atoms/mg-button/test/mg-button.spec.js +142 -0
  32. package/dist/collection/components/atoms/mg-button/test/mg-button.spec.js.map +1 -0
  33. package/dist/collection/components/atoms/mg-card/mg-card.conf.js +1 -0
  34. package/dist/collection/components/atoms/mg-card/mg-card.conf.js.map +1 -0
  35. package/dist/collection/components/atoms/mg-card/mg-card.js +8 -5
  36. package/dist/collection/components/atoms/mg-card/mg-card.js.map +1 -0
  37. package/dist/collection/components/atoms/mg-card/test/mg-card.e2e.js +36 -0
  38. package/dist/collection/components/atoms/mg-card/test/mg-card.e2e.js.map +1 -0
  39. package/dist/collection/components/atoms/mg-card/test/mg-card.spec.js +43 -0
  40. package/dist/collection/components/atoms/mg-card/test/mg-card.spec.js.map +1 -0
  41. package/dist/collection/components/atoms/mg-character-left/mg-character-left.js +3 -2
  42. package/dist/collection/components/atoms/mg-character-left/mg-character-left.js.map +1 -0
  43. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.e2e.js +15 -0
  44. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.e2e.js.map +1 -0
  45. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.spec.js +42 -0
  46. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.spec.js.map +1 -0
  47. package/dist/collection/components/atoms/mg-divider/mg-divider.js +2 -1
  48. package/dist/collection/components/atoms/mg-divider/mg-divider.js.map +1 -0
  49. package/dist/collection/components/atoms/mg-divider/test/mg-divider.e2e.js +11 -0
  50. package/dist/collection/components/atoms/mg-divider/test/mg-divider.e2e.js.map +1 -0
  51. package/dist/collection/components/atoms/mg-divider/test/mg-divider.spec.js +14 -0
  52. package/dist/collection/components/atoms/mg-divider/test/mg-divider.spec.js.map +1 -0
  53. package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js +1 -0
  54. package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js.map +1 -0
  55. package/dist/collection/components/atoms/mg-icon/mg-icon.js +11 -7
  56. package/dist/collection/components/atoms/mg-icon/mg-icon.js.map +1 -0
  57. package/dist/collection/components/atoms/mg-icon/test/mg-icon.e2e.js +55 -0
  58. package/dist/collection/components/atoms/mg-icon/test/mg-icon.e2e.js.map +1 -0
  59. package/dist/collection/components/atoms/mg-icon/test/mg-icon.spec.js +84 -0
  60. package/dist/collection/components/atoms/mg-icon/test/mg-icon.spec.js.map +1 -0
  61. package/dist/collection/components/atoms/mg-input-title/mg-input-title.js +2 -1
  62. package/dist/collection/components/atoms/mg-input-title/mg-input-title.js.map +1 -0
  63. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.js +18 -0
  64. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.js.map +1 -0
  65. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.spec.js +27 -0
  66. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.spec.js.map +1 -0
  67. package/dist/collection/components/atoms/mg-tag/mg-tag.conf.js +1 -0
  68. package/dist/collection/components/atoms/mg-tag/mg-tag.conf.js.map +1 -0
  69. package/dist/collection/components/atoms/mg-tag/mg-tag.js +6 -4
  70. package/dist/collection/components/atoms/mg-tag/mg-tag.js.map +1 -0
  71. package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.js +37 -0
  72. package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.js.map +1 -0
  73. package/dist/collection/components/atoms/mg-tag/test/mg-tag.spec.js +71 -0
  74. package/dist/collection/components/atoms/mg-tag/test/mg-tag.spec.js.map +1 -0
  75. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js +2 -1
  76. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js.map +1 -0
  77. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js +1 -0
  78. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js.map +1 -0
  79. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +38 -16
  80. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js.map +1 -0
  81. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.e2e.js +138 -0
  82. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.e2e.js.map +1 -0
  83. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.spec.js +272 -0
  84. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.spec.js.map +1 -0
  85. package/dist/collection/components/molecules/inputs/MgInput.conf.js +1 -0
  86. package/dist/collection/components/molecules/inputs/MgInput.conf.js.map +1 -0
  87. package/dist/collection/components/molecules/inputs/MgInput.js +3 -2
  88. package/dist/collection/components/molecules/inputs/MgInput.js.map +1 -0
  89. package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js +2 -1
  90. package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js.map +1 -0
  91. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +12 -7
  92. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js.map +1 -0
  93. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.js +1 -0
  94. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.js.map +1 -0
  95. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +109 -27
  96. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js.map +1 -0
  97. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.js +243 -0
  98. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.js.map +1 -0
  99. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.js +638 -0
  100. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.js.map +1 -0
  101. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js +1 -0
  102. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js.map +1 -0
  103. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +88 -15
  104. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js.map +1 -0
  105. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.e2e.js +123 -0
  106. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.e2e.js.map +1 -0
  107. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.spec.js +379 -0
  108. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.spec.js.map +1 -0
  109. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.js +1 -0
  110. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.js.map +1 -0
  111. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +120 -46
  112. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js.map +1 -0
  113. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.e2e.js +212 -0
  114. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.e2e.js.map +1 -0
  115. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.spec.js +456 -0
  116. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.spec.js.map +1 -0
  117. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +92 -16
  118. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js.map +1 -0
  119. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.e2e.js +115 -0
  120. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.e2e.js.map +1 -0
  121. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.spec.js +289 -0
  122. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.spec.js.map +1 -0
  123. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.conf.js +1 -0
  124. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.conf.js.map +1 -0
  125. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +91 -15
  126. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js.map +1 -0
  127. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.e2e.js +154 -0
  128. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.e2e.js.map +1 -0
  129. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.spec.js +355 -0
  130. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.spec.js.map +1 -0
  131. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.conf.js +1 -0
  132. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.conf.js.map +1 -0
  133. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +95 -17
  134. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js.map +1 -0
  135. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.e2e.js +194 -0
  136. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.e2e.js.map +1 -0
  137. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.spec.js +399 -0
  138. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.spec.js.map +1 -0
  139. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +104 -27
  140. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js.map +1 -0
  141. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.js +171 -0
  142. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.js.map +1 -0
  143. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.spec.js +343 -0
  144. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.spec.js.map +1 -0
  145. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +108 -31
  146. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js.map +1 -0
  147. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.e2e.js +129 -0
  148. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.e2e.js.map +1 -0
  149. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.spec.js +318 -0
  150. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.spec.js.map +1 -0
  151. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.conf.js +1 -0
  152. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.conf.js.map +1 -0
  153. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +6 -4
  154. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js.map +1 -0
  155. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.js +125 -0
  156. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.js.map +1 -0
  157. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.spec.js +203 -0
  158. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.spec.js.map +1 -0
  159. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js +1 -0
  160. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js.map +1 -0
  161. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js +9 -5
  162. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js.map +1 -0
  163. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.e2e.js +268 -0
  164. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.e2e.js.map +1 -0
  165. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.spec.js +175 -0
  166. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.spec.js.map +1 -0
  167. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js +1 -0
  168. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js.map +1 -0
  169. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +10 -7
  170. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js.map +1 -0
  171. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.js +119 -0
  172. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.js.map +1 -0
  173. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.spec.js +295 -0
  174. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.spec.js.map +1 -0
  175. package/dist/collection/components/molecules/mg-action-more/mg-action-more.conf.js +1 -0
  176. package/dist/collection/components/molecules/mg-action-more/mg-action-more.conf.js.map +1 -0
  177. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +19 -13
  178. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +1 -0
  179. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.js +128 -0
  180. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.js.map +1 -0
  181. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.spec.js +187 -0
  182. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.spec.js.map +1 -0
  183. package/dist/collection/components/molecules/mg-details/mg-details.js +2 -1
  184. package/dist/collection/components/molecules/mg-details/mg-details.js.map +1 -0
  185. package/dist/collection/components/molecules/mg-details/test/mg-details.e2e.playwright.js +30 -0
  186. package/dist/collection/components/molecules/mg-details/test/mg-details.e2e.playwright.js.map +1 -0
  187. package/dist/collection/components/molecules/mg-details/test/mg-details.spec.js +42 -0
  188. package/dist/collection/components/molecules/mg-details/test/mg-details.spec.js.map +1 -0
  189. package/dist/collection/components/molecules/mg-form/mg-form.js +8 -6
  190. package/dist/collection/components/molecules/mg-form/mg-form.js.map +1 -0
  191. package/dist/collection/components/molecules/mg-form/test/mg-form.e2e.js +169 -0
  192. package/dist/collection/components/molecules/mg-form/test/mg-form.e2e.js.map +1 -0
  193. package/dist/collection/components/molecules/mg-form/test/mg-form.spec.js +277 -0
  194. package/dist/collection/components/molecules/mg-form/test/mg-form.spec.js.map +1 -0
  195. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +3 -2
  196. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js.map +1 -0
  197. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.e2e.js +39 -0
  198. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.e2e.js.map +1 -0
  199. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.spec.js +36 -0
  200. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.spec.js.map +1 -0
  201. package/dist/collection/components/molecules/mg-item-more/mg-item-more.conf.js +1 -0
  202. package/dist/collection/components/molecules/mg-item-more/mg-item-more.conf.js.map +1 -0
  203. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js +11 -7
  204. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js.map +1 -0
  205. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.js +85 -0
  206. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.js.map +1 -0
  207. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.spec.js +106 -0
  208. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.spec.js.map +1 -0
  209. package/dist/collection/components/molecules/mg-message/mg-message.conf.js +1 -0
  210. package/dist/collection/components/molecules/mg-message/mg-message.conf.js.map +1 -0
  211. package/dist/collection/components/molecules/mg-message/mg-message.js +7 -5
  212. package/dist/collection/components/molecules/mg-message/mg-message.js.map +1 -0
  213. package/dist/collection/components/molecules/mg-message/test/mg-message.e2e.js +64 -0
  214. package/dist/collection/components/molecules/mg-message/test/mg-message.e2e.js.map +1 -0
  215. package/dist/collection/components/molecules/mg-message/test/mg-message.spec.js +109 -0
  216. package/dist/collection/components/molecules/mg-message/test/mg-message.spec.js.map +1 -0
  217. package/dist/collection/components/molecules/mg-modal/mg-modal.conf.js +1 -0
  218. package/dist/collection/components/molecules/mg-modal/mg-modal.conf.js.map +1 -0
  219. package/dist/collection/components/molecules/mg-modal/mg-modal.js +7 -5
  220. package/dist/collection/components/molecules/mg-modal/mg-modal.js.map +1 -0
  221. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.playwright.js +62 -0
  222. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.playwright.js.map +1 -0
  223. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.template.js +40 -0
  224. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.template.js.map +1 -0
  225. package/dist/collection/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.js +26 -0
  226. package/dist/collection/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.js.map +1 -0
  227. package/dist/collection/components/molecules/mg-modal/test/mg-modal.spec.js +122 -0
  228. package/dist/collection/components/molecules/mg-modal/test/mg-modal.spec.js.map +1 -0
  229. package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js +1 -0
  230. package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js.map +1 -0
  231. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +5 -4
  232. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js.map +1 -0
  233. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.js +57 -0
  234. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.js.map +1 -0
  235. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.spec.js +121 -0
  236. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.spec.js.map +1 -0
  237. package/dist/collection/components/molecules/mg-panel/mg-panel.conf.js +1 -0
  238. package/dist/collection/components/molecules/mg-panel/mg-panel.conf.js.map +1 -0
  239. package/dist/collection/components/molecules/mg-panel/mg-panel.js +17 -12
  240. package/dist/collection/components/molecules/mg-panel/mg-panel.js.map +1 -0
  241. package/dist/collection/components/molecules/mg-panel/test/mg-panel.e2e.playwright.js +106 -0
  242. package/dist/collection/components/molecules/mg-panel/test/mg-panel.e2e.playwright.js.map +1 -0
  243. package/dist/collection/components/molecules/mg-panel/test/mg-panel.spec.js +213 -0
  244. package/dist/collection/components/molecules/mg-panel/test/mg-panel.spec.js.map +1 -0
  245. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +4 -3
  246. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js.map +1 -0
  247. package/dist/collection/components/molecules/mg-popover/mg-popover.js +40 -18
  248. package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +1 -0
  249. package/dist/collection/components/molecules/mg-popover/test/mg-popover.e2e.js +159 -0
  250. package/dist/collection/components/molecules/mg-popover/test/mg-popover.e2e.js.map +1 -0
  251. package/dist/collection/components/molecules/mg-popover/test/mg-popover.spec.js +142 -0
  252. package/dist/collection/components/molecules/mg-popover/test/mg-popover.spec.js.map +1 -0
  253. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.conf.js +1 -0
  254. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.conf.js.map +1 -0
  255. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +5 -3
  256. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js.map +1 -0
  257. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.e2e.js +55 -0
  258. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.e2e.js.map +1 -0
  259. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.spec.js +55 -0
  260. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.spec.js.map +1 -0
  261. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js +1 -0
  262. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js.map +1 -0
  263. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +8 -5
  264. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js.map +1 -0
  265. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.js +76 -0
  266. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.js.map +1 -0
  267. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.spec.js +332 -0
  268. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.spec.js.map +1 -0
  269. package/dist/collection/index.js +1 -0
  270. package/dist/collection/index.js.map +1 -0
  271. package/dist/collection/locales/index.js +4 -3
  272. package/dist/collection/locales/index.js.map +1 -0
  273. package/dist/collection/locales/index.spec.js +27 -0
  274. package/dist/collection/locales/index.spec.js.map +1 -0
  275. package/dist/collection/stories/icon-gallery.js +4 -3
  276. package/dist/collection/stories/icon-gallery.js.map +1 -0
  277. package/dist/collection/test/typography.e2e.playwright.js +12 -0
  278. package/dist/collection/test/typography.e2e.playwright.js.map +1 -0
  279. package/dist/collection/utils/behaviors.utils.js +1 -0
  280. package/dist/collection/utils/behaviors.utils.js.map +1 -0
  281. package/dist/collection/utils/behaviors.utils.spec.js +57 -0
  282. package/dist/collection/utils/behaviors.utils.spec.js.map +1 -0
  283. package/dist/collection/utils/components.utils.js +7 -0
  284. package/dist/collection/utils/components.utils.js.map +1 -0
  285. package/dist/collection/utils/components.utils.spec.js +128 -0
  286. package/dist/collection/utils/components.utils.spec.js.map +1 -0
  287. package/dist/collection/utils/e2e.test.utils.js +46 -0
  288. package/dist/collection/utils/e2e.test.utils.js.map +1 -0
  289. package/dist/collection/utils/locale.utils.js +1 -0
  290. package/dist/collection/utils/locale.utils.js.map +1 -0
  291. package/dist/collection/utils/locale.utils.spec.js +52 -0
  292. package/dist/collection/utils/locale.utils.spec.js.map +1 -0
  293. package/dist/collection/utils/playwright.e2e.test.utils.js +100 -0
  294. package/dist/collection/utils/playwright.e2e.test.utils.js.map +1 -0
  295. package/dist/collection/utils/stencil.e2e.test.utils.js +33 -0
  296. package/dist/collection/utils/stencil.e2e.test.utils.js.map +1 -0
  297. package/dist/collection/utils/unit.test.utils.js +2 -1
  298. package/dist/collection/utils/unit.test.utils.js.map +1 -0
  299. package/dist/components/MgInput.js +2 -0
  300. package/dist/components/MgInput.js.map +1 -0
  301. package/dist/components/components.utils.js +9 -1
  302. package/dist/components/components.utils.js.map +1 -0
  303. package/dist/components/index.d.ts +5 -37
  304. package/dist/components/index.js +3 -36
  305. package/dist/components/index.js.map +1 -0
  306. package/dist/components/index2.js +2 -0
  307. package/dist/components/index2.js.map +1 -0
  308. package/dist/components/mg-action-more.js +14 -4
  309. package/dist/components/mg-action-more.js.map +1 -0
  310. package/dist/components/mg-badge.js +2 -0
  311. package/dist/components/mg-badge.js.map +1 -0
  312. package/dist/components/mg-badge2.js +8 -1
  313. package/dist/components/mg-badge2.js.map +1 -0
  314. package/dist/components/mg-button.js +2 -0
  315. package/dist/components/mg-button.js.map +1 -0
  316. package/dist/components/mg-button2.js +8 -1
  317. package/dist/components/mg-button2.js.map +1 -0
  318. package/dist/components/mg-card.js +2 -0
  319. package/dist/components/mg-card.js.map +1 -0
  320. package/dist/components/mg-card2.js +6 -1
  321. package/dist/components/mg-card2.js.map +1 -0
  322. package/dist/components/mg-character-left.js +2 -0
  323. package/dist/components/mg-character-left.js.map +1 -0
  324. package/dist/components/mg-character-left2.js +5 -1
  325. package/dist/components/mg-character-left2.js.map +1 -0
  326. package/dist/components/mg-details.js +7 -1
  327. package/dist/components/mg-details.js.map +1 -0
  328. package/dist/components/mg-divider.js +3 -1
  329. package/dist/components/mg-divider.js.map +1 -0
  330. package/dist/components/mg-form.js +7 -2
  331. package/dist/components/mg-form.js.map +1 -0
  332. package/dist/components/mg-icon.js +2 -0
  333. package/dist/components/mg-icon.js.map +1 -0
  334. package/dist/components/mg-icon2.js +21 -3
  335. package/dist/components/mg-icon2.js.map +1 -0
  336. package/dist/components/mg-illustrated-message.js +3 -1
  337. package/dist/components/mg-illustrated-message.js.map +1 -0
  338. package/dist/components/mg-input-checkbox-paginated.js +2 -0
  339. package/dist/components/mg-input-checkbox-paginated.js.map +1 -0
  340. package/dist/components/mg-input-checkbox-paginated2.js +6 -1
  341. package/dist/components/mg-input-checkbox-paginated2.js.map +1 -0
  342. package/dist/components/mg-input-checkbox.js +64 -14
  343. package/dist/components/mg-input-checkbox.js.map +1 -0
  344. package/dist/components/mg-input-date.js +51 -9
  345. package/dist/components/mg-input-date.js.map +1 -0
  346. package/dist/components/mg-input-numeric.js +82 -39
  347. package/dist/components/mg-input-numeric.js.map +1 -0
  348. package/dist/components/mg-input-password.js +53 -11
  349. package/dist/components/mg-input-password.js.map +1 -0
  350. package/dist/components/mg-input-radio.js +53 -10
  351. package/dist/components/mg-input-radio.js.map +1 -0
  352. package/dist/components/mg-input-select.js +2 -0
  353. package/dist/components/mg-input-select.js.map +1 -0
  354. package/dist/components/mg-input-select2.js +53 -10
  355. package/dist/components/mg-input-select2.js.map +1 -0
  356. package/dist/components/mg-input-text.js +2 -0
  357. package/dist/components/mg-input-text.js.map +1 -0
  358. package/dist/components/mg-input-text2.js +64 -23
  359. package/dist/components/mg-input-text2.js.map +1 -0
  360. package/dist/components/mg-input-textarea.js +69 -27
  361. package/dist/components/mg-input-textarea.js.map +1 -0
  362. package/dist/components/mg-input-title.js +2 -0
  363. package/dist/components/mg-input-title.js.map +1 -0
  364. package/dist/components/mg-input-title2.js +6 -1
  365. package/dist/components/mg-input-title2.js.map +1 -0
  366. package/dist/components/mg-input-toggle.js +11 -1
  367. package/dist/components/mg-input-toggle.js.map +1 -0
  368. package/dist/components/mg-item-more.js +7 -1
  369. package/dist/components/mg-item-more.js.map +1 -0
  370. package/dist/components/mg-menu-item.js +2 -0
  371. package/dist/components/mg-menu-item.js.map +1 -0
  372. package/dist/components/mg-menu-item2.js +9 -1
  373. package/dist/components/mg-menu-item2.js.map +1 -0
  374. package/dist/components/mg-menu.conf.js +2 -0
  375. package/dist/components/mg-menu.conf.js.map +1 -0
  376. package/dist/components/mg-menu.js +2 -0
  377. package/dist/components/mg-menu.js.map +1 -0
  378. package/dist/components/mg-menu2.js +8 -1
  379. package/dist/components/mg-menu2.js.map +1 -0
  380. package/dist/components/mg-message.js +8 -1
  381. package/dist/components/mg-message.js.map +1 -0
  382. package/dist/components/mg-modal.js +8 -2
  383. package/dist/components/mg-modal.js.map +1 -0
  384. package/dist/components/mg-pagination.js +2 -0
  385. package/dist/components/mg-pagination.js.map +1 -0
  386. package/dist/components/mg-pagination2.js +6 -1
  387. package/dist/components/mg-pagination2.js.map +1 -0
  388. package/dist/components/mg-panel.js +16 -7
  389. package/dist/components/mg-panel.js.map +1 -0
  390. package/dist/components/mg-popover-content.js +2 -0
  391. package/dist/components/mg-popover-content.js.map +1 -0
  392. package/dist/components/mg-popover-content2.js +3 -1
  393. package/dist/components/mg-popover-content2.js.map +1 -0
  394. package/dist/components/mg-popover.js +2 -0
  395. package/dist/components/mg-popover.js.map +1 -0
  396. package/dist/components/mg-popover2.js +40 -15
  397. package/dist/components/mg-popover2.js.map +1 -0
  398. package/dist/components/mg-skip-links.js +5 -1
  399. package/dist/components/mg-skip-links.js.map +1 -0
  400. package/dist/components/mg-tabs.js +8 -1
  401. package/dist/components/mg-tabs.js.map +1 -0
  402. package/dist/components/mg-tag.js +7 -1
  403. package/dist/components/mg-tag.js.map +1 -0
  404. package/dist/components/mg-tooltip-content.js +2 -0
  405. package/dist/components/mg-tooltip-content.js.map +1 -0
  406. package/dist/components/mg-tooltip-content2.js +3 -1
  407. package/dist/components/mg-tooltip-content2.js.map +1 -0
  408. package/dist/components/mg-tooltip.js +2 -0
  409. package/dist/components/mg-tooltip.js.map +1 -0
  410. package/dist/components/mg-tooltip2.js +37 -12
  411. package/dist/components/mg-tooltip2.js.map +1 -0
  412. package/dist/components/popper.js +2 -0
  413. package/dist/components/popper.js.map +1 -0
  414. package/dist/esm/{index-1d40b052.js → index-ce01e63b.js} +321 -68
  415. package/dist/esm/index-ce01e63b.js.map +1 -0
  416. package/dist/esm/index.js +2 -0
  417. package/dist/esm/index.js.map +1 -0
  418. package/dist/esm/loader.js +6 -13
  419. package/dist/esm/loader.js.map +1 -0
  420. package/dist/esm/mg-action-more_34.entry.js +485 -163
  421. package/dist/esm/mg-action-more_34.entry.js.map +1 -0
  422. package/dist/esm/mg-components.js +6 -4
  423. package/dist/esm/mg-components.js.map +1 -0
  424. package/dist/esm/mg-item-more.entry.js +4 -2
  425. package/dist/esm/mg-item-more.entry.js.map +1 -0
  426. package/dist/esm/{mg-menu.conf-2cc079ae.js → mg-menu.conf-012fc9b4.js} +2 -0
  427. package/dist/esm/mg-menu.conf-012fc9b4.js.map +1 -0
  428. package/dist/mg-components/index.esm.js +2 -0
  429. package/dist/mg-components/index.esm.js.map +1 -0
  430. package/dist/mg-components/mg-components.esm.js +2 -1
  431. package/dist/mg-components/mg-components.esm.js.map +1 -0
  432. package/dist/mg-components/p-1aa89acf.js +3 -0
  433. package/dist/mg-components/p-1aa89acf.js.map +1 -0
  434. package/dist/mg-components/p-1d7d6fa0.js +2 -0
  435. package/dist/mg-components/p-1d7d6fa0.js.map +1 -0
  436. package/dist/mg-components/p-9257e8f1.entry.js +2 -0
  437. package/dist/mg-components/p-9257e8f1.entry.js.map +1 -0
  438. package/dist/mg-components/p-ff3ca349.entry.js +2 -0
  439. package/dist/mg-components/p-ff3ca349.entry.js.map +1 -0
  440. package/dist/types/components/atoms/mg-badge/test/mg-badge.e2e.playwright.d.ts +1 -0
  441. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +2 -1
  442. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +22 -1
  443. package/dist/types/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.d.ts +1 -0
  444. package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.d.ts +17 -2
  445. package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +35 -20
  446. package/dist/types/components/molecules/inputs/mg-input-password/mg-input-password.d.ts +16 -1
  447. package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.d.ts +16 -1
  448. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +16 -1
  449. package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +17 -5
  450. package/dist/types/components/molecules/inputs/mg-input-textarea/mg-input-textarea.d.ts +17 -5
  451. package/dist/types/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.d.ts +2 -0
  452. package/dist/types/components/molecules/mg-details/test/mg-details.e2e.playwright.d.ts +1 -0
  453. package/dist/types/components/molecules/mg-form/mg-form.d.ts +1 -1
  454. package/dist/types/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.d.ts +1 -0
  455. package/dist/types/components/molecules/mg-modal/test/mg-modal.e2e.playwright.d.ts +1 -0
  456. package/dist/types/components/molecules/mg-modal/test/mg-modal.e2e.template.d.ts +12 -0
  457. package/dist/types/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.d.ts +1 -0
  458. package/dist/types/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.d.ts +1 -0
  459. package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +1 -1
  460. package/dist/types/components/molecules/mg-panel/test/mg-panel.e2e.playwright.d.ts +1 -0
  461. package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +1 -0
  462. package/dist/types/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.d.ts +1 -0
  463. package/dist/types/components.d.ts +79 -11
  464. package/dist/types/stencil-public-runtime.d.ts +43 -17
  465. package/dist/types/test/typography.e2e.playwright.d.ts +1 -0
  466. package/dist/types/utils/components.utils.d.ts +6 -0
  467. package/dist/types/utils/e2e.test.utils.d.ts +22 -0
  468. package/dist/types/utils/stencil.e2e.test.utils.d.ts +14 -0
  469. package/loader/index.d.ts +2 -2
  470. package/package.json +5 -5
  471. package/dist/esm/polyfills/css-shim.js +0 -1
  472. package/dist/mg-components/p-067080e4.js +0 -1
  473. package/dist/mg-components/p-3286bc46.entry.js +0 -1
  474. package/dist/mg-components/p-3bf1e2f0.js +0 -2
  475. package/dist/mg-components/p-91f4a30d.entry.js +0 -1
@@ -0,0 +1,638 @@
1
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
2
+ if (!Symbol.asyncIterator)
3
+ throw new TypeError("Symbol.asyncIterator is not defined.");
4
+ var m = o[Symbol.asyncIterator], i;
5
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
6
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
7
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
8
+ };
9
+ import { h } from "@stencil/core";
10
+ import { newSpecPage } from "@stencil/core/testing";
11
+ import { cloneDeep, mockConsoleError, mockWindowFrames, setupResizeObserverMock } from "../../../../../utils/unit.test.utils";
12
+ import { MgInputCheckbox } from "../mg-input-checkbox";
13
+ import messages from "../../../../../locales/en/messages.json";
14
+ import { checkboxTypes } from "../mg-input-checkbox.conf";
15
+ import { MgPopover } from "../../../mg-popover/mg-popover";
16
+ import { MgInputText } from "../../mg-input-text/mg-input-text";
17
+ import { MgMessage } from "../../../mg-message/mg-message";
18
+ import { MgPagination } from "../../../mg-pagination/mg-pagination";
19
+ import { MgButton } from "../../../../atoms/mg-button/mg-button";
20
+ import { MgInputCheckboxPaginated } from "../mg-input-checkbox-paginated/mg-input-checkbox-paginated";
21
+ import { MgPopoverContent } from "../../../mg-popover/mg-popover-content/mg-popover-content";
22
+ mockWindowFrames();
23
+ mockConsoleError();
24
+ const getPage = args => {
25
+ const page = newSpecPage({
26
+ components: [MgInputCheckbox, MgPopover, MgPopoverContent, MgInputText, MgMessage, MgPagination, MgButton, MgInputCheckboxPaginated],
27
+ template: () => h("mg-input-checkbox", Object.assign({}, args)),
28
+ });
29
+ jest.runAllTimers();
30
+ return page;
31
+ };
32
+ describe('mg-input-checkbox', () => {
33
+ beforeEach(() => {
34
+ jest.useFakeTimers();
35
+ setupResizeObserverMock({
36
+ observe: () => null,
37
+ disconnect: () => null,
38
+ });
39
+ });
40
+ afterEach(() => jest.runOnlyPendingTimers());
41
+ const items = [
42
+ { title: 'batman', value: true },
43
+ { title: 'robin', value: false, disabled: true },
44
+ { title: 'joker', value: false },
45
+ { title: 'bane', value: null },
46
+ ];
47
+ describe.each([...checkboxTypes, undefined])('render by type %s', type => {
48
+ let testValues = [
49
+ { label: 'label', identifier: 'identifier', value: cloneDeep(items), type },
50
+ { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, readonly: true },
51
+ { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, labelOnTop: true },
52
+ { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, labelHide: true },
53
+ { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, inputVerticalList: true },
54
+ { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, required: true },
55
+ { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, required: true, readonly: true, helpText: 'Hello joker' },
56
+ { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, required: true, disabled: true, helpText: 'Hello joker' },
57
+ { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, readonly: true, labelOnTop: true, tooltip: 'Tooltip message' },
58
+ { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, disabled: true },
59
+ { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, helpText: 'Hello joker' },
60
+ { label: 'label', identifier: 'identifier', value: cloneDeep(items), type, tooltip: 'Batman is a DC Comics license' },
61
+ ];
62
+ if (type === 'multi') {
63
+ testValues = [
64
+ ...testValues,
65
+ ...[true, false].flatMap(displaySelectedValues => [
66
+ { label: 'label', identifier: 'identifier', value: cloneDeep(items), type: 'multi', readonly: true },
67
+ { label: 'label', identifier: 'identifier', value: cloneDeep(items), type: 'multi', disabled: true },
68
+ { label: 'label', identifier: 'identifier', value: cloneDeep(items), type: 'multi', helpText: 'Hello joker' },
69
+ { label: 'label', identifier: 'identifier', value: cloneDeep(items), type: 'multi', tooltip: 'Batman is a DC Comics license' },
70
+ ].map(args => (Object.assign(Object.assign({}, args), { displaySelectedValues })))),
71
+ ];
72
+ }
73
+ test.each(testValues)('Should render with args %s:', async (args) => {
74
+ const { root } = await getPage(args);
75
+ expect(root).toMatchSnapshot();
76
+ });
77
+ test.each(['', ' ', undefined])('Should not render with invalid identifier property: %s', async (identifier) => {
78
+ expect.assertions(1);
79
+ try {
80
+ await getPage({ identifier, type, value: cloneDeep(items) });
81
+ }
82
+ catch (err) {
83
+ expect(err.message).toMatch('<mg-input> prop "identifier" is required.');
84
+ }
85
+ });
86
+ test.each(['', ' ', undefined])('Should not render with invalid label property: %s', async (label) => {
87
+ expect.assertions(1);
88
+ try {
89
+ await getPage({ identifier: 'identifier', type, label, value: cloneDeep(items) });
90
+ }
91
+ catch (err) {
92
+ expect(err.message).toMatch('<mg-input> prop "label" is required.');
93
+ }
94
+ });
95
+ test('Should not render when using labelOnTop and labelHide: %s', async () => {
96
+ expect.assertions(1);
97
+ try {
98
+ await getPage({ identifier: 'identifier', type, label: 'label', value: cloneDeep(items), labelOnTop: true, labelHide: true });
99
+ }
100
+ catch (err) {
101
+ expect(err.message).toMatch('<mg-input> prop "labelOnTop" must not be paired with the prop "labelHide".');
102
+ }
103
+ });
104
+ test('Should not render with invalid value property: %s', async () => {
105
+ expect.assertions(1);
106
+ try {
107
+ await getPage({ identifier: 'identifier', type, label: 'label', value: ['batman', 'joker', 'bane'] });
108
+ }
109
+ catch (err) {
110
+ expect(err.message).toMatch('<mg-input-checkbox> prop "value" is required and all values must be the same type, CheckboxItem.');
111
+ }
112
+ });
113
+ test.each([true, false])('Should trigger events, case validity check %s', async (validity) => {
114
+ const value = items.map(item => (Object.assign(Object.assign({}, item), { value: false })));
115
+ if (!validity)
116
+ value[0].value = true;
117
+ const page = await getPage({ label: 'label', type, identifier: 'identifier', helpText: 'My help text', value, required: true });
118
+ const element = page.doc.querySelector('mg-input-checkbox');
119
+ const allInputs = element.shadowRoot.querySelectorAll('input');
120
+ const index = validity ? 2 : 0;
121
+ const input = allInputs[index];
122
+ //mock validity
123
+ allInputs.forEach(input => {
124
+ input.checkValidity = jest.fn(() => validity);
125
+ Object.defineProperty(input, 'validity', {
126
+ get: jest.fn(() => ({
127
+ valueMissing: !validity,
128
+ })),
129
+ });
130
+ });
131
+ jest.spyOn(page.rootInstance.valueChange, 'emit');
132
+ input.dispatchEvent(new CustomEvent('focus', { bubbles: true }));
133
+ await page.waitForChanges();
134
+ expect(page.root).toMatchSnapshot(); //Snapshot on focus
135
+ input.checked = validity;
136
+ input.dispatchEvent(new CustomEvent('input', { bubbles: true }));
137
+ const emittedValue = value;
138
+ emittedValue[index].value = input.checked;
139
+ await page.waitForChanges();
140
+ expect(page.rootInstance.valueChange.emit).toHaveBeenCalledWith(emittedValue);
141
+ input.dispatchEvent(new CustomEvent('blur', { bubbles: true }));
142
+ await page.waitForChanges();
143
+ expect(page.root).toMatchSnapshot(); //Snapshot on blur
144
+ });
145
+ describe.each(['readonly', 'disabled'])('validity, case next state is %s', nextState => {
146
+ test.each([
147
+ { validity: true, valueMissing: false },
148
+ { validity: false, valueMissing: true },
149
+ { validity: false, valueMissing: false },
150
+ ])('validity (%s), valueMissing (%s)', async ({ validity, valueMissing }) => {
151
+ const value = items.map((item, index) => (Object.assign(Object.assign({}, item), { value: !valueMissing && index === 1 })));
152
+ const args = { label: 'label', identifier: 'identifier', type, value, helpText: 'My help text', required: true };
153
+ const page = await getPage(args);
154
+ const element = page.doc.querySelector('mg-input-checkbox');
155
+ const allInputs = element.shadowRoot.querySelectorAll('input');
156
+ const input = allInputs[0];
157
+ //mock validity
158
+ allInputs.forEach(input => {
159
+ input.checkValidity = jest.fn(() => validity);
160
+ Object.defineProperty(input, 'validity', {
161
+ get: jest.fn(() => ({
162
+ valueMissing,
163
+ })),
164
+ });
165
+ });
166
+ input.dispatchEvent(new CustomEvent('blur', { bubbles: true }));
167
+ await page.waitForChanges();
168
+ if (validity) {
169
+ expect(page.rootInstance.errorMessage).toBeUndefined();
170
+ }
171
+ else if (valueMissing) {
172
+ expect(page.rootInstance.errorMessage).toEqual(messages.errors.required);
173
+ }
174
+ expect(page.rootInstance.valid).toEqual(validity);
175
+ expect(page.rootInstance.invalid).toEqual(!validity);
176
+ if (valueMissing) {
177
+ expect(page.root).toMatchSnapshot(); //Snapshot with readonly/disabled FALSE
178
+ element[nextState] = true;
179
+ await page.waitForChanges();
180
+ expect(page.root).toMatchSnapshot(); //Snapshot with readonly/disabled TRUE
181
+ }
182
+ });
183
+ });
184
+ test.each([
185
+ {
186
+ valid: true,
187
+ errorMessage: 'Override error',
188
+ },
189
+ {
190
+ valid: false,
191
+ errorMessage: 'Override error',
192
+ },
193
+ ])("should display override error with setError component's public method", async (params) => {
194
+ const page = await getPage({ label: 'label', identifier: 'identifier', type, value: cloneDeep(items), helpText: 'My help text', required: true });
195
+ expect(page.root).toMatchSnapshot();
196
+ const element = page.doc.querySelector('mg-input-checkbox');
197
+ const inputs = Array.from(element.shadowRoot.querySelectorAll('input'));
198
+ //mock validity
199
+ inputs.forEach(input => {
200
+ Object.defineProperty(input, 'validity', {
201
+ get: () => ({}),
202
+ });
203
+ });
204
+ await element.setError(params.valid, params.errorMessage);
205
+ await page.waitForChanges();
206
+ expect(page.root).toMatchSnapshot();
207
+ });
208
+ test.each([
209
+ {
210
+ valid: '',
211
+ errorMessage: 'Override error',
212
+ error: '<mg-input-checkbox> method "setError()" param "valid" must be a boolean',
213
+ },
214
+ {
215
+ valid: undefined,
216
+ errorMessage: 'Override error',
217
+ error: '<mg-input-checkbox> method "setError()" param "valid" must be a boolean',
218
+ },
219
+ {
220
+ valid: true,
221
+ errorMessage: ' ',
222
+ error: '<mg-input-checkbox> method "setError()" param "errorMessage" must be a string',
223
+ },
224
+ {
225
+ valid: true,
226
+ errorMessage: true,
227
+ error: '<mg-input-checkbox> method "setError()" param "errorMessage" must be a string',
228
+ },
229
+ ])("shloud throw error with setError component's public method invalid params", async (params) => {
230
+ expect.assertions(1);
231
+ try {
232
+ const page = await getPage({ label: 'label', identifier: 'identifier', type, value: cloneDeep(items), helpText: 'My help text', required: true });
233
+ const element = page.doc.querySelector('mg-input-checkbox');
234
+ await element.setError(params.valid, params.errorMessage);
235
+ await page.waitForChanges();
236
+ }
237
+ catch (err) {
238
+ expect(err.message).toMatch(params.error);
239
+ }
240
+ });
241
+ test("display error with displayError component's public method", async () => {
242
+ const value = cloneDeep(items);
243
+ value[0].value = false;
244
+ const page = await getPage({ label: 'label', identifier: 'identifier', type, value, helpText: 'My help text', required: true });
245
+ expect(page.root).toMatchSnapshot();
246
+ const element = page.doc.querySelector('mg-input-checkbox');
247
+ const allInputs = element.shadowRoot.querySelectorAll('input');
248
+ //mock validity
249
+ allInputs.forEach(input => {
250
+ input.checkValidity = jest.fn(() => false);
251
+ Object.defineProperty(input, 'validity', {
252
+ get: jest.fn(() => ({
253
+ valueMissing: true,
254
+ })),
255
+ });
256
+ });
257
+ await element.displayError();
258
+ await page.waitForChanges();
259
+ expect(page.root).toMatchSnapshot();
260
+ });
261
+ test.each(['fr', 'xx'])('Should render component error with locale: %s', async (lang) => {
262
+ const value = cloneDeep(items);
263
+ value[0].value = false;
264
+ const page = await getPage({ label: 'label', identifier: 'identifier', type, value, helpText: 'My help text', required: true, lang });
265
+ const element = page.doc.querySelector('mg-input-checkbox');
266
+ const allInputs = element.shadowRoot.querySelectorAll('input');
267
+ //mock validity
268
+ allInputs.forEach(input => {
269
+ input.checkValidity = jest.fn(() => false);
270
+ Object.defineProperty(input, 'validity', {
271
+ get: jest.fn(() => ({
272
+ valueMissing: true,
273
+ })),
274
+ });
275
+ });
276
+ await element.displayError();
277
+ await page.waitForChanges();
278
+ expect(page.root).toMatchSnapshot();
279
+ });
280
+ test.each([[[true, false].flatMap(value => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(item => ({ title: item.toString(), value })))]])('Should render component with locale "fr"', async (value) => {
281
+ const page = await getPage({ label: 'label', identifier: 'identifier', value, lang: 'fr' });
282
+ expect(page.root).toMatchSnapshot();
283
+ });
284
+ test('Should remove error on input when required change dynamically', async () => {
285
+ const page = await getPage({
286
+ label: 'label',
287
+ identifier: 'identifier',
288
+ value: [
289
+ { title: 'batman', value: false },
290
+ { title: 'robin', value: false },
291
+ ],
292
+ required: true,
293
+ type,
294
+ });
295
+ const element = page.doc.querySelector('mg-input-checkbox');
296
+ const allInputs = element.shadowRoot.querySelectorAll('input');
297
+ //mock validity
298
+ allInputs[0].checkValidity = jest
299
+ .fn()
300
+ .mockReturnValueOnce(false) //1
301
+ .mockReturnValueOnce(false) //1
302
+ .mockReturnValueOnce(true) //2
303
+ .mockReturnValueOnce(true) //2
304
+ .mockReturnValueOnce(false) //3
305
+ .mockReturnValueOnce(false); //3
306
+ allInputs[1].checkValidity = jest.fn().mockReturnValueOnce(true).mockReturnValueOnce(true); //2
307
+ Object.defineProperty(allInputs[0], 'validity', {
308
+ get: jest
309
+ .fn()
310
+ .mockReturnValueOnce({
311
+ valueMissing: true, //1
312
+ })
313
+ .mockReturnValueOnce({
314
+ valueMissing: false, //2
315
+ })
316
+ .mockReturnValueOnce({
317
+ valueMissing: true, //3
318
+ }),
319
+ });
320
+ await element.displayError();
321
+ await page.waitForChanges();
322
+ expect(page.rootInstance.hasDisplayedError).toEqual(true);
323
+ expect(page.rootInstance.errorMessage).toEqual(messages.errors.required);
324
+ element.required = false;
325
+ await page.waitForChanges();
326
+ // Error message should disapear and change the hasDisplayedError status
327
+ expect(page.rootInstance.hasDisplayedError).toEqual(false);
328
+ expect(page.rootInstance.errorMessage).toBeUndefined();
329
+ element.required = true;
330
+ await page.waitForChanges();
331
+ // If back on required the message is still not displayed
332
+ expect(page.rootInstance.hasDisplayedError).toEqual(false);
333
+ expect(page.rootInstance.errorMessage).toBeUndefined();
334
+ });
335
+ test('should enable "displaySearchInput" when value list is greater than 10', async () => {
336
+ const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(item => ({
337
+ title: `item ${item}`,
338
+ value: false,
339
+ }));
340
+ const { root } = await getPage({ label: 'label', identifier: 'identifier', value, type });
341
+ expect(root).toMatchSnapshot();
342
+ });
343
+ });
344
+ describe('navigation', () => {
345
+ test('should NOT manage keyboard "tab" navigation on "checkbox" type', async () => {
346
+ const page = await getPage({ label: 'label', identifier: 'identifier', value: cloneDeep(items), type: 'checkbox', tooltip: 'Tooltip message' });
347
+ const element = page.doc.querySelector('mg-input-checkbox');
348
+ const allInputs = Array.from(element.shadowRoot.querySelectorAll('input'));
349
+ allInputs.forEach(input => input.dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab' })));
350
+ jest.runOnlyPendingTimers();
351
+ await page.waitForChanges();
352
+ expect(page.root).toMatchSnapshot();
353
+ allInputs[0].dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab' }));
354
+ jest.runOnlyPendingTimers();
355
+ await page.waitForChanges();
356
+ expect(page.root).toMatchSnapshot();
357
+ });
358
+ test.each(['next', 'prev'])('should manage keyboard "tab" navigation on "multi" type', async (direction) => {
359
+ var _a, e_1, _b, _c;
360
+ const page = await getPage({
361
+ label: 'label',
362
+ identifier: 'identifier',
363
+ value: [1, 2, 3, 4, 5, 6, 7, 8, 9].map(item => ({
364
+ title: `item ${item}`,
365
+ value: false,
366
+ })),
367
+ type: 'multi',
368
+ tooltip: 'Tooltip message',
369
+ });
370
+ const element = page.doc.querySelector('mg-input-checkbox');
371
+ const allInputs = Array.from(element.shadowRoot.querySelectorAll('input'));
372
+ const button = element.shadowRoot.querySelector('mg-button');
373
+ const popover = element.shadowRoot.querySelector('mg-popover');
374
+ button.dispatchEvent(new CustomEvent('click', { bubbles: true }));
375
+ jest.runOnlyPendingTimers();
376
+ await page.waitForChanges();
377
+ expect(popover.display).toEqual(true);
378
+ if (direction === 'next')
379
+ try {
380
+ for (var _d = true, allInputs_1 = __asyncValues(allInputs), allInputs_1_1; allInputs_1_1 = await allInputs_1.next(), _a = allInputs_1_1.done, !_a; _d = true) {
381
+ _c = allInputs_1_1.value;
382
+ _d = false;
383
+ const input = _c;
384
+ input.dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab' }));
385
+ }
386
+ }
387
+ catch (e_1_1) {
388
+ e_1 = { error: e_1_1 };
389
+ }
390
+ finally {
391
+ try {
392
+ if (!_d && !_a && (_b = allInputs_1.return))
393
+ await _b.call(allInputs_1);
394
+ }
395
+ finally {
396
+ if (e_1)
397
+ throw e_1.error;
398
+ }
399
+ }
400
+ else if (direction === 'prev')
401
+ allInputs[0].dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab', shiftKey: true }));
402
+ jest.runOnlyPendingTimers();
403
+ await page.waitForChanges();
404
+ expect(popover.display).toEqual(false);
405
+ });
406
+ test('should manage keyboard "shift+tab" navigation on "multi" type', async () => {
407
+ const page = await getPage({
408
+ label: 'label',
409
+ identifier: 'identifier',
410
+ value: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(item => ({
411
+ title: `item ${item}`,
412
+ value: false,
413
+ })),
414
+ type: 'multi',
415
+ tooltip: 'Tooltip message',
416
+ });
417
+ const element = page.doc.querySelector('mg-input-checkbox');
418
+ const searchInput = element.shadowRoot.querySelector('mg-input-text').shadowRoot.querySelector('input');
419
+ const button = element.shadowRoot.querySelector('mg-button');
420
+ const popover = element.shadowRoot.querySelector('mg-popover');
421
+ button.dispatchEvent(new CustomEvent('click', { bubbles: true }));
422
+ jest.runOnlyPendingTimers();
423
+ await page.waitForChanges();
424
+ expect(popover.display).toEqual(true);
425
+ searchInput.dispatchEvent(new KeyboardEvent('keydown', { key: 'Tab', shiftKey: true }));
426
+ jest.runOnlyPendingTimers();
427
+ await page.waitForChanges();
428
+ expect(popover.display).toEqual(false);
429
+ });
430
+ });
431
+ test.each([' ', 'batman'])('Should not render with invalid type property: %s', async (type) => {
432
+ expect.assertions(1);
433
+ try {
434
+ await getPage({ identifier: 'identifier', type, label: 'label', value: cloneDeep(items) });
435
+ }
436
+ catch (err) {
437
+ expect(err.message).toMatch('<mg-input-checkbox> prop "type" must be a CheckboxType.');
438
+ }
439
+ });
440
+ test.each([undefined, 'checkbox'])('Should not render with invalid displaySelectedValues and type configuration', async (type) => {
441
+ expect.assertions(1);
442
+ try {
443
+ await getPage({ label: 'label', identifier: 'identifier', type, value: cloneDeep(items), displaySelectedValues: true });
444
+ }
445
+ catch (err) {
446
+ expect(err.message).toMatch('<mg-input-checkbox> prop "displaySelectedValues" can only be used with prop type "multi".');
447
+ }
448
+ });
449
+ describe('multi search', () => {
450
+ test('should enable return search result and update pagination', async () => {
451
+ const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map(item => ({
452
+ title: `item ${item}`,
453
+ value: false,
454
+ }));
455
+ const getResultList = (mgInputCheckbox) => Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('li'));
456
+ const page = await getPage({ label: 'label', identifier: 'identifier', value });
457
+ expect(page.root).toMatchSnapshot();
458
+ const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');
459
+ const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');
460
+ const searchInput = mgInputCheckbox.shadowRoot.querySelector('mg-input-text');
461
+ mgPopover.display = true;
462
+ await page.waitForChanges();
463
+ jest.runOnlyPendingTimers();
464
+ let resultList = getResultList(mgInputCheckbox);
465
+ expect(resultList.length).toEqual(10);
466
+ searchInput.dispatchEvent(new CustomEvent('value-change', { detail: '2' }));
467
+ await page.waitForChanges();
468
+ resultList = getResultList(mgInputCheckbox);
469
+ expect(resultList.length).toEqual(4);
470
+ expect(page.root).toMatchSnapshot();
471
+ searchInput.dispatchEvent(new CustomEvent('value-change', { detail: '11' }));
472
+ await page.waitForChanges();
473
+ resultList = getResultList(mgInputCheckbox);
474
+ expect(resultList.length).toEqual(1);
475
+ expect(page.root).toMatchSnapshot();
476
+ searchInput.dispatchEvent(new CustomEvent('value-change', { detail: '111' }));
477
+ await page.waitForChanges();
478
+ resultList = getResultList(mgInputCheckbox);
479
+ expect(resultList.length).toEqual(0);
480
+ expect(page.root).toMatchSnapshot();
481
+ mgPopover.display = false;
482
+ await page.waitForChanges();
483
+ jest.runOnlyPendingTimers();
484
+ expect(searchInput.value).toEqual('');
485
+ expect(page.root).toMatchSnapshot();
486
+ });
487
+ test('should search and update values', async () => {
488
+ const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map(item => ({
489
+ title: `item ${item}`,
490
+ value: false,
491
+ }));
492
+ const page = await getPage({ label: 'label', identifier: 'identifier', value });
493
+ expect(page.root).toMatchSnapshot();
494
+ const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');
495
+ const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');
496
+ const searchInput = mgInputCheckbox.shadowRoot.querySelector('mg-input-text');
497
+ mgPopover.display = true;
498
+ await page.waitForChanges();
499
+ jest.runOnlyPendingTimers();
500
+ searchInput.dispatchEvent(new CustomEvent('value-change', { detail: '2' }));
501
+ await page.waitForChanges();
502
+ const input = mgInputCheckbox.shadowRoot.querySelector('input');
503
+ input.checkValidity = () => true;
504
+ input.checked = true;
505
+ input.dispatchEvent(new CustomEvent('input', { bubbles: true }));
506
+ await page.waitForChanges();
507
+ expect(mgInputCheckbox.value.find(item => item.value)).toHaveProperty('title', 'item 2');
508
+ expect(page.root).toMatchSnapshot();
509
+ mgPopover.display = false;
510
+ await page.waitForChanges();
511
+ jest.runOnlyPendingTimers();
512
+ expect(page.root).toMatchSnapshot();
513
+ });
514
+ test('should navigate across paginated list with mg-pagination', async () => {
515
+ const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map(item => ({
516
+ title: `item ${item}`,
517
+ value: false,
518
+ }));
519
+ const getResultList = (mgInputCheckbox) => Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('li'));
520
+ const page = await getPage({ label: 'label', identifier: 'identifier', value });
521
+ expect(page.root).toMatchSnapshot();
522
+ const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');
523
+ const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');
524
+ const mgPagination = mgInputCheckbox.shadowRoot.querySelector('mg-pagination');
525
+ const mgPaginationNext = mgPagination.shadowRoot.querySelector('mg-button:last-of-type');
526
+ mgPopover.display = true;
527
+ await page.waitForChanges();
528
+ jest.runOnlyPendingTimers();
529
+ let resultList = getResultList(mgInputCheckbox);
530
+ expect(resultList.length).toEqual(10);
531
+ mgPaginationNext.dispatchEvent(new MouseEvent('click', { bubbles: true }));
532
+ await page.waitForChanges();
533
+ resultList = getResultList(mgInputCheckbox);
534
+ expect(resultList.length).toEqual(10);
535
+ expect(page.root).toMatchSnapshot();
536
+ mgPaginationNext.dispatchEvent(new MouseEvent('click', { bubbles: true }));
537
+ await page.waitForChanges();
538
+ resultList = getResultList(mgInputCheckbox);
539
+ expect(resultList.length).toEqual(1);
540
+ expect(page.root).toMatchSnapshot();
541
+ });
542
+ test('should update all values with mass actions', async () => {
543
+ const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map(item => ({
544
+ title: `item ${item}`,
545
+ value: false,
546
+ }));
547
+ const getResultList = (mgInputCheckbox) => Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('input'));
548
+ const page = await getPage({ label: 'label', identifier: 'identifier', value });
549
+ expect(page.root).toMatchSnapshot();
550
+ const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');
551
+ const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');
552
+ mgPopover.display = true;
553
+ await page.waitForChanges();
554
+ jest.runOnlyPendingTimers();
555
+ let resultList = getResultList(mgInputCheckbox);
556
+ expect(resultList.filter(item => item.value === 'true').length).toEqual(0);
557
+ expect(mgInputCheckbox.value.filter(item => item.value).length).toEqual(0);
558
+ expect(page.root).toMatchSnapshot();
559
+ const selectAllButton = mgInputCheckbox.shadowRoot.querySelector('mg-input-checkbox-paginated:last-of-type mg-button');
560
+ selectAllButton.dispatchEvent(new MouseEvent('click', { bubbles: true }));
561
+ await page.waitForChanges();
562
+ resultList = getResultList(mgInputCheckbox);
563
+ expect(resultList.filter(item => item.value === 'true').length).toEqual(10);
564
+ expect(mgInputCheckbox.value.filter(item => item.value).length).toEqual(21);
565
+ expect(page.root).toMatchSnapshot();
566
+ const unselectAllButton = Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('mg-input-checkbox-paginated .mg-input__input-checkbox-multi-section-header mg-button:last-of-type')).find(button => button.textContent === 'Unselect all');
567
+ unselectAllButton.dispatchEvent(new MouseEvent('click', { bubbles: true }));
568
+ await page.waitForChanges();
569
+ resultList = getResultList(mgInputCheckbox);
570
+ expect(resultList.filter(item => item.value === 'true').length).toEqual(0);
571
+ expect(mgInputCheckbox.value.filter(item => item.value).length).toEqual(0);
572
+ expect(page.root).toMatchSnapshot();
573
+ });
574
+ test('should toggle selected items section', async () => {
575
+ const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map((item, index) => ({
576
+ title: `item ${item}`,
577
+ value: [5, 12, 13, 17].some(item => item === index),
578
+ }));
579
+ const page = await getPage({ label: 'label', identifier: 'identifier', value });
580
+ const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');
581
+ const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');
582
+ mgPopover.display = true;
583
+ await page.waitForChanges();
584
+ jest.runOnlyPendingTimers();
585
+ const sections = Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('mg-input-checkbox-paginated'));
586
+ expect(sections.length).toEqual(2);
587
+ for (const [i, section] of sections.entries()) {
588
+ const firstButton = section.querySelector('mg-button');
589
+ const sectionContent = section.querySelector('.mg-input__input-checkbox-multi-section-content');
590
+ expect(sectionContent).not.toHaveAttribute('hidden');
591
+ firstButton.dispatchEvent(new MouseEvent('click', { bubbles: true }));
592
+ await page.waitForChanges();
593
+ if (i !== 0) {
594
+ expect(sectionContent).not.toHaveAttribute('hidden');
595
+ }
596
+ else {
597
+ expect(sectionContent).toHaveAttribute('hidden');
598
+ }
599
+ expect(page.root).toMatchSnapshot();
600
+ }
601
+ });
602
+ test('should go to previous page when last item is checked', async () => {
603
+ const value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21].map(item => ({
604
+ title: `item ${item}`,
605
+ value: false,
606
+ }));
607
+ const page = await getPage({ label: 'label', identifier: 'identifier', value });
608
+ const getResultList = (mgInputCheckbox) => Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('input'));
609
+ const mgInputCheckbox = page.doc.querySelector('mg-input-checkbox');
610
+ const mgPopover = mgInputCheckbox.shadowRoot.querySelector('mg-popover');
611
+ const mgPagination = mgInputCheckbox.shadowRoot.querySelector('mg-pagination:last-of-type');
612
+ const mgPaginationNext = mgPagination.shadowRoot.querySelector('mg-button:last-of-type');
613
+ mgPopover.display = true;
614
+ await page.waitForChanges();
615
+ jest.runOnlyPendingTimers();
616
+ let resultList = getResultList(mgInputCheckbox);
617
+ expect(resultList.length).toEqual(10);
618
+ mgPaginationNext.dispatchEvent(new MouseEvent('click', { bubbles: true }));
619
+ await page.waitForChanges();
620
+ mgPaginationNext.dispatchEvent(new MouseEvent('click', { bubbles: true }));
621
+ await page.waitForChanges();
622
+ resultList = Array.from(mgInputCheckbox.shadowRoot.querySelectorAll('mg-input-checkbox-paginated:last-of-type input'));
623
+ expect(resultList.length).toEqual(1);
624
+ expect(page.root).toMatchSnapshot();
625
+ const input = mgInputCheckbox.shadowRoot.querySelector('input');
626
+ input.checkValidity = () => true;
627
+ input.checked = true;
628
+ input.dispatchEvent(new CustomEvent('input', { bubbles: true }));
629
+ await page.waitForChanges();
630
+ const firstSectionInputs = mgInputCheckbox.shadowRoot.querySelectorAll('mg-input-checkbox-paginated:first-of-type input');
631
+ const lastSectionInputs = mgInputCheckbox.shadowRoot.querySelectorAll('mg-input-checkbox-paginated:last-of-type input');
632
+ expect(firstSectionInputs.length).toEqual(1);
633
+ expect(lastSectionInputs.length).toEqual(10);
634
+ expect(page.root).toMatchSnapshot();
635
+ });
636
+ });
637
+ });
638
+ //# sourceMappingURL=mg-input-checkbox.spec.js.map