@mgdis/mg-components 5.19.3 → 5.21.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 (493) hide show
  1. package/dist/cjs/{components.utils-69435877.js → components.utils-cd908d4e.js} +102 -99
  2. package/dist/cjs/components.utils-cd908d4e.js.map +1 -0
  3. package/dist/cjs/{index-60dd0c56.js → index-8532b5e9.js} +185 -87
  4. package/dist/cjs/index-8532b5e9.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/mg-action-more_34.cjs.entry.js +5140 -5107
  7. package/dist/cjs/mg-action-more_34.cjs.entry.js.map +1 -1
  8. package/dist/cjs/mg-components.cjs.js +3 -3
  9. package/dist/cjs/mg-components.cjs.js.map +1 -1
  10. package/dist/cjs/mg-item-more.cjs.entry.js +237 -222
  11. package/dist/cjs/mg-item-more.cjs.entry.js.map +1 -1
  12. package/dist/collection/assets/icons/index.js +193 -191
  13. package/dist/collection/assets/icons/index.js.map +1 -0
  14. package/dist/collection/collection-manifest.json +6 -6
  15. package/dist/collection/components/atoms/mg-badge/mg-badge.js +161 -161
  16. package/dist/collection/components/atoms/mg-badge/mg-badge.js.map +1 -1
  17. package/dist/collection/components/atoms/mg-button/mg-button.js +362 -362
  18. package/dist/collection/components/atoms/mg-button/mg-button.js.map +1 -1
  19. package/dist/collection/components/atoms/mg-card/mg-card.js +126 -126
  20. package/dist/collection/components/atoms/mg-card/mg-card.js.map +1 -1
  21. package/dist/collection/components/atoms/mg-character-left/mg-character-left.js +101 -101
  22. package/dist/collection/components/atoms/mg-character-left/mg-character-left.js.map +1 -1
  23. package/dist/collection/components/atoms/mg-divider/mg-divider.js +47 -47
  24. package/dist/collection/components/atoms/mg-divider/mg-divider.js.map +1 -1
  25. package/dist/collection/components/atoms/mg-icon/mg-icon.js +231 -231
  26. package/dist/collection/components/atoms/mg-icon/mg-icon.js.map +1 -1
  27. package/dist/collection/components/atoms/mg-input-title/mg-input-title.js +132 -132
  28. package/dist/collection/components/atoms/mg-input-title/mg-input-title.js.map +1 -1
  29. package/dist/collection/components/atoms/mg-tag/mg-tag.js +158 -158
  30. package/dist/collection/components/atoms/mg-tag/mg-tag.js.map +1 -1
  31. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js +46 -46
  32. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js.map +1 -1
  33. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js +3 -3
  34. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js.map +1 -1
  35. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +398 -398
  36. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js.map +1 -1
  37. package/dist/collection/components/molecules/inputs/MgInput.conf.js +2 -2
  38. package/dist/collection/components/molecules/inputs/MgInput.conf.js.map +1 -1
  39. package/dist/collection/components/molecules/inputs/MgInput.js +84 -84
  40. package/dist/collection/components/molecules/inputs/MgInput.js.map +1 -1
  41. package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js +8 -8
  42. package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js.map +1 -1
  43. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +266 -266
  44. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js.map +1 -1
  45. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.js +4 -4
  46. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.js.map +1 -1
  47. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +788 -791
  48. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js.map +1 -1
  49. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js +4 -4
  50. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js.map +1 -1
  51. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +588 -578
  52. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js.map +1 -1
  53. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.js +4 -4
  54. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.js.map +1 -1
  55. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +778 -773
  56. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js.map +1 -1
  57. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +536 -526
  58. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js.map +1 -1
  59. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +565 -555
  60. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js.map +1 -1
  61. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +700 -695
  62. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js.map +1 -1
  63. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +770 -760
  64. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js.map +1 -1
  65. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +705 -695
  66. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js.map +1 -1
  67. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +527 -522
  68. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js.map +1 -1
  69. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js +2 -2
  70. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js.map +1 -1
  71. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js +263 -263
  72. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js.map +1 -1
  73. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js +6 -6
  74. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js.map +1 -1
  75. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +423 -423
  76. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js.map +1 -1
  77. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +214 -214
  78. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +1 -1
  79. package/dist/collection/components/molecules/mg-details/mg-details.js +155 -150
  80. package/dist/collection/components/molecules/mg-details/mg-details.js.map +1 -1
  81. package/dist/collection/components/molecules/mg-form/mg-form.conf.js +9 -0
  82. package/dist/collection/components/molecules/mg-form/mg-form.conf.js.map +1 -0
  83. package/dist/collection/components/molecules/mg-form/mg-form.js +405 -327
  84. package/dist/collection/components/molecules/mg-form/mg-form.js.map +1 -1
  85. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +85 -85
  86. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js.map +1 -1
  87. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js +203 -188
  88. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js.map +1 -1
  89. package/dist/collection/components/molecules/mg-message/mg-message.js +325 -304
  90. package/dist/collection/components/molecules/mg-message/mg-message.js.map +1 -1
  91. package/dist/collection/components/molecules/mg-modal/mg-modal.js +317 -317
  92. package/dist/collection/components/molecules/mg-modal/mg-modal.js.map +1 -1
  93. package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js +2 -2
  94. package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js.map +1 -1
  95. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +216 -216
  96. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js.map +1 -1
  97. package/dist/collection/components/molecules/mg-panel/mg-panel.js +409 -399
  98. package/dist/collection/components/molecules/mg-panel/mg-panel.js.map +1 -1
  99. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +91 -91
  100. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js.map +1 -1
  101. package/dist/collection/components/molecules/mg-popover/mg-popover.js +336 -329
  102. package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +1 -1
  103. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +94 -94
  104. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js.map +1 -1
  105. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js +4 -4
  106. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js.map +1 -1
  107. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +348 -343
  108. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js.map +1 -1
  109. package/dist/collection/locales/fr/messages.json +4 -4
  110. package/dist/collection/locales/index.spec.js +20 -20
  111. package/dist/collection/locales/index.spec.js.map +1 -1
  112. package/dist/collection/utils/behaviors.utils.js +127 -127
  113. package/dist/collection/utils/behaviors.utils.js.map +1 -1
  114. package/dist/collection/utils/behaviors.utils.spec.js +46 -42
  115. package/dist/collection/utils/behaviors.utils.spec.js.map +1 -1
  116. package/dist/collection/utils/components.utils.js +77 -75
  117. package/dist/collection/utils/components.utils.js.map +1 -1
  118. package/dist/collection/utils/components.utils.spec.js +150 -140
  119. package/dist/collection/utils/components.utils.spec.js.map +1 -1
  120. package/dist/collection/utils/e2e.test.utils.js +21 -21
  121. package/dist/collection/utils/e2e.test.utils.js.map +1 -1
  122. package/dist/collection/utils/locale.utils.js +17 -17
  123. package/dist/collection/utils/locale.utils.js.map +1 -1
  124. package/dist/collection/utils/locale.utils.spec.js +45 -45
  125. package/dist/collection/utils/locale.utils.spec.js.map +1 -1
  126. package/dist/collection/utils/playwright.e2e.test.utils.js +41 -41
  127. package/dist/collection/utils/playwright.e2e.test.utils.js.map +1 -1
  128. package/dist/collection/utils/playwright.fixture.js +24 -0
  129. package/dist/collection/utils/playwright.fixture.js.map +1 -0
  130. package/dist/collection/utils/unit.test.utils.js +50 -50
  131. package/dist/collection/utils/unit.test.utils.js.map +1 -1
  132. package/dist/components/MgInput.js +98 -98
  133. package/dist/components/MgInput.js.map +1 -1
  134. package/dist/components/components.utils.js +78 -76
  135. package/dist/components/components.utils.js.map +1 -1
  136. package/dist/components/index2.js +21 -21
  137. package/dist/components/index2.js.map +1 -1
  138. package/dist/components/mg-action-more.d.ts +2 -2
  139. package/dist/components/mg-action-more.js +173 -173
  140. package/dist/components/mg-action-more.js.map +1 -1
  141. package/dist/components/mg-badge.d.ts +2 -2
  142. package/dist/components/mg-badge2.js +83 -83
  143. package/dist/components/mg-badge2.js.map +1 -1
  144. package/dist/components/mg-button.d.ts +2 -2
  145. package/dist/components/mg-button2.js +182 -182
  146. package/dist/components/mg-button2.js.map +1 -1
  147. package/dist/components/mg-card.d.ts +2 -2
  148. package/dist/components/mg-card2.js +77 -77
  149. package/dist/components/mg-card2.js.map +1 -1
  150. package/dist/components/mg-character-left.d.ts +2 -2
  151. package/dist/components/mg-character-left2.js +50 -50
  152. package/dist/components/mg-character-left2.js.map +1 -1
  153. package/dist/components/mg-details.d.ts +2 -2
  154. package/dist/components/mg-details.js +69 -69
  155. package/dist/components/mg-details.js.map +1 -1
  156. package/dist/components/mg-divider.d.ts +2 -2
  157. package/dist/components/mg-divider.js +30 -30
  158. package/dist/components/mg-divider.js.map +1 -1
  159. package/dist/components/mg-form.d.ts +2 -2
  160. package/dist/components/mg-form.js +203 -171
  161. package/dist/components/mg-form.js.map +1 -1
  162. package/dist/components/mg-icon.d.ts +2 -2
  163. package/dist/components/mg-icon2.js +319 -317
  164. package/dist/components/mg-icon2.js.map +1 -1
  165. package/dist/components/mg-illustrated-message.d.ts +2 -2
  166. package/dist/components/mg-illustrated-message.js +51 -51
  167. package/dist/components/mg-illustrated-message.js.map +1 -1
  168. package/dist/components/mg-input-checkbox-paginated.d.ts +2 -2
  169. package/dist/components/mg-input-checkbox-paginated2.js +170 -170
  170. package/dist/components/mg-input-checkbox-paginated2.js.map +1 -1
  171. package/dist/components/mg-input-checkbox.d.ts +2 -2
  172. package/dist/components/mg-input-checkbox.js +477 -480
  173. package/dist/components/mg-input-checkbox.js.map +1 -1
  174. package/dist/components/mg-input-date.d.ts +2 -2
  175. package/dist/components/mg-input-date.js +265 -265
  176. package/dist/components/mg-input-date.js.map +1 -1
  177. package/dist/components/mg-input-numeric.d.ts +2 -2
  178. package/dist/components/mg-input-numeric.js +353 -353
  179. package/dist/components/mg-input-numeric.js.map +1 -1
  180. package/dist/components/mg-input-password.d.ts +2 -2
  181. package/dist/components/mg-input-password.js +204 -204
  182. package/dist/components/mg-input-password.js.map +1 -1
  183. package/dist/components/mg-input-radio.d.ts +2 -2
  184. package/dist/components/mg-input-radio.js +234 -234
  185. package/dist/components/mg-input-radio.js.map +1 -1
  186. package/dist/components/mg-input-select.d.ts +2 -2
  187. package/dist/components/mg-input-select2.js +315 -315
  188. package/dist/components/mg-input-select2.js.map +1 -1
  189. package/dist/components/mg-input-text.d.ts +2 -2
  190. package/dist/components/mg-input-text2.js +305 -305
  191. package/dist/components/mg-input-text2.js.map +1 -1
  192. package/dist/components/mg-input-textarea.d.ts +2 -2
  193. package/dist/components/mg-input-textarea.js +276 -276
  194. package/dist/components/mg-input-textarea.js.map +1 -1
  195. package/dist/components/mg-input-title.d.ts +2 -2
  196. package/dist/components/mg-input-title2.js +60 -60
  197. package/dist/components/mg-input-title2.js.map +1 -1
  198. package/dist/components/mg-input-toggle.d.ts +2 -2
  199. package/dist/components/mg-input-toggle.js +251 -251
  200. package/dist/components/mg-input-toggle.js.map +1 -1
  201. package/dist/components/mg-item-more.d.ts +2 -2
  202. package/dist/components/mg-item-more.js +298 -283
  203. package/dist/components/mg-item-more.js.map +1 -1
  204. package/dist/components/mg-menu-item.d.ts +2 -2
  205. package/dist/components/mg-menu-item2.js +345 -345
  206. package/dist/components/mg-menu-item2.js.map +1 -1
  207. package/dist/components/mg-menu.conf.js +2 -2
  208. package/dist/components/mg-menu.conf.js.map +1 -1
  209. package/dist/components/mg-menu.d.ts +2 -2
  210. package/dist/components/mg-menu2.js +176 -176
  211. package/dist/components/mg-menu2.js.map +1 -1
  212. package/dist/components/mg-message.d.ts +2 -2
  213. package/dist/components/mg-message.js +197 -192
  214. package/dist/components/mg-message.js.map +1 -1
  215. package/dist/components/mg-modal.d.ts +2 -2
  216. package/dist/components/mg-modal.js +198 -198
  217. package/dist/components/mg-modal.js.map +1 -1
  218. package/dist/components/mg-pagination.d.ts +2 -2
  219. package/dist/components/mg-pagination2.js +133 -133
  220. package/dist/components/mg-pagination2.js.map +1 -1
  221. package/dist/components/mg-panel.d.ts +2 -2
  222. package/dist/components/mg-panel.js +238 -238
  223. package/dist/components/mg-panel.js.map +1 -1
  224. package/dist/components/mg-popover-content.d.ts +2 -2
  225. package/dist/components/mg-popover-content2.js +69 -69
  226. package/dist/components/mg-popover-content2.js.map +1 -1
  227. package/dist/components/mg-popover.d.ts +2 -2
  228. package/dist/components/mg-popover2.js +224 -222
  229. package/dist/components/mg-popover2.js.map +1 -1
  230. package/dist/components/mg-skip-links.d.ts +2 -2
  231. package/dist/components/mg-skip-links.js +57 -57
  232. package/dist/components/mg-skip-links.js.map +1 -1
  233. package/dist/components/mg-tabs.d.ts +2 -2
  234. package/dist/components/mg-tabs.js +243 -243
  235. package/dist/components/mg-tabs.js.map +1 -1
  236. package/dist/components/mg-tag.d.ts +2 -2
  237. package/dist/components/mg-tag.js +97 -97
  238. package/dist/components/mg-tag.js.map +1 -1
  239. package/dist/components/mg-tooltip-content.d.ts +2 -2
  240. package/dist/components/mg-tooltip-content2.js +30 -30
  241. package/dist/components/mg-tooltip-content2.js.map +1 -1
  242. package/dist/components/mg-tooltip.d.ts +2 -2
  243. package/dist/components/mg-tooltip2.js +316 -316
  244. package/dist/components/mg-tooltip2.js.map +1 -1
  245. package/dist/esm/{components.utils-6cf27db1.js → components.utils-0d67c31c.js} +102 -100
  246. package/dist/esm/components.utils-0d67c31c.js.map +1 -0
  247. package/dist/esm/{index-0f833068.js → index-f34a3a2c.js} +185 -87
  248. package/dist/esm/index-f34a3a2c.js.map +1 -0
  249. package/dist/esm/loader.js +3 -3
  250. package/dist/esm/mg-action-more_34.entry.js +5140 -5107
  251. package/dist/esm/mg-action-more_34.entry.js.map +1 -1
  252. package/dist/esm/mg-components.js +4 -4
  253. package/dist/esm/mg-components.js.map +1 -1
  254. package/dist/esm/mg-item-more.entry.js +237 -222
  255. package/dist/esm/mg-item-more.entry.js.map +1 -1
  256. package/dist/mg-components/locales/fr/messages.json +4 -4
  257. package/dist/mg-components/mg-components.esm.js +1 -1
  258. package/dist/mg-components/mg-components.esm.js.map +1 -1
  259. package/dist/mg-components/p-7444ff40.js +3 -0
  260. package/dist/mg-components/p-7444ff40.js.map +1 -0
  261. package/dist/mg-components/p-af42d17b.js +2 -0
  262. package/dist/mg-components/p-af42d17b.js.map +1 -0
  263. package/dist/mg-components/p-ce356bc0.entry.js +2 -0
  264. package/dist/mg-components/p-ce356bc0.entry.js.map +1 -0
  265. package/dist/mg-components/p-e591ba8f.entry.js +2 -0
  266. package/dist/mg-components/p-e591ba8f.entry.js.map +1 -0
  267. package/dist/types/assets/icons/index.d.ts +193 -0
  268. package/dist/types/components/atoms/mg-badge/mg-badge.d.ts +41 -41
  269. package/dist/types/components/atoms/mg-button/mg-button.d.ts +100 -100
  270. package/dist/types/components/atoms/mg-card/mg-card.d.ts +39 -39
  271. package/dist/types/components/atoms/mg-character-left/mg-character-left.d.ts +37 -37
  272. package/dist/types/components/atoms/mg-divider/mg-divider.d.ts +12 -12
  273. package/dist/types/components/atoms/mg-icon/mg-icon.d.ts +56 -56
  274. package/dist/types/components/atoms/mg-input-title/mg-input-title.d.ts +34 -34
  275. package/dist/types/components/atoms/mg-tag/mg-tag.d.ts +51 -51
  276. package/dist/types/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.d.ts +12 -12
  277. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.conf.d.ts +3 -3
  278. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +113 -113
  279. package/dist/types/components/molecules/inputs/MgInput.conf.d.ts +5 -5
  280. package/dist/types/components/molecules/inputs/MgInput.d.ts +16 -16
  281. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.d.ts +100 -100
  282. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.d.ts +26 -26
  283. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +262 -262
  284. package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.conf.d.ts +4 -4
  285. package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.d.ts +150 -150
  286. package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.d.ts +4 -4
  287. package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +223 -223
  288. package/dist/types/components/molecules/inputs/mg-input-password/mg-input-password.d.ts +142 -142
  289. package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.conf.d.ts +3 -3
  290. package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.d.ts +152 -152
  291. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.conf.d.ts +6 -6
  292. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +193 -193
  293. package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +195 -195
  294. package/dist/types/components/molecules/inputs/mg-input-textarea/mg-input-textarea.d.ts +181 -181
  295. package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.conf.d.ts +2 -2
  296. package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +141 -141
  297. package/dist/types/components/molecules/menu/mg-menu/mg-menu.conf.d.ts +2 -2
  298. package/dist/types/components/molecules/menu/mg-menu/mg-menu.d.ts +97 -97
  299. package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.conf.d.ts +6 -6
  300. package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.d.ts +179 -179
  301. package/dist/types/components/molecules/mg-action-more/mg-action-more.conf.d.ts +12 -12
  302. package/dist/types/components/molecules/mg-action-more/mg-action-more.d.ts +72 -72
  303. package/dist/types/components/molecules/mg-details/mg-details.d.ts +45 -45
  304. package/dist/types/components/molecules/mg-form/mg-form.conf.d.ts +16 -0
  305. package/dist/types/components/molecules/mg-form/mg-form.d.ts +120 -103
  306. package/dist/types/components/molecules/mg-illustrated-message/mg-illustrated-message.d.ts +27 -27
  307. package/dist/types/components/molecules/mg-item-more/mg-item-more.conf.d.ts +5 -5
  308. package/dist/types/components/molecules/mg-item-more/mg-item-more.d.ts +67 -61
  309. package/dist/types/components/molecules/mg-message/mg-message.d.ts +100 -93
  310. package/dist/types/components/molecules/mg-modal/mg-modal.d.ts +107 -107
  311. package/dist/types/components/molecules/mg-pagination/mg-pagination.conf.d.ts +2 -2
  312. package/dist/types/components/molecules/mg-pagination/mg-pagination.d.ts +74 -74
  313. package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +149 -149
  314. package/dist/types/components/molecules/mg-popover/mg-popover-content/mg-popover-content.d.ts +43 -43
  315. package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +88 -88
  316. package/dist/types/components/molecules/mg-skip-links/mg-skip-links.conf.d.ts +2 -2
  317. package/dist/types/components/molecules/mg-skip-links/mg-skip-links.d.ts +40 -40
  318. package/dist/types/components/molecules/mg-tabs/mg-tabs.conf.d.ts +10 -10
  319. package/dist/types/components/molecules/mg-tabs/mg-tabs.d.ts +118 -118
  320. package/dist/types/components.d.ts +312 -30
  321. package/dist/types/locales/index.d.ts +172 -172
  322. package/dist/types/stencil-public-runtime.d.ts +29 -0
  323. package/dist/types/utils/behaviors.utils.d.ts +65 -65
  324. package/dist/types/utils/components.utils.d.ts +32 -26
  325. package/dist/types/utils/locale.utils.d.ts +2 -2
  326. package/dist/types/utils/playwright.fixture.d.ts +3 -0
  327. package/dist/types/utils/unit.test.utils.d.ts +5 -5
  328. package/package.json +19 -33
  329. package/dist/cjs/components.utils-69435877.js.map +0 -1
  330. package/dist/cjs/index-60dd0c56.js.map +0 -1
  331. package/dist/collection/components/atoms/mg-badge/test/mg-badge.e2e.playwright.js +0 -33
  332. package/dist/collection/components/atoms/mg-badge/test/mg-badge.e2e.playwright.js.map +0 -1
  333. package/dist/collection/components/atoms/mg-badge/test/mg-badge.spec.js +0 -70
  334. package/dist/collection/components/atoms/mg-badge/test/mg-badge.spec.js.map +0 -1
  335. package/dist/collection/components/atoms/mg-button/test/mg-button.e2e.js +0 -91
  336. package/dist/collection/components/atoms/mg-button/test/mg-button.e2e.js.map +0 -1
  337. package/dist/collection/components/atoms/mg-button/test/mg-button.spec.js +0 -192
  338. package/dist/collection/components/atoms/mg-button/test/mg-button.spec.js.map +0 -1
  339. package/dist/collection/components/atoms/mg-card/test/mg-card.e2e.js +0 -36
  340. package/dist/collection/components/atoms/mg-card/test/mg-card.e2e.js.map +0 -1
  341. package/dist/collection/components/atoms/mg-card/test/mg-card.spec.js +0 -43
  342. package/dist/collection/components/atoms/mg-card/test/mg-card.spec.js.map +0 -1
  343. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.e2e.js +0 -15
  344. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.e2e.js.map +0 -1
  345. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.spec.js +0 -42
  346. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.spec.js.map +0 -1
  347. package/dist/collection/components/atoms/mg-divider/test/mg-divider.e2e.js +0 -11
  348. package/dist/collection/components/atoms/mg-divider/test/mg-divider.e2e.js.map +0 -1
  349. package/dist/collection/components/atoms/mg-divider/test/mg-divider.spec.js +0 -14
  350. package/dist/collection/components/atoms/mg-divider/test/mg-divider.spec.js.map +0 -1
  351. package/dist/collection/components/atoms/mg-icon/test/mg-icon.e2e.js +0 -55
  352. package/dist/collection/components/atoms/mg-icon/test/mg-icon.e2e.js.map +0 -1
  353. package/dist/collection/components/atoms/mg-icon/test/mg-icon.spec.js +0 -84
  354. package/dist/collection/components/atoms/mg-icon/test/mg-icon.spec.js.map +0 -1
  355. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.js +0 -12
  356. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.js.map +0 -1
  357. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.spec.js +0 -23
  358. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.spec.js.map +0 -1
  359. package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.playwright.js +0 -23
  360. package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.playwright.js.map +0 -1
  361. package/dist/collection/components/atoms/mg-tag/test/mg-tag.spec.js +0 -71
  362. package/dist/collection/components/atoms/mg-tag/test/mg-tag.spec.js.map +0 -1
  363. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.e2e.js +0 -138
  364. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.e2e.js.map +0 -1
  365. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.spec.js +0 -272
  366. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.spec.js.map +0 -1
  367. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.js +0 -237
  368. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.js.map +0 -1
  369. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.js +0 -634
  370. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.js.map +0 -1
  371. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.e2e.js +0 -123
  372. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.e2e.js.map +0 -1
  373. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.spec.js +0 -383
  374. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.spec.js.map +0 -1
  375. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.e2e.js +0 -212
  376. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.e2e.js.map +0 -1
  377. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.spec.js +0 -460
  378. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.spec.js.map +0 -1
  379. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.e2e.js +0 -115
  380. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.e2e.js.map +0 -1
  381. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.spec.js +0 -293
  382. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.spec.js.map +0 -1
  383. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.e2e.js +0 -154
  384. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.e2e.js.map +0 -1
  385. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.spec.js +0 -359
  386. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.spec.js.map +0 -1
  387. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.e2e.js +0 -194
  388. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.e2e.js.map +0 -1
  389. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.spec.js +0 -403
  390. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.spec.js.map +0 -1
  391. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.js +0 -147
  392. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.js.map +0 -1
  393. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.spec.js +0 -355
  394. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.spec.js.map +0 -1
  395. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.e2e.js +0 -129
  396. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.e2e.js.map +0 -1
  397. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.spec.js +0 -320
  398. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.spec.js.map +0 -1
  399. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.js +0 -108
  400. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.js.map +0 -1
  401. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.spec.js +0 -247
  402. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.spec.js.map +0 -1
  403. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.e2e.playwright.js +0 -239
  404. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.e2e.playwright.js.map +0 -1
  405. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.spec.js +0 -175
  406. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.spec.js.map +0 -1
  407. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.js +0 -100
  408. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.js.map +0 -1
  409. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.spec.js +0 -295
  410. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.spec.js.map +0 -1
  411. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.js +0 -136
  412. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.js.map +0 -1
  413. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.spec.js +0 -195
  414. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.spec.js.map +0 -1
  415. package/dist/collection/components/molecules/mg-details/test/mg-details.e2e.playwright.js +0 -30
  416. package/dist/collection/components/molecules/mg-details/test/mg-details.e2e.playwright.js.map +0 -1
  417. package/dist/collection/components/molecules/mg-details/test/mg-details.spec.js +0 -42
  418. package/dist/collection/components/molecules/mg-details/test/mg-details.spec.js.map +0 -1
  419. package/dist/collection/components/molecules/mg-form/test/mg-form.e2e.js +0 -169
  420. package/dist/collection/components/molecules/mg-form/test/mg-form.e2e.js.map +0 -1
  421. package/dist/collection/components/molecules/mg-form/test/mg-form.spec.js +0 -292
  422. package/dist/collection/components/molecules/mg-form/test/mg-form.spec.js.map +0 -1
  423. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.e2e.js +0 -39
  424. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.e2e.js.map +0 -1
  425. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.spec.js +0 -36
  426. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.spec.js.map +0 -1
  427. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.js +0 -85
  428. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.js.map +0 -1
  429. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.spec.js +0 -106
  430. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.spec.js.map +0 -1
  431. package/dist/collection/components/molecules/mg-message/test/mg-message.e2e.js +0 -64
  432. package/dist/collection/components/molecules/mg-message/test/mg-message.e2e.js.map +0 -1
  433. package/dist/collection/components/molecules/mg-message/test/mg-message.spec.js +0 -109
  434. package/dist/collection/components/molecules/mg-message/test/mg-message.spec.js.map +0 -1
  435. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.playwright.js +0 -62
  436. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.playwright.js.map +0 -1
  437. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.template.js +0 -40
  438. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.template.js.map +0 -1
  439. package/dist/collection/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.js +0 -26
  440. package/dist/collection/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.js.map +0 -1
  441. package/dist/collection/components/molecules/mg-modal/test/mg-modal.spec.js +0 -122
  442. package/dist/collection/components/molecules/mg-modal/test/mg-modal.spec.js.map +0 -1
  443. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.js +0 -57
  444. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.js.map +0 -1
  445. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.spec.js +0 -121
  446. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.spec.js.map +0 -1
  447. package/dist/collection/components/molecules/mg-panel/test/mg-panel.e2e.playwright.js +0 -106
  448. package/dist/collection/components/molecules/mg-panel/test/mg-panel.e2e.playwright.js.map +0 -1
  449. package/dist/collection/components/molecules/mg-panel/test/mg-panel.spec.js +0 -213
  450. package/dist/collection/components/molecules/mg-panel/test/mg-panel.spec.js.map +0 -1
  451. package/dist/collection/components/molecules/mg-popover/test/mg-popover.e2e.playwright.js +0 -140
  452. package/dist/collection/components/molecules/mg-popover/test/mg-popover.e2e.playwright.js.map +0 -1
  453. package/dist/collection/components/molecules/mg-popover/test/mg-popover.spec.js +0 -142
  454. package/dist/collection/components/molecules/mg-popover/test/mg-popover.spec.js.map +0 -1
  455. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.e2e.js +0 -55
  456. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.e2e.js.map +0 -1
  457. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.spec.js +0 -55
  458. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.spec.js.map +0 -1
  459. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.js +0 -76
  460. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.js.map +0 -1
  461. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.spec.js +0 -332
  462. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.spec.js.map +0 -1
  463. package/dist/collection/utils/stencil.e2e.test.utils.js +0 -33
  464. package/dist/collection/utils/stencil.e2e.test.utils.js.map +0 -1
  465. package/dist/esm/components.utils-6cf27db1.js.map +0 -1
  466. package/dist/esm/index-0f833068.js.map +0 -1
  467. package/dist/mg-components/p-10ed4425.entry.js +0 -2
  468. package/dist/mg-components/p-10ed4425.entry.js.map +0 -1
  469. package/dist/mg-components/p-36a51c5e.js +0 -2
  470. package/dist/mg-components/p-36a51c5e.js.map +0 -1
  471. package/dist/mg-components/p-91feda5a.entry.js +0 -2
  472. package/dist/mg-components/p-91feda5a.entry.js.map +0 -1
  473. package/dist/mg-components/p-9b12021b.js +0 -3
  474. package/dist/mg-components/p-9b12021b.js.map +0 -1
  475. package/dist/types/components/atoms/mg-badge/test/mg-badge.e2e.playwright.d.ts +0 -1
  476. package/dist/types/components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.d.ts +0 -1
  477. package/dist/types/components/atoms/mg-tag/test/mg-tag.e2e.playwright.d.ts +0 -1
  478. package/dist/types/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.d.ts +0 -1
  479. package/dist/types/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.d.ts +0 -1
  480. package/dist/types/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.d.ts +0 -1
  481. package/dist/types/components/molecules/menu/mg-menu/test/mg-menu.e2e.playwright.d.ts +0 -1
  482. package/dist/types/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.d.ts +0 -1
  483. package/dist/types/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.d.ts +0 -2
  484. package/dist/types/components/molecules/mg-details/test/mg-details.e2e.playwright.d.ts +0 -1
  485. package/dist/types/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.d.ts +0 -1
  486. package/dist/types/components/molecules/mg-modal/test/mg-modal.e2e.playwright.d.ts +0 -1
  487. package/dist/types/components/molecules/mg-modal/test/mg-modal.e2e.template.d.ts +0 -12
  488. package/dist/types/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.d.ts +0 -1
  489. package/dist/types/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.d.ts +0 -1
  490. package/dist/types/components/molecules/mg-panel/test/mg-panel.e2e.playwright.d.ts +0 -1
  491. package/dist/types/components/molecules/mg-popover/test/mg-popover.e2e.playwright.d.ts +0 -1
  492. package/dist/types/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.d.ts +0 -1
  493. package/dist/types/utils/stencil.e2e.test.utils.d.ts +0 -14
