@mgdis/mg-components 6.13.1 → 6.15.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 (441) hide show
  1. package/dist/cjs/{index-CATFkm3O.js → index-BGxkpQwi.js} +230 -122
  2. package/dist/cjs/{index-DUJwxnoi.js → index-CpENFzEo.js} +2 -5
  3. package/dist/cjs/{index-CwjAofQ1.js → index-iUZvsp-F.js} +55 -34
  4. package/dist/cjs/index.cjs.js +0 -3
  5. package/dist/cjs/loader.cjs.js +3 -7
  6. package/dist/cjs/mg-action-more_37.cjs.entry.js +553 -264
  7. package/dist/cjs/mg-alert.cjs.entry.js +7 -10
  8. package/dist/cjs/mg-components.cjs.js +4 -8
  9. package/dist/cjs/mg-input-combobox.cjs.entry.js +149 -88
  10. package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js +1264 -16023
  11. package/dist/cjs/{mg-input.conf-WTsvDfpC.js → mg-input.conf-CwjEAih3.js} +7 -3
  12. package/dist/cjs/mg-input.utils-D-ASK4ua.js +49 -0
  13. package/dist/cjs/mg-loader.cjs.entry.js +4 -7
  14. package/dist/cjs/mg-progress.cjs.entry.js +3 -6
  15. package/dist/collection/assets/icons/index.js +1 -2
  16. package/dist/collection/collection-manifest.json +2 -2
  17. package/dist/collection/components/atoms/internals/mg-character-left/mg-character-left.js +3 -4
  18. package/dist/collection/components/atoms/internals/mg-input-title/mg-input-title.js +4 -5
  19. package/dist/collection/components/atoms/mg-badge/mg-badge.conf.js +0 -1
  20. package/dist/collection/components/atoms/mg-badge/mg-badge.js +4 -5
  21. package/dist/collection/components/atoms/mg-button/mg-button.conf.js +0 -1
  22. package/dist/collection/components/atoms/mg-button/mg-button.js +9 -10
  23. package/dist/collection/components/atoms/mg-card/mg-card.conf.js +4 -0
  24. package/dist/collection/components/atoms/mg-card/mg-card.js +104 -2
  25. package/dist/collection/components/atoms/mg-divider/mg-divider.js +1 -2
  26. package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js +0 -1
  27. package/dist/collection/components/atoms/mg-icon/mg-icon.js +6 -7
  28. package/dist/collection/components/atoms/mg-tag/mg-tag.conf.js +0 -1
  29. package/dist/collection/components/atoms/mg-tag/mg-tag.js +3 -4
  30. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js +1 -2
  31. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js +0 -1
  32. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +5 -6
  33. package/dist/collection/components/molecules/inputs/mg-input/mg-input.conf.js +6 -1
  34. package/dist/collection/components/molecules/inputs/mg-input/mg-input.js +125 -39
  35. package/dist/collection/components/molecules/inputs/mg-input/mg-input.utils.js +21 -0
  36. package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js +2 -2
  37. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +55 -111
  38. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.js +0 -1
  39. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +143 -68
  40. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf.js +0 -1
  41. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.js +161 -75
  42. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js +0 -1
  43. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +17 -18
  44. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.js +0 -1
  45. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +31 -27
  46. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +18 -19
  47. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.conf.js +0 -1
  48. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +79 -26
  49. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/editor/index.js +0 -1
  50. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js +19 -19
  51. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.conf.js +0 -1
  52. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +91 -37
  53. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.conf.js +0 -1
  54. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +25 -25
  55. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +23 -24
  56. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.conf.js +0 -1
  57. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +156 -23
  58. package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.conf.js +0 -1
  59. package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.js +4 -3
  60. package/dist/collection/components/molecules/menus/mg-menu/mg-menu.conf.js +0 -1
  61. package/dist/collection/components/molecules/menus/mg-menu/mg-menu.js +4 -4
  62. package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.conf.js +0 -1
  63. package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.js +5 -6
  64. package/dist/collection/components/molecules/mg-action-more/mg-action-more.conf.js +0 -1
  65. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +6 -4
  66. package/dist/collection/components/molecules/mg-alert/mg-alert.conf.js +0 -1
  67. package/dist/collection/components/molecules/mg-alert/mg-alert.js +7 -8
  68. package/dist/collection/components/molecules/mg-details/mg-details.js +5 -6
  69. package/dist/collection/components/molecules/mg-form/mg-form.conf.js +0 -1
  70. package/dist/collection/components/molecules/mg-form/mg-form.js +10 -11
  71. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.conf.js +0 -1
  72. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +3 -4
  73. package/dist/collection/components/molecules/mg-loader/mg-loader.js +3 -4
  74. package/dist/collection/components/molecules/mg-message/mg-message.conf.js +0 -1
  75. package/dist/collection/components/molecules/mg-message/mg-message.js +4 -5
  76. package/dist/collection/components/molecules/mg-modal/mg-modal.conf.js +0 -1
  77. package/dist/collection/components/molecules/mg-modal/mg-modal.js +7 -8
  78. package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js +0 -1
  79. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +7 -7
  80. package/dist/collection/components/molecules/mg-panel/mg-panel.conf.js +0 -1
  81. package/dist/collection/components/molecules/mg-panel/mg-panel.js +34 -11
  82. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +2 -3
  83. package/dist/collection/components/molecules/mg-popover/mg-popover.js +7 -8
  84. package/dist/collection/components/molecules/mg-progress/mg-progress.conf.js +0 -1
  85. package/dist/collection/components/molecules/mg-progress/mg-progress.js +6 -7
  86. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.conf.js +0 -1
  87. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +5 -4
  88. package/dist/collection/components/molecules/mg-table/mg-table.conf.js +0 -1
  89. package/dist/collection/components/molecules/mg-table/mg-table.js +6 -6
  90. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js +0 -1
  91. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +6 -6
  92. package/dist/collection/index.js +0 -1
  93. package/dist/collection/locales/en/messages.json +23 -14
  94. package/dist/collection/locales/fr/messages.json +24 -15
  95. package/dist/collection/locales/index.conf.js +0 -1
  96. package/dist/collection/locales/index.js +0 -1
  97. package/dist/collection/types/index.js +0 -1
  98. package/dist/collection/utils/behaviors.utils.js +0 -1
  99. package/dist/collection/utils/events.utils.js +0 -1
  100. package/dist/collection/utils/playwright.fixture.js +0 -1
  101. package/dist/collection/utils/unit.test.utils.js +0 -1
  102. package/dist/components/events.utils.js +0 -3
  103. package/dist/components/index.js +1 -4
  104. package/dist/components/index2.js +3 -6
  105. package/dist/components/index3.js +55 -34
  106. package/dist/components/mg-action-more.js +2 -5
  107. package/dist/components/mg-alert.js +5 -8
  108. package/dist/components/mg-badge.js +0 -3
  109. package/dist/components/mg-badge2.js +1 -4
  110. package/dist/components/mg-button.js +0 -3
  111. package/dist/components/mg-button2.js +1 -4
  112. package/dist/components/mg-card.js +0 -3
  113. package/dist/components/mg-card2.js +55 -6
  114. package/dist/components/mg-character-left.js +0 -3
  115. package/dist/components/mg-character-left2.js +1 -4
  116. package/dist/components/mg-details.js +1 -100
  117. package/dist/components/mg-details2.js +99 -0
  118. package/dist/components/mg-divider.js +0 -3
  119. package/dist/components/mg-divider2.js +1 -4
  120. package/dist/components/mg-form.js +2 -5
  121. package/dist/components/mg-icon.js +0 -3
  122. package/dist/components/mg-icon2.js +1 -4
  123. package/dist/components/mg-illustrated-message.js +2 -5
  124. package/dist/components/mg-input-checkbox-paginated.js +0 -3
  125. package/dist/components/mg-input-checkbox-paginated2.js +43 -127
  126. package/dist/components/mg-input-checkbox.js +136 -65
  127. package/dist/components/mg-input-combobox.js +135 -66
  128. package/dist/components/mg-input-date.js +9 -6
  129. package/dist/components/mg-input-numeric.js +14 -6
  130. package/dist/components/mg-input-password.js +10 -7
  131. package/dist/components/mg-input-radio.js +54 -16
  132. package/dist/components/mg-input-rich-text-editor.js +1265 -16018
  133. package/dist/components/mg-input-select.js +0 -3
  134. package/dist/components/mg-input-select2.js +62 -23
  135. package/dist/components/mg-input-text.js +0 -3
  136. package/dist/components/mg-input-text2.js +10 -7
  137. package/dist/components/mg-input-textarea.js +10 -7
  138. package/dist/components/mg-input-title.js +0 -3
  139. package/dist/components/mg-input-title2.js +1 -4
  140. package/dist/components/mg-input-toggle.js +97 -15
  141. package/dist/components/mg-input.js +0 -3
  142. package/dist/components/mg-input.utils.js +24 -0
  143. package/dist/components/mg-input2.js +115 -28
  144. package/dist/components/mg-item-more.js +0 -3
  145. package/dist/components/mg-item-more2.js +2 -5
  146. package/dist/components/mg-loader.js +0 -3
  147. package/dist/components/mg-loader2.js +2 -5
  148. package/dist/components/mg-menu-item.js +0 -3
  149. package/dist/components/mg-menu-item2.js +1 -4
  150. package/dist/components/mg-menu.js +0 -3
  151. package/dist/components/mg-message.js +0 -3
  152. package/dist/components/mg-message2.js +3 -6
  153. package/dist/components/mg-modal.js +3 -6
  154. package/dist/components/mg-pagination.js +233 -4
  155. package/dist/components/mg-panel.js +20 -12
  156. package/dist/components/mg-popover-content.js +0 -3
  157. package/dist/components/mg-popover-content2.js +2 -5
  158. package/dist/components/mg-popover.js +0 -3
  159. package/dist/components/mg-popover2.js +2 -5
  160. package/dist/components/mg-progress.js +2 -5
  161. package/dist/components/mg-skip-links.js +5 -7
  162. package/dist/components/mg-table.js +4 -7
  163. package/dist/components/mg-tabs.js +1 -314
  164. package/dist/components/mg-tabs2.js +313 -0
  165. package/dist/components/mg-tag.js +1 -4
  166. package/dist/components/mg-tooltip-content.js +0 -3
  167. package/dist/components/mg-tooltip-content2.js +1 -4
  168. package/dist/components/mg-tooltip.js +0 -3
  169. package/dist/components/mg-tooltip2.js +2 -5
  170. package/dist/components/popper.js +0 -3
  171. package/dist/esm/{index-Bv7NHR-W.js → index-CKB-AnCZ.js} +55 -34
  172. package/dist/esm/{index-CAuxALt5.js → index-DhAOnZJn.js} +211 -122
  173. package/dist/esm/{index-Dr7GYvIz.js → index-WtiuOkLj.js} +2 -5
  174. package/dist/esm/index.js +0 -3
  175. package/dist/esm/loader.js +3 -7
  176. package/dist/esm/mg-action-more_37.entry.js +548 -259
  177. package/dist/esm/mg-alert.entry.js +7 -10
  178. package/dist/esm/mg-components.js +4 -8
  179. package/dist/esm/mg-input-combobox.entry.js +129 -68
  180. package/dist/esm/mg-input-rich-text-editor.entry.js +1265 -16024
  181. package/dist/esm/{mg-input.conf-CNgv8hc5.js → mg-input.conf-BAUTlb6r.js} +7 -4
  182. package/dist/esm/mg-input.utils-BYI03zSi.js +46 -0
  183. package/dist/esm/mg-loader.entry.js +4 -7
  184. package/dist/esm/mg-progress.entry.js +3 -6
  185. package/dist/mg-components/index.esm.js +0 -2
  186. package/dist/mg-components/locales/en/messages.json +23 -14
  187. package/dist/mg-components/locales/fr/messages.json +24 -15
  188. package/dist/mg-components/mg-components.css +1 -1
  189. package/dist/mg-components/mg-components.esm.js +1 -2
  190. package/dist/mg-components/p-31856cff.entry.js +1 -0
  191. package/dist/mg-components/p-420daa1e.entry.js +1 -0
  192. package/dist/mg-components/p-47e19783.entry.js +1 -0
  193. package/dist/mg-components/p-67af6274.entry.js +1 -0
  194. package/dist/mg-components/p-698dfc6c.entry.js +1 -0
  195. package/dist/mg-components/p-BAUTlb6r.js +1 -0
  196. package/dist/mg-components/p-CKB-AnCZ.js +1 -0
  197. package/dist/mg-components/p-DhAOnZJn.js +2 -0
  198. package/dist/mg-components/p-PuX-pdL4.js +1 -0
  199. package/dist/mg-components/p-WtiuOkLj.js +1 -0
  200. package/dist/mg-components/p-a0fa44cf.entry.js +1 -0
  201. package/dist/types/assets/icons/index.d.ts +6 -0
  202. package/dist/types/components/atoms/mg-card/mg-card.conf.d.ts +9 -0
  203. package/dist/types/components/atoms/mg-card/mg-card.d.ts +20 -0
  204. package/dist/types/components/molecules/inputs/mg-input/mg-input.conf.d.ts +13 -0
  205. package/dist/types/components/molecules/inputs/mg-input/mg-input.d.ts +16 -5
  206. package/dist/types/components/molecules/inputs/mg-input/mg-input.utils.d.ts +8 -0
  207. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.d.ts +17 -40
  208. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.d.ts +1 -2
  209. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +36 -9
  210. package/dist/types/components/molecules/inputs/mg-input-combobox/mg-input-combobox.d.ts +17 -3
  211. package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.d.ts +18 -0
  212. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +23 -4
  213. package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +40 -4
  214. package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +4 -0
  215. package/dist/types/components.d.ts +471 -39
  216. package/dist/types/stencil-public-runtime.d.ts +34 -6
  217. package/ide/intellij/web-types.json +393 -39
  218. package/ide/vscode/css-custom-data.json +3 -3
  219. package/ide/vscode/html-custom-data.json +223 -35
  220. package/package.json +19 -19
  221. package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -8
  222. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +0 -1
  223. package/dist/cjs/events.utils-D5SAtkpQ.js +0 -28
  224. package/dist/cjs/events.utils-D5SAtkpQ.js.map +0 -1
  225. package/dist/cjs/index-CATFkm3O.js.map +0 -1
  226. package/dist/cjs/index-CwjAofQ1.js.map +0 -1
  227. package/dist/cjs/index-DUJwxnoi.js.map +0 -1
  228. package/dist/cjs/index.cjs.js.map +0 -1
  229. package/dist/cjs/loader.cjs.js.map +0 -1
  230. package/dist/cjs/mg-action-more_37.cjs.entry.js.map +0 -1
  231. package/dist/cjs/mg-alert.cjs.entry.js.map +0 -1
  232. package/dist/cjs/mg-alert.entry.cjs.js.map +0 -1
  233. package/dist/cjs/mg-components.cjs.js.map +0 -1
  234. package/dist/cjs/mg-input-combobox.cjs.entry.js.map +0 -1
  235. package/dist/cjs/mg-input-combobox.entry.cjs.js.map +0 -1
  236. package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js.map +0 -1
  237. package/dist/cjs/mg-input-rich-text-editor.entry.cjs.js.map +0 -1
  238. package/dist/cjs/mg-input.conf-WTsvDfpC.js.map +0 -1
  239. package/dist/cjs/mg-loader.cjs.entry.js.map +0 -1
  240. package/dist/cjs/mg-loader.entry.cjs.js.map +0 -1
  241. package/dist/cjs/mg-progress.cjs.entry.js.map +0 -1
  242. package/dist/cjs/mg-progress.entry.cjs.js.map +0 -1
  243. package/dist/collection/assets/icons/index.js.map +0 -1
  244. package/dist/collection/components/atoms/internals/mg-character-left/mg-character-left.js.map +0 -1
  245. package/dist/collection/components/atoms/internals/mg-input-title/mg-input-title.js.map +0 -1
  246. package/dist/collection/components/atoms/mg-badge/mg-badge.conf.js.map +0 -1
  247. package/dist/collection/components/atoms/mg-badge/mg-badge.js.map +0 -1
  248. package/dist/collection/components/atoms/mg-button/mg-button.conf.js.map +0 -1
  249. package/dist/collection/components/atoms/mg-button/mg-button.js.map +0 -1
  250. package/dist/collection/components/atoms/mg-card/mg-card.js.map +0 -1
  251. package/dist/collection/components/atoms/mg-divider/mg-divider.js.map +0 -1
  252. package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js.map +0 -1
  253. package/dist/collection/components/atoms/mg-icon/mg-icon.js.map +0 -1
  254. package/dist/collection/components/atoms/mg-tag/mg-tag.conf.js.map +0 -1
  255. package/dist/collection/components/atoms/mg-tag/mg-tag.js.map +0 -1
  256. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js.map +0 -1
  257. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js.map +0 -1
  258. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js.map +0 -1
  259. package/dist/collection/components/molecules/inputs/mg-input/mg-input.conf.js.map +0 -1
  260. package/dist/collection/components/molecules/inputs/mg-input/mg-input.js.map +0 -1
  261. package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js.map +0 -1
  262. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js.map +0 -1
  263. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.js.map +0 -1
  264. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js.map +0 -1
  265. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf.js.map +0 -1
  266. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.js.map +0 -1
  267. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js.map +0 -1
  268. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js.map +0 -1
  269. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.js.map +0 -1
  270. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js.map +0 -1
  271. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js.map +0 -1
  272. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.conf.js.map +0 -1
  273. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js.map +0 -1
  274. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/editor/index.js.map +0 -1
  275. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js.map +0 -1
  276. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.conf.js.map +0 -1
  277. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js.map +0 -1
  278. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.conf.js.map +0 -1
  279. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js.map +0 -1
  280. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js.map +0 -1
  281. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.conf.js.map +0 -1
  282. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js.map +0 -1
  283. package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.conf.js.map +0 -1
  284. package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.js.map +0 -1
  285. package/dist/collection/components/molecules/menus/mg-menu/mg-menu.conf.js.map +0 -1
  286. package/dist/collection/components/molecules/menus/mg-menu/mg-menu.js.map +0 -1
  287. package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.conf.js.map +0 -1
  288. package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.js.map +0 -1
  289. package/dist/collection/components/molecules/mg-action-more/mg-action-more.conf.js.map +0 -1
  290. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +0 -1
  291. package/dist/collection/components/molecules/mg-alert/mg-alert.conf.js.map +0 -1
  292. package/dist/collection/components/molecules/mg-alert/mg-alert.js.map +0 -1
  293. package/dist/collection/components/molecules/mg-details/mg-details.js.map +0 -1
  294. package/dist/collection/components/molecules/mg-form/mg-form.conf.js.map +0 -1
  295. package/dist/collection/components/molecules/mg-form/mg-form.js.map +0 -1
  296. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.conf.js.map +0 -1
  297. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js.map +0 -1
  298. package/dist/collection/components/molecules/mg-loader/mg-loader.js.map +0 -1
  299. package/dist/collection/components/molecules/mg-message/mg-message.conf.js.map +0 -1
  300. package/dist/collection/components/molecules/mg-message/mg-message.js.map +0 -1
  301. package/dist/collection/components/molecules/mg-modal/mg-modal.conf.js.map +0 -1
  302. package/dist/collection/components/molecules/mg-modal/mg-modal.js.map +0 -1
  303. package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js.map +0 -1
  304. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js.map +0 -1
  305. package/dist/collection/components/molecules/mg-panel/mg-panel.conf.js.map +0 -1
  306. package/dist/collection/components/molecules/mg-panel/mg-panel.js.map +0 -1
  307. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js.map +0 -1
  308. package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +0 -1
  309. package/dist/collection/components/molecules/mg-progress/mg-progress.conf.js.map +0 -1
  310. package/dist/collection/components/molecules/mg-progress/mg-progress.js.map +0 -1
  311. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.conf.js.map +0 -1
  312. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js.map +0 -1
  313. package/dist/collection/components/molecules/mg-table/mg-table.conf.js.map +0 -1
  314. package/dist/collection/components/molecules/mg-table/mg-table.js.map +0 -1
  315. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js.map +0 -1
  316. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js.map +0 -1
  317. package/dist/collection/index.js.map +0 -1
  318. package/dist/collection/locales/index.conf.js.map +0 -1
  319. package/dist/collection/locales/index.js.map +0 -1
  320. package/dist/collection/types/index.js.map +0 -1
  321. package/dist/collection/utils/behaviors.utils.js.map +0 -1
  322. package/dist/collection/utils/events.utils.js.map +0 -1
  323. package/dist/collection/utils/playwright.fixture.js.map +0 -1
  324. package/dist/collection/utils/unit.test.utils.js.map +0 -1
  325. package/dist/components/events.utils.js.map +0 -1
  326. package/dist/components/index.js.map +0 -1
  327. package/dist/components/index2.js.map +0 -1
  328. package/dist/components/index3.js.map +0 -1
  329. package/dist/components/mg-action-more.js.map +0 -1
  330. package/dist/components/mg-alert.js.map +0 -1
  331. package/dist/components/mg-badge.js.map +0 -1
  332. package/dist/components/mg-badge2.js.map +0 -1
  333. package/dist/components/mg-button.js.map +0 -1
  334. package/dist/components/mg-button2.js.map +0 -1
  335. package/dist/components/mg-card.js.map +0 -1
  336. package/dist/components/mg-card2.js.map +0 -1
  337. package/dist/components/mg-character-left.js.map +0 -1
  338. package/dist/components/mg-character-left2.js.map +0 -1
  339. package/dist/components/mg-details.js.map +0 -1
  340. package/dist/components/mg-divider.js.map +0 -1
  341. package/dist/components/mg-divider2.js.map +0 -1
  342. package/dist/components/mg-form.js.map +0 -1
  343. package/dist/components/mg-icon.js.map +0 -1
  344. package/dist/components/mg-icon2.js.map +0 -1
  345. package/dist/components/mg-illustrated-message.js.map +0 -1
  346. package/dist/components/mg-input-checkbox-paginated.js.map +0 -1
  347. package/dist/components/mg-input-checkbox-paginated2.js.map +0 -1
  348. package/dist/components/mg-input-checkbox.js.map +0 -1
  349. package/dist/components/mg-input-combobox.js.map +0 -1
  350. package/dist/components/mg-input-date.js.map +0 -1
  351. package/dist/components/mg-input-numeric.js.map +0 -1
  352. package/dist/components/mg-input-password.js.map +0 -1
  353. package/dist/components/mg-input-radio.js.map +0 -1
  354. package/dist/components/mg-input-rich-text-editor.js.map +0 -1
  355. package/dist/components/mg-input-select.js.map +0 -1
  356. package/dist/components/mg-input-select2.js.map +0 -1
  357. package/dist/components/mg-input-text.js.map +0 -1
  358. package/dist/components/mg-input-text2.js.map +0 -1
  359. package/dist/components/mg-input-textarea.js.map +0 -1
  360. package/dist/components/mg-input-title.js.map +0 -1
  361. package/dist/components/mg-input-title2.js.map +0 -1
  362. package/dist/components/mg-input-toggle.js.map +0 -1
  363. package/dist/components/mg-input.js.map +0 -1
  364. package/dist/components/mg-input2.js.map +0 -1
  365. package/dist/components/mg-item-more.js.map +0 -1
  366. package/dist/components/mg-item-more2.js.map +0 -1
  367. package/dist/components/mg-loader.js.map +0 -1
  368. package/dist/components/mg-loader2.js.map +0 -1
  369. package/dist/components/mg-menu-item.js.map +0 -1
  370. package/dist/components/mg-menu-item2.js.map +0 -1
  371. package/dist/components/mg-menu.js.map +0 -1
  372. package/dist/components/mg-message.js.map +0 -1
  373. package/dist/components/mg-message2.js.map +0 -1
  374. package/dist/components/mg-modal.js.map +0 -1
  375. package/dist/components/mg-pagination.js.map +0 -1
  376. package/dist/components/mg-pagination2.js +0 -232
  377. package/dist/components/mg-pagination2.js.map +0 -1
  378. package/dist/components/mg-panel.js.map +0 -1
  379. package/dist/components/mg-popover-content.js.map +0 -1
  380. package/dist/components/mg-popover-content2.js.map +0 -1
  381. package/dist/components/mg-popover.js.map +0 -1
  382. package/dist/components/mg-popover2.js.map +0 -1
  383. package/dist/components/mg-progress.js.map +0 -1
  384. package/dist/components/mg-skip-links.js.map +0 -1
  385. package/dist/components/mg-table.js.map +0 -1
  386. package/dist/components/mg-tabs.js.map +0 -1
  387. package/dist/components/mg-tag.js.map +0 -1
  388. package/dist/components/mg-tooltip-content.js.map +0 -1
  389. package/dist/components/mg-tooltip-content2.js.map +0 -1
  390. package/dist/components/mg-tooltip.js.map +0 -1
  391. package/dist/components/mg-tooltip2.js.map +0 -1
  392. package/dist/components/popper.js.map +0 -1
  393. package/dist/esm/app-globals-DQuL1Twl.js +0 -6
  394. package/dist/esm/app-globals-DQuL1Twl.js.map +0 -1
  395. package/dist/esm/events.utils-yMGqY8YG.js +0 -26
  396. package/dist/esm/events.utils-yMGqY8YG.js.map +0 -1
  397. package/dist/esm/index-Bv7NHR-W.js.map +0 -1
  398. package/dist/esm/index-CAuxALt5.js.map +0 -1
  399. package/dist/esm/index-Dr7GYvIz.js.map +0 -1
  400. package/dist/esm/index.js.map +0 -1
  401. package/dist/esm/loader.js.map +0 -1
  402. package/dist/esm/mg-action-more_37.entry.js.map +0 -1
  403. package/dist/esm/mg-alert.entry.js.map +0 -1
  404. package/dist/esm/mg-components.js.map +0 -1
  405. package/dist/esm/mg-input-combobox.entry.js.map +0 -1
  406. package/dist/esm/mg-input-rich-text-editor.entry.js.map +0 -1
  407. package/dist/esm/mg-input.conf-CNgv8hc5.js.map +0 -1
  408. package/dist/esm/mg-loader.entry.js.map +0 -1
  409. package/dist/esm/mg-progress.entry.js.map +0 -1
  410. package/dist/mg-components/index.esm.js.map +0 -1
  411. package/dist/mg-components/loader.esm.js.map +0 -1
  412. package/dist/mg-components/mg-alert.entry.esm.js.map +0 -1
  413. package/dist/mg-components/mg-components.esm.js.map +0 -1
  414. package/dist/mg-components/mg-input-combobox.entry.esm.js.map +0 -1
  415. package/dist/mg-components/mg-input-rich-text-editor.entry.esm.js.map +0 -1
  416. package/dist/mg-components/mg-loader.entry.esm.js.map +0 -1
  417. package/dist/mg-components/mg-progress.entry.esm.js.map +0 -1
  418. package/dist/mg-components/p-19cbc6e6.entry.js +0 -11
  419. package/dist/mg-components/p-19cbc6e6.entry.js.map +0 -1
  420. package/dist/mg-components/p-269e2a80.entry.js +0 -2
  421. package/dist/mg-components/p-269e2a80.entry.js.map +0 -1
  422. package/dist/mg-components/p-2dea7d37.entry.js +0 -2
  423. package/dist/mg-components/p-2dea7d37.entry.js.map +0 -1
  424. package/dist/mg-components/p-415f14fb.entry.js +0 -2
  425. package/dist/mg-components/p-415f14fb.entry.js.map +0 -1
  426. package/dist/mg-components/p-Bv7NHR-W.js +0 -2
  427. package/dist/mg-components/p-Bv7NHR-W.js.map +0 -1
  428. package/dist/mg-components/p-CAuxALt5.js +0 -3
  429. package/dist/mg-components/p-CAuxALt5.js.map +0 -1
  430. package/dist/mg-components/p-CNgv8hc5.js +0 -2
  431. package/dist/mg-components/p-CNgv8hc5.js.map +0 -1
  432. package/dist/mg-components/p-DQuL1Twl.js +0 -2
  433. package/dist/mg-components/p-DQuL1Twl.js.map +0 -1
  434. package/dist/mg-components/p-Dr7GYvIz.js +0 -2
  435. package/dist/mg-components/p-Dr7GYvIz.js.map +0 -1
  436. package/dist/mg-components/p-fe974d2b.entry.js +0 -2
  437. package/dist/mg-components/p-fe974d2b.entry.js.map +0 -1
  438. package/dist/mg-components/p-fea46548.entry.js +0 -2
  439. package/dist/mg-components/p-fea46548.entry.js.map +0 -1
  440. package/dist/mg-components/p-yMGqY8YG.js +0 -2
  441. package/dist/mg-components/p-yMGqY8YG.js.map +0 -1
