@mgdis/mg-components 6.8.0 → 6.10.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 (372) hide show
  1. package/README.md +17 -78
  2. package/dist/cjs/app-globals-V2Kpy_OQ.js +8 -0
  3. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -0
  4. package/dist/cjs/events.utils-D5SAtkpQ.js +28 -0
  5. package/dist/cjs/events.utils-D5SAtkpQ.js.map +1 -0
  6. package/dist/cjs/{index-1a5a1081.js → index-CATFkm3O.js} +248 -196
  7. package/dist/cjs/index-CATFkm3O.js.map +1 -0
  8. package/dist/cjs/{index-234e834a.js → index-CfIlskRh.js} +34 -11
  9. package/dist/cjs/index-CfIlskRh.js.map +1 -0
  10. package/dist/cjs/index.cjs.js +1 -0
  11. package/dist/cjs/index.cjs.js.map +1 -1
  12. package/dist/cjs/index.es-BCLy9yYb.js +250 -0
  13. package/dist/cjs/index.es-BCLy9yYb.js.map +1 -0
  14. package/dist/cjs/loader.cjs.js +4 -5
  15. package/dist/cjs/loader.cjs.js.map +1 -1
  16. package/dist/cjs/mg-action-more_37.cjs.entry.js +573 -934
  17. package/dist/cjs/mg-action-more_37.cjs.entry.js.map +1 -1
  18. package/dist/cjs/mg-alert.cjs.entry.js +21 -15
  19. package/dist/cjs/mg-alert.cjs.entry.js.map +1 -1
  20. package/dist/cjs/mg-alert.entry.cjs.js.map +1 -0
  21. package/dist/cjs/mg-components.cjs.js +8 -7
  22. package/dist/cjs/mg-components.cjs.js.map +1 -1
  23. package/dist/cjs/mg-input-combobox.cjs.entry.js +774 -0
  24. package/dist/cjs/mg-input-combobox.cjs.entry.js.map +1 -0
  25. package/dist/cjs/mg-input-combobox.entry.cjs.js.map +1 -0
  26. package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js +21526 -6868
  27. package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js.map +1 -1
  28. package/dist/cjs/mg-input-rich-text-editor.entry.cjs.js.map +1 -0
  29. package/dist/cjs/{mg-input.conf-5bbcea79.js → mg-input.conf-WTsvDfpC.js} +2 -1
  30. package/dist/cjs/mg-input.conf-WTsvDfpC.js.map +1 -0
  31. package/dist/cjs/mg-loader.cjs.entry.js +12 -10
  32. package/dist/cjs/mg-loader.cjs.entry.js.map +1 -1
  33. package/dist/cjs/mg-loader.entry.cjs.js.map +1 -0
  34. package/dist/cjs/mg-progress.cjs.entry.js +14 -16
  35. package/dist/cjs/mg-progress.cjs.entry.js.map +1 -1
  36. package/dist/cjs/mg-progress.entry.cjs.js.map +1 -0
  37. package/dist/collection/collection-manifest.json +4 -3
  38. package/dist/collection/components/atoms/mg-badge/mg-badge.js +9 -4
  39. package/dist/collection/components/atoms/mg-badge/mg-badge.js.map +1 -1
  40. package/dist/collection/components/atoms/mg-button/mg-button.js +7 -6
  41. package/dist/collection/components/atoms/mg-button/mg-button.js.map +1 -1
  42. package/dist/collection/components/atoms/mg-tag/mg-tag.js +17 -7
  43. package/dist/collection/components/atoms/mg-tag/mg-tag.js.map +1 -1
  44. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +47 -58
  45. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js.map +1 -1
  46. package/dist/collection/components/molecules/inputs/mg-input/mg-input.js +12 -8
  47. package/dist/collection/components/molecules/inputs/mg-input/mg-input.js.map +1 -1
  48. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +19 -6
  49. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js.map +1 -1
  50. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +16 -5
  51. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js.map +1 -1
  52. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf.js +2 -0
  53. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf.js.map +1 -0
  54. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.js +1443 -0
  55. package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.js.map +1 -0
  56. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +8 -3
  57. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js.map +1 -1
  58. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +9 -4
  59. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js.map +1 -1
  60. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +12 -7
  61. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js.map +1 -1
  62. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +1 -1
  63. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/editor/editor.scss +1 -0
  64. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js +46 -41
  65. package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js.map +1 -1
  66. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +8 -3
  67. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js.map +1 -1
  68. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +49 -44
  69. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js.map +1 -1
  70. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +28 -23
  71. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js.map +1 -1
  72. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +8 -3
  73. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js.map +1 -1
  74. package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.conf.js.map +1 -1
  75. package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.js +2 -2
  76. package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.js.map +1 -1
  77. package/dist/collection/components/molecules/menus/mg-menu/mg-menu.conf.js.map +1 -0
  78. package/dist/collection/components/molecules/{menu → menus}/mg-menu/mg-menu.js +10 -10
  79. package/dist/collection/components/molecules/menus/mg-menu/mg-menu.js.map +1 -0
  80. package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.conf.js.map +1 -0
  81. package/dist/collection/components/molecules/{menu → menus}/mg-menu-item/mg-menu-item.js +9 -9
  82. package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.js.map +1 -0
  83. package/dist/collection/components/molecules/mg-action-more/mg-action-more.conf.js.map +1 -1
  84. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +11 -6
  85. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +1 -1
  86. package/dist/collection/components/molecules/mg-alert/mg-alert.js +13 -3
  87. package/dist/collection/components/molecules/mg-alert/mg-alert.js.map +1 -1
  88. package/dist/collection/components/molecules/mg-details/mg-details.js +3 -2
  89. package/dist/collection/components/molecules/mg-details/mg-details.js.map +1 -1
  90. package/dist/collection/components/molecules/mg-form/mg-form.js +8 -3
  91. package/dist/collection/components/molecules/mg-form/mg-form.js.map +1 -1
  92. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +1 -1
  93. package/dist/collection/components/molecules/mg-loader/mg-loader.js +10 -3
  94. package/dist/collection/components/molecules/mg-loader/mg-loader.js.map +1 -1
  95. package/dist/collection/components/molecules/mg-message/mg-message.js +2 -2
  96. package/dist/collection/components/molecules/mg-modal/mg-modal.js +4 -4
  97. package/dist/collection/components/molecules/mg-modal/mg-modal.js.map +1 -1
  98. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +17 -7
  99. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js.map +1 -1
  100. package/dist/collection/components/molecules/mg-panel/mg-panel.js +12 -7
  101. package/dist/collection/components/molecules/mg-panel/mg-panel.js.map +1 -1
  102. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +1 -1
  103. package/dist/collection/components/molecules/mg-popover/mg-popover.js +56 -81
  104. package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +1 -1
  105. package/dist/collection/components/molecules/mg-progress/mg-progress.js +1 -1
  106. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +1 -1
  107. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +6 -5
  108. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js.map +1 -1
  109. package/dist/collection/locales/en/messages.json +14 -3
  110. package/dist/collection/locales/fr/messages.json +14 -3
  111. package/dist/collection/utils/behaviors.utils.js +3 -3
  112. package/dist/collection/utils/behaviors.utils.js.map +1 -1
  113. package/dist/collection/utils/events.utils.js +22 -0
  114. package/dist/collection/utils/events.utils.js.map +1 -0
  115. package/dist/collection/utils/floating-ui.utils.js +46 -2
  116. package/dist/collection/utils/floating-ui.utils.js.map +1 -1
  117. package/dist/collection/utils/playwright.fixture.js +2 -3
  118. package/dist/collection/utils/playwright.fixture.js.map +1 -1
  119. package/dist/components/events.utils.js +26 -0
  120. package/dist/components/events.utils.js.map +1 -0
  121. package/dist/components/floating-ui.utils.js +48 -423
  122. package/dist/components/floating-ui.utils.js.map +1 -1
  123. package/dist/components/index.es.js +161 -67
  124. package/dist/components/index.es.js.map +1 -1
  125. package/dist/components/index.js +1 -0
  126. package/dist/components/index2.js +33 -10
  127. package/dist/components/index2.js.map +1 -1
  128. package/dist/components/mg-action-more.js +15 -11
  129. package/dist/components/mg-action-more.js.map +1 -1
  130. package/dist/components/mg-alert.js +16 -8
  131. package/dist/components/mg-alert.js.map +1 -1
  132. package/dist/components/mg-badge.js +1 -0
  133. package/dist/components/mg-badge2.js +14 -10
  134. package/dist/components/mg-badge2.js.map +1 -1
  135. package/dist/components/mg-button.js +1 -0
  136. package/dist/components/mg-button2.js +13 -12
  137. package/dist/components/mg-button2.js.map +1 -1
  138. package/dist/components/mg-card.js +1 -0
  139. package/dist/components/mg-card2.js +2 -2
  140. package/dist/components/mg-card2.js.map +1 -1
  141. package/dist/components/mg-character-left.js +1 -0
  142. package/dist/components/mg-character-left2.js +6 -6
  143. package/dist/components/mg-character-left2.js.map +1 -1
  144. package/dist/components/mg-details.js +8 -7
  145. package/dist/components/mg-details.js.map +1 -1
  146. package/dist/components/mg-divider.js +1 -0
  147. package/dist/components/mg-divider2.js +2 -2
  148. package/dist/components/mg-divider2.js.map +1 -1
  149. package/dist/components/mg-form.js +14 -10
  150. package/dist/components/mg-form.js.map +1 -1
  151. package/dist/components/mg-icon.js +1 -0
  152. package/dist/components/mg-icon2.js +8 -8
  153. package/dist/components/mg-icon2.js.map +1 -1
  154. package/dist/components/mg-illustrated-message.js +8 -8
  155. package/dist/components/mg-illustrated-message.js.map +1 -1
  156. package/dist/components/mg-input-checkbox-paginated.js +2 -1
  157. package/dist/components/mg-input-checkbox-paginated2.js +15 -3
  158. package/dist/components/mg-input-checkbox-paginated2.js.map +1 -1
  159. package/dist/components/mg-input-checkbox.js +23 -14
  160. package/dist/components/mg-input-checkbox.js.map +1 -1
  161. package/dist/components/mg-input-combobox.d.ts +11 -0
  162. package/dist/components/mg-input-combobox.js +897 -0
  163. package/dist/components/mg-input-combobox.js.map +1 -0
  164. package/dist/components/mg-input-date.js +25 -21
  165. package/dist/components/mg-input-date.js.map +1 -1
  166. package/dist/components/mg-input-numeric.js +23 -19
  167. package/dist/components/mg-input-numeric.js.map +1 -1
  168. package/dist/components/mg-input-password.js +13 -9
  169. package/dist/components/mg-input-password.js.map +1 -1
  170. package/dist/components/mg-input-radio.js +11 -11
  171. package/dist/components/mg-input-radio.js.map +1 -1
  172. package/dist/components/mg-input-rich-text-editor.js +21527 -6867
  173. package/dist/components/mg-input-rich-text-editor.js.map +1 -1
  174. package/dist/components/mg-input-select.js +1 -0
  175. package/dist/components/mg-input-select2.js +16 -12
  176. package/dist/components/mg-input-select2.js.map +1 -1
  177. package/dist/components/mg-input-text.js +1 -0
  178. package/dist/components/mg-input-text2.js +24 -20
  179. package/dist/components/mg-input-text2.js.map +1 -1
  180. package/dist/components/mg-input-textarea.js +17 -13
  181. package/dist/components/mg-input-textarea.js.map +1 -1
  182. package/dist/components/mg-input-title.js +1 -0
  183. package/dist/components/mg-input-title2.js +6 -6
  184. package/dist/components/mg-input-title2.js.map +1 -1
  185. package/dist/components/mg-input-toggle.js +14 -10
  186. package/dist/components/mg-input-toggle.js.map +1 -1
  187. package/dist/components/mg-input.js +1 -0
  188. package/dist/components/mg-input2.js +20 -14
  189. package/dist/components/mg-input2.js.map +1 -1
  190. package/dist/components/mg-item-more.js +2 -1
  191. package/dist/components/mg-item-more2.js +22 -23
  192. package/dist/components/mg-item-more2.js.map +1 -1
  193. package/dist/components/mg-loader.js +2 -67
  194. package/dist/components/mg-loader.js.map +1 -1
  195. package/dist/components/mg-loader2.js +75 -0
  196. package/dist/components/mg-loader2.js.map +1 -0
  197. package/dist/components/mg-menu-item.js +1 -0
  198. package/dist/components/mg-menu-item2.js +18 -18
  199. package/dist/components/mg-menu-item2.js.map +1 -1
  200. package/dist/components/mg-menu.js +2 -1
  201. package/dist/components/mg-message.js +1 -0
  202. package/dist/components/mg-message2.js +8 -8
  203. package/dist/components/mg-message2.js.map +1 -1
  204. package/dist/components/mg-modal.js +13 -13
  205. package/dist/components/mg-modal.js.map +1 -1
  206. package/dist/components/mg-pagination.js +1 -0
  207. package/dist/components/mg-pagination2.js +19 -11
  208. package/dist/components/mg-pagination2.js.map +1 -1
  209. package/dist/components/mg-panel.js +18 -14
  210. package/dist/components/mg-panel.js.map +1 -1
  211. package/dist/components/mg-popover-content.js +1 -0
  212. package/dist/components/mg-popover-content2.js +7 -7
  213. package/dist/components/mg-popover-content2.js.map +1 -1
  214. package/dist/components/mg-popover.js +1 -0
  215. package/dist/components/mg-popover2.js +62 -88
  216. package/dist/components/mg-popover2.js.map +1 -1
  217. package/dist/components/mg-progress.js +13 -13
  218. package/dist/components/mg-progress.js.map +1 -1
  219. package/dist/components/mg-skip-links.js +5 -5
  220. package/dist/components/mg-skip-links.js.map +1 -1
  221. package/dist/components/mg-table.js +8 -8
  222. package/dist/components/mg-table.js.map +1 -1
  223. package/dist/components/mg-tabs.js +20 -19
  224. package/dist/components/mg-tabs.js.map +1 -1
  225. package/dist/components/mg-tag.js +16 -8
  226. package/dist/components/mg-tag.js.map +1 -1
  227. package/dist/components/mg-tooltip-content.js +1 -0
  228. package/dist/components/mg-tooltip-content2.js +3 -3
  229. package/dist/components/mg-tooltip-content2.js.map +1 -1
  230. package/dist/components/mg-tooltip.js +1 -0
  231. package/dist/components/mg-tooltip2.js +58 -68
  232. package/dist/components/mg-tooltip2.js.map +1 -1
  233. package/dist/esm/app-globals-DQuL1Twl.js +6 -0
  234. package/dist/esm/app-globals-DQuL1Twl.js.map +1 -0
  235. package/dist/esm/events.utils-yMGqY8YG.js +26 -0
  236. package/dist/esm/events.utils-yMGqY8YG.js.map +1 -0
  237. package/dist/esm/{index-5059254f.js → index-CAuxALt5.js} +246 -174
  238. package/dist/esm/index-CAuxALt5.js.map +1 -0
  239. package/dist/esm/{index-544778a7.js → index-DmsGewMC.js} +34 -11
  240. package/dist/esm/index-DmsGewMC.js.map +1 -0
  241. package/dist/esm/index.es-rLV3KFPd.js +223 -0
  242. package/dist/esm/index.es-rLV3KFPd.js.map +1 -0
  243. package/dist/esm/index.js +1 -0
  244. package/dist/esm/index.js.map +1 -1
  245. package/dist/esm/loader.js +5 -4
  246. package/dist/esm/loader.js.map +1 -1
  247. package/dist/esm/mg-action-more_37.entry.js +573 -932
  248. package/dist/esm/mg-action-more_37.entry.js.map +1 -1
  249. package/dist/esm/mg-alert.entry.js +21 -13
  250. package/dist/esm/mg-alert.entry.js.map +1 -1
  251. package/dist/esm/mg-components.js +7 -5
  252. package/dist/esm/mg-components.js.map +1 -1
  253. package/dist/esm/mg-input-combobox.entry.js +772 -0
  254. package/dist/esm/mg-input-combobox.entry.js.map +1 -0
  255. package/dist/esm/mg-input-rich-text-editor.entry.js +21529 -6869
  256. package/dist/esm/mg-input-rich-text-editor.entry.js.map +1 -1
  257. package/dist/esm/{mg-input.conf-712c7bb6.js → mg-input.conf-CNgv8hc5.js} +3 -2
  258. package/dist/esm/mg-input.conf-CNgv8hc5.js.map +1 -0
  259. package/dist/esm/mg-loader.entry.js +12 -8
  260. package/dist/esm/mg-loader.entry.js.map +1 -1
  261. package/dist/esm/mg-progress.entry.js +14 -14
  262. package/dist/esm/mg-progress.entry.js.map +1 -1
  263. package/dist/mg-components/index.esm.js.map +1 -1
  264. package/dist/mg-components/loader.esm.js.map +1 -0
  265. package/dist/mg-components/locales/en/messages.json +14 -3
  266. package/dist/mg-components/locales/fr/messages.json +14 -3
  267. package/dist/mg-components/mg-alert.entry.esm.js.map +1 -0
  268. package/dist/mg-components/mg-components.esm.js +1 -1
  269. package/dist/mg-components/mg-components.esm.js.map +1 -1
  270. package/dist/mg-components/mg-input-combobox.entry.esm.js.map +1 -0
  271. package/dist/mg-components/mg-input-rich-text-editor.entry.esm.js.map +1 -0
  272. package/dist/mg-components/mg-loader.entry.esm.js.map +1 -0
  273. package/dist/mg-components/mg-progress.entry.esm.js.map +1 -0
  274. package/dist/mg-components/p-0f761c6c.entry.js +2 -0
  275. package/dist/mg-components/p-0f761c6c.entry.js.map +1 -0
  276. package/dist/mg-components/p-73099ed7.entry.js +11 -0
  277. package/dist/mg-components/p-73099ed7.entry.js.map +1 -0
  278. package/dist/mg-components/p-88f77de2.entry.js +2 -0
  279. package/dist/mg-components/p-88f77de2.entry.js.map +1 -0
  280. package/dist/mg-components/p-CAuxALt5.js +3 -0
  281. package/dist/mg-components/p-CAuxALt5.js.map +1 -0
  282. package/dist/mg-components/p-CNgv8hc5.js +2 -0
  283. package/dist/mg-components/p-CNgv8hc5.js.map +1 -0
  284. package/dist/mg-components/p-DK9teKTo.js +2 -0
  285. package/dist/mg-components/p-DK9teKTo.js.map +1 -0
  286. package/dist/mg-components/p-DQuL1Twl.js +2 -0
  287. package/dist/mg-components/p-DQuL1Twl.js.map +1 -0
  288. package/dist/mg-components/p-ad66e7b3.entry.js +2 -0
  289. package/dist/mg-components/p-ad66e7b3.entry.js.map +1 -0
  290. package/dist/mg-components/p-cdbe689e.entry.js +2 -0
  291. package/dist/mg-components/p-cdbe689e.entry.js.map +1 -0
  292. package/dist/mg-components/p-d3a868f0.entry.js +2 -0
  293. package/dist/mg-components/p-d3a868f0.entry.js.map +1 -0
  294. package/dist/mg-components/p-rLV3KFPd.js +2 -0
  295. package/dist/mg-components/p-rLV3KFPd.js.map +1 -0
  296. package/dist/mg-components/p-yMGqY8YG.js +2 -0
  297. package/dist/mg-components/p-yMGqY8YG.js.map +1 -0
  298. package/dist/types/components/atoms/mg-tag/mg-tag.d.ts +2 -2
  299. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +6 -6
  300. package/dist/types/components/molecules/inputs/mg-input/mg-input.d.ts +1 -4
  301. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.d.ts +2 -2
  302. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +2 -2
  303. package/dist/types/components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf.d.ts +24 -0
  304. package/dist/types/components/molecules/inputs/mg-input-combobox/mg-input-combobox.d.ts +340 -0
  305. package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.d.ts +1 -1
  306. package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +1 -1
  307. package/dist/types/components/molecules/inputs/mg-input-password/mg-input-password.d.ts +2 -2
  308. package/dist/types/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.d.ts +9 -9
  309. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +1 -1
  310. package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +8 -8
  311. package/dist/types/components/molecules/inputs/mg-input-textarea/mg-input-textarea.d.ts +5 -5
  312. package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +1 -1
  313. package/dist/types/components/molecules/internals/mg-item-more/mg-item-more.conf.d.ts +1 -1
  314. package/dist/types/components/molecules/mg-action-more/mg-action-more.conf.d.ts +1 -1
  315. package/dist/types/components/molecules/mg-action-more/mg-action-more.d.ts +1 -1
  316. package/dist/types/components/molecules/mg-form/mg-form.d.ts +1 -1
  317. package/dist/types/components/molecules/mg-loader/mg-loader.d.ts +1 -1
  318. package/dist/types/components/molecules/mg-pagination/mg-pagination.d.ts +2 -2
  319. package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +1 -1
  320. package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +6 -9
  321. package/dist/types/components.d.ts +274 -29
  322. package/dist/types/stencil-public-runtime.d.ts +1 -0
  323. package/dist/types/utils/events.utils.d.ts +4 -0
  324. package/dist/types/utils/floating-ui.utils.d.ts +9 -1
  325. package/ide/intellij/web-types.json +488 -45
  326. package/ide/vscode/html-custom-data.json +358 -26
  327. package/package.json +26 -26
  328. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  329. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  330. package/dist/cjs/index-1a5a1081.js.map +0 -1
  331. package/dist/cjs/index-234e834a.js.map +0 -1
  332. package/dist/cjs/index.es-b90f74d4.js +0 -151
  333. package/dist/cjs/index.es-b90f74d4.js.map +0 -1
  334. package/dist/cjs/mg-input.conf-5bbcea79.js.map +0 -1
  335. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js.map +0 -1
  336. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js.map +0 -1
  337. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js.map +0 -1
  338. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js.map +0 -1
  339. package/dist/esm/app-globals-0f993ce5.js +0 -5
  340. package/dist/esm/app-globals-0f993ce5.js.map +0 -1
  341. package/dist/esm/index-5059254f.js.map +0 -1
  342. package/dist/esm/index-544778a7.js.map +0 -1
  343. package/dist/esm/index.es-517b1bf2.js +0 -129
  344. package/dist/esm/index.es-517b1bf2.js.map +0 -1
  345. package/dist/esm/mg-input.conf-712c7bb6.js.map +0 -1
  346. package/dist/mg-components/p-12a1edee.js +0 -2
  347. package/dist/mg-components/p-12a1edee.js.map +0 -1
  348. package/dist/mg-components/p-2884f369.js +0 -2
  349. package/dist/mg-components/p-2884f369.js.map +0 -1
  350. package/dist/mg-components/p-9bc53279.js +0 -2
  351. package/dist/mg-components/p-9bc53279.js.map +0 -1
  352. package/dist/mg-components/p-ad98f3d8.entry.js +0 -2
  353. package/dist/mg-components/p-ad98f3d8.entry.js.map +0 -1
  354. package/dist/mg-components/p-c10433db.entry.js +0 -2
  355. package/dist/mg-components/p-c10433db.entry.js.map +0 -1
  356. package/dist/mg-components/p-c67e4934.entry.js +0 -2
  357. package/dist/mg-components/p-c67e4934.entry.js.map +0 -1
  358. package/dist/mg-components/p-e1255160.js +0 -2
  359. package/dist/mg-components/p-e1255160.js.map +0 -1
  360. package/dist/mg-components/p-e39791fa.js +0 -3
  361. package/dist/mg-components/p-e39791fa.js.map +0 -1
  362. package/dist/mg-components/p-f72efb64.entry.js +0 -2
  363. package/dist/mg-components/p-f72efb64.entry.js.map +0 -1
  364. package/dist/mg-components/p-fd4a7980.entry.js +0 -2
  365. package/dist/mg-components/p-fd4a7980.entry.js.map +0 -1
  366. package/loader/package.json +0 -11
  367. /package/dist/collection/components/molecules/{menu → menus}/mg-menu/mg-menu.conf.js +0 -0
  368. /package/dist/collection/components/molecules/{menu → menus}/mg-menu-item/mg-menu-item.conf.js +0 -0
  369. /package/dist/types/components/molecules/{menu → menus}/mg-menu/mg-menu.conf.d.ts +0 -0
  370. /package/dist/types/components/molecules/{menu → menus}/mg-menu/mg-menu.d.ts +0 -0
  371. /package/dist/types/components/molecules/{menu → menus}/mg-menu-item/mg-menu-item.conf.d.ts +0 -0
  372. /package/dist/types/components/molecules/{menu → menus}/mg-menu-item/mg-menu-item.d.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