@@ -12,828 +12,825 @@ import { Handler } from "../MgInput.conf";
12
12
  * @returns match item type
13
13
  */
14
14
  const isCheckboxItems = (items) => Array.isArray(items) &&
15
- items.every(item => typeof item === 'object' && typeof item.title === 'string' && (item.value === null || typeof item.value === 'boolean') && item.value !== undefined);
15
+ items.every(item => typeof item === 'object' && typeof item.title === 'string' && (item.value === null || typeof item.value === 'boolean') && item.value !== undefined);
16
16
  export class MgInputCheckbox {
17
- constructor() {
18
- // hasDisplayedError (triggered by blur event)
19
- this.hasDisplayedError = false;
20
- this.mode = 'custom';
21
- // style
22
- this.baseClassName = 'mg-c-input--checkbox';
23
- // "multi" setup
24
- this.multiStart = 5;
25
- this.searchStart = 10;
26
- /**
27
- * Handle input event
28
- * @param event - input event
29
- */
30
- this.handleInput = (event) => {
31
- this.updateCheckboxItems('value', Boolean(event.target.checked), item => item._id === event.target.id);
32
- this.updateValues();
33
- this.checkValidity();
34
- };
35
- /**
36
- * Keyboard handler
37
- * @param event - to trak "tab" key
38
- */
39
- this.handleKeydown = (event) => {
40
- var _a;
41
- // track "Tab" key event when popover display (is "multi" type selected)
42
- if (event.key === 'Tab' && ((_a = this.mgPopover) === null || _a === void 0 ? void 0 : _a.display)) {
43
- // when search input and do a back tab we close the popover
44
- if (Boolean(this.searchInput) && event.shiftKey && this.searchInput.id === event.target.id) {
45
- this.mgPopover.display = false;
46
- return;
47
- }
48
- const enableInputs = Array.from(this.element.shadowRoot.querySelectorAll('input'))
49
- .filter(input => !input.getAttribute('disabled'))
50
- .map(({ id }) => id);
51
- const originInputIndex = enableInputs.findIndex(id => id === event.target.id);
52
- // close popover when tab trigger focus outside its DOM
53
- if ((originInputIndex + 1 >= enableInputs.length && !event.shiftKey) || (originInputIndex === 0 && event.shiftKey && !this.searchInput))
54
- this.mgPopover.display = false;
55
- }
56
- };
57
- /**
58
- * Handle blur event
59
- */
60
- this.handleBlur = () => {
61
- // set guard
62
- this.handlerInProgress = Handler.BLUR;
63
- // Check validity
64
- this.checkValidity();
65
- this.setErrorMessage();
66
- // reset guard
67
- this.handlerInProgress = undefined;
68
- };
69
- /**
70
- * Handle input search value-change event
71
- * @param event - input value-change event
72
- */
73
- this.handleSearchChange = (event) => {
74
- this.searchValue = event.detail;
75
- };
76
- /**
77
- * popover display-change handler
78
- * @param event - mg-popover display-change custom event
79
- */
80
- this.handleMgPopoverDisplayChange = (event) => {
81
- // reset search value
82
- if (!event.detail) {
17
+ constructor() {
18
+ // hasDisplayedError (triggered by blur event)
19
+ this.hasDisplayedError = false;
20
+ this.mode = 'custom';
21
+ // style
22
+ this.baseClassName = 'mg-c-input--checkbox';
23
+ // "multi" setup
24
+ this.multiStart = 5;
25
+ this.searchStart = 10;
26
+ /**
27
+ * Handle input event
28
+ * @param event - input event
29
+ */
30
+ this.handleInput = (event) => {
31
+ this.updateCheckboxItems('value', Boolean(event.target.checked), item => item._id === event.target.id);
32
+ this.updateValues();
33
+ this.checkValidity();
34
+ };
35
+ /**
36
+ * Keyboard handler
37
+ * @param event - to trak "tab" key
38
+ */
39
+ this.handleKeydown = (event) => {
40
+ var _a;
41
+ // track "Tab" key event when popover display (is "multi" type selected)
42
+ if (event.key === 'Tab' && ((_a = this.mgPopover) === null || _a === void 0 ? void 0 : _a.display)) {
43
+ // when search input and do a back tab we close the popover
44
+ if (Boolean(this.searchInput) && event.shiftKey && this.searchInput.id === event.target.id) {
45
+ this.mgPopover.display = false;
46
+ return;
47
+ }
48
+ const enableInputs = Array.from(this.element.shadowRoot.querySelectorAll('input'))
49
+ .filter(input => !input.getAttribute('disabled'))
50
+ .map(({ id }) => id);
51
+ const originInputIndex = enableInputs.findIndex(id => id === event.target.id);
52
+ // close popover when tab trigger focus outside its DOM
53
+ if ((originInputIndex + 1 >= enableInputs.length && !event.shiftKey) || (originInputIndex === 0 && event.shiftKey && !this.searchInput))
54
+ this.mgPopover.display = false;
55
+ }
56
+ };
57
+ /**
58
+ * Handle blur event
59
+ */
60
+ this.handleBlur = () => {
61
+ // set guard
62
+ this.handlerInProgress = Handler.BLUR;
63
+ // Check validity
64
+ this.checkValidity();
65
+ this.setErrorMessage();
66
+ // reset guard
67
+ this.handlerInProgress = undefined;
68
+ };
69
+ /**
70
+ * Handle input search value-change event
71
+ * @param event - input value-change event
72
+ */
73
+ this.handleSearchChange = (event) => {
74
+ this.searchValue = event.detail;
75
+ };
76
+ /**
77
+ * popover display-change handler
78
+ * @param event - mg-popover display-change custom event
79
+ */
80
+ this.handleMgPopoverDisplayChange = (event) => {
81
+ // reset search value
82
+ if (!event.detail) {
83
+ this.searchValue = '';
84
+ this.checkValidity();
85
+ }
86
+ };
87
+ /**
88
+ * Handle select all button
89
+ * @param event - mass action event trigger a global select/unselect on values
90
+ */
91
+ this.handleMassAction = (event) => {
92
+ this.updateCheckboxItems('value', event.detail !== 'selected');
93
+ this.updateValues();
94
+ };
95
+ /**
96
+ * Update values
97
+ */
98
+ this.updateValues = () => {
99
+ this.value = this.checkboxItems.map(o => {
100
+ delete o._handleBlur;
101
+ delete o._handleInput;
102
+ delete o._handleKeydown;
103
+ delete o._id;
104
+ return o;
105
+ });
106
+ };
107
+ /**
108
+ * has invalid input
109
+ * @returns true if at least one input is invalid
110
+ */
111
+ this.hasInvalidInput = () => Array.from(this.element.shadowRoot.querySelectorAll('input[type="checkbox"]')).some((input) => !input.disabled && !input.checkValidity());
112
+ /**
113
+ * Method to update searchResults
114
+ */
115
+ this.updateSearchResults = () => {
116
+ this.searchResults = this.checkboxItems.filter(item => cleanString(item.title).includes(cleanString(this.searchValue)));
117
+ };
118
+ /**
119
+ * Methode to validate if one of inputs value is checked id required
120
+ * @returns truthy if condition is valid
121
+ */
122
+ this.validateRequired = () => !this.required || this.checkboxItems.some(({ value }) => value);
123
+ /**
124
+ * Check if input is valid
125
+ */
126
+ this.checkValidity = () => {
127
+ this.setValidity(this.readonly || this.disabled || (!this.hasInvalidInput() && this.validateRequired()));
128
+ };
129
+ /**
130
+ * Render button text
131
+ * @param selectedValuesNb - nb of selected values
132
+ * @returns translated message
133
+ */
134
+ this.renderButtonText = (selectedValuesNb) => {
135
+ let messageKey = 'editButton';
136
+ if (this.disabled)
137
+ messageKey = 'showButton';
138
+ else if (selectedValuesNb < 1)
139
+ messageKey = 'selectButton';
140
+ return this.messages.input.checkbox[messageKey];
141
+ };
142
+ /**
143
+ * Set input error message
144
+ * @param displayError - dispay error condition
145
+ * @param errorMessage - errorMessage override
146
+ */
147
+ this.setErrorMessage = (displayError = true, errorMessage) => {
148
+ // Set error message
149
+ this.errorMessage = undefined;
150
+ if (displayError && !this.valid) {
151
+ if (errorMessage !== undefined)
152
+ this.errorMessage = errorMessage;
153
+ else if (!this.validateRequired())
154
+ this.errorMessage = this.messages.errors.required;
155
+ }
156
+ };
157
+ /**
158
+ * Method to get mg-popover identifier
159
+ * @returns MgPopover identifier
160
+ */
161
+ this.getMgPopoverIdentifier = () => `${this.identifier}-input-mg-popover`;
162
+ /**
163
+ * Manage items to display depending on the search state
164
+ * @returns items to display
165
+ */
166
+ this.getDisplayItems = () => (this.searchValue.length > 0 ? this.searchResults : this.checkboxItems);
167
+ this.value = undefined;
168
+ this.type = undefined;
169
+ this.identifier = undefined;
170
+ this.name = this.identifier;
171
+ this.label = undefined;
172
+ this.labelOnTop = undefined;
173
+ this.labelHide = false;
174
+ this.inputVerticalList = false;
175
+ this.required = false;
176
+ this.readonly = false;
177
+ this.displaySelectedValues = undefined;
178
+ this.disabled = false;
179
+ this.tooltip = undefined;
180
+ this.helpText = undefined;
181
+ this.valid = undefined;
182
+ this.invalid = undefined;
183
+ this.classCollection = new ClassList([this.baseClassName]);
184
+ this.errorMessage = undefined;
185
+ this.checkboxItems = [];
186
+ this.displaySearchInput = undefined;
83
187
  this.searchValue = '';
188
+ this.searchResults = [];
189
+ }
190
+ validateValue(newValue) {
191
+ if (isCheckboxItems(newValue)) {
192
+ this.checkboxItems = newValue.map((item, index) => (Object.assign(Object.assign({}, item), { _id: `${this.identifier}_${index}`, _handleInput: this.handleInput.bind(this), _handleBlur: this.handleBlur.bind(this), _handleKeydown: this.handleKeydown.bind(this) })));
193
+ this.valueChange.emit(newValue);
194
+ }
195
+ else {
196
+ throw new Error('<mg-input-checkbox> prop "value" is required and all values must be the same type, CheckboxItem.');
197
+ }
198
+ }
199
+ validateType(newValue) {
200
+ if (newValue !== undefined && !checkboxTypes.includes(newValue)) {
201
+ throw new Error('<mg-input-checkbox> prop "type" must be a CheckboxType.');
202
+ }
203
+ else if (newValue === undefined) {
204
+ this.mode = 'auto';
205
+ this.type = checkboxTypes[0];
206
+ }
207
+ else {
208
+ const className = `${this.baseClassName}-multi`;
209
+ if (newValue === 'multi') {
210
+ this.classCollection.add(className);
211
+ this.element.dataset.mgPopoverGuard = this.getMgPopoverIdentifier();
212
+ }
213
+ else
214
+ this.classCollection.delete(className);
215
+ }
216
+ }
217
+ handleValidityChange(newValue, _oldValue, prop) {
218
+ if (prop !== 'readonly')
219
+ this.updateCheckboxItems(prop, newValue);
84
220
  this.checkValidity();
85
- }
86
- };
221
+ if (this.hasDisplayedError) {
222
+ this.hasDisplayedError = prop !== 'required';
223
+ this.setErrorMessage(this.hasDisplayedError);
224
+ }
225
+ }
226
+ validateDisabled(newValue) {
227
+ const className = `${this.baseClassName}-multi-disabled`;
228
+ if (newValue && this.type === 'multi')
229
+ this.classCollection.add(className);
230
+ else
231
+ this.classCollection.delete(className);
232
+ }
233
+ validateCheckboxItems(newValue) {
234
+ if (this.mode === 'auto' && newValue.length > this.multiStart)
235
+ this.type = 'multi';
236
+ if (this.mode === 'auto' || (this.type === 'multi' && newValue.length > this.searchStart)) {
237
+ this.displaySearchInput = this.type === 'multi';
238
+ // refresh search values
239
+ this.updateSearchResults();
240
+ }
241
+ }
242
+ validateSearchValue() {
243
+ // refresh search values
244
+ this.updateSearchResults();
245
+ }
87
246
  /**
88
- * Handle select all button
89
- * @param event - mass action event trigger a global select/unselect on values
247
+ * Display input error if it exists.
90
248
  */
91
- this.handleMassAction = (event) => {
92
- this.updateCheckboxItems('value', event.detail !== 'selected');
93
- this.updateValues();
94
- };
249
+ async displayError() {
250
+ this.checkValidity();
251
+ this.setErrorMessage();
252
+ this.hasDisplayedError = this.invalid;
253
+ }
95
254
  /**
96
- * Update values
255
+ * Set an error and display a custom error message.
256
+ * This method can be used to set the component's error state from its context by passing a boolean value to the `valid` parameter.
257
+ * It must be paired with an error message to display for the given context.
258
+ * When used to set validity to `false`, you should use this method again to reset the validity to `true`.
259
+ * @param valid - value indicating the validity
260
+ * @param errorMessage - the error message to display
97
261
  */
98
- this.updateValues = () => {
99
- this.value = this.checkboxItems.map(o => {
100
- delete o._handleBlur;
101
- delete o._handleInput;
102
- delete o._handleKeydown;
103
- delete o._id;
104
- return o;
105
- });
106
- };
262
+ async setError(valid, errorMessage) {
263
+ if (typeof valid !== 'boolean') {
264
+ throw new Error('<mg-input-checkbox> method "setError()" param "valid" must be a boolean');
265
+ }
266
+ else if (!isValidString(errorMessage)) {
267
+ throw new Error('<mg-input-checkbox> method "setError()" param "errorMessage" must be a string');
268
+ }
269
+ else {
270
+ this.setValidity(valid);
271
+ this.setErrorMessage(undefined, valid ? undefined : errorMessage);
272
+ this.hasDisplayedError = this.invalid;
273
+ }
274
+ }
107
275
  /**
108
- * get invalid element
109
- * @returns element
276
+ * Method to set validity values
277
+ * @param newValue - valid new value
110
278
  */
111
- this.getInvalidElement = () => {
112
- const items = Array.from(this.element.shadowRoot.querySelectorAll('input[type="checkbox"]'));
113
- return items.find(input => input !== null && !input.disabled && !input.checkValidity());
114
- };
279
+ setValidity(newValue) {
280
+ const oldValidValue = this.valid;
281
+ this.valid = newValue;
282
+ this.invalid = !this.valid;
283
+ // We need to send valid event even if it is the same value
284
+ if (this.handlerInProgress === undefined || (this.handlerInProgress === Handler.BLUR && this.valid !== oldValidValue))
285
+ this.inputValid.emit(this.valid);
286
+ }
115
287
  /**
116
- * Method to update searchResults
288
+ * Update ckecboxes item
289
+ * @param key - property to update
290
+ * @param newValue - value to update with
291
+ * @param condition - condtion to applu change on item
117
292
  */
118
- this.updateSearchResults = () => {
119
- this.searchResults = this.checkboxItems.filter(item => cleanString(item.title).includes(cleanString(this.searchValue)));
120
- };
293
+ updateCheckboxItems(key, newValue, condition) {
294
+ this.checkboxItems = this.checkboxItems.map(item => {
295
+ if ((typeof condition === 'function' && condition(item)) || condition === undefined)
296
+ item[key] = newValue;
297
+ return item;
298
+ });
299
+ }
300
+ /*************
301
+ * Lifecycle *
302
+ *************/
121
303
  /**
122
- * Methode to validate if one of inputs value is checked id required
123
- * @returns truthy if condition is valid
304
+ * Check if component props are well configured on init
305
+ * @returns timeout
124
306
  */
125
- this.validateRequired = () => !this.required || this.checkboxItems.some(({ value }) => value);
307
+ componentWillLoad() {
308
+ // Get locales
309
+ this.messages = initLocales(this.element).messages;
310
+ // Validate
311
+ this.validateType(this.type);
312
+ this.validateValue(this.value);
313
+ this.validateDisabled(this.disabled);
314
+ this.legendId = `${this.identifier}-title`;
315
+ // Check validity when component is ready
316
+ // return a promise to process action only in the FIRST render().
317
+ // https://stenciljs.com/docs/component-lifecycle#componentwillload
318
+ return setTimeout(() => {
319
+ this.checkValidity();
320
+ }, 0);
321
+ }
126
322
  /**
127
- * Check if input is valid
323
+ * add listeners and DOM attributed
128
324
  */
129
- this.checkValidity = () => {
130
- this.setValidity(this.readonly || this.disabled || (this.getInvalidElement() === undefined && this.validateRequired()));
131
- };
325
+ componentDidLoad() {
326
+ var _a, _b;
327
+ this.element.shadowRoot.querySelector('legend').setAttribute('id', this.legendId);
328
+ this.searchInput = (_a = this.element.shadowRoot.querySelector('mg-input-text')) === null || _a === void 0 ? void 0 : _a.shadowRoot.querySelector('input');
329
+ (_b = this.searchInput) === null || _b === void 0 ? void 0 : _b.addEventListener('keydown', this.handleKeydown);
330
+ }
132
331
  /**
133
- * Render button text
134
- * @param selectedValuesNb - nb of selected values
135
- * @returns translated message
332
+ * Render checkbox multi display values
333
+ * @param selectedValuesNb - selected values length
334
+ * @returns display selected values
136
335
  */
137
- this.renderButtonText = (selectedValuesNb) => {
138
- let messageKey = 'editButton';
139
- if (this.disabled)
140
- messageKey = 'showButton';
141
- else if (selectedValuesNb < 1)
142
- messageKey = 'selectButton';
143
- return this.messages.input.checkbox[messageKey];
144
- };
336
+ renderCheckboxMultiDisplaySelectedValues(selectedValuesNb) {
337
+ if (this.displaySelectedValues) {
338
+ return (selectedValuesNb > 0 && (h("ul", { role: "list", class: "mg-c-input__input-checkbox-multi-values-container" }, this.checkboxItems
339
+ .filter(({ value }) => value)
340
+ .map(({ title }) => (h("li", { class: "mg-c-input__input-checkbox-multi-value", key: title }, title))))));
341
+ }
342
+ else {
343
+ return h("strong", null, this.messages.input.checkbox[selectedValuesNb > 1 ? 'selectedValues' : 'selectedValue'].replace('{nb}', selectedValuesNb));
344
+ }
345
+ }
145
346
  /**
146
- * Set input error message
147
- * @param displayError - dispay error condition
148
- * @param errorMessage - errorMessage override
347
+ * Render checkboxes by section
348
+ * @param checkboxes - checkboxes to render
349
+ * @returns render sections of checkboxes
149
350
  */
150
- this.setErrorMessage = (displayError = true, errorMessage) => {
151
- // Set error message
152
- this.errorMessage = undefined;
153
- if (displayError && !this.valid) {
154
- if (errorMessage !== undefined)
155
- this.errorMessage = errorMessage;
156
- else if (!this.validateRequired())
157
- this.errorMessage = this.messages.errors.required;
158
- }
159
- };
351
+ renderCheckboxBySection(checkboxes) {
352
+ const [checkedValues, notCheckedValues] = checkboxes.reduce((acc, curr) => {
353
+ acc[curr.value ? 0 : 1].push(curr);
354
+ return acc;
355
+ }, [[], []]);
356
+ const baseSection = {
357
+ readonly: this.readonly,
358
+ disabled: this.disabled,
359
+ identifier: this.identifier,
360
+ };
361
+ const sections = [
362
+ Object.assign(Object.assign({}, baseSection), { sectionKind: SectionKind.SELECTED, checkboxes: checkedValues, messages: this.messages.input.checkbox.sections.selected }),
363
+ Object.assign(Object.assign({}, baseSection), { sectionKind: SectionKind.NOT_SELECTED, checkboxes: notCheckedValues, messages: this.messages.input.checkbox.sections.notSelected }),
364
+ ];
365
+ return sections.map(section => h("mg-input-checkbox-paginated", Object.assign({}, section, { "onMass-action": this.handleMassAction })));
366
+ }
160
367
  /**
161
- * Method to get mg-popover identifier
162
- * @returns MgPopover identifier
368
+ * render checkbox multi element
369
+ * @returns html element
163
370
  */
164
- this.getMgPopoverIdentifier = () => `${this.identifier}-input-mg-popover`;
371
+ renderCheckboxMulti() {
372
+ const selectedValuesNb = this.checkboxItems.filter(({ value }) => value).length;
373
+ const checkboxes = this.getDisplayItems();
374
+ return (h("div", { class: { 'mg-c-input__input-container': true, 'mg-c-input__input-checkbox-multi': true, 'mg-c-input__input-checkbox-multi--with-values': this.displaySelectedValues } }, h("mg-popover", { arrowHide: true, identifier: this.getMgPopoverIdentifier(), "onDisplay-change": this.handleMgPopoverDisplayChange, ref: (el) => {
375
+ if (el)
376
+ this.mgPopover = el;
377
+ } }, h("mg-button", { variant: "secondary", "aria-describedby": this.legendId }, h("mg-icon", { icon: "list" }), this.renderButtonText(selectedValuesNb)), h("div", { slot: "content" }, this.displaySearchInput && [
378
+ h("mg-input-text", { key: "input-search", identifier: `${this.identifier}-input-search`, icon: "magnifying-glass", type: "search", placeholder: this.messages.input.checkbox.label, label: this.messages.input.checkbox.label, mgWidth: "full", value: this.searchValue, labelHide: true, displayCharacterLeft: false, name: "q", "onValue-change": this.handleSearchChange, "aria-controls": "search-results items-list" }),
379
+ h("p", { key: "search-results", role: "status", class: "mg-u-visually-hidden", id: "search-results" }, `${checkboxes.length} ${this.messages.input.checkbox[checkboxes.length > 0 ? 'results' : 'result']}`),
380
+ ], this.displaySearchInput ? (h("div", { class: "mg-c-input__input-checkbox-multi-sections-container" }, this.renderCheckboxBySection(checkboxes))) : (h(MgInputCheckboxList, { checkboxes: checkboxes, inputVerticalList: true, type: this.type, readonly: this.readonly, displaySearchInput: this.displaySearchInput, messages: this.messages.input.checkbox, id: "checkboxes-list", disabled: this.disabled, name: this.name, invalid: this.invalid })), this.displaySearchInput && checkboxes.length === 0 && h("p", { class: "mg-c-input__input-checkbox-multi-no-result" }, this.messages.input.checkbox.noResult))), this.renderCheckboxMultiDisplaySelectedValues(selectedValuesNb)));
381
+ }
165
382
  /**
166
- * Manage items to display depending on the search state
167
- * @returns items to display
383
+ * Render
384
+ * @returns HTML Element
168
385
  */
169
- this.getDisplayItems = () => (this.searchValue.length > 0 ? this.searchResults : this.checkboxItems);
170
- this.value = undefined;
171
- this.type = undefined;
172
- this.identifier = undefined;
173
- this.name = this.identifier;
174
- this.label = undefined;
175
- this.labelOnTop = undefined;
176
- this.labelHide = false;
177
- this.inputVerticalList = false;
178
- this.required = false;
179
- this.readonly = false;
180
- this.displaySelectedValues = undefined;
181
- this.disabled = false;
182
- this.tooltip = undefined;
183
- this.helpText = undefined;
184
- this.valid = undefined;
185
- this.invalid = undefined;
186
- this.classCollection = new ClassList([this.baseClassName]);
187
- this.errorMessage = undefined;
188
- this.checkboxItems = [];
189
- this.displaySearchInput = undefined;
190
- this.searchValue = '';
191
- this.searchResults = [];
192
- }
193
- validateValue(newValue) {
194
- if (isCheckboxItems(newValue)) {
195
- this.checkboxItems = newValue.map((item, index) => (Object.assign(Object.assign({}, item), { _id: `${this.identifier}_${index}`, _handleInput: this.handleInput.bind(this), _handleBlur: this.handleBlur.bind(this), _handleKeydown: this.handleKeydown.bind(this) })));
196
- this.valueChange.emit(newValue);
197
- }
198
- else {
199
- throw new Error('<mg-input-checkbox> prop "value" is required and all values must be the same type, CheckboxItem.');
200
- }
201
- }
202
- validateType(newValue) {
203
- if (newValue !== undefined && !checkboxTypes.includes(newValue)) {
204
- throw new Error('<mg-input-checkbox> prop "type" must be a CheckboxType.');
205
- }
206
- else if (newValue === undefined) {
207
- this.mode = 'auto';
208
- this.type = checkboxTypes[0];
209
- }
210
- else {
211
- const className = `${this.baseClassName}-multi`;
212
- if (newValue === 'multi') {
213
- this.classCollection.add(className);
214
- this.element.dataset.mgPopoverGuard = this.getMgPopoverIdentifier();
215
- }
216
- else
217
- this.classCollection.delete(className);
218
- }
219
- }
220
- handleValidityChange(newValue, _oldValue, prop) {
221
- if (prop !== 'readonly')
222
- this.updateCheckboxItems(prop, newValue);
223
- this.checkValidity();
224
- if (this.hasDisplayedError) {
225
- this.hasDisplayedError = prop !== 'required';
226
- this.setErrorMessage(this.hasDisplayedError);
386
+ render() {
387
+ var _a;
388
+ return (h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: !this.readonly ? this.required : undefined, readonly: undefined, mgWidth: undefined, disabled: this.disabled, value: (_a = this.value) === null || _a === void 0 ? void 0 : _a.toString(), readonlyValue: undefined, tooltip: !this.readonly ? this.tooltip : undefined, helpText: !this.readonly ? this.helpText : undefined, errorMessage: !this.readonly ? this.errorMessage : undefined, isFieldset: true }, this.type === 'checkbox' || this.readonly ? (h(MgInputCheckboxList, { checkboxes: this.checkboxItems, inputVerticalList: this.inputVerticalList, type: this.type, readonly: this.readonly, displaySearchInput: this.displaySearchInput, messages: this.messages.input.checkbox, id: "checkboxes-list", disabled: this.disabled, name: this.name, invalid: this.invalid })) : (this.renderCheckboxMulti())));
227
389
  }
228
- }
229
- validateDisabled(newValue) {
230
- const className = `${this.baseClassName}-multi-disabled`;
231
- if (newValue && this.type === 'multi')
232
- this.classCollection.add(className);
233
- else
234
- this.classCollection.delete(className);
235
- }
236
- validateCheckboxItems(newValue) {
237
- if (this.mode === 'auto' && newValue.length > this.multiStart)
238
- this.type = 'multi';
239
- if (this.mode === 'auto' || (this.type === 'multi' && newValue.length > this.searchStart)) {
240
- this.displaySearchInput = this.type === 'multi';
241
- // refresh search values
242
- this.updateSearchResults();
390
+ static get is() { return "mg-input-checkbox"; }
391
+ static get encapsulation() { return "shadow"; }
392
+ static get originalStyleUrls() {
393
+ return {
394
+ "$": ["../../../../../node_modules/@mgdis/styles/dist/components/mg-input-checkbox.css"]
395
+ };
243
396
  }
244
- }
245
- validateSearchValue() {
246
- // refresh search values
247
- this.updateSearchResults();
248
- }
249
- /**
250
- * Display input error if it exists.
251
- */
252
- async displayError() {
253
- this.checkValidity();
254
- this.setErrorMessage();
255
- this.hasDisplayedError = this.invalid;
256
- }
257
- /**
258
- * Set an error and display a custom error message.
259
- * This method can be used to set the component's error state from its context by passing a boolean value to the `valid` parameter.
260
- * It must be paired with an error message to display for the given context.
261
- * When used to set validity to `false`, you should use this method again to reset the validity to `true`.
262
- * @param valid - value indicating the validity
263
- * @param errorMessage - the error message to display
264
- */
265
- async setError(valid, errorMessage) {
266
- if (typeof valid !== 'boolean') {
267
- throw new Error('<mg-input-checkbox> method "setError()" param "valid" must be a boolean');
397
+ static get styleUrls() {
398
+ return {
399
+ "$": ["../../../../../node_modules/@mgdis/styles/dist/components/mg-input-checkbox.css"]
400
+ };
268
401
  }
269
- else if (!isValidString(errorMessage)) {
270
- throw new Error('<mg-input-checkbox> method "setError()" param "errorMessage" must be a string');
271
- }
272
- else {
273
- this.setValidity(valid);
274
- this.setErrorMessage(undefined, valid ? undefined : errorMessage);
275
- this.hasDisplayedError = this.invalid;
276
- }
277
- }
278
- /**
279
- * Method to set validity values
280
- * @param newValue - valid new value
281
- */
282
- setValidity(newValue) {
283
- const oldValidValue = this.valid;
284
- this.valid = newValue;
285
- this.invalid = !this.valid;
286
- // We need to send valid event even if it is the same value
287
- if (this.handlerInProgress === undefined || (this.handlerInProgress === Handler.BLUR && this.valid !== oldValidValue))
288
- this.inputValid.emit(this.valid);
289
- }
290
- /**
291
- * Update ckecboxes item
292
- * @param key - property to update
293
- * @param newValue - value to update with
294
- * @param condition - condtion to applu change on item
295
- */
296
- updateCheckboxItems(key, newValue, condition) {
297
- this.checkboxItems = this.checkboxItems.map(item => {
298
- if ((typeof condition === 'function' && condition(item)) || condition === undefined)
299
- item[key] = newValue;
300
- return item;
301
- });
302
- }
303
- /*************
304
- * Lifecycle *
305
- *************/
306
- /**
307
- * Check if component props are well configured on init
308
- * @returns timeout
309
- */
310
- componentWillLoad() {
311
- // Get locales
312
- this.messages = initLocales(this.element).messages;
313
- // Validate
314
- this.validateType(this.type);
315
- this.validateValue(this.value);
316
- this.validateDisabled(this.disabled);
317
- this.legendId = `${this.identifier}-title`;
318
- // Check validity when component is ready
319
- // return a promise to process action only in the FIRST render().
320
- // https://stenciljs.com/docs/component-lifecycle#componentwillload
321
- return setTimeout(() => {
322
- this.checkValidity();
323
- }, 0);
324
- }
325
- /**
326
- * add listeners and DOM attributed
327
- */
328
- componentDidLoad() {
329
- var _a, _b;
330
- this.element.shadowRoot.querySelector('legend').setAttribute('id', this.legendId);
331
- this.searchInput = (_a = this.element.shadowRoot.querySelector('mg-input-text')) === null || _a === void 0 ? void 0 : _a.shadowRoot.querySelector('input');
332
- (_b = this.searchInput) === null || _b === void 0 ? void 0 : _b.addEventListener('keydown', this.handleKeydown);
333
- }
334
- /**
335
- * Render checkbox multi display values
336
- * @param selectedValuesNb - selected values length
337
- * @returns display selected values
338
- */
339
- renderCheckboxMultiDisplaySelectedValues(selectedValuesNb) {
340
- if (this.displaySelectedValues) {
341
- return (selectedValuesNb > 0 && (h("ul", { role: "list", class: "mg-c-input__input-checkbox-multi-values-container" }, this.checkboxItems
342
- .filter(({ value }) => value)
343
- .map(({ title }) => (h("li", { class: "mg-c-input__input-checkbox-multi-value", key: title }, title))))));
402
+ static get properties() {
403
+ return {
404
+ "value": {
405
+ "type": "unknown",
406
+ "mutable": true,
407
+ "complexType": {
408
+ "original": "CheckboxValue[]",
409
+ "resolved": "CheckboxValue[]",
410
+ "references": {
411
+ "CheckboxValue": {
412
+ "location": "import",
413
+ "path": "./mg-input-checkbox.conf",
414
+ "id": "src/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.ts::CheckboxValue"
415
+ }
416
+ }
417
+ },
418
+ "required": true,
419
+ "optional": false,
420
+ "docs": {
421
+ "tags": [],
422
+ "text": "Component value\nIf item.value is `null`, checkbox will be indeterminate by default"
423
+ }
424
+ },
425
+ "type": {
426
+ "type": "string",
427
+ "mutable": true,
428
+ "complexType": {
429
+ "original": "CheckboxType",
430
+ "resolved": "\"checkbox\" | \"multi\"",
431
+ "references": {
432
+ "CheckboxType": {
433
+ "location": "import",
434
+ "path": "./mg-input-checkbox.conf",
435
+ "id": "src/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.ts::CheckboxType"
436
+ }
437
+ }
438
+ },
439
+ "required": false,
440
+ "optional": false,
441
+ "docs": {
442
+ "tags": [],
443
+ "text": "Define checkbox type\nWhen it's undefined the type is dynamic:\n- With 0-5 items type is 'checkbox'\n- With 5-10 items type is 'multi'\nWhen it set the type is locked to the defined value.\nWhen type is dynamic OR with 'multi' type AND Over 10 items \"search\" feature is enabled"
444
+ },
445
+ "attribute": "type",
446
+ "reflect": false
447
+ },
448
+ "identifier": {
449
+ "type": "string",
450
+ "mutable": false,
451
+ "complexType": {
452
+ "original": "string",
453
+ "resolved": "string",
454
+ "references": {}
455
+ },
456
+ "required": true,
457
+ "optional": false,
458
+ "docs": {
459
+ "tags": [],
460
+ "text": "Identifier is used for the element ID (id is a reserved prop in Stencil.js)"
461
+ },
462
+ "attribute": "identifier",
463
+ "reflect": false
464
+ },
465
+ "name": {
466
+ "type": "string",
467
+ "mutable": false,
468
+ "complexType": {
469
+ "original": "string",
470
+ "resolved": "string",
471
+ "references": {}
472
+ },
473
+ "required": false,
474
+ "optional": false,
475
+ "docs": {
476
+ "tags": [],
477
+ "text": "Define input name\nIf not set the value equals the identifier"
478
+ },
479
+ "attribute": "name",
480
+ "reflect": false,
481
+ "defaultValue": "this.identifier"
482
+ },
483
+ "label": {
484
+ "type": "string",
485
+ "mutable": false,
486
+ "complexType": {
487
+ "original": "string",
488
+ "resolved": "string",
489
+ "references": {}
490
+ },
491
+ "required": true,
492
+ "optional": false,
493
+ "docs": {
494
+ "tags": [],
495
+ "text": "Define input label"
496
+ },
497
+ "attribute": "label",
498
+ "reflect": false
499
+ },
500
+ "labelOnTop": {
501
+ "type": "boolean",
502
+ "mutable": false,
503
+ "complexType": {
504
+ "original": "boolean",
505
+ "resolved": "boolean",
506
+ "references": {}
507
+ },
508
+ "required": false,
509
+ "optional": false,
510
+ "docs": {
511
+ "tags": [],
512
+ "text": "Define if label is displayed on top"
513
+ },
514
+ "attribute": "label-on-top",
515
+ "reflect": false
516
+ },
517
+ "labelHide": {
518
+ "type": "boolean",
519
+ "mutable": false,
520
+ "complexType": {
521
+ "original": "boolean",
522
+ "resolved": "boolean",
523
+ "references": {}
524
+ },
525
+ "required": false,
526
+ "optional": false,
527
+ "docs": {
528
+ "tags": [],
529
+ "text": "Define if label is visible"
530
+ },
531
+ "attribute": "label-hide",
532
+ "reflect": false,
533
+ "defaultValue": "false"
534
+ },
535
+ "inputVerticalList": {
536
+ "type": "boolean",
537
+ "mutable": false,
538
+ "complexType": {
539
+ "original": "boolean",
540
+ "resolved": "boolean",
541
+ "references": {}
542
+ },
543
+ "required": false,
544
+ "optional": false,
545
+ "docs": {
546
+ "tags": [],
547
+ "text": "Define if inputs are display verticaly"
548
+ },
549
+ "attribute": "input-vertical-list",
550
+ "reflect": false,
551
+ "defaultValue": "false"
552
+ },
553
+ "required": {
554
+ "type": "boolean",
555
+ "mutable": false,
556
+ "complexType": {
557
+ "original": "boolean",
558
+ "resolved": "boolean",
559
+ "references": {}
560
+ },
561
+ "required": false,
562
+ "optional": false,
563
+ "docs": {
564
+ "tags": [],
565
+ "text": "Define if mg-input-checkbox is required"
566
+ },
567
+ "attribute": "required",
568
+ "reflect": false,
569
+ "defaultValue": "false"
570
+ },
571
+ "readonly": {
572
+ "type": "boolean",
573
+ "mutable": false,
574
+ "complexType": {
575
+ "original": "boolean",
576
+ "resolved": "boolean",
577
+ "references": {}
578
+ },
579
+ "required": false,
580
+ "optional": false,
581
+ "docs": {
582
+ "tags": [],
583
+ "text": "Define if mg-input-checkbox is readonly"
584
+ },
585
+ "attribute": "readonly",
586
+ "reflect": false,
587
+ "defaultValue": "false"
588
+ },
589
+ "displaySelectedValues": {
590
+ "type": "boolean",
591
+ "mutable": false,
592
+ "complexType": {
593
+ "original": "boolean",
594
+ "resolved": "boolean",
595
+ "references": {}
596
+ },
597
+ "required": false,
598
+ "optional": false,
599
+ "docs": {
600
+ "tags": [],
601
+ "text": "Display selected values list in \"multi\" type\nThis prop is only applied with prop type \"multi\" or when an \"unset\" mode render a \"multi\" type."
602
+ },
603
+ "attribute": "display-selected-values",
604
+ "reflect": false
605
+ },
606
+ "disabled": {
607
+ "type": "boolean",
608
+ "mutable": false,
609
+ "complexType": {
610
+ "original": "boolean",
611
+ "resolved": "boolean",
612
+ "references": {}
613
+ },
614
+ "required": false,
615
+ "optional": false,
616
+ "docs": {
617
+ "tags": [],
618
+ "text": "Define if input is disabled"
619
+ },
620
+ "attribute": "disabled",
621
+ "reflect": false,
622
+ "defaultValue": "false"
623
+ },
624
+ "tooltip": {
625
+ "type": "string",
626
+ "mutable": false,
627
+ "complexType": {
628
+ "original": "string",
629
+ "resolved": "string",
630
+ "references": {}
631
+ },
632
+ "required": false,
633
+ "optional": false,
634
+ "docs": {
635
+ "tags": [],
636
+ "text": "Add a tooltip message next to the input"
637
+ },
638
+ "attribute": "tooltip",
639
+ "reflect": false
640
+ },
641
+ "helpText": {
642
+ "type": "string",
643
+ "mutable": false,
644
+ "complexType": {
645
+ "original": "string",
646
+ "resolved": "string",
647
+ "references": {}
648
+ },
649
+ "required": false,
650
+ "optional": false,
651
+ "docs": {
652
+ "tags": [],
653
+ "text": "Add a help text under the input, usually expected data format and example"
654
+ },
655
+ "attribute": "help-text",
656
+ "reflect": false
657
+ },
658
+ "valid": {
659
+ "type": "boolean",
660
+ "mutable": true,
661
+ "complexType": {
662
+ "original": "boolean",
663
+ "resolved": "boolean",
664
+ "references": {}
665
+ },
666
+ "required": false,
667
+ "optional": false,
668
+ "docs": {
669
+ "tags": [],
670
+ "text": "Define input valid state"
671
+ },
672
+ "attribute": "valid",
673
+ "reflect": false
674
+ },
675
+ "invalid": {
676
+ "type": "boolean",
677
+ "mutable": true,
678
+ "complexType": {
679
+ "original": "boolean",
680
+ "resolved": "boolean",
681
+ "references": {}
682
+ },
683
+ "required": false,
684
+ "optional": false,
685
+ "docs": {
686
+ "tags": [],
687
+ "text": "Define input invalid state"
688
+ },
689
+ "attribute": "invalid",
690
+ "reflect": false
691
+ }
692
+ };
344
693
  }
345
- else {
346
- return h("strong", null, this.messages.input.checkbox[selectedValuesNb > 1 ? 'selectedValues' : 'selectedValue'].replace('{nb}', selectedValuesNb));
694
+ static get states() {
695
+ return {
696
+ "classCollection": {},
697
+ "errorMessage": {},
698
+ "checkboxItems": {},
699
+ "displaySearchInput": {},
700
+ "searchValue": {},
701
+ "searchResults": {}
702
+ };
347
703
  }
348
- }
349
- /**
350
- * Render checkboxes by section
351
- * @param checkboxes - checkboxes to render
352
- * @returns render sections of checkboxes
353
- */
354
- renderCheckboxBySection(checkboxes) {
355
- const [checkedValues, notCheckedValues] = checkboxes.reduce((acc, curr) => {
356
- acc[curr.value ? 0 : 1].push(curr);
357
- return acc;
358
- }, [[], []]);
359
- const baseSection = {
360
- readonly: this.readonly,
361
- disabled: this.disabled,
362
- identifier: this.identifier,
363
- };
364
- const sections = [
365
- Object.assign(Object.assign({}, baseSection), { sectionKind: SectionKind.SELECTED, checkboxes: checkedValues, messages: this.messages.input.checkbox.sections.selected }),
366
- Object.assign(Object.assign({}, baseSection), { sectionKind: SectionKind.NOT_SELECTED, checkboxes: notCheckedValues, messages: this.messages.input.checkbox.sections.notSelected }),
367
- ];
368
- return sections.map(section => h("mg-input-checkbox-paginated", Object.assign({}, section, { "onMass-action": this.handleMassAction })));
369
- }
370
- /**
371
- * render checkbox multi element
372
- * @returns html element
373
- */
374
- renderCheckboxMulti() {
375
- const selectedValuesNb = this.checkboxItems.filter(({ value }) => value).length;
376
- const checkboxes = this.getDisplayItems();
377
- return (h("div", { class: { 'mg-c-input__input-container': true, 'mg-c-input__input-checkbox-multi': true, 'mg-c-input__input-checkbox-multi--with-values': this.displaySelectedValues } }, this.renderCheckboxMultiDisplaySelectedValues(selectedValuesNb), h("mg-popover", { arrowHide: true, identifier: this.getMgPopoverIdentifier(), "onDisplay-change": this.handleMgPopoverDisplayChange, ref: (el) => {
378
- if (el)
379
- this.mgPopover = el;
380
- } }, h("mg-button", { variant: "secondary", "aria-describedby": this.legendId }, h("mg-icon", { icon: "list" }), this.renderButtonText(selectedValuesNb)), h("div", { slot: "content" }, this.displaySearchInput && [
381
- h("mg-input-text", { key: "input-search", identifier: `${this.identifier}-input-search`, icon: "magnifying-glass", type: "search", placeholder: this.messages.input.checkbox.label, label: this.messages.input.checkbox.label, mgWidth: "full", value: this.searchValue, labelHide: true, displayCharacterLeft: false, name: "q", "onValue-change": this.handleSearchChange, "aria-controls": "search-results items-list" }),
382
- h("p", { key: "search-results", role: "status", class: "mg-u-visually-hidden", id: "search-results" }, `${checkboxes.length} ${this.messages.input.checkbox[checkboxes.length > 0 ? 'results' : 'result']}`),
383
- ], this.displaySearchInput ? (h("div", { class: "mg-c-input__input-checkbox-multi-sections-container" }, this.renderCheckboxBySection(checkboxes))) : (h(MgInputCheckboxList, { checkboxes: checkboxes, inputVerticalList: true, type: this.type, readonly: this.readonly, displaySearchInput: this.displaySearchInput, messages: this.messages.input.checkbox, id: "checkboxes-list", disabled: this.disabled, name: this.name, invalid: this.invalid })), this.displaySearchInput && checkboxes.length === 0 && h("p", { class: "mg-c-input__input-checkbox-multi-no-result" }, this.messages.input.checkbox.noResult)))));
384
- }
385
- /**
386
- * Render
387
- * @returns HTML Element
388
- */
389
- render() {
390
- var _a;
391
- return (h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: !this.readonly ? this.required : undefined, readonly: undefined, mgWidth: undefined, disabled: this.disabled, value: (_a = this.value) === null || _a === void 0 ? void 0 : _a.toString(), readonlyValue: undefined, tooltip: !this.readonly ? this.tooltip : undefined, helpText: !this.readonly ? this.helpText : undefined, errorMessage: !this.readonly ? this.errorMessage : undefined, isFieldset: true }, this.type === 'checkbox' || this.readonly ? (h(MgInputCheckboxList, { checkboxes: this.checkboxItems, inputVerticalList: this.inputVerticalList, type: this.type, readonly: this.readonly, displaySearchInput: this.displaySearchInput, messages: this.messages.input.checkbox, id: "checkboxes-list", disabled: this.disabled, name: this.name, invalid: this.invalid })) : (this.renderCheckboxMulti())));
392
- }
393
- static get is() { return "mg-input-checkbox"; }
394
- static get encapsulation() { return "shadow"; }
395
- static get originalStyleUrls() {
396
- return {
397
- "$": ["../../../../../node_modules/@mgdis/styles/dist/components/mg-input-checkbox.css"]
398
- };
399
- }
400
- static get styleUrls() {
401
- return {
402
- "$": ["../../../../../node_modules/@mgdis/styles/dist/components/mg-input-checkbox.css"]
403
- };
404
- }
405
- static get properties() {
406
- return {
407
- "value": {
408
- "type": "unknown",
409
- "mutable": true,
410
- "complexType": {
411
- "original": "CheckboxValue[]",
412
- "resolved": "CheckboxValue[]",
413
- "references": {
414
- "CheckboxValue": {
415
- "location": "import",
416
- "path": "./mg-input-checkbox.conf",
417
- "id": "src/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.ts::CheckboxValue"
418
- }
419
- }
420
- },
421
- "required": true,
422
- "optional": false,
423
- "docs": {
424
- "tags": [],
425
- "text": "Component value\nIf item.value is `null`, checkbox will be indeterminate by default"
426
- }
427
- },
428
- "type": {
429
- "type": "string",
430
- "mutable": true,
431
- "complexType": {
432
- "original": "CheckboxType",
433
- "resolved": "\"checkbox\" | \"multi\"",
434
- "references": {
435
- "CheckboxType": {
436
- "location": "import",
437
- "path": "./mg-input-checkbox.conf",
438
- "id": "src/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.ts::CheckboxType"
439
- }
440
- }
441
- },
442
- "required": false,
443
- "optional": false,
444
- "docs": {
445
- "tags": [],
446
- "text": "Define checkbox type\nWhen it's undefined the type is dynamic:\n- With 0-5 items type is 'checkbox'\n- With 5-10 items type is 'multi'\nWhen it set the type is locked to the defined value.\nWhen type is dynamic OR with 'multi' type AND Over 10 items \"search\" feature is enabled"
447
- },
448
- "attribute": "type",
449
- "reflect": false
450
- },
451
- "identifier": {
452
- "type": "string",
453
- "mutable": false,
454
- "complexType": {
455
- "original": "string",
456
- "resolved": "string",
457
- "references": {}
458
- },
459
- "required": true,
460
- "optional": false,
461
- "docs": {
462
- "tags": [],
463
- "text": "Identifier is used for the element ID (id is a reserved prop in Stencil.js)"
464
- },
465
- "attribute": "identifier",
466
- "reflect": false
467
- },
468
- "name": {
469
- "type": "string",
470
- "mutable": false,
471
- "complexType": {
472
- "original": "string",
473
- "resolved": "string",
474
- "references": {}
475
- },
476
- "required": false,
477
- "optional": false,
478
- "docs": {
479
- "tags": [],
480
- "text": "Define input name\nIf not set the value equals the identifier"
481
- },
482
- "attribute": "name",
483
- "reflect": false,
484
- "defaultValue": "this.identifier"
485
- },
486
- "label": {
487
- "type": "string",
488
- "mutable": false,
489
- "complexType": {
490
- "original": "string",
491
- "resolved": "string",
492
- "references": {}
493
- },
494
- "required": true,
495
- "optional": false,
496
- "docs": {
497
- "tags": [],
498
- "text": "Define input label"
499
- },
500
- "attribute": "label",
501
- "reflect": false
502
- },
503
- "labelOnTop": {
504
- "type": "boolean",
505
- "mutable": false,
506
- "complexType": {
507
- "original": "boolean",
508
- "resolved": "boolean",
509
- "references": {}
510
- },
511
- "required": false,
512
- "optional": false,
513
- "docs": {
514
- "tags": [],
515
- "text": "Define if label is displayed on top"
516
- },
517
- "attribute": "label-on-top",
518
- "reflect": false
519
- },
520
- "labelHide": {
521
- "type": "boolean",
522
- "mutable": false,
523
- "complexType": {
524
- "original": "boolean",
525
- "resolved": "boolean",
526
- "references": {}
527
- },
528
- "required": false,
529
- "optional": false,
530
- "docs": {
531
- "tags": [],
532
- "text": "Define if label is visible"
533
- },
534
- "attribute": "label-hide",
535
- "reflect": false,
536
- "defaultValue": "false"
537
- },
538
- "inputVerticalList": {
539
- "type": "boolean",
540
- "mutable": false,
541
- "complexType": {
542
- "original": "boolean",
543
- "resolved": "boolean",
544
- "references": {}
545
- },
546
- "required": false,
547
- "optional": false,
548
- "docs": {
549
- "tags": [],
550
- "text": "Define if inputs are display verticaly"
551
- },
552
- "attribute": "input-vertical-list",
553
- "reflect": false,
554
- "defaultValue": "false"
555
- },
556
- "required": {
557
- "type": "boolean",
558
- "mutable": false,
559
- "complexType": {
560
- "original": "boolean",
561
- "resolved": "boolean",
562
- "references": {}
563
- },
564
- "required": false,
565
- "optional": false,
566
- "docs": {
567
- "tags": [],
568
- "text": "Define if mg-input-checkbox is required"
569
- },
570
- "attribute": "required",
571
- "reflect": false,
572
- "defaultValue": "false"
573
- },
574
- "readonly": {
575
- "type": "boolean",
576
- "mutable": false,
577
- "complexType": {
578
- "original": "boolean",
579
- "resolved": "boolean",
580
- "references": {}
581
- },
582
- "required": false,
583
- "optional": false,
584
- "docs": {
585
- "tags": [],
586
- "text": "Define if mg-input-checkbox is readonly"
587
- },
588
- "attribute": "readonly",
589
- "reflect": false,
590
- "defaultValue": "false"
591
- },
592
- "displaySelectedValues": {
593
- "type": "boolean",
594
- "mutable": false,
595
- "complexType": {
596
- "original": "boolean",
597
- "resolved": "boolean",
598
- "references": {}
599
- },
600
- "required": false,
601
- "optional": false,
602
- "docs": {
603
- "tags": [],
604
- "text": "Display selected values list in \"multi\" type\nThis prop is only applied with prop type \"multi\" or when an \"unset\" mode render a \"multi\" type."
605
- },
606
- "attribute": "display-selected-values",
607
- "reflect": false
608
- },
609
- "disabled": {
610
- "type": "boolean",
611
- "mutable": false,
612
- "complexType": {
613
- "original": "boolean",
614
- "resolved": "boolean",
615
- "references": {}
616
- },
617
- "required": false,
618
- "optional": false,
619
- "docs": {
620
- "tags": [],
621
- "text": "Define if input is disabled"
622
- },
623
- "attribute": "disabled",
624
- "reflect": false,
625
- "defaultValue": "false"
626
- },
627
- "tooltip": {
628
- "type": "string",
629
- "mutable": false,
630
- "complexType": {
631
- "original": "string",
632
- "resolved": "string",
633
- "references": {}
634
- },
635
- "required": false,
636
- "optional": false,
637
- "docs": {
638
- "tags": [],
639
- "text": "Add a tooltip message next to the input"
640
- },
641
- "attribute": "tooltip",
642
- "reflect": false
643
- },
644
- "helpText": {
645
- "type": "string",
646
- "mutable": false,
647
- "complexType": {
648
- "original": "string",
649
- "resolved": "string",
650
- "references": {}
651
- },
652
- "required": false,
653
- "optional": false,
654
- "docs": {
655
- "tags": [],
656
- "text": "Add a help text under the input, usually expected data format and example"
657
- },
658
- "attribute": "help-text",
659
- "reflect": false
660
- },
661
- "valid": {
662
- "type": "boolean",
663
- "mutable": true,
664
- "complexType": {
665
- "original": "boolean",
666
- "resolved": "boolean",
667
- "references": {}
668
- },
669
- "required": false,
670
- "optional": false,
671
- "docs": {
672
- "tags": [],
673
- "text": "Define input valid state"
674
- },
675
- "attribute": "valid",
676
- "reflect": false
677
- },
678
- "invalid": {
679
- "type": "boolean",
680
- "mutable": true,
681
- "complexType": {
682
- "original": "boolean",
683
- "resolved": "boolean",
684
- "references": {}
685
- },
686
- "required": false,
687
- "optional": false,
688
- "docs": {
689
- "tags": [],
690
- "text": "Define input invalid state"
691
- },
692
- "attribute": "invalid",
693
- "reflect": false
694
- }
695
- };
696
- }
697
- static get states() {
698
- return {
699
- "classCollection": {},
700
- "errorMessage": {},
701
- "checkboxItems": {},
702
- "displaySearchInput": {},
703
- "searchValue": {},
704
- "searchResults": {}
705
- };
706
- }
707
- static get events() {
708
- return [{
709
- "method": "valueChange",
710
- "name": "value-change",
711
- "bubbles": true,
712
- "cancelable": true,
713
- "composed": true,
714
- "docs": {
715
- "tags": [],
716
- "text": "Emitted event when value change"
717
- },
718
- "complexType": {
719
- "original": "MgInputCheckbox['value']",
720
- "resolved": "CheckboxValue[]",
721
- "references": {
722
- "MgInputCheckbox": {
723
- "location": "global",
724
- "id": "global::MgInputCheckbox"
725
- }
726
- }
727
- }
728
- }, {
729
- "method": "inputValid",
730
- "name": "input-valid",
731
- "bubbles": true,
732
- "cancelable": true,
733
- "composed": true,
734
- "docs": {
735
- "tags": [],
736
- "text": "Emited event when checking validity"
737
- },
738
- "complexType": {
739
- "original": "MgInputCheckbox['valid']",
740
- "resolved": "boolean",
741
- "references": {
742
- "MgInputCheckbox": {
743
- "location": "global",
744
- "id": "global::MgInputCheckbox"
745
- }
746
- }
747
- }
748
- }];
749
- }
750
- static get methods() {
751
- return {
752
- "displayError": {
753
- "complexType": {
754
- "signature": "() => Promise<void>",
755
- "parameters": [],
756
- "references": {
757
- "Promise": {
758
- "location": "global",
759
- "id": "global::Promise"
760
- }
761
- },
762
- "return": "Promise<void>"
763
- },
764
- "docs": {
765
- "text": "Display input error if it exists.",
766
- "tags": []
767
- }
768
- },
769
- "setError": {
770
- "complexType": {
771
- "signature": "(valid: MgInputCheckbox['valid'], errorMessage: string) => Promise<void>",
772
- "parameters": [{
773
- "tags": [{
774
- "name": "param",
775
- "text": "valid - value indicating the validity"
776
- }],
777
- "text": "- value indicating the validity"
704
+ static get events() {
705
+ return [{
706
+ "method": "valueChange",
707
+ "name": "value-change",
708
+ "bubbles": true,
709
+ "cancelable": true,
710
+ "composed": true,
711
+ "docs": {
712
+ "tags": [],
713
+ "text": "Emitted event when value change"
714
+ },
715
+ "complexType": {
716
+ "original": "HTMLMgInputCheckboxElement['value']",
717
+ "resolved": "CheckboxValue[]",
718
+ "references": {
719
+ "HTMLMgInputCheckboxElement": {
720
+ "location": "global",
721
+ "id": "global::HTMLMgInputCheckboxElement"
722
+ }
723
+ }
724
+ }
778
725
  }, {
779
- "tags": [{
780
- "name": "param",
781
- "text": "errorMessage - the error message to display"
782
- }],
783
- "text": "- the error message to display"
784
- }],
785
- "references": {
786
- "Promise": {
787
- "location": "global",
788
- "id": "global::Promise"
726
+ "method": "inputValid",
727
+ "name": "input-valid",
728
+ "bubbles": true,
729
+ "cancelable": true,
730
+ "composed": true,
731
+ "docs": {
732
+ "tags": [],
733
+ "text": "Emited event when checking validity"
734
+ },
735
+ "complexType": {
736
+ "original": "HTMLMgInputCheckboxElement['valid']",
737
+ "resolved": "boolean",
738
+ "references": {
739
+ "HTMLMgInputCheckboxElement": {
740
+ "location": "global",
741
+ "id": "global::HTMLMgInputCheckboxElement"
742
+ }
743
+ }
744
+ }
745
+ }];
746
+ }
747
+ static get methods() {
748
+ return {
749
+ "displayError": {
750
+ "complexType": {
751
+ "signature": "() => Promise<void>",
752
+ "parameters": [],
753
+ "references": {
754
+ "Promise": {
755
+ "location": "global",
756
+ "id": "global::Promise"
757
+ }
758
+ },
759
+ "return": "Promise<void>"
760
+ },
761
+ "docs": {
762
+ "text": "Display input error if it exists.",
763
+ "tags": []
764
+ }
789
765
  },
790
- "MgInputCheckbox": {
791
- "location": "global",
792
- "id": "global::MgInputCheckbox"
766
+ "setError": {
767
+ "complexType": {
768
+ "signature": "(valid: MgInputCheckbox['valid'], errorMessage: string) => Promise<void>",
769
+ "parameters": [{
770
+ "tags": [{
771
+ "name": "param",
772
+ "text": "valid - value indicating the validity"
773
+ }],
774
+ "text": "- value indicating the validity"
775
+ }, {
776
+ "tags": [{
777
+ "name": "param",
778
+ "text": "errorMessage - the error message to display"
779
+ }],
780
+ "text": "- the error message to display"
781
+ }],
782
+ "references": {
783
+ "Promise": {
784
+ "location": "global",
785
+ "id": "global::Promise"
786
+ },
787
+ "MgInputCheckbox": {
788
+ "location": "global",
789
+ "id": "global::MgInputCheckbox"
790
+ }
791
+ },
792
+ "return": "Promise<void>"
793
+ },
794
+ "docs": {
795
+ "text": "Set an error and display a custom error message.\nThis method can be used to set the component's error state from its context by passing a boolean value to the `valid` parameter.\nIt must be paired with an error message to display for the given context.\nWhen used to set validity to `false`, you should use this method again to reset the validity to `true`.",
796
+ "tags": [{
797
+ "name": "param",
798
+ "text": "valid - value indicating the validity"
799
+ }, {
800
+ "name": "param",
801
+ "text": "errorMessage - the error message to display"
802
+ }]
803
+ }
793
804
  }
794
- },
795
- "return": "Promise<void>"
796
- },
797
- "docs": {
798
- "text": "Set an error and display a custom error message.\nThis method can be used to set the component's error state from its context by passing a boolean value to the `valid` parameter.\nIt must be paired with an error message to display for the given context.\nWhen used to set validity to `false`, you should use this method again to reset the validity to `true`.",
799
- "tags": [{
800
- "name": "param",
801
- "text": "valid - value indicating the validity"
805
+ };
806
+ }
807
+ static get elementRef() { return "element"; }
808
+ static get watchers() {
809
+ return [{
810
+ "propName": "value",
811
+ "methodName": "validateValue"
802
812
  }, {
803
- "name": "param",
804
- "text": "errorMessage - the error message to display"
805
- }]
806
- }
807
- }
808
- };
809
- }
810
- static get elementRef() { return "element"; }
811
- static get watchers() {
812
- return [{
813
- "propName": "value",
814
- "methodName": "validateValue"
815
- }, {
816
- "propName": "type",
817
- "methodName": "validateType"
818
- }, {
819
- "propName": "required",
820
- "methodName": "handleValidityChange"
821
- }, {
822
- "propName": "readonly",
823
- "methodName": "handleValidityChange"
824
- }, {
825
- "propName": "disabled",
826
- "methodName": "handleValidityChange"
827
- }, {
828
- "propName": "disabled",
829
- "methodName": "validateDisabled"
830
- }, {
831
- "propName": "checkboxItems",
832
- "methodName": "validateCheckboxItems"
833
- }, {
834
- "propName": "searchValue",
835
- "methodName": "validateSearchValue"
836
- }];
837
- }
813
+ "propName": "type",
814
+ "methodName": "validateType"
815
+ }, {
816
+ "propName": "required",
817
+ "methodName": "handleValidityChange"
818
+ }, {
819
+ "propName": "readonly",
820
+ "methodName": "handleValidityChange"
821
+ }, {
822
+ "propName": "disabled",
823
+ "methodName": "handleValidityChange"
824
+ }, {
825
+ "propName": "disabled",
826
+ "methodName": "validateDisabled"
827
+ }, {
828
+ "propName": "checkboxItems",
829
+ "methodName": "validateCheckboxItems"
830
+ }, {
831
+ "propName": "searchValue",
832
+ "methodName": "validateSearchValue"
833
+ }];
834
+ }
838
835
  }
839
836
  //# sourceMappingURL=mg-input-checkbox.js.map