@@ -4,6 +4,3 @@ const MgInputSelect = MgInputSelect$1;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { MgInputSelect, defineCustomElement };
7
- //# sourceMappingURL=mg-input-select.js.map
8
-
9
- //# sourceMappingURL=mg-input-select.js.map
@@ -2,12 +2,14 @@ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/i
2
2
  import { C as ClassList, d as allItemsAreString, t as toString, i as isValidString } from './index2.js';
3
3
  import { d as defineCustomElement$4, c as classReadonly, a as classDisabled, w as widths } from './mg-input2.js';
4
4
  import { i as initLocales } from './index3.js';
5
+ import { d as defineErrorMessage } from './mg-input.utils.js';
6
+ import { d as defineCustomElement$6 } from './mg-details2.js';
5
7
  import { d as defineCustomElement$5 } from './mg-icon2.js';
6
8
  import { d as defineCustomElement$3 } from './mg-input-title2.js';
7
9
  import { d as defineCustomElement$2 } from './mg-tooltip2.js';
8
10
  import { d as defineCustomElement$1 } from './mg-tooltip-content2.js';
9
11
 
10
- const mgInputSelectCss = ".mg-c-input__box{height:var(--mg-b-size-min-height);box-sizing:border-box;padding:calc((var(--mg-b-size-min-height) - var(--mg-b-font-size)*var(--mg-b-line-height))/2) var(--mg-b-size-8);border-width:var(--mg-c-input-border-width);border-style:solid;border-color:var(--mg-c-input-color-border);border-radius:var(--mg-c-input-border-radius);background-color:var(--mg-b-color-light);color:var(--mg-b-color-dark);font-family:inherit;font-size:var(--mg-b-font-size);text-align:var(--mg-c-input-text-align, left)}.mg-c-input__box::placeholder{color:var(--mg-c-input-placeholder-color-text);font-style:italic}.mg-c-input__box:focus{box-shadow:0 0 var(--mg-b-size-4) var(--mg-c-input-color-box-shadow-focus)}.mg-c-input__box:disabled{opacity:var(--mg-b-opacity-element-disabled)}.mg-c-input.mg-c-input--has-error .mg-c-input__box{border-color:var(--mg-b-color-danger)}.mg-c-input.mg-c-input--is-input-group-append{--mg-c-button-border-radius-top-left:0;--mg-c-button-border-radius-bottom-left:0}.mg-c-input.mg-c-input--is-input-group-append .mg-c-input__box{margin-right:calc(-1*var(--mg-b-size-border));border-bottom-right-radius:0;border-top-right-radius:0}.mg-c-input.mg-c-input--is-input-group-append .mg-c-input__box:focus-visible{outline-offset:-0.2rem;outline-style:solid;outline-width:.2rem}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-c-button-border-radius-top-right:0;--mg-c-button-border-radius-bottom-right:0}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]:not(:last-of-type)){--mg-c-button-border-right-width:0}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-c-button-border-radius-top-right:var(--mg-c-input-border-radius);--mg-c-button-border-radius-bottom-right:var(--mg-c-input-border-radius)}.mg-c-input.mg-c-input--is-append-input-slot-content:not(.mg-c-input--readonly) ::slotted([slot=append-input]){align-self:start;padding-top:calc((var(--mg-b-size-min-height) - var(--mg-b-size-16))/2)}.mg-c-input.mg-c-input--has-icon .mg-c-input__with-character-left>mg-icon:first-of-type,.mg-c-input.mg-c-input--has-icon .mg-c-input__input-group-container>mg-icon:first-of-type{position:absolute;top:50%;left:var(--mg-b-size-8);color:var(--mg-c-input-color-icon);transform:translateY(-50%)}.mg-c-input.mg-c-input--has-icon .mg-c-input__with-character-left .mg-c-input__box,.mg-c-input.mg-c-input--has-icon .mg-c-input__input-group-container .mg-c-input__box{padding-left:calc(var(--mg-b-size-16) + var(--mg-b-size-8)*2)}.mg-c-input__readonly-value{min-height:var(--mg-b-font-size);align-self:flex-start;margin-top:calc((var(--mg-b-size-min-height) - var(--mg-b-font-size)*var(--mg-b-line-height))/2);overflow-wrap:anywhere}.mg-c-input__input-container{width:100%;flex:1 auto}.mg-c-input.mg-c-input--width-full .mg-c-input__box{width:100%}.mg-c-input.mg-c-input--width-2 .mg-c-input__with-character-left,.mg-c-input.mg-c-input--width-4 .mg-c-input__with-character-left,.mg-c-input.mg-c-input--width-16 .mg-c-input__with-character-left{width:max-content}.mg-c-input.mg-c-input--width-2 .mg-c-input__with-character-left:has(textarea),.mg-c-input.mg-c-input--width-4 .mg-c-input__with-character-left:has(textarea),.mg-c-input.mg-c-input--width-16 .mg-c-input__with-character-left:has(textarea){flex-grow:inherit}.mg-c-input.mg-c-input--width-2 .mg-c-input__box{width:var(--mg-b-size-48)}.mg-c-input.mg-c-input--width-2 .mg-c-input__with-character-left:not(:has(textarea)) .mg-c-input__box{width:calc(var(--mg-b-size-48) + var(--mg-c-character-left-message-length)*(.35ch + .3rem))}.mg-c-input.mg-c-input--width-4 .mg-c-input__box{width:var(--mg-b-size-72)}.mg-c-input.mg-c-input--width-4 .mg-c-input__with-character-left:not(:has(textarea)) .mg-c-input__box{width:calc(var(--mg-b-size-72) + var(--mg-c-character-left-message-length)*(.35ch + .3rem))}.mg-c-input.mg-c-input--width-16 .mg-c-input__box{width:calc(26*var(--mg-b-size-8))}.mg-c-input.mg-c-input--width-16 .mg-c-input__with-character-left:not(:has(textarea)) .mg-c-input__box{width:calc(calc(26 * var(--mg-b-size-8)) + var(--mg-c-character-left-message-length)*(.35ch + .3rem))}.mg-c-input.mg-c-input--width-full:not(.mg-c-input--label-on-top){justify-content:stretch}.mg-c-input.mg-c-input--is-input-group-append ::slotted([slot=append-input]),.mg-c-input.mg-c-input--is-append-input-slot-content ::slotted([slot=append-input]){width:auto}:host(.mg-c-input.mg-c-input--width-full) ::slotted(*:not(mg-input-title)){width:100%;max-width:100%}.mg-u-visually-hidden{position:absolute !important;overflow:hidden !important;width:.1rem !important;height:.1rem !important;padding:0 !important;border:0 !important;margin:-0.1rem !important;clip:rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;clip-path:inset(50%) !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){*{animation:none !important;transition:none !important}}a{color:inherit;text-decoration:underline}a:hover,a:focus,a:active{text-decoration:none}.mg-c-input__box{padding-top:0;padding-right:var(--mg-b-size-8);padding-bottom:0}@media screen and (max-width: 767px){.mg-c-input__box{width:100%}}";
12
+ const mgInputSelectCss = ".mg-c-input__error-details{margin:0}.mg-c-input__box{height:var(--mg-b-size-min-height);box-sizing:border-box;padding:calc((var(--mg-b-size-min-height) - var(--mg-b-font-size)*var(--mg-b-line-height))/2) var(--mg-b-size-8);border-width:var(--mg-c-input-border-width);border-style:solid;border-color:var(--mg-c-input-color-border);border-radius:var(--mg-c-input-border-radius);background-color:var(--mg-b-color-light);color:var(--mg-b-color-dark);font-family:inherit;font-size:var(--mg-b-font-size);text-align:var(--mg-c-input-text-align, left)}.mg-c-input__box::placeholder{color:var(--mg-c-input-placeholder-color-text);font-style:italic}.mg-c-input__box:focus{box-shadow:0 0 var(--mg-b-size-4) var(--mg-c-input-color-box-shadow-focus)}.mg-c-input__box:disabled{opacity:var(--mg-b-opacity-element-disabled)}.mg-c-input.mg-c-input--has-error .mg-c-input__box{border-color:var(--mg-b-color-danger)}.mg-c-input.mg-c-input--is-input-group-append{--mg-c-button-border-radius-top-left:0;--mg-c-button-border-radius-bottom-left:0}.mg-c-input.mg-c-input--is-input-group-append .mg-c-input__box{margin-right:calc(-1*var(--mg-b-size-border));border-bottom-right-radius:0;border-top-right-radius:0}.mg-c-input.mg-c-input--is-input-group-append .mg-c-input__box:focus-visible{outline-offset:-0.2rem;outline-style:solid;outline-width:.2rem}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-c-button-border-radius-top-right:0;--mg-c-button-border-radius-bottom-right:0}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]:not(:last-of-type)){--mg-c-button-border-right-width:0}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-c-button-border-radius-top-right:var(--mg-c-input-border-radius);--mg-c-button-border-radius-bottom-right:var(--mg-c-input-border-radius)}.mg-c-input.mg-c-input--is-append-input-slot-content:not(.mg-c-input--readonly) ::slotted([slot=append-input]){align-self:start;padding-top:calc((var(--mg-b-size-min-height) - var(--mg-b-size-16))/2)}.mg-c-input.mg-c-input--has-icon .mg-c-input__with-character-left>mg-icon:first-of-type,.mg-c-input.mg-c-input--has-icon .mg-c-input__input-group-container>mg-icon:first-of-type{position:absolute;top:50%;left:var(--mg-b-size-8);color:var(--mg-c-input-color-icon);transform:translateY(-50%)}.mg-c-input.mg-c-input--has-icon .mg-c-input__with-character-left .mg-c-input__box,.mg-c-input.mg-c-input--has-icon .mg-c-input__input-group-container .mg-c-input__box{padding-left:calc(var(--mg-b-size-16) + var(--mg-b-size-8)*2)}.mg-c-input__readonly-value{min-height:var(--mg-b-font-size);align-self:flex-start;margin-top:calc((var(--mg-b-size-min-height) - var(--mg-b-font-size)*var(--mg-b-line-height))/2);overflow-wrap:anywhere}.mg-c-input__input-container{width:100%;flex:1 auto}.mg-c-input.mg-c-input--width-full .mg-c-input__box{width:100%}.mg-c-input.mg-c-input--width-2 .mg-c-input__with-character-left,.mg-c-input.mg-c-input--width-4 .mg-c-input__with-character-left,.mg-c-input.mg-c-input--width-16 .mg-c-input__with-character-left{width:max-content}.mg-c-input.mg-c-input--width-2 .mg-c-input__with-character-left:has(textarea),.mg-c-input.mg-c-input--width-4 .mg-c-input__with-character-left:has(textarea),.mg-c-input.mg-c-input--width-16 .mg-c-input__with-character-left:has(textarea){flex-grow:inherit}.mg-c-input.mg-c-input--width-2 .mg-c-input__box{width:var(--mg-b-size-48)}.mg-c-input.mg-c-input--width-2 .mg-c-input__with-character-left:not(:has(textarea)) .mg-c-input__box{width:calc(var(--mg-b-size-48) + var(--mg-c-character-left-message-length)*(.35ch + .3rem))}.mg-c-input.mg-c-input--width-4 .mg-c-input__box{width:var(--mg-b-size-72)}.mg-c-input.mg-c-input--width-4 .mg-c-input__with-character-left:not(:has(textarea)) .mg-c-input__box{width:calc(var(--mg-b-size-72) + var(--mg-c-character-left-message-length)*(.35ch + .3rem))}.mg-c-input.mg-c-input--width-16 .mg-c-input__box{width:calc(26*var(--mg-b-size-8))}.mg-c-input.mg-c-input--width-16 .mg-c-input__with-character-left:not(:has(textarea)) .mg-c-input__box{width:calc(calc(26 * var(--mg-b-size-8)) + var(--mg-c-character-left-message-length)*(.35ch + .3rem))}.mg-c-input.mg-c-input--width-full:not(.mg-c-input--label-on-top){justify-content:stretch}.mg-c-input.mg-c-input--is-input-group-append ::slotted([slot=append-input]),.mg-c-input.mg-c-input--is-append-input-slot-content ::slotted([slot=append-input]){width:auto}:host(.mg-c-input.mg-c-input--width-full) ::slotted(*:not(mg-input-title)){width:100%;max-width:100%}.mg-u-visually-hidden{position:absolute !important;overflow:hidden !important;width:.1rem !important;height:.1rem !important;padding:0 !important;border:0 !important;margin:-0.1rem !important;clip:rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;clip-path:inset(50%) !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){*{animation:none !important;transition:none !important}}a{color:inherit;text-decoration:underline}a:hover,a:focus,a:active{text-decoration:none}.mg-c-input__box{padding-top:0;padding-right:var(--mg-b-size-8);padding-bottom:0}@media screen and (max-width: 767px){.mg-c-input__box{width:100%}}";
11
13
 