- import { Z as Ze, J as Je, V as Ve, m as me } from './index.es.js';
3
- import { d as defineCustomElement$5, c as classFieldset, b as classReadonly, e as classDisabled } from './mg-input2.js';
2
+ import { Z as Zt, a as Dt, G as Gt, D as De } from './index.es.js';
3
+ import { d as defineCustomElement$5, b as classFieldset, c as classReadonly, a as classDisabled } from './mg-input2.js';
4
4
  import { i as initLocales } from './index2.js';
5
5
  import { d as defineCustomElement$6 } from './mg-icon2.js';
6
6
  import { d as defineCustomElement$4 } from './mg-input-title2.js';
@@ -8,7 +8,6 @@ import { d as defineCustomElement$3 } from './mg-tooltip2.js';
8
8
  import { d as defineCustomElement$2 } from './mg-tooltip-content2.js';
9
9
 
10
10
  const mgInputRadioCss = ".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);word-break:break-word}.mg-c-input.mg-c-input--fieldset{padding:0;border:0;margin-right:0;margin-left:0}.mg-c-input.mg-c-input--fieldset input[type=radio],.mg-c-input.mg-c-input--fieldset input[type=checkbox]{width:var(--mg-c-input-check-size);height:var(--mg-c-input-check-size);flex-shrink:0;margin:calc((var(--mg-b-font-size)*var(--mg-b-line-height) - var(--mg-c-input-check-size))/2) var(--mg-b-size-8) 0 0}.mg-c-input.mg-c-input--fieldset .mg-c-input__input-group{display:flex;align-items:start}.mg-c-input.mg-c-input--fieldset .mg-c-input__input-group-container{display:flex;flex-wrap:wrap;padding:0;margin:0;margin-top:calc((var(--mg-b-size-min-height) - var(--mg-b-font-size)*var(--mg-b-line-height))/2);gap:var(--mg-b-size-12) var(--mg-b-size-24);list-style:none}.mg-c-input.mg-c-input--fieldset .mg-c-input__input-group.mg-c-input__input-group--disabled label{opacity:var(--mg-b-opacity-element-disabled)}.mg-c-input.mg-c-input--fieldset.mg-c-input--vertical-list .mg-c-input__input-group-container,.mg-c-input.mg-c-input--fieldset.mg-c-input--checkbox-multi .mg-c-input__input-group-container{flex-direction:column}.mg-c-input.mg-c-input--fieldset.mg-c-input--label-on-top .mg-c-input__input-group-container{margin-top:var(--mg-b-size-8)}.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}}";
