@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
@@ -2,6 +2,7 @@
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
3
  import { h } from "@stencil/core";
4
4
  import { MgInput } from "../MgInput";
5
+ import { Handler } from "../MgInput.conf";
5
6
  import { ClassList, allItemsAreString, isValidString } from "../../../../utils/components.utils";
6
7
  import { initLocales } from "../../../../locales";
7
8
  /**
@@ -29,720 +30,731 @@ const isOptGroup = (optgroup) => typeof optgroup === 'object' && typeof optgroup
29
30
  * @returns grouped options
30
31
  */
31
32
  const groupOptions = (acc, { group, title, value, disabled }) => {
32
- if (group !== undefined) {
33
- // Check if group is already created
34
- const optGroup = acc.find(grp => grp.group === group);
35
- // Add to group
36
- if (optGroup !== undefined) {
37
- optGroup.options.push({ title, value, disabled });
33
+ if (group !== undefined) {
34
+ // Check if group is already created
35
+ const optGroup = acc.find(grp => grp.group === group);
36
+ // Add to group
37
+ if (optGroup !== undefined) {
38
+ optGroup.options.push({ title, value, disabled });
39
+ }
40
+ // Create group
41
+ else {
42
+ acc.push({ group, options: [{ title, value, disabled }] });
43
+ }
38
44
  }
39
- // Create group
40
45
  else {
41
- acc.push({ group, options: [{ title, value, disabled }] });
46
+ acc.push({ title, value, disabled });
42
47
  }
43
- }
44
- else {
45
- acc.push({ title, value, disabled });
46
- }
47
- return acc;
48
+ return acc;
48
49
  };
49
50
  export class MgInputSelect {
50
- constructor() {
51
- // hasDisplayedError (triggered by blur event)
52
- this.hasDisplayedError = false;
51
+ constructor() {
52
+ // hasDisplayedError (triggered by blur event)
53
+ this.hasDisplayedError = false;
54
+ /**
55
+ * Handle input event
56
+ */
57
+ this.handleInput = () => {
58
+ this.updateValue();
59
+ if (this.hasDisplayedError)
60
+ this.setErrorMessage();
61
+ };
62
+ /**
63
+ * Method to compare item.title with input.value
64
+ * @param item - item to compare with
65
+ * @returns truthy if input.value is an item
66
+ */
67
+ this.isInputValue = (item) => { var _a; return item.title === ((_a = this.input) === null || _a === void 0 ? void 0 : _a.value); };
68
+ /**
69
+ * value props setter
70
+ * @param newValue - value to update with
71
+ */
72
+ this.setValue = (newValue) => {
73
+ this.checkValidity();
74
+ this.value = newValue;
75
+ };
76
+ /**
77
+ * Update value from input.value
78
+ */
79
+ this.updateValue = () => {
80
+ if (this.input.value === '') {
81
+ this.setValue(null);
82
+ }
83
+ else if (allItemsAreString(this.items) && this.items.includes(this.input.value)) {
84
+ this.setValue(this.input.value);
85
+ }
86
+ else if (allItemsAreOptions(this.items) && typeof this.input.value === 'string' && this.items.some(this.isInputValue)) {
87
+ this.setValue(this.items.find(this.isInputValue).value);
88
+ }
89
+ else {
90
+ // before set newValue with push to options[] the unknown input.value with a disable satus
91
+ this.options.push({ title: this.input.value, value: this.input.value, disabled: true });
92
+ this.setValue(this.input.value);
93
+ }
94
+ };
95
+ /**
96
+ * Handle blur event
97
+ */
98
+ this.handleBlur = () => {
99
+ this.handlerInProgress = Handler.BLUR;
100
+ this.displayError().finally(() => {
101
+ // reset guard
102
+ this.handlerInProgress = undefined;
103
+ });
104
+ };
105
+ /**
106
+ * Input value is disabled
107
+ * @returns truthy if input value is disabled
108
+ */
109
+ this.isDisabledValue = () => { var _a; return allItemsAreOptions(this.options) && ((_a = this.options.find(this.isInputValue)) === null || _a === void 0 ? void 0 : _a.disabled) === true; };
110
+ /**
111
+ * Check if input is valid
112
+ */
113
+ this.checkValidity = () => {
114
+ var _a;
115
+ this.setValidity(!this.isDisabledValue() && (this.readonly || this.disabled || (((_a = this.input) === null || _a === void 0 ? void 0 : _a.checkValidity) !== undefined ? this.input.checkValidity() : true)));
116
+ };
117
+ /**
118
+ * Set input error message
119
+ * @param errorMessage - errorMessage override
120
+ */
121
+ this.setErrorMessage = (errorMessage) => {
122
+ // Set error message
123
+ this.errorMessage = undefined;
124
+ if (!this.valid) {
125
+ if (errorMessage !== undefined) {
126
+ this.errorMessage = errorMessage;
127
+ }
128
+ else if (this.input.validity.valueMissing) {
129
+ this.errorMessage = this.messages.errors.required;
130
+ }
131
+ }
132
+ };
133
+ /**
134
+ * Render option
135
+ * @param option - to render
136
+ * @returns render option
137
+ */
138
+ this.renderOption = (option) => (h("option", { key: option.title, value: option.title, selected: JSON.stringify(this.value) === JSON.stringify(option.value), disabled: option.disabled }, option.title));
139
+ this.value = undefined;
140
+ this.items = undefined;
141
+ this.identifier = undefined;
142
+ this.name = this.identifier;
143
+ this.label = undefined;
144
+ this.labelOnTop = undefined;
145
+ this.labelHide = false;
146
+ this.placeholder = undefined;
147
+ this.placeholderHide = false;
148
+ this.placeholderDisabled = false;
149
+ this.required = false;
150
+ this.readonly = false;
151
+ this.disabled = false;
152
+ this.mgWidth = undefined;
153
+ this.tooltip = undefined;
154
+ this.helpText = undefined;
155
+ this.valid = undefined;
156
+ this.invalid = undefined;
157
+ this.classCollection = new ClassList(['mg-c-input--select']);
158
+ this.errorMessage = undefined;
159
+ this.options = undefined;
160
+ this.valueExist = undefined;
161
+ this.readonlyValue = undefined;
162
+ }
163
+ validateValue(newValue) {
164
+ var _a, _b;
165
+ if (allItemsAreString(this.items) && typeof newValue === 'string') {
166
+ this.readonlyValue = ((_a = this.input) === null || _a === void 0 ? void 0 : _a.value) ? this.input.value : newValue;
167
+ }
168
+ else if (allItemsAreOptions(this.items)) {
169
+ this.readonlyValue = (_b = this.items.find(item => item.value === newValue)) === null || _b === void 0 ? void 0 : _b.title;
170
+ }
171
+ else {
172
+ this.readonlyValue = null;
173
+ }
174
+ this.valueChange.emit(newValue);
175
+ }
176
+ validateItems(newValue) {
177
+ // Empty options
178
+ if (newValue.length === 0) {
179
+ this.options = [];
180
+ }
181
+ // String array
182
+ else if (allItemsAreString(newValue)) {
183
+ if (typeof this.value === 'string')
184
+ this.valueExist = newValue.includes(this.value);
185
+ this.options = newValue.map(item => ({ title: item, value: item }));
186
+ }
187
+ // Object array
188
+ else if (allItemsAreOptions(newValue)) {
189
+ this.valueExist = newValue.map(item => item.value).includes(this.value);
190
+ // Grouped object options
191
+ if (newValue.some(item => Boolean(item.group))) {
192
+ this.options = newValue.reduce(groupOptions, []);
193
+ }
194
+ // Standart object options
195
+ else {
196
+ this.options = newValue;
197
+ }
198
+ }
199
+ else {
200
+ throw new Error('<mg-input-select> prop "items" is required, can be an empty Array or all items must be the same type: string or Option.');
201
+ }
202
+ }
203
+ handleValidityChange(newValue, _oldValue, prop) {
204
+ if (this.input !== undefined) {
205
+ this.input[prop] = newValue;
206
+ this.checkValidity();
207
+ if (this.hasDisplayedError) {
208
+ this.setErrorMessage();
209
+ this.hasDisplayedError = false;
210
+ }
211
+ }
212
+ }
53
213
  /**
54
- * Handle input event
214
+ * Display input error if it exists.
55
215
  */
56
- this.handleInput = () => {
57
- this.updateValue();
58
- if (this.hasDisplayedError)
216
+ async displayError() {
217
+ this.checkValidity();
59
218
  this.setErrorMessage();
60
- };
61
- /**
62
- * Method to compare item.title with input.value
63
- * @param item - item to compare with
64
- * @returns truthy if input.value is an item
65
- */
66
- this.isInputValue = (item) => { var _a; return item.title === ((_a = this.input) === null || _a === void 0 ? void 0 : _a.value); };
67
- /**
68
- * value props setter
69
- * @param newValue - value to update with
70
- */
71
- this.setValue = (newValue) => {
72
- this.checkValidity();
73
- this.value = newValue;
74
- };
75
- /**
76
- * Update value from input.value
77
- */
78
- this.updateValue = () => {
79
- if (this.input.value === '') {
80
- this.setValue(null);
81
- }
82
- else if (allItemsAreString(this.items) && this.items.includes(this.input.value)) {
83
- this.setValue(this.input.value);
84
- }
85
- else if (allItemsAreOptions(this.items) && typeof this.input.value === 'string' && this.items.some(this.isInputValue)) {
86
- this.setValue(this.items.find(this.isInputValue).value);
87
- }
88
- else {
89
- // before set newValue with push to options[] the unknown input.value with a disable satus
90
- this.options.push({ title: this.input.value, value: this.input.value, disabled: true });
91
- this.setValue(this.input.value);
92
- }
93
- };
94
- /**
95
- * Handle blur event
96
- */
97
- this.handleBlur = () => {
98
- this.displayError();
99
- };
219
+ this.hasDisplayedError = this.invalid;
220
+ }
100
221
  /**
101
- * Input value is disabled
102
- * @returns truthy if input value is disabled
222
+ * Set an error and display a custom error message.
223
+ * This method can be used to set the component's error state from its context by passing a boolean value to the `valid` parameter.
224
+ * It must be paired with an error message to display for the given context.
225
+ * When used to set validity to `false`, you should use this method again to reset the validity to `true`.
226
+ * @param valid - value indicating the validity
227
+ * @param errorMessage - the error message to display
103
228
  */
104
- this.isDisabledValue = () => { var _a; return allItemsAreOptions(this.options) && ((_a = this.options.find(this.isInputValue)) === null || _a === void 0 ? void 0 : _a.disabled) === true; };
229
+ async setError(valid, errorMessage) {
230
+ if (typeof valid !== 'boolean') {
231
+ throw new Error('<mg-input-select> method "setError()" param "valid" must be a boolean');
232
+ }
233
+ else if (!isValidString(errorMessage)) {
234
+ throw new Error('<mg-input-select> method "setError()" param "errorMessage" must be a string');
235
+ }
236
+ else {
237
+ this.setValidity(valid);
238
+ this.setErrorMessage(valid ? undefined : errorMessage);
239
+ this.hasDisplayedError = this.invalid;
240
+ }
241
+ }
105
242
  /**
106
- * Check if input is valid
243
+ * Method to set validity values
244
+ * @param newValue - valid new value
107
245
  */
108
- this.checkValidity = () => {
109
- var _a;
110
- this.setValidity(!this.isDisabledValue() && (this.readonly || this.disabled || (((_a = this.input) === null || _a === void 0 ? void 0 : _a.checkValidity) !== undefined ? this.input.checkValidity() : true)));
111
- };
246
+ setValidity(newValue) {
247
+ const oldValidValue = this.valid;
248
+ this.valid = newValue;
249
+ this.invalid = !this.valid;
250
+ // We need to send valid event even if it is the same value
251
+ if (this.handlerInProgress === undefined || (this.handlerInProgress === Handler.BLUR && this.valid !== oldValidValue))
252
+ this.inputValid.emit(this.valid);
253
+ }
254
+ /*************
255
+ * Lifecycle *
256
+ *************/
112
257
  /**
113
- * Set input error message
114
- * @param errorMessage - errorMessage override
258
+ * Check if component props are well configured on init
259
+ * @returns timeout
115
260
  */
116
- this.setErrorMessage = (errorMessage) => {
117
- // Set error message
118
- this.errorMessage = undefined;
119
- if (!this.valid) {
120
- if (errorMessage !== undefined) {
121
- this.errorMessage = errorMessage;
261
+ componentWillLoad() {
262
+ // Get locales
263
+ this.messages = initLocales(this.element).messages;
264
+ // Validate
265
+ this.validateItems(this.items);
266
+ this.validateValue(this.value);
267
+ // Set default placeholder
268
+ if (this.placeholder === undefined || this.placeholder === '') {
269
+ this.placeholder = this.messages.input.select.placeholder;
122
270
  }
123
- else if (this.input.validity.valueMissing) {
124
- this.errorMessage = this.messages.errors.required;
125
- }
126
- }
127
- };
271
+ // Check validity when component is ready
272
+ // return a promise to process action only in the FIRST render().
273
+ // https://stenciljs.com/docs/component-lifecycle#componentwillload
274
+ return setTimeout(() => {
275
+ this.checkValidity();
276
+ }, 0);
277
+ }
128
278
  /**
129
- * Render option
130
- * @param option - to render
131
- * @returns render option
279
+ * Render
280
+ * @returns HTML Element
132
281
  */
133
- this.renderOption = (option) => (h("option", { key: option.title, value: option.title, selected: JSON.stringify(this.value) === JSON.stringify(option.value), disabled: option.disabled }, option.title));
134
- this.value = undefined;
135
- this.items = undefined;
136
- this.identifier = undefined;
137
- this.name = this.identifier;
138
- this.label = undefined;
139
- this.labelOnTop = undefined;
140
- this.labelHide = false;
141
- this.placeholder = undefined;
142
- this.placeholderHide = false;
143
- this.placeholderDisabled = false;
144
- this.required = false;
145
- this.readonly = false;
146
- this.disabled = false;
147
- this.mgWidth = undefined;
148
- this.tooltip = undefined;
149
- this.helpText = undefined;
150
- this.valid = undefined;
151
- this.invalid = undefined;
152
- this.classCollection = new ClassList(['mg-c-input--select']);
153
- this.errorMessage = undefined;
154
- this.options = undefined;
155
- this.valueExist = undefined;
156
- this.readonlyValue = undefined;
157
- }
158
- validateValue(newValue) {
159
- var _a, _b;
160
- if (allItemsAreString(this.items) && typeof newValue === 'string') {
161
- this.readonlyValue = ((_a = this.input) === null || _a === void 0 ? void 0 : _a.value) ? this.input.value : newValue;
162
- }
163
- else if (allItemsAreOptions(this.items)) {
164
- this.readonlyValue = (_b = this.items.find(item => item.value === newValue)) === null || _b === void 0 ? void 0 : _b.title;
165
- }
166
- else {
167
- this.readonlyValue = null;
282
+ render() {
283
+ return (h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: this.mgWidth, disabled: this.disabled, value: undefined, readonlyValue: this.readonlyValue, tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, h("select", { class: "mg-c-input__box", id: this.identifier, name: this.name, title: this.placeholder, disabled: this.disabled, required: this.required, "aria-invalid": (this.invalid === true).toString(), onInput: this.handleInput, onBlur: this.handleBlur, ref: (el) => {
284
+ if (el !== null)
285
+ this.input = el;
286
+ } }, (!this.placeholderHide || !this.valueExist) && ( // In case passed value does not match any option we display the placeholder
287
+ h("option", { value: "", disabled: this.placeholderDisabled && this.valueExist }, this.placeholder)), this.options.map(option => isOptGroup(option) ? (h("optgroup", { label: option.group, key: option.group }, option.options.map(this.renderOption))) : (isOption(option) && this.renderOption(option))))));
168
288
  }
169
- this.valueChange.emit(newValue);
170
- }
171
- validateItems(newValue) {
172
- // Empty options
173
- if (newValue.length === 0) {
174
- this.options = [];
289
+ static get is() { return "mg-input-select"; }
290
+ static get encapsulation() { return "shadow"; }
291
+ static get originalStyleUrls() {
292
+ return {
293
+ "$": ["../../../../../node_modules/@mgdis/styles/dist/components/mg-input-select.css"]
294
+ };
175
295
  }
176
- // String array
177
- else if (allItemsAreString(newValue)) {
178
- if (typeof this.value === 'string')
179
- this.valueExist = newValue.includes(this.value);
180
- this.options = newValue.map(item => ({ title: item, value: item }));
296
+ static get styleUrls() {
297
+ return {
298
+ "$": ["../../../../../node_modules/@mgdis/styles/dist/components/mg-input-select.css"]
299
+ };
181
300
  }
182
- // Object array
183
- else if (allItemsAreOptions(newValue)) {
184
- this.valueExist = newValue.map(item => item.value).includes(this.value);
185
- // Grouped object options
186
- if (newValue.some(item => Boolean(item.group))) {
187
- this.options = newValue.reduce(groupOptions, []);
188
- }
189
- // Standart object options
190
- else {
191
- this.options = newValue;
192
- }
193
- }
194
- else {
195
- throw new Error('<mg-input-select> prop "items" is required, can be an empty Array or all items must be the same type: string or Option.');
196
- }
197
- }
198
- handleValidityChange(newValue, _oldValue, prop) {
199
- if (this.input !== undefined) {
200
- this.input[prop] = newValue;
201
- this.checkValidity();
202
- if (this.hasDisplayedError) {
203
- this.setErrorMessage();
204
- this.hasDisplayedError = false;
205
- }
206
- }
207
- }
208
- /**
209
- * Display input error if it exists.
210
- */
211
- async displayError() {
212
- this.checkValidity();
213
- this.setErrorMessage();
214
- this.hasDisplayedError = this.invalid;
215
- }
216
- /**
217
- * Set an error and display a custom error message.
218
- * This method can be used to set the component's error state from its context by passing a boolean value to the `valid` parameter.
219
- * It must be paired with an error message to display for the given context.
220
- * When used to set validity to `false`, you should use this method again to reset the validity to `true`.
221
- * @param valid - value indicating the validity
222
- * @param errorMessage - the error message to display
223
- */
224
- async setError(valid, errorMessage) {
225
- if (typeof valid !== 'boolean') {
226
- throw new Error('<mg-input-select> method "setError()" param "valid" must be a boolean');
227
- }
228
- else if (!isValidString(errorMessage)) {
229
- throw new Error('<mg-input-select> method "setError()" param "errorMessage" must be a string');
230
- }
231
- else {
232
- this.setValidity(valid);
233
- this.setErrorMessage(valid ? undefined : errorMessage);
234
- this.hasDisplayedError = this.invalid;
301
+ static get properties() {
302
+ return {
303
+ "value": {
304
+ "type": "any",
305
+ "mutable": true,
306
+ "complexType": {
307
+ "original": "any",
308
+ "resolved": "any",
309
+ "references": {}
310
+ },
311
+ "required": false,
312
+ "optional": false,
313
+ "docs": {
314
+ "tags": [],
315
+ "text": "Component value"
316
+ },
317
+ "attribute": "value",
318
+ "reflect": false
319
+ },
320
+ "items": {
321
+ "type": "unknown",
322
+ "mutable": false,
323
+ "complexType": {
324
+ "original": "(string | SelectOption)[]",
325
+ "resolved": "(string | SelectOption)[]",
326
+ "references": {
327
+ "SelectOption": {
328
+ "location": "import",
329
+ "path": "./mg-input-select.conf",
330
+ "id": "src/components/molecules/inputs/mg-input-select/mg-input-select.conf.ts::SelectOption"
331
+ }
332
+ }
333
+ },
334
+ "required": true,
335
+ "optional": false,
336
+ "docs": {
337
+ "tags": [],
338
+ "text": "Items are the possible options to select"
339
+ }
340
+ },
341
+ "identifier": {
342
+ "type": "string",
343
+ "mutable": false,
344
+ "complexType": {
345
+ "original": "string",
346
+ "resolved": "string",
347
+ "references": {}
348
+ },
349
+ "required": true,
350
+ "optional": false,
351
+ "docs": {
352
+ "tags": [],
353
+ "text": "Identifier is used for the element ID (id is a reserved prop in Stencil.js)"
354
+ },
355
+ "attribute": "identifier",
356
+ "reflect": false
357
+ },
358
+ "name": {
359
+ "type": "string",
360
+ "mutable": false,
361
+ "complexType": {
362
+ "original": "string",
363
+ "resolved": "string",
364
+ "references": {}
365
+ },
366
+ "required": false,
367
+ "optional": false,
368
+ "docs": {
369
+ "tags": [],
370
+ "text": "Input name\nIf not set the value equals the identifier"
371
+ },
372
+ "attribute": "name",
373
+ "reflect": false,
374
+ "defaultValue": "this.identifier"
375
+ },
376
+ "label": {
377
+ "type": "string",
378
+ "mutable": false,
379
+ "complexType": {
380
+ "original": "string",
381
+ "resolved": "string",
382
+ "references": {}
383
+ },
384
+ "required": true,
385
+ "optional": false,
386
+ "docs": {
387
+ "tags": [],
388
+ "text": "Input label"
389
+ },
390
+ "attribute": "label",
391
+ "reflect": false
392
+ },
393
+ "labelOnTop": {
394
+ "type": "boolean",
395
+ "mutable": false,
396
+ "complexType": {
397
+ "original": "boolean",
398
+ "resolved": "boolean",
399
+ "references": {}
400
+ },
401
+ "required": false,
402
+ "optional": false,
403
+ "docs": {
404
+ "tags": [],
405
+ "text": "Define if label is displayed on top"
406
+ },
407
+ "attribute": "label-on-top",
408
+ "reflect": false
409
+ },
410
+ "labelHide": {
411
+ "type": "boolean",
412
+ "mutable": false,
413
+ "complexType": {
414
+ "original": "boolean",
415
+ "resolved": "boolean",
416
+ "references": {}
417
+ },
418
+ "required": false,
419
+ "optional": false,
420
+ "docs": {
421
+ "tags": [],
422
+ "text": "Define if label is visible"
423
+ },
424
+ "attribute": "label-hide",
425
+ "reflect": false,
426
+ "defaultValue": "false"
427
+ },
428
+ "placeholder": {
429
+ "type": "string",
430
+ "mutable": true,
431
+ "complexType": {
432
+ "original": "string",
433
+ "resolved": "string",
434
+ "references": {}
435
+ },
436
+ "required": false,
437
+ "optional": false,
438
+ "docs": {
439
+ "tags": [],
440
+ "text": "Input placeholder.\nIt should be a word or short phrase that demonstrates the expected type of data, not a replacement for labels or help text."
441
+ },
442
+ "attribute": "placeholder",
443
+ "reflect": false
444
+ },
445
+ "placeholderHide": {
446
+ "type": "boolean",
447
+ "mutable": false,
448
+ "complexType": {
449
+ "original": "boolean",
450
+ "resolved": "boolean",
451
+ "references": {}
452
+ },
453
+ "required": false,
454
+ "optional": false,
455
+ "docs": {
456
+ "tags": [],
457
+ "text": "Option to remove placeholder"
458
+ },
459
+ "attribute": "placeholder-hide",
460
+ "reflect": false,
461
+ "defaultValue": "false"
462
+ },
463
+ "placeholderDisabled": {
464
+ "type": "boolean",
465
+ "mutable": false,
466
+ "complexType": {
467
+ "original": "boolean",
468
+ "resolved": "boolean",
469
+ "references": {}
470
+ },
471
+ "required": false,
472
+ "optional": false,
473
+ "docs": {
474
+ "tags": [],
475
+ "text": "Option to disable placeholder"
476
+ },
477
+ "attribute": "placeholder-disabled",
478
+ "reflect": false,
479
+ "defaultValue": "false"
480
+ },
481
+ "required": {
482
+ "type": "boolean",
483
+ "mutable": false,
484
+ "complexType": {
485
+ "original": "boolean",
486
+ "resolved": "boolean",
487
+ "references": {}
488
+ },
489
+ "required": false,
490
+ "optional": false,
491
+ "docs": {
492
+ "tags": [],
493
+ "text": "Define if input is required"
494
+ },
495
+ "attribute": "required",
496
+ "reflect": false,
497
+ "defaultValue": "false"
498
+ },
499
+ "readonly": {
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 input is readonly"
512
+ },
513
+ "attribute": "readonly",
514
+ "reflect": false,
515
+ "defaultValue": "false"
516
+ },
517
+ "disabled": {
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 input is disabled"
530
+ },
531
+ "attribute": "disabled",
532
+ "reflect": false,
533
+ "defaultValue": "false"
534
+ },
535
+ "mgWidth": {
536
+ "type": "any",
537
+ "mutable": false,
538
+ "complexType": {
539
+ "original": "Width",
540
+ "resolved": "\"full\" | 16 | 2 | 4",
541
+ "references": {
542
+ "Width": {
543
+ "location": "import",
544
+ "path": "../MgInput.conf",
545
+ "id": "src/components/molecules/inputs/MgInput.conf.ts::Width"
546
+ }
547
+ }
548
+ },
549
+ "required": false,
550
+ "optional": false,
551
+ "docs": {
552
+ "tags": [],
553
+ "text": "Define input width"
554
+ },
555
+ "attribute": "mg-width",
556
+ "reflect": true
557
+ },
558
+ "tooltip": {
559
+ "type": "string",
560
+ "mutable": false,
561
+ "complexType": {
562
+ "original": "string",
563
+ "resolved": "string",
564
+ "references": {}
565
+ },
566
+ "required": false,
567
+ "optional": false,
568
+ "docs": {
569
+ "tags": [],
570
+ "text": "Add a tooltip message next to the input"
571
+ },
572
+ "attribute": "tooltip",
573
+ "reflect": false
574
+ },
575
+ "helpText": {
576
+ "type": "string",
577
+ "mutable": false,
578
+ "complexType": {
579
+ "original": "string",
580
+ "resolved": "string",
581
+ "references": {}
582
+ },
583
+ "required": false,
584
+ "optional": false,
585
+ "docs": {
586
+ "tags": [],
587
+ "text": "Add a help text under the input, usually expected data format and example"
588
+ },
589
+ "attribute": "help-text",
590
+ "reflect": false
591
+ },
592
+ "valid": {
593
+ "type": "boolean",
594
+ "mutable": true,
595
+ "complexType": {
596
+ "original": "boolean",
597
+ "resolved": "boolean",
598
+ "references": {}
599
+ },
600
+ "required": false,
601
+ "optional": false,
602
+ "docs": {
603
+ "tags": [],
604
+ "text": "Define input valid state"
605
+ },
606
+ "attribute": "valid",
607
+ "reflect": false
608
+ },
609
+ "invalid": {
610
+ "type": "boolean",
611
+ "mutable": true,
612
+ "complexType": {
613
+ "original": "boolean",
614
+ "resolved": "boolean",
615
+ "references": {}
616
+ },
617
+ "required": false,
618
+ "optional": false,
619
+ "docs": {
620
+ "tags": [],
621
+ "text": "Define input invalid state"
622
+ },
623
+ "attribute": "invalid",
624
+ "reflect": false
625
+ }
626
+ };
235
627
  }
236
- }
237
- /**
238
- * Method to set validity values
239
- * @param newValue - valid new value
240
- */
241
- setValidity(newValue) {
242
- this.valid = newValue;
243
- this.invalid = !this.valid;
244
- // We need to send valid event even if it is the same value
245
- this.inputValid.emit(this.valid);
246
- }
247
- /*************
248
- * Lifecycle *
249
- *************/
250
- /**
251
- * Check if component props are well configured on init
252
- * @returns timeout
253
- */
254
- componentWillLoad() {
255
- // Get locales
256
- this.messages = initLocales(this.element).messages;
257
- // Validate
258
- this.validateItems(this.items);
259
- this.validateValue(this.value);
260
- // Set default placeholder
261
- if (this.placeholder === undefined || this.placeholder === '') {
262
- this.placeholder = this.messages.input.select.placeholder;
628
+ static get states() {
629
+ return {
630
+ "classCollection": {},
631
+ "errorMessage": {},
632
+ "options": {},
633
+ "valueExist": {},
634
+ "readonlyValue": {}
635
+ };
263
636
  }
264
- // Check validity when component is ready
265
- // return a promise to process action only in the FIRST render().
266
- // https://stenciljs.com/docs/component-lifecycle#componentwillload
267
- return setTimeout(() => {
268
- this.checkValidity();
269
- }, 0);
270
- }
271
- /**
272
- * Render
273
- * @returns HTML Element
274
- */
275
- render() {
276
- return (h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: this.mgWidth, disabled: this.disabled, value: undefined, readonlyValue: this.readonlyValue, tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, h("select", { class: "mg-c-input__box", id: this.identifier, name: this.name, title: this.placeholder, disabled: this.disabled, required: this.required, "aria-invalid": (this.invalid === true).toString(), onInput: this.handleInput, onBlur: this.handleBlur, ref: (el) => {
277
- if (el !== null)
278
- this.input = el;
279
- } }, (!this.placeholderHide || !this.valueExist) && ( // In case passed value does not match any option we display the placeholder
280
- h("option", { value: "", disabled: this.placeholderDisabled && this.valueExist }, this.placeholder)), this.options.map(option => isOptGroup(option) ? (h("optgroup", { label: option.group, key: option.group }, option.options.map(this.renderOption))) : (isOption(option) && this.renderOption(option))))));
281
- }
282
- static get is() { return "mg-input-select"; }
283
- static get encapsulation() { return "shadow"; }
284
- static get originalStyleUrls() {
285
- return {
286
- "$": ["../../../../../node_modules/@mgdis/styles/dist/components/mg-input-select.css"]
287
- };
288
- }
289
- static get styleUrls() {
290
- return {
291
- "$": ["../../../../../node_modules/@mgdis/styles/dist/components/mg-input-select.css"]
292
- };
293
- }
294
- static get properties() {
295
- return {
296
- "value": {
297
- "type": "any",
298
- "mutable": true,
299
- "complexType": {
300
- "original": "any",
301
- "resolved": "any",
302
- "references": {}
303
- },
304
- "required": false,
305
- "optional": false,
306
- "docs": {
307
- "tags": [],
308
- "text": "Component value"
309
- },
310
- "attribute": "value",
311
- "reflect": false
312
- },
313
- "items": {
314
- "type": "unknown",
315
- "mutable": false,
316
- "complexType": {
317
- "original": "(string | SelectOption)[]",
318
- "resolved": "(string | SelectOption)[]",
319
- "references": {
320
- "SelectOption": {
321
- "location": "import",
322
- "path": "./mg-input-select.conf",
323
- "id": "src/components/molecules/inputs/mg-input-select/mg-input-select.conf.ts::SelectOption"
324
- }
325
- }
326
- },
327
- "required": true,
328
- "optional": false,
329
- "docs": {
330
- "tags": [],
331
- "text": "Items are the possible options to select"
332
- }
333
- },
334
- "identifier": {
335
- "type": "string",
336
- "mutable": false,
337
- "complexType": {
338
- "original": "string",
339
- "resolved": "string",
340
- "references": {}
341
- },
342
- "required": true,
343
- "optional": false,
344
- "docs": {
345
- "tags": [],
346
- "text": "Identifier is used for the element ID (id is a reserved prop in Stencil.js)"
347
- },
348
- "attribute": "identifier",
349
- "reflect": false
350
- },
351
- "name": {
352
- "type": "string",
353
- "mutable": false,
354
- "complexType": {
355
- "original": "string",
356
- "resolved": "string",
357
- "references": {}
358
- },
359
- "required": false,
360
- "optional": false,
361
- "docs": {
362
- "tags": [],
363
- "text": "Input name\nIf not set the value equals the identifier"
364
- },
365
- "attribute": "name",
366
- "reflect": false,
367
- "defaultValue": "this.identifier"
368
- },
369
- "label": {
370
- "type": "string",
371
- "mutable": false,
372
- "complexType": {
373
- "original": "string",
374
- "resolved": "string",
375
- "references": {}
376
- },
377
- "required": true,
378
- "optional": false,
379
- "docs": {
380
- "tags": [],
381
- "text": "Input label"
382
- },
383
- "attribute": "label",
384
- "reflect": false
385
- },
386
- "labelOnTop": {
387
- "type": "boolean",
388
- "mutable": false,
389
- "complexType": {
390
- "original": "boolean",
391
- "resolved": "boolean",
392
- "references": {}
393
- },
394
- "required": false,
395
- "optional": false,
396
- "docs": {
397
- "tags": [],
398
- "text": "Define if label is displayed on top"
399
- },
400
- "attribute": "label-on-top",
401
- "reflect": false
402
- },
403
- "labelHide": {
404
- "type": "boolean",
405
- "mutable": false,
406
- "complexType": {
407
- "original": "boolean",
408
- "resolved": "boolean",
409
- "references": {}
410
- },
411
- "required": false,
412
- "optional": false,
413
- "docs": {
414
- "tags": [],
415
- "text": "Define if label is visible"
416
- },
417
- "attribute": "label-hide",
418
- "reflect": false,
419
- "defaultValue": "false"
420
- },
421
- "placeholder": {
422
- "type": "string",
423
- "mutable": true,
424
- "complexType": {
425
- "original": "string",
426
- "resolved": "string",
427
- "references": {}
428
- },
429
- "required": false,
430
- "optional": false,
431
- "docs": {
432
- "tags": [],
433
- "text": "Input placeholder.\nIt should be a word or short phrase that demonstrates the expected type of data, not a replacement for labels or help text."
434
- },
435
- "attribute": "placeholder",
436
- "reflect": false
437
- },
438
- "placeholderHide": {
439
- "type": "boolean",
440
- "mutable": false,
441
- "complexType": {
442
- "original": "boolean",
443
- "resolved": "boolean",
444
- "references": {}
445
- },
446
- "required": false,
447
- "optional": false,
448
- "docs": {
449
- "tags": [],
450
- "text": "Option to remove placeholder"
451
- },
452
- "attribute": "placeholder-hide",
453
- "reflect": false,
454
- "defaultValue": "false"
455
- },
456
- "placeholderDisabled": {
457
- "type": "boolean",
458
- "mutable": false,
459
- "complexType": {
460
- "original": "boolean",
461
- "resolved": "boolean",
462
- "references": {}
463
- },
464
- "required": false,
465
- "optional": false,
466
- "docs": {
467
- "tags": [],
468
- "text": "Option to disable placeholder"
469
- },
470
- "attribute": "placeholder-disabled",
471
- "reflect": false,
472
- "defaultValue": "false"
473
- },
474
- "required": {
475
- "type": "boolean",
476
- "mutable": false,
477
- "complexType": {
478
- "original": "boolean",
479
- "resolved": "boolean",
480
- "references": {}
481
- },
482
- "required": false,
483
- "optional": false,
484
- "docs": {
485
- "tags": [],
486
- "text": "Define if input is required"
487
- },
488
- "attribute": "required",
489
- "reflect": false,
490
- "defaultValue": "false"
491
- },
492
- "readonly": {
493
- "type": "boolean",
494
- "mutable": false,
495
- "complexType": {
496
- "original": "boolean",
497
- "resolved": "boolean",
498
- "references": {}
499
- },
500
- "required": false,
501
- "optional": false,
502
- "docs": {
503
- "tags": [],
504
- "text": "Define if input is readonly"
505
- },
506
- "attribute": "readonly",
507
- "reflect": false,
508
- "defaultValue": "false"
509
- },
510
- "disabled": {
511
- "type": "boolean",
512
- "mutable": false,
513
- "complexType": {
514
- "original": "boolean",
515
- "resolved": "boolean",
516
- "references": {}
517
- },
518
- "required": false,
519
- "optional": false,
520
- "docs": {
521
- "tags": [],
522
- "text": "Define if input is disabled"
523
- },
524
- "attribute": "disabled",
525
- "reflect": false,
526
- "defaultValue": "false"
527
- },
528
- "mgWidth": {
529
- "type": "any",
530
- "mutable": false,
531
- "complexType": {
532
- "original": "Width",
533
- "resolved": "\"full\" | 16 | 2 | 4",
534
- "references": {
535
- "Width": {
536
- "location": "import",
537
- "path": "../MgInput.conf",
538
- "id": "src/components/molecules/inputs/MgInput.conf.ts::Width"
539
- }
540
- }
541
- },
542
- "required": false,
543
- "optional": false,
544
- "docs": {
545
- "tags": [],
546
- "text": "Define input width"
547
- },
548
- "attribute": "mg-width",
549
- "reflect": true
550
- },
551
- "tooltip": {
552
- "type": "string",
553
- "mutable": false,
554
- "complexType": {
555
- "original": "string",
556
- "resolved": "string",
557
- "references": {}
558
- },
559
- "required": false,
560
- "optional": false,
561
- "docs": {
562
- "tags": [],
563
- "text": "Add a tooltip message next to the input"
564
- },
565
- "attribute": "tooltip",
566
- "reflect": false
567
- },
568
- "helpText": {
569
- "type": "string",
570
- "mutable": false,
571
- "complexType": {
572
- "original": "string",
573
- "resolved": "string",
574
- "references": {}
575
- },
576
- "required": false,
577
- "optional": false,
578
- "docs": {
579
- "tags": [],
580
- "text": "Add a help text under the input, usually expected data format and example"
581
- },
582
- "attribute": "help-text",
583
- "reflect": false
584
- },
585
- "valid": {
586
- "type": "boolean",
587
- "mutable": true,
588
- "complexType": {
589
- "original": "boolean",
590
- "resolved": "boolean",
591
- "references": {}
592
- },
593
- "required": false,
594
- "optional": false,
595
- "docs": {
596
- "tags": [],
597
- "text": "Define input valid state"
598
- },
599
- "attribute": "valid",
600
- "reflect": false
601
- },
602
- "invalid": {
603
- "type": "boolean",
604
- "mutable": true,
605
- "complexType": {
606
- "original": "boolean",
607
- "resolved": "boolean",
608
- "references": {}
609
- },
610
- "required": false,
611
- "optional": false,
612
- "docs": {
613
- "tags": [],
614
- "text": "Define input invalid state"
615
- },
616
- "attribute": "invalid",
617
- "reflect": false
618
- }
619
- };
620
- }
621
- static get states() {
622
- return {
623
- "classCollection": {},
624
- "errorMessage": {},
625
- "options": {},
626
- "valueExist": {},
627
- "readonlyValue": {}
628
- };
629
- }
630
- static get events() {
631
- return [{
632
- "method": "valueChange",
633
- "name": "value-change",
634
- "bubbles": true,
635
- "cancelable": true,
636
- "composed": true,
637
- "docs": {
638
- "tags": [],
639
- "text": "Emited event when value change"
640
- },
641
- "complexType": {
642
- "original": "MgInputSelect['value']",
643
- "resolved": "any",
644
- "references": {
645
- "MgInputSelect": {
646
- "location": "global",
647
- "id": "global::MgInputSelect"
648
- }
649
- }
650
- }
651
- }, {
652
- "method": "inputValid",
653
- "name": "input-valid",
654
- "bubbles": true,
655
- "cancelable": true,
656
- "composed": true,
657
- "docs": {
658
- "tags": [],
659
- "text": "Emited event when checking validity"
660
- },
661
- "complexType": {
662
- "original": "boolean",
663
- "resolved": "boolean",
664
- "references": {}
665
- }
666
- }];
667
- }
668
- static get methods() {
669
- return {
670
- "displayError": {
671
- "complexType": {
672
- "signature": "() => Promise<void>",
673
- "parameters": [],
674
- "references": {
675
- "Promise": {
676
- "location": "global",
677
- "id": "global::Promise"
678
- }
679
- },
680
- "return": "Promise<void>"
681
- },
682
- "docs": {
683
- "text": "Display input error if it exists.",
684
- "tags": []
685
- }
686
- },
687
- "setError": {
688
- "complexType": {
689
- "signature": "(valid: MgInputSelect['valid'], errorMessage: string) => Promise<void>",
690
- "parameters": [{
691
- "tags": [{
692
- "name": "param",
693
- "text": "valid - value indicating the validity"
694
- }],
695
- "text": "- value indicating the validity"
637
+ static get events() {
638
+ return [{
639
+ "method": "valueChange",
640
+ "name": "value-change",
641
+ "bubbles": true,
642
+ "cancelable": true,
643
+ "composed": true,
644
+ "docs": {
645
+ "tags": [],
646
+ "text": "Emited event when value change"
647
+ },
648
+ "complexType": {
649
+ "original": "HTMLMgInputCheckboxElement['value']",
650
+ "resolved": "CheckboxValue[]",
651
+ "references": {
652
+ "HTMLMgInputCheckboxElement": {
653
+ "location": "global",
654
+ "id": "global::HTMLMgInputCheckboxElement"
655
+ }
656
+ }
657
+ }
696
658
  }, {
697
- "tags": [{
698
- "name": "param",
699
- "text": "errorMessage - the error message to display"
700
- }],
701
- "text": "- the error message to display"
702
- }],
703
- "references": {
704
- "Promise": {
705
- "location": "global",
706
- "id": "global::Promise"
659
+ "method": "inputValid",
660
+ "name": "input-valid",
661
+ "bubbles": true,
662
+ "cancelable": true,
663
+ "composed": true,
664
+ "docs": {
665
+ "tags": [],
666
+ "text": "Emited event when checking validity"
667
+ },
668
+ "complexType": {
669
+ "original": "HTMLMgInputCheckboxElement['valid']",
670
+ "resolved": "boolean",
671
+ "references": {
672
+ "HTMLMgInputCheckboxElement": {
673
+ "location": "global",
674
+ "id": "global::HTMLMgInputCheckboxElement"
675
+ }
676
+ }
677
+ }
678
+ }];
679
+ }
680
+ static get methods() {
681
+ return {
682
+ "displayError": {
683
+ "complexType": {
684
+ "signature": "() => Promise<void>",
685
+ "parameters": [],
686
+ "references": {
687
+ "Promise": {
688
+ "location": "global",
689
+ "id": "global::Promise"
690
+ }
691
+ },
692
+ "return": "Promise<void>"
693
+ },
694
+ "docs": {
695
+ "text": "Display input error if it exists.",
696
+ "tags": []
697
+ }
707
698
  },
708
- "MgInputSelect": {
709
- "location": "global",
710
- "id": "global::MgInputSelect"
699
+ "setError": {
700
+ "complexType": {
701
+ "signature": "(valid: MgInputSelect['valid'], errorMessage: string) => Promise<void>",
702
+ "parameters": [{
703
+ "tags": [{
704
+ "name": "param",
705
+ "text": "valid - value indicating the validity"
706
+ }],
707
+ "text": "- value indicating the validity"
708
+ }, {
709
+ "tags": [{
710
+ "name": "param",
711
+ "text": "errorMessage - the error message to display"
712
+ }],
713
+ "text": "- the error message to display"
714
+ }],
715
+ "references": {
716
+ "Promise": {
717
+ "location": "global",
718
+ "id": "global::Promise"
719
+ },
720
+ "MgInputSelect": {
721
+ "location": "global",
722
+ "id": "global::MgInputSelect"
723
+ }
724
+ },
725
+ "return": "Promise<void>"
726
+ },
727
+ "docs": {
728
+ "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`.",
729
+ "tags": [{
730
+ "name": "param",
731
+ "text": "valid - value indicating the validity"
732
+ }, {
733
+ "name": "param",
734
+ "text": "errorMessage - the error message to display"
735
+ }]
736
+ }
711
737
  }
712
- },
713
- "return": "Promise<void>"
714
- },
715
- "docs": {
716
- "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`.",
717
- "tags": [{
718
- "name": "param",
719
- "text": "valid - value indicating the validity"
738
+ };
739
+ }
740
+ static get elementRef() { return "element"; }
741
+ static get watchers() {
742
+ return [{
743
+ "propName": "value",
744
+ "methodName": "validateValue"
720
745
  }, {
721
- "name": "param",
722
- "text": "errorMessage - the error message to display"
723
- }]
724
- }
725
- }
726
- };
727
- }
728
- static get elementRef() { return "element"; }
729
- static get watchers() {
730
- return [{
731
- "propName": "value",
732
- "methodName": "validateValue"
733
- }, {
734
- "propName": "items",
735
- "methodName": "validateItems"
736
- }, {
737
- "propName": "required",
738
- "methodName": "handleValidityChange"
739
- }, {
740
- "propName": "readonly",
741
- "methodName": "handleValidityChange"
742
- }, {
743
- "propName": "disabled",
744
- "methodName": "handleValidityChange"
745
- }];
746
- }
746
+ "propName": "items",
747
+ "methodName": "validateItems"
748
+ }, {
749
+ "propName": "required",
750
+ "methodName": "handleValidityChange"
751
+ }, {
752
+ "propName": "readonly",
753
+ "methodName": "handleValidityChange"
754
+ }, {
755
+ "propName": "disabled",
756
+ "methodName": "handleValidityChange"
757
+ }];
758
+ }
747
759
  }
748
760
  //# sourceMappingURL=mg-input-select.js.map