12
14
  /**
13
15
  * Check if item is a well configured option
@@ -101,6 +103,22 @@ const MgInputSelect = /*@__PURE__*/ proxyCustomElement(class MgInputSelect exten
101
103
  * Component classes
102
104
  */
103
105
  this.classCollection = new ClassList(['mg-c-input--select']);
106
+ /**
107
+ * Method to get readonly value from value
108
+ * @returns readonly value
109
+ */
110
+ this.getReadonlyValue = () => {
111
+ var _a;
112
+ if (allItemsAreString(this.items) && typeof this.value === 'string') {
113
+ return this.items.find(item => item === this.value);
114
+ }
115
+ else if (allItemsAreOptions(this.items)) {
116
+ return (_a = this.items.find(item => item.value === this.value)) === null || _a === void 0 ? void 0 : _a.title;
117
+ }
118
+ else {
119
+ return null;
120
+ }
121
+ };
104
122
  /**
105
123
  * Handle input event
106
124
  */
@@ -129,6 +147,16 @@ const MgInputSelect = /*@__PURE__*/ proxyCustomElement(class MgInputSelect exten
129
147
  * @returns truthy if input.value is an item
130
148
  */
131
149
  this.isInputValue = (item) => { var _a; return item.title === ((_a = this.input) === null || _a === void 0 ? void 0 : _a.value); };
150
+ /**
151
+ * Test if component has items
152
+ * @returns truthy if component has items
153
+ */
154
+ this.hasInputValue = () => { var _a; return ((_a = this.items) === null || _a === void 0 ? void 0 : _a.length) > 0; };
155
+ /**
156
+ * Test if component has no value error message displayed
157
+ * @returns truthy if compent display no value error message
158
+ */
159
+ this.hasNoValueErrorMessageDisplay = () => this.errorMessage === this.messages.errors.noValue;
132
160
  /**
133
161
  * Handle blur event
134
162
  */
@@ -148,7 +176,7 @@ const MgInputSelect = /*@__PURE__*/ proxyCustomElement(class MgInputSelect exten
148
176
  * Check if input is valid
149
177
  */
150
178
  this.checkValidity = () => {
151
- this.setValidity(!this.isDisabledValue() && (this.readonly || this.disabled || this.input.checkValidity()));
179
+ this.setValidity(!this.isDisabledValue() && (this.readonly || this.disabled || (this.hasInputValue() && this.input.checkValidity())));
152
180
  };
153
181
  /**
154
182
  * Set input error message
@@ -161,11 +189,22 @@ const MgInputSelect = /*@__PURE__*/ proxyCustomElement(class MgInputSelect exten
161
189
  if (errorMessage !== undefined) {
162
190
  this.errorMessage = errorMessage;
163
191
  }
192
+ else if (!this.hasInputValue()) {
193
+ this.errorMessage = this.messages.errors.noValue;
194
+ }
164
195
  else if (this.input.validity.valueMissing) {
165
196
  this.errorMessage = this.messages.errors.required;
166
197
  }
167
198
  }
168
199
  };
200
+ /**
201
+ * Reset error message
202
+ */
203
+ this.resetErrorMessage = () => {
204
+ this.checkValidity();
205
+ this.errorMessage = undefined;
206
+ this.hasDisplayedError = false;
207
+ };
169
208
  /**
170
209
  * Render option
171
210
  * @param option - to render
@@ -174,16 +213,6 @@ const MgInputSelect = /*@__PURE__*/ proxyCustomElement(class MgInputSelect exten
174
213
  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));
175
214
  }
