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