11
- const MgInputRadioStyle0 = mgInputRadioCss;
12
11
 
13
12
  /**
14
13
  * type Option validation function
@@ -68,7 +67,7 @@ const MgInputRadio$1 = /*@__PURE__*/ proxyCustomElement(class MgInputRadio exten
68
67
  /**
69
68
  * Component classes
70
69
  */
71
- this.classCollection = new Ze(['mg-c-input--radio', classFieldset]);
70
+ this.classCollection = new Zt(['mg-c-input--radio', classFieldset]);
72
71
  /**
73
72
  * Handle input event
74
73
  * @param event - input event
@@ -119,7 +118,7 @@ const MgInputRadio$1 = /*@__PURE__*/ proxyCustomElement(class MgInputRadio exten
119
118
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
120
119
  watchValue(newValue) {
121
120
  var _a;
122
- if (Je(this.items) && typeof newValue === 'string') {
121
+ if (Dt(this.items) && typeof newValue === 'string') {
123
122
  this.readonlyValue = newValue;
124
123
  }
125
124
  else if (Array.isArray(this.items) && this.items.every(isOption)) {
@@ -133,10 +132,10 @@ const MgInputRadio$1 = /*@__PURE__*/ proxyCustomElement(class MgInputRadio exten
133
132
  validateItems(newValue) {
134
133
  // Validate if items have required min length
135
134
  if (typeof newValue === 'object' && newValue.length < 2) {
136
- throw new Error(`<mg-input-radio> prop "items" require at least 2 items. Passed value: ${Ve(newValue)}.`);
135
+ throw new Error(`<mg-input-radio> prop "items" require at least 2 items. Passed value: ${Gt(newValue)}.`);
137
136
  }
138
137
  // String array
139
- else if (Je(newValue)) {
138
+ else if (Dt(newValue)) {
140
139
  this.options = newValue.map(item => ({ title: item, value: item, disabled: this.disabled }));
141
140
  }
142
141
  // Object array
@@ -144,7 +143,7 @@ const MgInputRadio$1 = /*@__PURE__*/ proxyCustomElement(class MgInputRadio exten
144
143
  this.options = newValue;
145
144
  }
146
145
  else {
147
- throw new Error(`<mg-input-radio> prop "items" is required and all items must be the same type, string or RadioOption. Passed value: ${Ve(newValue)}.`);
146
+ throw new Error(`<mg-input-radio> prop "items" is required and all items must be the same type, string or RadioOption. Passed value: ${Gt(newValue)}.`);
148
147
  }
149
148
  }
150
149
  watchInputVerticalList(newValue) {
@@ -206,7 +205,7 @@ const MgInputRadio$1 = /*@__PURE__*/ proxyCustomElement(class MgInputRadio exten
206
205
  if (typeof valid !== 'boolean') {
207
206
  throw new Error('<mg-input-radio> method "setError()" param "valid" must be a boolean.');
208
207
  }
209
- else if (!me(errorMessage)) {
208
+ else if (!De(errorMessage)) {
210
209
  throw new Error('<mg-input-radio> method "setError()" param "errorMessage" must be a string.');
211
210
  }
212
211
  else {
@@ -266,7 +265,7 @@ const MgInputRadio$1 = /*@__PURE__*/ proxyCustomElement(class MgInputRadio exten
266
265
  * @returns HTML Element
267
266
  */
268
267
  render() {
269
- return (h("mg-input", { key: 'd03651917d40124900adbcfd6d5e8bdb44ba340d', 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.value ? 'label' : this.tooltipPosition, helpText: this.helpText, errorMessage: this.errorMessage }, this.readonly ? (this.readonlyValue && h("b", { class: "mg-c-input__readonly-value" }, this.readonlyValue)) : (h("ul", { class: "mg-c-input__input-group-container", role: "list" }, this.options.map((input, index) => (h("li", { key: input.title, class: { 'mg-c-input__input-group': true, 'mg-c-input__input-group--disabled': this.disabled || input.disabled } }, h("input", { type: "radio", id: this.identifier + '_' + index, name: this.identifier, value: index, checked: JSON.stringify(this.value) === JSON.stringify(this.options[index].value), disabled: this.disabled || input.disabled, required: this.required, onBlur: this.handleBlur, onInput: this.handleInput, ref: (el) => {
268
+ return (h("mg-input", { key: '9d8c6fb134330e0d126f3585f3c4c4145d39515a', 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.value ? 'label' : this.tooltipPosition, helpText: this.helpText, errorMessage: this.errorMessage }, this.readonly ? (this.readonlyValue && h("b", { class: "mg-c-input__readonly-value" }, this.readonlyValue)) : (h("ul", { class: "mg-c-input__input-group-container", role: "list" }, this.options.map((input, index) => (h("li", { key: input.title, class: { 'mg-c-input__input-group': true, 'mg-c-input__input-group--disabled': this.disabled || input.disabled } }, h("input", { type: "radio", id: this.identifier + '_' + index, name: this.identifier, value: index, checked: JSON.stringify(this.value) === JSON.stringify(this.options[index].value), disabled: this.disabled || input.disabled, required: this.required, onBlur: this.handleBlur, onInput: this.handleInput, ref: (el) => {
270
269
  if (el !== null)
271
270
  this.inputs[index] = el;
272
271
  } }), h("label", { htmlFor: this.identifier + '_' + index }, input.title))))))));
@@ -280,7 +279,7 @@ const MgInputRadio$1 = /*@__PURE__*/ proxyCustomElement(class MgInputRadio exten
280
279
  "required": ["handleValidityChange"],
281
280
  "disabled": ["handleValidityChange", "watchDisabled"]
282
281
  }; }
283
- static get style() { return MgInputRadioStyle0; }
282
+ static get style() { return mgInputRadioCss; }
284
283
  }, [1, "mg-input-radio", {
285
284
  "value": [1032],
286
285
  "items": [16],
@@ -357,5 +356,6 @@ const MgInputRadio = MgInputRadio$1;
357
356
  const defineCustomElement = defineCustomElement$1;
358
357
 
359
358
  export { MgInputRadio, defineCustomElement };
359
+ //# sourceMappingURL=mg-input-radio.js.map
360
360
 
361
361
  //# sourceMappingURL=mg-input-radio.js.map
@@ -1 +1 @@
1
- {"file":"mg-input-radio.js","mappings":"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","names":["MgInputRadio","ClassList","allItemsAreString","toString","isValidString"],"sources":["../styles/dist/components/mg-input-radio.css?tag=mg-input-radio&encapsulation=shadow","src/components/molecules/inputs/mg-input-radio/mg-input-radio.tsx"],"sourcesContent":[".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);word-break:break-word}.mg-c-input.mg-c-input--fieldset{padding:0;border:0;margin-right:0;margin-left:0}.mg-c-input.mg-c-input--fieldset input[type=radio],.mg-c-input.mg-c-input--fieldset input[type=checkbox]{width:var(--mg-c-input-check-size);height:var(--mg-c-input-check-size);flex-shrink:0;margin:calc((var(--mg-b-font-size)*var(--mg-b-line-height) - var(--mg-c-input-check-size))/2) var(--mg-b-size-8) 0 0}.mg-c-input.mg-c-input--fieldset .mg-c-input__input-group{display:flex;align-items:start}.mg-c-input.mg-c-input--fieldset .mg-c-input__input-group-container{display:flex;flex-wrap:wrap;padding:0;margin:0;margin-top:calc((var(--mg-b-size-min-height) - var(--mg-b-font-size)*var(--mg-b-line-height))/2);gap:var(--mg-b-size-12) var(--mg-b-size-24);list-style:none}.mg-c-input.mg-c-input--fieldset .mg-c-input__input-group.mg-c-input__input-group--disabled label{opacity:var(--mg-b-opacity-element-disabled)}.mg-c-input.mg-c-input--fieldset.mg-c-input--vertical-list .mg-c-input__input-group-container,.mg-c-input.mg-c-input--fieldset.mg-c-input--checkbox-multi .mg-c-input__input-group-container{flex-direction:column}.mg-c-input.mg-c-input--fieldset.mg-c-input--label-on-top .mg-c-input__input-group-container{margin-top:var(--mg-b-size-8)}.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}}/*# sourceMappingURL=mg-input-radio.css.map */\n","import { Component, Element, Event, h, Prop, EventEmitter, State, Watch, Method } from '@stencil/core';\nimport { ClassList, allItemsAreString, isValidString, toString } from '@mgdis/stencil-helpers';\nimport { RadioOption } from './mg-input-radio.conf';\nimport { type EventType, classReadonly, type TooltipPosition, classDisabled, classFieldset } from '../mg-input/mg-input.conf';\nimport { initLocales } from '../../../../locales';\n\n/**\n * type Option validation function\n * @param option - radio option\n * @returns radio option type is valid\n */\nconst isOption = (option: unknown): option is RadioOption =>\n typeof option === 'object' && typeof (option as RadioOption).title === 'string' && (option as RadioOption).value !== undefined;\n\n@Component({\n tag: 'mg-input-radio',\n styleUrl: '../../../../../node_modules/@mgdis/styles/dist/components/mg-input-radio.css',\n shadow: true,\n})\nexport class MgInputRadio {\n /************\n * Internal *\n ************/\n\n // HTML selector\n private inputs: HTMLInputElement[] = [];\n\n // classes\n private readonly classVerticalList = 'mg-c-input--vertical-list';\n\n // Locales\n private messages;\n\n // hasDisplayedError (triggered by blur event)\n private hasDisplayedError = false;\n private handlerInProgress: EventType;\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgInputRadioElement;\n\n /**\n * Component value\n */\n @Prop({ mutable: true }) value: any; // eslint-disable-line @typescript-eslint/no-explicit-any\n @Watch('value')\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n watchValue(newValue: any): void {\n if (allItemsAreString(this.items) && typeof newValue === 'string') {\n this.readonlyValue = newValue;\n } else if (Array.isArray(this.items) && this.items.every(isOption)) {\n this.readonlyValue = this.items.find(item => item.value === newValue)?.title;\n } else {\n this.readonlyValue = null;\n }\n this.valueChange.emit(newValue);\n }\n\n /**\n * Items are the possible options to select\n */\n @Prop() items!: string[] | RadioOption[];\n @Watch('items')\n validateItems(newValue: string[] | RadioOption[]): void {\n // Validate if items have required min length\n if (typeof newValue === 'object' && newValue.length < 2) {\n throw new Error(`<mg-input-radio> prop \"items\" require at least 2 items. Passed value: ${toString(newValue)}.`);\n }\n // String array\n else if (allItemsAreString(newValue as string[])) {\n this.options = newValue.map(item => ({ title: item, value: item, disabled: this.disabled }));\n }\n // Object array\n else if (newValue && (newValue as RadioOption[]).every(item => isOption(item))) {\n this.options = newValue as RadioOption[];\n } else {\n throw new Error(`<mg-input-radio> prop \"items\" is required and all items must be the same type, string or RadioOption. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Identifier is used for the element ID (id is a reserved prop in Stencil.js)\n */\n @Prop() identifier!: string;\n\n /**\n * Input name\n * If not set the value equals the identifier\n */\n @Prop() name: string = this.identifier;\n\n /**\n * Input label\n */\n @Prop() label!: string;\n\n /**\n * Define if label is displayed on top\n */\n @Prop() labelOnTop = false;\n\n /**\n * Define if label is visible\n */\n @Prop() labelHide = false;\n\n /**\n * Define if inputs are display verticaly\n */\n @Prop() inputVerticalList = false;\n @Watch('inputVerticalList')\n watchInputVerticalList(newValue: MgInputRadio['inputVerticalList']): void {\n if (newValue) this.classCollection.add(this.classVerticalList);\n else this.classCollection.delete(this.classVerticalList);\n }\n\n /**\n * Define if input is required\n */\n @Prop() required = false;\n\n /**\n * Define if input is readonly\n */\n @Prop() readonly = false;\n @Watch('readonly')\n watchReadonly(newValue: MgInputRadio['readonly']): void {\n if (newValue) this.classCollection.add(classReadonly);\n else this.classCollection.delete(classReadonly);\n }\n /**\n * Define if input is disabled\n */\n @Prop() disabled = false;\n @Watch('required')\n @Watch('readonly')\n @Watch('disabled')\n handleValidityChange(newValue: boolean, _oldValue: boolean, prop: string): void {\n this.inputs.forEach(input => {\n input[prop] = newValue;\n });\n this.checkValidity();\n if (this.hasDisplayedError) {\n this.setErrorMessage();\n this.hasDisplayedError = false;\n }\n }\n\n @Watch('disabled')\n watchDisabled(newValue: MgInputRadio['disabled']): void {\n if (newValue) this.classCollection.add(classDisabled);\n else this.classCollection.delete(classDisabled);\n }\n\n /**\n * Add a tooltip message next to the input\n */\n @Prop() tooltip?: string;\n\n /**\n * Define tooltip position\n */\n @Prop() tooltipPosition: TooltipPosition = 'input';\n\n /**\n * Add a help text under the input, usually expected data format and example\n */\n @Prop() helpText?: string;\n\n /**\n * Define input valid state\n */\n @Prop({ mutable: true }) valid: boolean;\n\n /**\n * Define input invalid state\n */\n @Prop({ mutable: true }) invalid: boolean;\n\n /**\n * Component classes\n */\n @State() classCollection: ClassList = new ClassList(['mg-c-input--radio', classFieldset]);\n\n /**\n * Error message to display\n */\n @State() errorMessage: string;\n\n /**\n * Formated items for display\n */\n @State() options: RadioOption[];\n\n /**\n * Value to display in readonly mode\n */\n @State() readonlyValue: string;\n\n /**\n * Emitted event when value change\n */\n @Event({ eventName: 'value-change' }) valueChange: EventEmitter<HTMLMgInputRadioElement['value']>;\n\n /**\n * Emited event when checking validity\n */\n @Event({ eventName: 'input-valid' }) inputValid: EventEmitter<HTMLMgInputRadioElement['valid']>;\n\n /**\n * Display input error if it exists.\n */\n @Method()\n displayError(): Promise<void> {\n // Use `Promise` as requested for stencil method\n // Use `requestAnimationFrame` to ensure:\n // - DOM is fully updated before validation\n // - Async operations are completed\n // - No timing issues with Stencil's render cycle\n // - Keep everything in sync both inside and outside the component\n return new Promise(resolve => {\n requestAnimationFrame(() => {\n this.checkValidity();\n this.setErrorMessage();\n this.hasDisplayedError = this.invalid;\n resolve();\n });\n });\n }\n\n /**\n * Set an error and display a custom error message.\n * This method can be used to set the component's error state from its context by passing a boolean value to the `valid` parameter.\n * It must be paired with an error message to display for the given context.\n * When used to set validity to `false`, you should use this method again to reset the validity to `true`.\n * @param valid - value indicating the validity\n * @param errorMessage - the error message to display\n */\n @Method()\n async setError(valid: MgInputRadio['valid'], errorMessage: string): Promise<void> {\n if (typeof valid !== 'boolean') {\n throw new Error('<mg-input-radio> method \"setError()\" param \"valid\" must be a boolean.');\n } else if (!isValidString(errorMessage)) {\n throw new Error('<mg-input-radio> method \"setError()\" param \"errorMessage\" must be a string.');\n } else {\n this.setValidity(valid);\n this.setErrorMessage(valid ? undefined : errorMessage);\n this.hasDisplayedError = this.invalid;\n }\n }\n\n /**\n * Reset value, validity and error state\n */\n @Method()\n async reset(): Promise<void> {\n if (!this.readonly) {\n this.value = undefined;\n this.checkValidity();\n this.errorMessage = undefined;\n this.hasDisplayedError = false;\n }\n }\n\n /**\n * Method to set validity values\n * @param newValue - valid new value\n */\n private setValidity(newValue: MgInputRadio['valid']) {\n const oldValidValue = this.valid;\n this.valid = newValue;\n this.invalid = !this.valid;\n // We need to send valid event even if it is the same value\n if (this.handlerInProgress === undefined || (this.handlerInProgress === 'blur' && this.valid !== oldValidValue)) this.inputValid.emit(this.valid);\n }\n\n /**\n * Handle input event\n * @param event - input event\n */\n private handleInput = (event: InputEvent & { target: HTMLInputElement }) => {\n this.checkValidity();\n this.value = this.options[event.target.value].value;\n };\n\n /**\n * Handle blur event\n */\n private handleBlur = (): void => {\n this.handlerInProgress = 'blur';\n this.checkValidity();\n this.setErrorMessage();\n // reset guard\n this.handlerInProgress = undefined;\n };\n\n /**\n * Check if input is valid\n */\n private checkValidity = (): void => {\n this.setValidity(this.readonly || this.disabled || this.getInvalidElement() === undefined);\n };\n\n /**\n * Set input error message\n * @param errorMessage - errorMessage override\n */\n private setErrorMessage = (errorMessage?: string): void => {\n const invalidElement = this.getInvalidElement();\n\n // Set error message\n this.errorMessage = undefined;\n if (!this.valid) {\n if (errorMessage !== undefined) {\n this.errorMessage = errorMessage;\n } else if (invalidElement.validity.valueMissing) {\n this.errorMessage = this.messages.errors.required;\n }\n }\n };\n\n /**\n * get invalid element\n * @returns element\n */\n private getInvalidElement = (): HTMLInputElement => this.inputs.find((input: HTMLInputElement) => !input.disabled && !input.readOnly && !input.checkValidity());\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * Check if component props are well configured on init\n * @returns timeout\n */\n componentWillLoad(): ReturnType<typeof setTimeout> {\n // Get locales\n this.messages = initLocales(this.element).messages;\n // Validate\n this.validateItems(this.items);\n this.watchInputVerticalList(this.inputVerticalList);\n this.watchReadonly(this.readonly);\n this.watchDisabled(this.disabled);\n this.watchValue(this.value);\n // Check validity when component is ready\n // return a promise to process action only in the FIRST render().\n // https://stenciljs.com/docs/component-lifecycle#componentwillload\n return setTimeout(() => {\n this.checkValidity();\n }, 0);\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <mg-input\n label={this.label}\n identifier={this.identifier}\n class={this.classCollection.join()}\n ariaDescribedbyIDs={[]}\n labelOnTop={this.labelOnTop}\n labelHide={this.labelHide}\n required={this.required}\n tooltip={this.tooltip}\n tooltipPosition={this.readonly && !this.value ? 'label' : this.tooltipPosition}\n helpText={this.helpText}\n errorMessage={this.errorMessage}\n >\n {this.readonly ? (\n this.readonlyValue && <b class=\"mg-c-input__readonly-value\">{this.readonlyValue}</b>\n ) : (\n <ul class=\"mg-c-input__input-group-container\" role=\"list\">\n {this.options.map((input, index) => (\n <li key={input.title} class={{ 'mg-c-input__input-group': true, 'mg-c-input__input-group--disabled': this.disabled || input.disabled }}>\n <input\n type=\"radio\"\n id={this.identifier + '_' + index}\n name={this.identifier}\n value={index}\n checked={JSON.stringify(this.value) === JSON.stringify(this.options[index].value)}\n disabled={this.disabled || input.disabled}\n required={this.required}\n onBlur={this.handleBlur}\n onInput={this.handleInput}\n ref={(el: HTMLInputElement) => {\n if (el !== null) this.inputs[index] = el;\n }}\n />\n <label htmlFor={this.identifier + '_' + index}>{input.title}</label>\n </li>\n ))}\n </ul>\n )}\n </mg-input>\n );\n }\n}\n"],"version":3}
1
+ {"file":"mg-input-radio.js","mappings":"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","names":["MgInputRadio","__stencil_proxyCustomElement","ClassList","allItemsAreString","toString","isValidString"],"sources":["../styles/dist/components/mg-input-radio.css?tag=mg-input-radio&encapsulation=shadow","src/components/molecules/inputs/mg-input-radio/mg-input-radio.tsx"],"sourcesContent":[".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);word-break:break-word}.mg-c-input.mg-c-input--fieldset{padding:0;border:0;margin-right:0;margin-left:0}.mg-c-input.mg-c-input--fieldset input[type=radio],.mg-c-input.mg-c-input--fieldset input[type=checkbox]{width:var(--mg-c-input-check-size);height:var(--mg-c-input-check-size);flex-shrink:0;margin:calc((var(--mg-b-font-size)*var(--mg-b-line-height) - var(--mg-c-input-check-size))/2) var(--mg-b-size-8) 0 0}.mg-c-input.mg-c-input--fieldset .mg-c-input__input-group{display:flex;align-items:start}.mg-c-input.mg-c-input--fieldset .mg-c-input__input-group-container{display:flex;flex-wrap:wrap;padding:0;margin:0;margin-top:calc((var(--mg-b-size-min-height) - var(--mg-b-font-size)*var(--mg-b-line-height))/2);gap:var(--mg-b-size-12) var(--mg-b-size-24);list-style:none}.mg-c-input.mg-c-input--fieldset .mg-c-input__input-group.mg-c-input__input-group--disabled label{opacity:var(--mg-b-opacity-element-disabled)}.mg-c-input.mg-c-input--fieldset.mg-c-input--vertical-list .mg-c-input__input-group-container,.mg-c-input.mg-c-input--fieldset.mg-c-input--checkbox-multi .mg-c-input__input-group-container{flex-direction:column}.mg-c-input.mg-c-input--fieldset.mg-c-input--label-on-top .mg-c-input__input-group-container{margin-top:var(--mg-b-size-8)}.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}}/*# sourceMappingURL=mg-input-radio.css.map */\n","import { Component, Element, Event, h, Prop, EventEmitter, State, Watch, Method } from '@stencil/core';\nimport { ClassList, allItemsAreString, isValidString, toString } from '@mgdis/stencil-helpers';\nimport { RadioOption } from './mg-input-radio.conf';\nimport { type EventType, classReadonly, type TooltipPosition, classDisabled, classFieldset } from '../mg-input/mg-input.conf';\nimport { initLocales } from '../../../../locales';\n\n/**\n * type Option validation function\n * @param option - radio option\n * @returns radio option type is valid\n */\nconst isOption = (option: unknown): option is RadioOption =>\n typeof option === 'object' && typeof (option as RadioOption).title === 'string' && (option as RadioOption).value !== undefined;\n\n@Component({\n tag: 'mg-input-radio',\n styleUrl: '../../../../../node_modules/@mgdis/styles/dist/components/mg-input-radio.css',\n shadow: true,\n})\nexport class MgInputRadio {\n /************\n * Internal *\n ************/\n\n // HTML selector\n private inputs: HTMLInputElement[] = [];\n\n // classes\n private readonly classVerticalList = 'mg-c-input--vertical-list';\n\n // Locales\n private messages;\n\n // hasDisplayedError (triggered by blur event)\n private hasDisplayedError = false;\n private handlerInProgress: EventType;\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgInputRadioElement;\n\n /**\n * Component value\n */\n @Prop({ mutable: true }) value: any; // eslint-disable-line @typescript-eslint/no-explicit-any\n @Watch('value')\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n watchValue(newValue: any): void {\n if (allItemsAreString(this.items) && typeof newValue === 'string') {\n this.readonlyValue = newValue;\n } else if (Array.isArray(this.items) && this.items.every(isOption)) {\n this.readonlyValue = this.items.find(item => item.value === newValue)?.title;\n } else {\n this.readonlyValue = null;\n }\n this.valueChange.emit(newValue);\n }\n\n /**\n * Items are the possible options to select\n */\n @Prop() items!: string[] | RadioOption[];\n @Watch('items')\n validateItems(newValue: string[] | RadioOption[]): void {\n // Validate if items have required min length\n if (typeof newValue === 'object' && newValue.length < 2) {\n throw new Error(`<mg-input-radio> prop \"items\" require at least 2 items. Passed value: ${toString(newValue)}.`);\n }\n // String array\n else if (allItemsAreString(newValue as string[])) {\n this.options = newValue.map(item => ({ title: item, value: item, disabled: this.disabled }));\n }\n // Object array\n else if (newValue && (newValue as RadioOption[]).every(item => isOption(item))) {\n this.options = newValue as RadioOption[];\n } else {\n throw new Error(`<mg-input-radio> prop \"items\" is required and all items must be the same type, string or RadioOption. Passed value: ${toString(newValue)}.`);\n }\n }\n\n /**\n * Identifier is used for the element ID (id is a reserved prop in Stencil.js)\n */\n @Prop() identifier!: string;\n\n /**\n * Input name\n * If not set the value equals the identifier\n */\n @Prop() name: string = this.identifier;\n\n /**\n * Input label\n */\n @Prop() label!: string;\n\n /**\n * Define if label is displayed on top\n */\n @Prop() labelOnTop = false;\n\n /**\n * Define if label is visible\n */\n @Prop() labelHide = false;\n\n /**\n * Define if inputs are display verticaly\n */\n @Prop() inputVerticalList = false;\n @Watch('inputVerticalList')\n watchInputVerticalList(newValue: MgInputRadio['inputVerticalList']): void {\n if (newValue) this.classCollection.add(this.classVerticalList);\n else this.classCollection.delete(this.classVerticalList);\n }\n\n /**\n * Define if input is required\n */\n @Prop() required = false;\n\n /**\n * Define if input is readonly\n */\n @Prop() readonly = false;\n @Watch('readonly')\n watchReadonly(newValue: MgInputRadio['readonly']): void {\n if (newValue) this.classCollection.add(classReadonly);\n else this.classCollection.delete(classReadonly);\n }\n /**\n * Define if input is disabled\n */\n @Prop() disabled = false;\n @Watch('required')\n @Watch('readonly')\n @Watch('disabled')\n handleValidityChange(newValue: boolean, _oldValue: boolean, prop: string): void {\n this.inputs.forEach(input => {\n input[prop] = newValue;\n });\n this.checkValidity();\n if (this.hasDisplayedError) {\n this.setErrorMessage();\n this.hasDisplayedError = false;\n }\n }\n\n @Watch('disabled')\n watchDisabled(newValue: MgInputRadio['disabled']): void {\n if (newValue) this.classCollection.add(classDisabled);\n else this.classCollection.delete(classDisabled);\n }\n\n /**\n * Add a tooltip message next to the input\n */\n @Prop() tooltip?: string;\n\n /**\n * Define tooltip position\n */\n @Prop() tooltipPosition: TooltipPosition = 'input';\n\n /**\n * Add a help text under the input, usually expected data format and example\n */\n @Prop() helpText?: string;\n\n /**\n * Define input valid state\n */\n @Prop({ mutable: true }) valid: boolean;\n\n /**\n * Define input invalid state\n */\n @Prop({ mutable: true }) invalid: boolean;\n\n /**\n * Component classes\n */\n @State() classCollection: ClassList = new ClassList(['mg-c-input--radio', classFieldset]);\n\n /**\n * Error message to display\n */\n @State() errorMessage: string;\n\n /**\n * Formated items for display\n */\n @State() options: RadioOption[];\n\n /**\n * Value to display in readonly mode\n */\n @State() readonlyValue: string;\n\n /**\n * Emitted event when value change\n */\n @Event({ eventName: 'value-change' }) valueChange: EventEmitter<HTMLMgInputRadioElement['value']>;\n\n /**\n * Emited event when checking validity\n */\n @Event({ eventName: 'input-valid' }) inputValid: EventEmitter<HTMLMgInputRadioElement['valid']>;\n\n /**\n * Display input error if it exists.\n */\n @Method()\n displayError(): Promise<void> {\n // Use `Promise` as requested for stencil method\n // Use `requestAnimationFrame` to ensure:\n // - DOM is fully updated before validation\n // - Async operations are completed\n // - No timing issues with Stencil's render cycle\n // - Keep everything in sync both inside and outside the component\n return new Promise(resolve => {\n requestAnimationFrame(() => {\n this.checkValidity();\n this.setErrorMessage();\n this.hasDisplayedError = this.invalid;\n resolve();\n });\n });\n }\n\n /**\n * Set an error and display a custom error message.\n * This method can be used to set the component's error state from its context by passing a boolean value to the `valid` parameter.\n * It must be paired with an error message to display for the given context.\n * When used to set validity to `false`, you should use this method again to reset the validity to `true`.\n * @param valid - value indicating the validity\n * @param errorMessage - the error message to display\n */\n @Method()\n async setError(valid: MgInputRadio['valid'], errorMessage: string): Promise<void> {\n if (typeof valid !== 'boolean') {\n throw new Error('<mg-input-radio> method \"setError()\" param \"valid\" must be a boolean.');\n } else if (!isValidString(errorMessage)) {\n throw new Error('<mg-input-radio> method \"setError()\" param \"errorMessage\" must be a string.');\n } else {\n this.setValidity(valid);\n this.setErrorMessage(valid ? undefined : errorMessage);\n this.hasDisplayedError = this.invalid;\n }\n }\n\n /**\n * Reset value, validity and error state\n */\n @Method()\n async reset(): Promise<void> {\n if (!this.readonly) {\n this.value = undefined;\n this.checkValidity();\n this.errorMessage = undefined;\n this.hasDisplayedError = false;\n }\n }\n\n /**\n * Method to set validity values\n * @param newValue - valid new value\n */\n private setValidity(newValue: MgInputRadio['valid']) {\n const oldValidValue = this.valid;\n this.valid = newValue;\n this.invalid = !this.valid;\n // We need to send valid event even if it is the same value\n if (this.handlerInProgress === undefined || (this.handlerInProgress === 'blur' && this.valid !== oldValidValue)) this.inputValid.emit(this.valid);\n }\n\n /**\n * Handle input event\n * @param event - input event\n */\n private handleInput = (event: InputEvent & { target: HTMLInputElement }) => {\n this.checkValidity();\n this.value = this.options[event.target.value].value;\n };\n\n /**\n * Handle blur event\n */\n private handleBlur = (): void => {\n this.handlerInProgress = 'blur';\n this.checkValidity();\n this.setErrorMessage();\n // reset guard\n this.handlerInProgress = undefined;\n };\n\n /**\n * Check if input is valid\n */\n private checkValidity = (): void => {\n this.setValidity(this.readonly || this.disabled || this.getInvalidElement() === undefined);\n };\n\n /**\n * Set input error message\n * @param errorMessage - errorMessage override\n */\n private setErrorMessage = (errorMessage?: string): void => {\n const invalidElement = this.getInvalidElement();\n\n // Set error message\n this.errorMessage = undefined;\n if (!this.valid) {\n if (errorMessage !== undefined) {\n this.errorMessage = errorMessage;\n } else if (invalidElement.validity.valueMissing) {\n this.errorMessage = this.messages.errors.required;\n }\n }\n };\n\n /**\n * get invalid element\n * @returns element\n */\n private getInvalidElement = (): HTMLInputElement => this.inputs.find((input: HTMLInputElement) => !input.disabled && !input.readOnly && !input.checkValidity());\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * Check if component props are well configured on init\n * @returns timeout\n */\n componentWillLoad(): ReturnType<typeof setTimeout> {\n // Get locales\n this.messages = initLocales(this.element).messages;\n // Validate\n this.validateItems(this.items);\n this.watchInputVerticalList(this.inputVerticalList);\n this.watchReadonly(this.readonly);\n this.watchDisabled(this.disabled);\n this.watchValue(this.value);\n // Check validity when component is ready\n // return a promise to process action only in the FIRST render().\n // https://stenciljs.com/docs/component-lifecycle#componentwillload\n return setTimeout(() => {\n this.checkValidity();\n }, 0);\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <mg-input\n label={this.label}\n identifier={this.identifier}\n class={this.classCollection.join()}\n ariaDescribedbyIDs={[]}\n labelOnTop={this.labelOnTop}\n labelHide={this.labelHide}\n required={this.required}\n tooltip={this.tooltip}\n tooltipPosition={this.readonly && !this.value ? 'label' : this.tooltipPosition}\n helpText={this.helpText}\n errorMessage={this.errorMessage}\n >\n {this.readonly ? (\n this.readonlyValue && <b class=\"mg-c-input__readonly-value\">{this.readonlyValue}</b>\n ) : (\n <ul class=\"mg-c-input__input-group-container\" role=\"list\">\n {this.options.map((input, index) => (\n <li key={input.title} class={{ 'mg-c-input__input-group': true, 'mg-c-input__input-group--disabled': this.disabled || input.disabled }}>\n <input\n type=\"radio\"\n id={this.identifier + '_' + index}\n name={this.identifier}\n value={index}\n checked={JSON.stringify(this.value) === JSON.stringify(this.options[index].value)}\n disabled={this.disabled || input.disabled}\n required={this.required}\n onBlur={this.handleBlur}\n onInput={this.handleInput}\n ref={(el: HTMLInputElement) => {\n if (el !== null) this.inputs[index] = el;\n }}\n />\n <label htmlFor={this.identifier + '_' + index}>{input.title}</label>\n </li>\n ))}\n </ul>\n )}\n </mg-input>\n );\n }\n}\n"],"version":3}