176
215
  validateValue(newValue) {
177
- var _a, _b;
178
- if (allItemsAreString(this.items) && typeof newValue === 'string') {
179
- this.readonlyValue = ((_a = this.input) === null || _a === void 0 ? void 0 : _a.value) !== undefined ? this.input.value : newValue;
180
- }
181
- else if (allItemsAreOptions(this.items)) {
182
- this.readonlyValue = (_b = this.items.find(item => item.value === newValue)) === null || _b === void 0 ? void 0 : _b.title;
183
- }
184
- else {
185
- this.readonlyValue = null;
186
- }
187
216
  setTimeout(() => {
188
217
  this.checkValidity();
189
218
  if (this.hasDisplayedError) {
@@ -193,9 +222,11 @@ const MgInputSelect = /*@__PURE__*/ proxyCustomElement(class MgInputSelect exten
193
222
  this.valueChange.emit(newValue);
194
223
  }
195
224
  validateItems(newValue) {
225
+ let resetMessage = false;
196
226
  // Empty options
197
- if (newValue.length === 0) {
227
+ if ([undefined, null].includes(newValue) || (Array.isArray(newValue) && newValue.length === 0)) {
198
228
  this.options = [];
229
+ this.displayError();
199
230
  }
200
231
  // String array
201
232
  else if (allItemsAreString(newValue)) {
@@ -203,6 +234,8 @@ const MgInputSelect = /*@__PURE__*/ proxyCustomElement(class MgInputSelect exten
203
234
  this.valueExist = newValue.includes(this.value);
204
235
  }
205
236
  this.options = newValue.map(item => ({ title: item, value: item }));
237
+ // force to reset error when noValueError is displaied
238
+ resetMessage = this.invalid && this.hasNoValueErrorMessageDisplay();
206
239
  }
207
240
  // Object array
208
241
  else if (allItemsAreOptions(newValue)) {
@@ -215,10 +248,15 @@ const MgInputSelect = /*@__PURE__*/ proxyCustomElement(class MgInputSelect exten
215
248
  else {
216
249
  this.options = newValue;
217
250
  }
251
+ // force to reset error when noValueError is displaied
252
+ resetMessage = this.invalid && this.hasNoValueErrorMessageDisplay();
218
253
  }
219
254
  else {
220
255
  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. Passed value: ${toString(newValue)}.`);
221
256
  }
257
+ if (resetMessage) {
258
+ this.resetErrorMessage();
259
+ }
222
260
  }
223
261
  watchReadonly(newValue) {
224
262
  if (newValue)
@@ -312,9 +350,7 @@ const MgInputSelect = /*@__PURE__*/ proxyCustomElement(class MgInputSelect exten
312
350
  // - Keep everything in sync both inside and outside the component
313
351
  return new Promise(resolve => {
314
352
  requestAnimationFrame(() => {
315
- this.checkValidity();
316
- this.errorMessage = undefined;
317
- this.hasDisplayedError = false;
353
+ this.resetErrorMessage();
318
354
  resolve();
319
355
  });
320
356
  });
@@ -365,7 +401,8 @@ const MgInputSelect = /*@__PURE__*/ proxyCustomElement(class MgInputSelect exten
365
401
  * @returns HTML Element
366
402
  */
367
403
  render() {
368
- return (h("mg-input", { key: 'c755e68979b8cb479f409c0ac99d4fc47d1e4c25', label: this.label, identifier: this.identifier, class: this.classCollection.join(), ariaDescribedbyIDs: [], labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, tooltip: this.tooltip, tooltipPosition: this.readonly && this.readonlyValue === null ? 'label' : this.tooltipPosition, helpText: this.helpText, errorMessage: this.errorMessage }, this.readonly ? (this.readonlyValue && h("b", { class: "mg-c-input__readonly-value" }, this.readonlyValue)) : (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) => {
404
+ const readonlyValue = this.getReadonlyValue();
405
+ return (h("mg-input", { key: 'b980e7e5bd2e1eac6e0075e61f3a6d8ab993216a', label: this.label, identifier: this.identifier, class: this.classCollection.join(), labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, tooltip: this.tooltip, tooltipPosition: this.readonly && readonlyValue === null ? 'label' : this.tooltipPosition, helpText: this.helpText, errorMessage: defineErrorMessage(this.errorMessage, this.noValueErrorDetail) }, this.readonly ? (readonlyValue && h("b", { class: "mg-c-input__readonly-value" }, readonlyValue)) : (h("select", { class: "mg-c-input__box", id: this.identifier, name: this.name, title: this.placeholder, disabled: this.disabled || !this.hasInputValue(), required: this.required, "aria-invalid": (this.invalid === true).toString(), onInput: this.handleInput, onBlur: this.handleBlur, ref: (el) => {
369
406
  if (el !== null)
370
407
  this.input = el;
371
408
  } }, (!this.placeholderHide || !this.valueExist) && ( // In case passed value does not match any option we display the placeholder
@@ -381,7 +418,7 @@ const MgInputSelect = /*@__PURE__*/ proxyCustomElement(class MgInputSelect exten
381
418
  "mgWidth": ["watchMgWidth"]
382
419
  }; }
383
420
  static get style() { return mgInputSelectCss; }
384
- }, [1, "mg-input-select", {
421
+ }, [257, "mg-input-select", {
385
422
  "value": [1032],
386
423
  "items": [16],
387
424
  "identifier": [1],
@@ -399,13 +436,13 @@ const MgInputSelect = /*@__PURE__*/ proxyCustomElement(class MgInputSelect exten
399
436
  "tooltip": [1],
400
437
  "tooltipPosition": [1, "tooltip-position"],
401
438
  "helpText": [1, "help-text"],
439
+ "noValueErrorDetail": [1, "no-value-error-detail"],
402
440
  "valid": [1028],
403
441
  "invalid": [1028],
404
442
  "classCollection": [32],
405
443
  "errorMessage": [32],
406
444
  "options": [32],
407
445
  "valueExist": [32],
408
- "readonlyValue": [32],
409
446
  "setFocus": [64],
410
447
  "displayError": [64],
411
448
  "setError": [64],
@@ -422,13 +459,18 @@ function defineCustomElement() {
422
459
  if (typeof customElements === "undefined") {
423
460
  return;
424
461
  }
425
- const components = ["mg-input-select", "mg-icon", "mg-input", "mg-input-title", "mg-tooltip", "mg-tooltip-content"];
462
+ const components = ["mg-input-select", "mg-details", "mg-icon", "mg-input", "mg-input-title", "mg-tooltip", "mg-tooltip-content"];
426
463
  components.forEach(tagName => { switch (tagName) {
427
464
  case "mg-input-select":
428
465
  if (!customElements.get(tagName)) {
429
466
  customElements.define(tagName, MgInputSelect);
430
467
  }
431
468
  break;
469
+ case "mg-details":
470
+ if (!customElements.get(tagName)) {
471
+ defineCustomElement$6();
472
+ }
473
+ break;
432
474
  case "mg-icon":
433
475
  if (!customElements.get(tagName)) {
434
476
  defineCustomElement$5();
@@ -459,6 +501,3 @@ function defineCustomElement() {
459
501
  defineCustomElement();
460
502
 
461
503
  export { MgInputSelect as M, defineCustomElement as d };
462
- //# sourceMappingURL=mg-input-select2.js.map
463
-
464
- //# sourceMappingURL=mg-input-select2.js.map
@@ -4,6 +4,3 @@ const MgInputText = MgInputText$1;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { MgInputText, defineCustomElement };
7
- //# sourceMappingURL=mg-input-text.js.map
8
-
9
- //# sourceMappingURL=mg-input-text.js.map
@@ -2,7 +2,8 @@ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/i
2
2
  import { C as ClassList, i as isValidString, d as allItemsAreString, t as toString } from './index2.js';
3
3
  import { d as defineCustomElement$4, c as classReadonly, a as classDisabled, w as widths } from './mg-input2.js';
4
4
  import { i as initLocales } from './index3.js';
5
- import { d as defineCustomElement$6 } from './mg-character-left2.js';
5
+ import { d as defineCustomElement$7 } from './mg-character-left2.js';
6
+ import { d as defineCustomElement$6 } from './mg-details2.js';
6
7
  import { d as defineCustomElement$5 } from './mg-icon2.js';
7
8
  import { d as defineCustomElement$3 } from './mg-input-title2.js';
8
9
  import { d as defineCustomElement$2 } from './mg-tooltip2.js';
@@ -382,7 +383,7 @@ const MgInputText = /*@__PURE__*/ proxyCustomElement(class MgInputText extends H
382
383
  * @returns HTML Element
383
384
  */
384
385
  render() {
385
- return (h("mg-input", { key: '76e332d40fea8e1897da15271989f29d710c6550', label: this.label, identifier: this.identifier, class: this.classCollection.join(), ariaDescribedbyIDs: [this.characterLeftId], labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, tooltip: this.tooltip, tooltipPosition: this.readonly && this.value === undefined ? 'label' : this.tooltipPosition, helpText: this.helpText, errorMessage: this.errorMessage }, this.readonly
386
+ return (h("mg-input", { key: '8b9ffd8f5546fe9ffe0e7054e794afa06de4189f', label: this.label, identifier: this.identifier, class: this.classCollection.join(), ariaDescribedbyIDs: this.characterLeftId, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, tooltip: this.tooltip, tooltipPosition: this.readonly && this.value === undefined ? 'label' : this.tooltipPosition, helpText: this.helpText, errorMessage: this.errorMessage }, this.readonly
386
387
  ? this.value && this.renderReadonly()
387
388
  : [
388
389
  h("div", { key: "input", class: "mg-c-input__with-character-left", style: {
@@ -409,7 +410,7 @@ const MgInputText = /*@__PURE__*/ proxyCustomElement(class MgInputText extends H
409
410
  "helpText": ["watchHelpText"]
410
411
  }; }
411
412
  static get style() { return mgInputTextCss; }
412
- }, [1, "mg-input-text", {
413
+ }, [257, "mg-input-text", {
413
414
  "value": [1544],
414
415
  "identifier": [1],
415
416
  "name": [1],
@@ -456,7 +457,7 @@ function defineCustomElement() {
456
457
  if (typeof customElements === "undefined") {
457
458
  return;
458
459
  }
459
- const components = ["mg-input-text", "mg-character-left", "mg-icon", "mg-input", "mg-input-title", "mg-tooltip", "mg-tooltip-content"];
460
+ const components = ["mg-input-text", "mg-character-left", "mg-details", "mg-icon", "mg-input", "mg-input-title", "mg-tooltip", "mg-tooltip-content"];
460
461
  components.forEach(tagName => { switch (tagName) {
461
462
  case "mg-input-text":
462
463
  if (!customElements.get(tagName)) {
@@ -464,6 +465,11 @@ function defineCustomElement() {
464
465
  }
465
466
  break;
466
467
  case "mg-character-left":
468
+ if (!customElements.get(tagName)) {
469
+ defineCustomElement$7();
470
+ }
471
+ break;
472
+ case "mg-details":
467
473
  if (!customElements.get(tagName)) {
468
474
  defineCustomElement$6();
469
475
  }
@@ -498,6 +504,3 @@ function defineCustomElement() {
498
504
  defineCustomElement();
499
505
 
500
506
  export { MgInputText as M, defineCustomElement as d };
501
- //# sourceMappingURL=mg-input-text2.js.map
502
-
503
- //# sourceMappingURL=mg-input-text2.js.map
@@ -2,7 +2,8 @@ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/i
2
2
  import { C as ClassList, i as isValidString, t as toString } from './index2.js';
3
3
  import { d as defineCustomElement$5, c as classReadonly, a as classDisabled, w as widths } from './mg-input2.js';
4
4
  import { i as initLocales } from './index3.js';
5
- import { d as defineCustomElement$7 } from './mg-character-left2.js';
5
+ import { d as defineCustomElement$8 } from './mg-character-left2.js';
6
+ import { d as defineCustomElement$7 } from './mg-details2.js';
6
7
  import { d as defineCustomElement$6 } from './mg-icon2.js';
7
8
  import { d as defineCustomElement$4 } from './mg-input-title2.js';
8
9
  import { d as defineCustomElement$3 } from './mg-tooltip2.js';
@@ -302,7 +303,7 @@ const MgInputTextarea$1 = /*@__PURE__*/ proxyCustomElement(class MgInputTextarea
302
303
  * @returns HTML Element
303
304
  */
304
305
  render() {
305
- return (h("mg-input", { key: '7bcbb8d4ca3244f2278ebad0b85f83be0187a996', label: this.label, identifier: this.identifier, class: this.classCollection.join(), ariaDescribedbyIDs: [this.characterLeftId], labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, tooltip: this.tooltip, tooltipPosition: this.readonly && this.value === undefined ? 'label' : this.tooltipPosition, helpText: this.helpText, errorMessage: this.errorMessage }, this.readonly ? (this.value && h("b", { class: "mg-c-input__readonly-value" }, this.value)) : (h("div", { class: "mg-c-input__with-character-left" }, h("textarea", { class: {
306
+ return (h("mg-input", { key: 'e87320fe4d3c2c857751ddcc30fab470956b4ed2', label: this.label, identifier: this.identifier, class: this.classCollection.join(), ariaDescribedbyIDs: this.characterLeftId, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, tooltip: this.tooltip, tooltipPosition: this.readonly && this.value === undefined ? 'label' : this.tooltipPosition, helpText: this.helpText, errorMessage: this.errorMessage }, this.readonly ? (this.value && h("b", { class: "mg-c-input__readonly-value" }, this.value)) : (h("div", { class: "mg-c-input__with-character-left" }, h("textarea", { class: {
306
307
  'mg-c-input__box': true,
307
308
  'mg-c-input__box--width': true,
308
309
  'mg-c-input__box--resizable': this.resizable === 'both',
@@ -325,7 +326,7 @@ const MgInputTextarea$1 = /*@__PURE__*/ proxyCustomElement(class MgInputTextarea
325
326
  "characterLeftHide": ["validatecharacterLeftHide"]
326
327
  }; }
327
328
  static get style() { return mgInputTextareaCss; }
328
- }, [1, "mg-input-textarea", {
329
+ }, [257, "mg-input-textarea", {
329
330
  "value": [1537],
330
331
  "identifier": [1],
331
332
  "name": [1],
@@ -368,7 +369,7 @@ function defineCustomElement$1() {
368
369
  if (typeof customElements === "undefined") {
369
370
  return;
370
371
  }
371
- const components = ["mg-input-textarea", "mg-character-left", "mg-icon", "mg-input", "mg-input-title", "mg-tooltip", "mg-tooltip-content"];
372
+ const components = ["mg-input-textarea", "mg-character-left", "mg-details", "mg-icon", "mg-input", "mg-input-title", "mg-tooltip", "mg-tooltip-content"];
372
373
  components.forEach(tagName => { switch (tagName) {
373
374
  case "mg-input-textarea":
374
375
  if (!customElements.get(tagName)) {
@@ -376,6 +377,11 @@ function defineCustomElement$1() {
376
377
  }
377
378
  break;
378
379
  case "mg-character-left":
380
+ if (!customElements.get(tagName)) {
381
+ defineCustomElement$8();
382
+ }
383
+ break;
384
+ case "mg-details":
379
385
  if (!customElements.get(tagName)) {
380
386
  defineCustomElement$7();
381
387
  }
@@ -413,6 +419,3 @@ const MgInputTextarea = MgInputTextarea$1;
413
419
  const defineCustomElement = defineCustomElement$1;
414
420
 
415
421
  export { MgInputTextarea, defineCustomElement };
416
- //# sourceMappingURL=mg-input-textarea.js.map
417
-
418
- //# sourceMappingURL=mg-input-textarea.js.map
@@ -4,6 +4,3 @@ const MgInputTitle = MgInputTitle$1;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { MgInputTitle, defineCustomElement };
7
- //# sourceMappingURL=mg-input-title.js.map
8
-
9
- //# sourceMappingURL=mg-input-title.js.map
@@ -51,7 +51,7 @@ const MgInputTitle = /*@__PURE__*/ proxyCustomElement(class MgInputTitle extends
51
51
  "isLegend": ["validateIsLegend"]
52
52
  }; }
53
53
  static get style() { return mgInputTitleCss; }
54
- }, [6, "mg-input-title", {
54
+ }, [262, "mg-input-title", {
55
55
  "identifier": [1],
56
56
  "required": [4],
57
57
  "readonly": [4],
@@ -77,6 +77,3 @@ function defineCustomElement() {
77
77
  defineCustomElement();
78
78
 
79
79
  export { MgInputTitle as M, defineCustomElement as d };
80
- //# sourceMappingURL=mg-input-title2.js.map
81
-
82
- //# sourceMappingURL=mg-input-title2.js.map
@@ -1,12 +1,15 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
2
  import { C as ClassList, t as toString, d as allItemsAreString, i as isValidString } from './index2.js';
3
3
  import { d as defineCustomElement$5, c as classReadonly, a as classDisabled } from './mg-input2.js';
4
+ import { i as initLocales } from './index3.js';
5
+ import { d as defineErrorMessage } from './mg-input.utils.js';
6
+ import { d as defineCustomElement$7 } from './mg-details2.js';
4
7
  import { d as defineCustomElement$6 } from './mg-icon2.js';
5
8
  import { d as defineCustomElement$4 } from './mg-input-title2.js';
6
9
  import { d as defineCustomElement$3 } from './mg-tooltip2.js';
7
10
  import { d as defineCustomElement$2 } from './mg-tooltip-content2.js';
8
11
 
9
- const mgInputToggleCss = ".mg-c-input__readonly-value{min-height:var(--mg-b-font-size);align-self:flex-start;margin-top:calc((var(--mg-b-size-min-height) - var(--mg-b-font-size)*var(--mg-b-line-height))/2);overflow-wrap:anywhere}.mg-u-visually-hidden{position:absolute !important;overflow:hidden !important;width:.1rem !important;height:.1rem !important;padding:0 !important;border:0 !important;margin:-0.1rem !important;clip:rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;clip-path:inset(50%) !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){*{animation:none !important;transition:none !important}}a{color:inherit;text-decoration:underline}a:hover,a:focus,a:active{text-decoration:none}.mg-c-input__toggle-item-container{overflow:hidden;box-sizing:border-box;padding:var(--mg-b-size-4) var(--mg-b-size-8);border:0;border-radius:calc((var(--mg-b-font-size)*var(--mg-b-line-height) + 2*var(--mg-b-size-4))/var(--mg-c-input-toggle-border-radius-ratio));background-color:unset;color:var(--mg-b-color-dark);font-weight:unset;text-overflow:ellipsis;white-space:nowrap}.mg-c-input__toggle-item-container:first-of-type{background-color:color-mix(in srgb, var(--mg-b-color-app), white 80%);color:var(--mg-b-color-app);font-weight:600}.mg-c-input__button-toggle{display:flex;min-width:0;padding:var(--mg-b-size-4);border-width:var(--mg-c-input-border-width);border-style:solid;border-color:var(--mg-c-input-color-border);border-radius:calc((var(--mg-b-font-size)*var(--mg-b-line-height) + 2*(var(--mg-b-size-4) + var(--mg-b-size-4) + var(--mg-c-input-border-width)))/var(--mg-c-input-toggle-border-radius-ratio));background-color:var(--mg-b-color-light);cursor:pointer;font-family:var(--mg-b-font-family);font-size:inherit;line-height:inherit}.mg-c-input__button-toggle:disabled{cursor:default}.mg-c-input.mg-c-input--toggle .mg-c-input__input-container{min-width:0;flex:auto}.mg-c-input.mg-c-input--toggle-is-active .mg-c-input__toggle-item-container:first-of-type{background-color:unset;color:var(--mg-b-color-dark);font-weight:unset}.mg-c-input.mg-c-input--toggle-is-active .mg-c-input__toggle-item-container:last-of-type{background-color:color-mix(in srgb, var(--mg-b-color-app), white 80%);color:var(--mg-b-color-info);font-weight:600}.mg-c-input.mg-c-input--toggle-icon .mg-c-input__toggle-item-container{display:flex;width:calc(var(--mg-b-font-size)*var(--mg-b-line-height) + 2*var(--mg-b-size-4));height:calc(var(--mg-b-font-size)*var(--mg-b-line-height) + 2*var(--mg-b-size-4));align-items:center;justify-content:center;padding:0;visibility:hidden}.mg-c-input.mg-c-input--toggle-icon .mg-c-input__toggle-item-container:first-of-type{visibility:visible}.mg-c-input.mg-c-input--toggle-icon .mg-c-input__toggle-item-container ::slotted(mg-icon){display:flex}.mg-c-input.mg-c-input--toggle-icon.mg-c-input--toggle-is-active .mg-c-input__toggle-item-container:first-of-type{visibility:hidden}.mg-c-input.mg-c-input--toggle-icon.mg-c-input--toggle-is-active .mg-c-input__toggle-item-container:last-of-type{visibility:visible}.mg-c-input.mg-c-input--toggle-on-off .mg-c-input__toggle-item-container:first-of-type{background-color:var(--mg-b-color-neutral-30);color:var(--mg-b-color-dark);font-weight:600}.mg-c-input.mg-c-input--toggle-on-off.mg-c-input--toggle-is-active .mg-c-input__toggle-item-container:first-of-type{background-color:unset;color:var(--mg-b-color-dark);font-weight:unset}";
12
+ const mgInputToggleCss = ".mg-c-input__error-details{margin:0}.mg-c-input__readonly-value{min-height:var(--mg-b-font-size);align-self:flex-start;margin-top:calc((var(--mg-b-size-min-height) - var(--mg-b-font-size)*var(--mg-b-line-height))/2);overflow-wrap:anywhere}.mg-u-visually-hidden{position:absolute !important;overflow:hidden !important;width:.1rem !important;height:.1rem !important;padding:0 !important;border:0 !important;margin:-0.1rem !important;clip:rect(0.1rem, 0.1rem, 0.1rem, 0.1rem) !important;clip-path:inset(50%) !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){*{animation:none !important;transition:none !important}}a{color:inherit;text-decoration:underline}a:hover,a:focus,a:active{text-decoration:none}.mg-c-input__toggle-item-container{overflow:hidden;box-sizing:border-box;padding:var(--mg-b-size-4) var(--mg-b-size-8);border:0;border-radius:calc((var(--mg-b-font-size)*var(--mg-b-line-height) + 2*var(--mg-b-size-4))/var(--mg-c-input-toggle-border-radius-ratio));background-color:unset;color:var(--mg-b-color-dark);font-weight:unset;text-overflow:ellipsis;white-space:nowrap}.mg-c-input__toggle-item-container:first-of-type{background-color:color-mix(in srgb, var(--mg-b-color-app), white 80%);color:var(--mg-b-color-app);font-weight:600}.mg-c-input__button-toggle{display:flex;min-width:0;padding:var(--mg-b-size-4);border-width:var(--mg-c-input-border-width);border-style:solid;border-color:var(--mg-c-input-color-border);border-radius:calc((var(--mg-b-font-size)*var(--mg-b-line-height) + 2*(var(--mg-b-size-4) + var(--mg-b-size-4) + var(--mg-c-input-border-width)))/var(--mg-c-input-toggle-border-radius-ratio));background-color:var(--mg-b-color-light);cursor:pointer;font-family:var(--mg-b-font-family);font-size:inherit;line-height:inherit}.mg-c-input__button-toggle:disabled{cursor:default}.mg-c-input.mg-c-input--toggle .mg-c-input__input-container{min-width:0;flex:auto}.mg-c-input.mg-c-input--toggle-is-active .mg-c-input__toggle-item-container:first-of-type{background-color:unset;color:var(--mg-b-color-dark);font-weight:unset}.mg-c-input.mg-c-input--toggle-is-active .mg-c-input__toggle-item-container:last-of-type{background-color:color-mix(in srgb, var(--mg-b-color-app), white 80%);color:var(--mg-b-color-info);font-weight:600}.mg-c-input.mg-c-input--toggle-icon .mg-c-input__toggle-item-container{display:flex;width:calc(var(--mg-b-font-size)*var(--mg-b-line-height) + 2*var(--mg-b-size-4));height:calc(var(--mg-b-font-size)*var(--mg-b-line-height) + 2*var(--mg-b-size-4));align-items:center;justify-content:center;padding:0;visibility:hidden}.mg-c-input.mg-c-input--toggle-icon .mg-c-input__toggle-item-container:first-of-type{visibility:visible}.mg-c-input.mg-c-input--toggle-icon .mg-c-input__toggle-item-container ::slotted(mg-icon){display:flex}.mg-c-input.mg-c-input--toggle-icon.mg-c-input--toggle-is-active .mg-c-input__toggle-item-container:first-of-type{visibility:hidden}.mg-c-input.mg-c-input--toggle-icon.mg-c-input--toggle-is-active .mg-c-input__toggle-item-container:last-of-type{visibility:visible}.mg-c-input.mg-c-input--toggle-on-off .mg-c-input__toggle-item-container:first-of-type{background-color:var(--mg-b-color-neutral-30);color:var(--mg-b-color-dark);font-weight:600}.mg-c-input.mg-c-input--toggle-on-off.mg-c-input--toggle-is-active .mg-c-input__toggle-item-container:first-of-type{background-color:unset;color:var(--mg-b-color-dark);font-weight:unset}";
10
13
 
11
14
  /**
12
15
  * type Option validation function
@@ -66,6 +69,29 @@ const MgInputToggle$1 = /*@__PURE__*/ proxyCustomElement(class MgInputToggle ext
66
69
  * Checked internal value
67
70
  */
68
71
  this.checked = false;
72
+ /**
73
+ * Check if input is valid
74
+ */
75
+ this.checkValidity = () => {
76
+ this.setValidity(this.readonly || this.disabled || this.hasInputItems());
77
+ };
78
+ /**
79
+ * Reset error message
80
+ */
81
+ this.resetErrorMessage = () => {
82
+ this.checkValidity();
83
+ this.errorMessage = undefined;
84
+ };
85
+ /**
86
+ * Test if component has items
87
+ * @returns truthy if component has items
88
+ */
89
+ this.hasInputItems = () => { var _a; return ((_a = this.items) === null || _a === void 0 ? void 0 : _a.length) > 0; };
90
+ /**
91
+ * Test if component has no value error message displayed
92
+ * @returns truthy if compent display no value error message
93
+ */
94
+ this.hasNoValueErrorMessageDisplay = () => this.errorMessage === this.messages.errors.noValue;
69
95
  /**
70
96
  * Set input error message
71
97
  * @param errorMessage - errorMessage override
@@ -74,8 +100,13 @@ const MgInputToggle$1 = /*@__PURE__*/ proxyCustomElement(class MgInputToggle ext
74
100
  // Set error message
75
101
  this.errorMessage = undefined;
76
102
  // Does have a custom error message
77
- if (!this.valid && errorMessage !== undefined) {
78
- this.errorMessage = errorMessage;
103
+ if (!this.valid) {
104
+ if (errorMessage !== undefined) {
105
+ this.errorMessage = errorMessage;
106
+ }
107
+ else if (!this.hasInputItems()) {
108
+ this.errorMessage = this.messages.errors.noValue;
109
+ }
79
110
  }
80
111
  };
81
112
  /**
@@ -90,7 +121,7 @@ const MgInputToggle$1 = /*@__PURE__*/ proxyCustomElement(class MgInputToggle ext
90
121
  this.validateSlots = () => {
91
122
  const slots = Array.from(this.element.children);
92
123
  if (slots.length !== 2) {
93
- throw new Error('<mg-input-toggle> 2 slots are required.');
124
+ console.error('<mg-input-toggle> 2 slots are required.');
94
125
  }
95
126
  else if (!this.isIcon) {
96
127
  // Due to text-overflow set to ellipsis
@@ -121,16 +152,28 @@ const MgInputToggle$1 = /*@__PURE__*/ proxyCustomElement(class MgInputToggle ext
121
152
  this.valueChange.emit(newValue);
122
153
  }
123
154
  validateItems(newValue) {
124
- if (typeof newValue === 'object' && this.items.length !== 2) {
155
+ if ([undefined, null].includes(newValue) || (Array.isArray(newValue) && newValue.length === 0)) {
156
+ this.options = [];
157
+ this.displayError();
158
+ }
159
+ else if (Array.isArray(newValue) && this.items.length !== 2) {
125
160
  throw new Error(`<mg-input-toggle> prop "items" require 2 items. Passed value: ${toString(newValue)}.`);
126
161
  }
127
162
  // String array
128
163
  else if (allItemsAreString(newValue)) {
129
164
  this.options = newValue.map(item => ({ title: item, value: item }));
165
+ // force to reset error when noValueError is displaied
166
+ if (this.invalid && this.hasNoValueErrorMessageDisplay()) {
167
+ this.resetErrorMessage();
168
+ }
130
169
  }
131
170
  // Object array
132
171
  else if (Array.isArray(newValue) && newValue.every(isOption)) {
133
172
  this.options = newValue;
173
+ // force to reset error when noValueError is displaied
174
+ if (this.invalid && this.hasNoValueErrorMessageDisplay()) {
175
+ this.resetErrorMessage();
176
+ }
134
177
  }
135
178
  else {
136
179
  throw new Error(`<mg-input-toggle> prop "items" is required and all items must be the same type: ToggleValue. Passed value: ${toString(newValue)}.`);
@@ -192,8 +235,7 @@ const MgInputToggle$1 = /*@__PURE__*/ proxyCustomElement(class MgInputToggle ext
192
235
  throw new Error('<mg-input-toggle> method "setError()" param "errorMessage" must be a string.');
193
236
  }
194
237
  else {
195
- this.valid = valid;
196
- this.inputValid.emit(valid);
238
+ this.setValidity(valid);
197
239
  this.setErrorMessage(valid ? undefined : errorMessage);
198
240
  }
199
241
  }
@@ -212,12 +254,43 @@ const MgInputToggle$1 = /*@__PURE__*/ proxyCustomElement(class MgInputToggle ext
212
254
  // - Keep everything in sync both inside and outside the component
213
255
  return new Promise(resolve => {
214
256
  requestAnimationFrame(() => {
215
- this.errorMessage = undefined;
257
+ this.resetErrorMessage();
216
258
  resolve();
217
259
  });
218
260
  });
219
261
  }
220
262
  }
263
+ /**
264
+ * Display input error if it exists.
265
+ */
266
+ displayError() {
267
+ // Use `Promise` as requested for stencil method
268
+ // Use `requestAnimationFrame` to ensure:
269
+ // - DOM is fully updated before validation
270
+ // - Async operations are completed
271
+ // - No timing issues with Stencil's render cycle
272
+ // - Keep everything in sync both inside and outside the component
273
+ return new Promise(resolve => {
274
+ requestAnimationFrame(() => {
275
+ this.checkValidity();
276
+ this.setErrorMessage();
277
+ resolve();
278
+ });
279
+ });
280
+ }
281
+ /**
282
+ * Method to set validity values
283
+ * @param newValue - valid new value
284
+ */
285
+ setValidity(newValue) {
286
+ const oldValidValue = this.valid;
287
+ this.valid = newValue;
288
+ this.invalid = !this.valid;
289
+ // We need to send valid event even if it is the same value
290
+ if (this.valid !== oldValidValue) {
291
+ this.inputValid.emit(this.valid);
292
+ }
293
+ }
221
294
  /**
222
295
  * set checked state
223
296
  */
@@ -236,6 +309,9 @@ const MgInputToggle$1 = /*@__PURE__*/ proxyCustomElement(class MgInputToggle ext
236
309
  const selectedValue = this.value === this.options[optionTrueValueIndex].value;
237
310
  this.checked = optionTrueValueIndex === 0 ? !selectedValue : selectedValue;
238
311
  }
312
+ else if (Array.isArray(this.options) && this.options.length === 0) {
313
+ return;
314
+ }
239
315
  else {
240
316
  this.checked = this.value === this.options[1].value;
241
317
  }
@@ -247,6 +323,8 @@ const MgInputToggle$1 = /*@__PURE__*/ proxyCustomElement(class MgInputToggle ext
247
323
  * Check if component props are well configured on init
248
324
  */
249
325
  componentWillLoad() {
326
+ // Get locales
327
+ this.messages = initLocales(this.element).messages;
250
328
  // Check items format
251
329
  this.validateItems(this.items);
252
330
  // Check slots
@@ -265,7 +343,7 @@ const MgInputToggle$1 = /*@__PURE__*/ proxyCustomElement(class MgInputToggle ext
265
343
  */
266
344
  render() {
267
345
  const checkedItem = this.getCheckedItem(this.checked);
268
- return (h("mg-input", { key: '2e92c411cfa6fdcbcc6ed0546eed6e804ed4d9cb', label: this.label, helpText: this.helpText, identifier: this.identifier, class: this.classCollection.join(), ariaDescribedbyIDs: [], labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: undefined, tooltip: this.tooltip, tooltipPosition: this.tooltipPosition, errorMessage: this.errorMessage }, this.readonly ? (checkedItem && h("b", { class: "mg-c-input__readonly-value" }, checkedItem.title)) : (h("button", { type: "button", role: "switch", "aria-checked": this.checked.toString(), "aria-readonly": this.disabled || this.readonly, id: this.identifier, class: "mg-c-input__button-toggle", disabled: this.disabled || this.readonly, onClick: this.toggleChecked, ref: el => {
346
+ return (h("mg-input", { key: 'a17e505f60d3c7e37f18db5d5c94e8d4a03b3949', label: this.label, helpText: this.helpText, identifier: this.identifier, class: this.classCollection.join(), labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: undefined, tooltip: this.tooltip, tooltipPosition: this.tooltipPosition, errorMessage: defineErrorMessage(this.errorMessage, this.noValueErrorDetail) }, this.readonly ? (checkedItem && h("b", { class: "mg-c-input__readonly-value" }, checkedItem.title)) : (h("button", { type: "button", role: "switch", "aria-checked": this.checked.toString(), "aria-readonly": this.disabled || this.readonly, id: this.identifier, class: "mg-c-input__button-toggle", disabled: this.disabled || this.readonly || !this.hasInputItems(), onClick: this.toggleChecked, ref: el => {
269
347
  if (el !== null)
270
348
  this.button = el;
271
349
  } }, h("span", { "aria-hidden": "true", class: "mg-c-input__toggle-item-container" }, h("slot", { name: "item-1" })), h("span", { "aria-hidden": "true", class: "mg-c-input__toggle-item-container" }, h("slot", { name: "item-2" }))))));
@@ -281,7 +359,7 @@ const MgInputToggle$1 = /*@__PURE__*/ proxyCustomElement(class MgInputToggle ext
281
359
  "checked": ["handleChecked"]
282
360
  }; }
283
361
  static get style() { return mgInputToggleCss; }
284
- }, [1, "mg-input-toggle", {
362
+ }, [257, "mg-input-toggle", {
285
363
  "value": [1032],
286
364
  "items": [16],
287
365
  "identifier": [1],
@@ -296,10 +374,12 @@ const MgInputToggle$1 = /*@__PURE__*/ proxyCustomElement(class MgInputToggle ext
296
374
  "tooltip": [1],
297
375
  "tooltipPosition": [1, "tooltip-position"],
298
376
  "helpText": [1, "help-text"],
377
+ "noValueErrorDetail": [1, "no-value-error-detail"],
378
+ "valid": [1028],
379
+ "invalid": [1028],
299
380
  "classCollection": [32],
300
381
  "options": [32],
301
382
  "errorMessage": [32],
302
- "valid": [32],
303
383
  "checked": [32],
304
384
  "setFocus": [64],
305
385
  "setError": [64],
@@ -317,13 +397,18 @@ function defineCustomElement$1() {
317
397
  if (typeof customElements === "undefined") {
318
398
  return;
319
399
  }
320
- const components = ["mg-input-toggle", "mg-icon", "mg-input", "mg-input-title", "mg-tooltip", "mg-tooltip-content"];
400
+ const components = ["mg-input-toggle", "mg-details", "mg-icon", "mg-input", "mg-input-title", "mg-tooltip", "mg-tooltip-content"];
321
401
  components.forEach(tagName => { switch (tagName) {
322
402
  case "mg-input-toggle":
323
403
  if (!customElements.get(tagName)) {
324
404
  customElements.define(tagName, MgInputToggle$1);
325
405
  }
326
406
  break;
407
+ case "mg-details":
408
+ if (!customElements.get(tagName)) {
409
+ defineCustomElement$7();
410
+ }
411
+ break;
327
412
  case "mg-icon":
328
413
  if (!customElements.get(tagName)) {
329
414
  defineCustomElement$6();
@@ -357,6 +442,3 @@ const MgInputToggle = MgInputToggle$1;
357
442
  const defineCustomElement = defineCustomElement$1;
358
443
 
359
444
  export { MgInputToggle, defineCustomElement };
360
- //# sourceMappingURL=mg-input-toggle.js.map
361
-
362
- //# sourceMappingURL=mg-input-toggle.js.map
@@ -4,6 +4,3 @@ const MgInput = MgInput$1;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { MgInput, defineCustomElement };
7
- //# sourceMappingURL=mg-input.js.map
8
-
9
- //# sourceMappingURL=mg-input.js.map