@mgdis/mg-components 5.19.2 → 5.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (496) hide show
  1. package/dist/cjs/{components.utils-dc9c8a53.js → components.utils-cd908d4e.js} +102 -99
  2. package/dist/cjs/components.utils-cd908d4e.js.map +1 -0
  3. package/dist/cjs/{index-c042e24b.js → index-8532b5e9.js} +320 -137
  4. package/dist/cjs/index-8532b5e9.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/mg-action-more_34.cjs.entry.js +5130 -5057
  7. package/dist/cjs/mg-action-more_34.cjs.entry.js.map +1 -1
  8. package/dist/cjs/mg-components.cjs.js +3 -3
  9. package/dist/cjs/mg-components.cjs.js.map +1 -1
  10. package/dist/cjs/mg-item-more.cjs.entry.js +224 -224
  11. package/dist/cjs/mg-item-more.cjs.entry.js.map +1 -1
  12. package/dist/collection/assets/icons/index.js +193 -183
  13. package/dist/collection/assets/icons/index.js.map +1 -0
  14. package/dist/collection/collection-manifest.json +6 -6
  15. package/dist/collection/components/atoms/mg-badge/mg-badge.js +161 -161
  16. package/dist/collection/components/atoms/mg-badge/mg-badge.js.map +1 -1
  17. package/dist/collection/components/atoms/mg-button/mg-button.js +362 -347
  18. package/dist/collection/components/atoms/mg-button/mg-button.js.map +1 -1
  19. package/dist/collection/components/atoms/mg-card/mg-card.js +126 -126
  20. package/dist/collection/components/atoms/mg-card/mg-card.js.map +1 -1
  21. package/dist/collection/components/atoms/mg-character-left/mg-character-left.js +101 -101
  22. package/dist/collection/components/atoms/mg-character-left/mg-character-left.js.map +1 -1
  23. package/dist/collection/components/atoms/mg-divider/mg-divider.js +47 -47
  24. package/dist/collection/components/atoms/mg-divider/mg-divider.js.map +1 -1
  25. package/dist/collection/components/atoms/mg-icon/mg-icon.js +231 -231
  26. package/dist/collection/components/atoms/mg-icon/mg-icon.js.map +1 -1
  27. package/dist/collection/components/atoms/mg-input-title/mg-input-title.js +132 -132
  28. package/dist/collection/components/atoms/mg-input-title/mg-input-title.js.map +1 -1
  29. package/dist/collection/components/atoms/mg-tag/mg-tag.js +158 -158
  30. package/dist/collection/components/atoms/mg-tag/mg-tag.js.map +1 -1
  31. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js +46 -46
  32. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js.map +1 -1
  33. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js +3 -3
  34. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js.map +1 -1
  35. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +398 -398
  36. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js.map +1 -1
  37. package/dist/collection/components/molecules/inputs/MgInput.conf.js +8 -0
  38. package/dist/collection/components/molecules/inputs/MgInput.conf.js.map +1 -1
  39. package/dist/collection/components/molecules/inputs/MgInput.js +84 -84
  40. package/dist/collection/components/molecules/inputs/MgInput.js.map +1 -1
  41. package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js +8 -8
  42. package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js.map +1 -1
  43. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +266 -266
  44. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js.map +1 -1
  45. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.js +4 -4
  46. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.js.map +1 -1
  47. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +789 -791
  48. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js.map +1 -1
  49. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js +4 -4
  50. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js.map +1 -1
  51. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +589 -572
  52. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js.map +1 -1
  53. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.js +4 -4
  54. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.js.map +1 -1
  55. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +779 -767
  56. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js.map +1 -1
  57. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +537 -520
  58. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js.map +1 -1
  59. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +566 -550
  60. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js.map +1 -1
  61. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +701 -689
  62. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js.map +1 -1
  63. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.conf.js +0 -4
  64. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.conf.js.map +1 -1
  65. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +771 -754
  66. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js.map +1 -1
  67. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +706 -689
  68. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js.map +1 -1
  69. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +527 -522
  70. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js.map +1 -1
  71. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js +2 -2
  72. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js.map +1 -1
  73. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js +263 -263
  74. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js.map +1 -1
  75. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js +6 -6
  76. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js.map +1 -1
  77. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +423 -423
  78. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js.map +1 -1
  79. package/dist/collection/components/molecules/mg-action-more/mg-action-more.conf.js.map +1 -1
  80. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +214 -214
  81. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +1 -1
  82. package/dist/collection/components/molecules/mg-details/mg-details.js +155 -150
  83. package/dist/collection/components/molecules/mg-details/mg-details.js.map +1 -1
  84. package/dist/collection/components/molecules/mg-form/mg-form.js +332 -335
  85. package/dist/collection/components/molecules/mg-form/mg-form.js.map +1 -1
  86. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +85 -85
  87. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js.map +1 -1
  88. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js +189 -189
  89. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js.map +1 -1
  90. package/dist/collection/components/molecules/mg-message/mg-message.js +325 -304
  91. package/dist/collection/components/molecules/mg-message/mg-message.js.map +1 -1
  92. package/dist/collection/components/molecules/mg-modal/mg-modal.js +317 -317
  93. package/dist/collection/components/molecules/mg-modal/mg-modal.js.map +1 -1
  94. package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js +2 -2
  95. package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js.map +1 -1
  96. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +216 -216
  97. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js.map +1 -1
  98. package/dist/collection/components/molecules/mg-panel/mg-panel.js +409 -399
  99. package/dist/collection/components/molecules/mg-panel/mg-panel.js.map +1 -1
  100. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +91 -91
  101. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js.map +1 -1
  102. package/dist/collection/components/molecules/mg-popover/mg-popover.js +336 -329
  103. package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +1 -1
  104. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +94 -94
  105. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js.map +1 -1
  106. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js +4 -4
  107. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js.map +1 -1
  108. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +348 -343
  109. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js.map +1 -1
  110. package/dist/collection/locales/fr/messages.json +4 -4
  111. package/dist/collection/locales/index.spec.js +20 -20
  112. package/dist/collection/locales/index.spec.js.map +1 -1
  113. package/dist/collection/utils/behaviors.utils.js +127 -127
  114. package/dist/collection/utils/behaviors.utils.js.map +1 -1
  115. package/dist/collection/utils/behaviors.utils.spec.js +42 -42
  116. package/dist/collection/utils/behaviors.utils.spec.js.map +1 -1
  117. package/dist/collection/utils/components.utils.js +77 -75
  118. package/dist/collection/utils/components.utils.js.map +1 -1
  119. package/dist/collection/utils/components.utils.spec.js +150 -135
  120. package/dist/collection/utils/components.utils.spec.js.map +1 -1
  121. package/dist/collection/utils/e2e.test.utils.js +21 -21
  122. package/dist/collection/utils/e2e.test.utils.js.map +1 -1
  123. package/dist/collection/utils/locale.utils.js +17 -17
  124. package/dist/collection/utils/locale.utils.js.map +1 -1
  125. package/dist/collection/utils/locale.utils.spec.js +45 -45
  126. package/dist/collection/utils/locale.utils.spec.js.map +1 -1
  127. package/dist/collection/utils/playwright.e2e.test.utils.js +41 -41
  128. package/dist/collection/utils/playwright.e2e.test.utils.js.map +1 -1
  129. package/dist/collection/utils/playwright.fixture.js +24 -0
  130. package/dist/collection/utils/playwright.fixture.js.map +1 -0
  131. package/dist/collection/utils/unit.test.utils.js +50 -50
  132. package/dist/collection/utils/unit.test.utils.js.map +1 -1
  133. package/dist/components/MgInput.js +105 -97
  134. package/dist/components/MgInput.js.map +1 -1
  135. package/dist/components/components.utils.js +78 -76
  136. package/dist/components/components.utils.js.map +1 -1
  137. package/dist/components/index2.js +21 -21
  138. package/dist/components/index2.js.map +1 -1
  139. package/dist/components/mg-action-more.d.ts +2 -2
  140. package/dist/components/mg-action-more.js +173 -173
  141. package/dist/components/mg-action-more.js.map +1 -1
  142. package/dist/components/mg-badge.d.ts +2 -2
  143. package/dist/components/mg-badge2.js +83 -83
  144. package/dist/components/mg-badge2.js.map +1 -1
  145. package/dist/components/mg-button.d.ts +2 -2
  146. package/dist/components/mg-button2.js +182 -167
  147. package/dist/components/mg-button2.js.map +1 -1
  148. package/dist/components/mg-card.d.ts +2 -2
  149. package/dist/components/mg-card2.js +77 -77
  150. package/dist/components/mg-card2.js.map +1 -1
  151. package/dist/components/mg-character-left.d.ts +2 -2
  152. package/dist/components/mg-character-left2.js +50 -50
  153. package/dist/components/mg-character-left2.js.map +1 -1
  154. package/dist/components/mg-details.d.ts +2 -2
  155. package/dist/components/mg-details.js +69 -69
  156. package/dist/components/mg-details.js.map +1 -1
  157. package/dist/components/mg-divider.d.ts +2 -2
  158. package/dist/components/mg-divider.js +30 -30
  159. package/dist/components/mg-divider.js.map +1 -1
  160. package/dist/components/mg-form.d.ts +2 -2
  161. package/dist/components/mg-form.js +171 -179
  162. package/dist/components/mg-form.js.map +1 -1
  163. package/dist/components/mg-icon.d.ts +2 -2
  164. package/dist/components/mg-icon2.js +327 -309
  165. package/dist/components/mg-icon2.js.map +1 -1
  166. package/dist/components/mg-illustrated-message.d.ts +2 -2
  167. package/dist/components/mg-illustrated-message.js +51 -51
  168. package/dist/components/mg-illustrated-message.js.map +1 -1
  169. package/dist/components/mg-input-checkbox-paginated.d.ts +2 -2
  170. package/dist/components/mg-input-checkbox-paginated2.js +170 -170
  171. package/dist/components/mg-input-checkbox-paginated2.js.map +1 -1
  172. package/dist/components/mg-input-checkbox.d.ts +2 -2
  173. package/dist/components/mg-input-checkbox.js +478 -480
  174. package/dist/components/mg-input-checkbox.js.map +1 -1
  175. package/dist/components/mg-input-date.d.ts +2 -2
  176. package/dist/components/mg-input-date.js +266 -260
  177. package/dist/components/mg-input-date.js.map +1 -1
  178. package/dist/components/mg-input-numeric.d.ts +2 -2
  179. package/dist/components/mg-input-numeric.js +354 -348
  180. package/dist/components/mg-input-numeric.js.map +1 -1
  181. package/dist/components/mg-input-password.d.ts +2 -2
  182. package/dist/components/mg-input-password.js +205 -199
  183. package/dist/components/mg-input-password.js.map +1 -1
  184. package/dist/components/mg-input-radio.d.ts +2 -2
  185. package/dist/components/mg-input-radio.js +236 -231
  186. package/dist/components/mg-input-radio.js.map +1 -1
  187. package/dist/components/mg-input-select.d.ts +2 -2
  188. package/dist/components/mg-input-select2.js +316 -310
  189. package/dist/components/mg-input-select2.js.map +1 -1
  190. package/dist/components/mg-input-text.d.ts +2 -2
  191. package/dist/components/mg-input-text2.js +306 -300
  192. package/dist/components/mg-input-text2.js.map +1 -1
  193. package/dist/components/mg-input-textarea.d.ts +2 -2
  194. package/dist/components/mg-input-textarea.js +277 -271
  195. package/dist/components/mg-input-textarea.js.map +1 -1
  196. package/dist/components/mg-input-title.d.ts +2 -2
  197. package/dist/components/mg-input-title2.js +60 -60
  198. package/dist/components/mg-input-title2.js.map +1 -1
  199. package/dist/components/mg-input-toggle.d.ts +2 -2
  200. package/dist/components/mg-input-toggle.js +251 -251
  201. package/dist/components/mg-input-toggle.js.map +1 -1
  202. package/dist/components/mg-item-more.d.ts +2 -2
  203. package/dist/components/mg-item-more.js +285 -285
  204. package/dist/components/mg-item-more.js.map +1 -1
  205. package/dist/components/mg-menu-item.d.ts +2 -2
  206. package/dist/components/mg-menu-item2.js +345 -345
  207. package/dist/components/mg-menu-item2.js.map +1 -1
  208. package/dist/components/mg-menu.conf.js +2 -2
  209. package/dist/components/mg-menu.conf.js.map +1 -1
  210. package/dist/components/mg-menu.d.ts +2 -2
  211. package/dist/components/mg-menu2.js +176 -176
  212. package/dist/components/mg-menu2.js.map +1 -1
  213. package/dist/components/mg-message.d.ts +2 -2
  214. package/dist/components/mg-message.js +198 -193
  215. package/dist/components/mg-message.js.map +1 -1
  216. package/dist/components/mg-modal.d.ts +2 -2
  217. package/dist/components/mg-modal.js +198 -198
  218. package/dist/components/mg-modal.js.map +1 -1
  219. package/dist/components/mg-pagination.d.ts +2 -2
  220. package/dist/components/mg-pagination2.js +133 -133
  221. package/dist/components/mg-pagination2.js.map +1 -1
  222. package/dist/components/mg-panel.d.ts +2 -2
  223. package/dist/components/mg-panel.js +238 -238
  224. package/dist/components/mg-panel.js.map +1 -1
  225. package/dist/components/mg-popover-content.d.ts +2 -2
  226. package/dist/components/mg-popover-content2.js +70 -70
  227. package/dist/components/mg-popover-content2.js.map +1 -1
  228. package/dist/components/mg-popover.d.ts +2 -2
  229. package/dist/components/mg-popover2.js +224 -222
  230. package/dist/components/mg-popover2.js.map +1 -1
  231. package/dist/components/mg-skip-links.d.ts +2 -2
  232. package/dist/components/mg-skip-links.js +57 -57
  233. package/dist/components/mg-skip-links.js.map +1 -1
  234. package/dist/components/mg-tabs.d.ts +2 -2
  235. package/dist/components/mg-tabs.js +243 -243
  236. package/dist/components/mg-tabs.js.map +1 -1
  237. package/dist/components/mg-tag.d.ts +2 -2
  238. package/dist/components/mg-tag.js +97 -97
  239. package/dist/components/mg-tag.js.map +1 -1
  240. package/dist/components/mg-tooltip-content.d.ts +2 -2
  241. package/dist/components/mg-tooltip-content2.js +30 -30
  242. package/dist/components/mg-tooltip-content2.js.map +1 -1
  243. package/dist/components/mg-tooltip.d.ts +2 -2
  244. package/dist/components/mg-tooltip2.js +316 -316
  245. package/dist/components/mg-tooltip2.js.map +1 -1
  246. package/dist/components/popper.js +6 -12
  247. package/dist/components/popper.js.map +1 -1
  248. package/dist/esm/{components.utils-0f76010d.js → components.utils-0d67c31c.js} +102 -100
  249. package/dist/esm/components.utils-0d67c31c.js.map +1 -0
  250. package/dist/esm/{index-ce01e63b.js → index-f34a3a2c.js} +320 -137
  251. package/dist/esm/index-f34a3a2c.js.map +1 -0
  252. package/dist/esm/loader.js +3 -3
  253. package/dist/esm/mg-action-more_34.entry.js +5130 -5057
  254. package/dist/esm/mg-action-more_34.entry.js.map +1 -1
  255. package/dist/esm/mg-components.js +4 -4
  256. package/dist/esm/mg-components.js.map +1 -1
  257. package/dist/esm/mg-item-more.entry.js +224 -224
  258. package/dist/esm/mg-item-more.entry.js.map +1 -1
  259. package/dist/mg-components/locales/fr/messages.json +4 -4
  260. package/dist/mg-components/mg-components.css +1 -1
  261. package/dist/mg-components/mg-components.esm.js +1 -1
  262. package/dist/mg-components/mg-components.esm.js.map +1 -1
  263. package/dist/mg-components/p-629454f7.entry.js +2 -0
  264. package/dist/mg-components/p-629454f7.entry.js.map +1 -0
  265. package/dist/mg-components/p-7444ff40.js +3 -0
  266. package/dist/mg-components/p-7444ff40.js.map +1 -0
  267. package/dist/mg-components/p-af42d17b.js +2 -0
  268. package/dist/mg-components/p-af42d17b.js.map +1 -0
  269. package/dist/mg-components/{p-01ebc95a.entry.js → p-e0fb0f3c.entry.js} +2 -2
  270. package/dist/mg-components/p-e0fb0f3c.entry.js.map +1 -0
  271. package/dist/types/assets/icons/index.d.ts +193 -0
  272. package/dist/types/components/atoms/mg-badge/mg-badge.d.ts +41 -41
  273. package/dist/types/components/atoms/mg-button/mg-button.d.ts +100 -96
  274. package/dist/types/components/atoms/mg-card/mg-card.d.ts +39 -39
  275. package/dist/types/components/atoms/mg-character-left/mg-character-left.d.ts +37 -37
  276. package/dist/types/components/atoms/mg-divider/mg-divider.d.ts +12 -12
  277. package/dist/types/components/atoms/mg-icon/mg-icon.d.ts +56 -56
  278. package/dist/types/components/atoms/mg-input-title/mg-input-title.d.ts +34 -34
  279. package/dist/types/components/atoms/mg-tag/mg-tag.d.ts +51 -51
  280. package/dist/types/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.d.ts +12 -12
  281. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.conf.d.ts +3 -3
  282. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +113 -113
  283. package/dist/types/components/molecules/inputs/MgInput.conf.d.ts +10 -3
  284. package/dist/types/components/molecules/inputs/MgInput.d.ts +17 -16
  285. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.d.ts +100 -100
  286. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.d.ts +26 -26
  287. package/dist/types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.d.ts +262 -260
  288. package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.conf.d.ts +4 -4
  289. package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.d.ts +150 -149
  290. package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.d.ts +4 -4
  291. package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +223 -222
  292. package/dist/types/components/molecules/inputs/mg-input-password/mg-input-password.d.ts +142 -141
  293. package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.conf.d.ts +3 -3
  294. package/dist/types/components/molecules/inputs/mg-input-radio/mg-input-radio.d.ts +152 -151
  295. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.conf.d.ts +6 -6
  296. package/dist/types/components/molecules/inputs/mg-input-select/mg-input-select.d.ts +193 -192
  297. package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.conf.d.ts +1 -6
  298. package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +195 -194
  299. package/dist/types/components/molecules/inputs/mg-input-textarea/mg-input-textarea.d.ts +181 -180
  300. package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.conf.d.ts +2 -2
  301. package/dist/types/components/molecules/inputs/mg-input-toggle/mg-input-toggle.d.ts +141 -141
  302. package/dist/types/components/molecules/menu/mg-menu/mg-menu.conf.d.ts +2 -2
  303. package/dist/types/components/molecules/menu/mg-menu/mg-menu.d.ts +97 -97
  304. package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.conf.d.ts +6 -6
  305. package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.d.ts +179 -179
  306. package/dist/types/components/molecules/mg-action-more/mg-action-more.conf.d.ts +12 -11
  307. package/dist/types/components/molecules/mg-action-more/mg-action-more.d.ts +72 -72
  308. package/dist/types/components/molecules/mg-details/mg-details.d.ts +45 -45
  309. package/dist/types/components/molecules/mg-form/mg-form.d.ts +103 -104
  310. package/dist/types/components/molecules/mg-illustrated-message/mg-illustrated-message.d.ts +27 -27
  311. package/dist/types/components/molecules/mg-item-more/mg-item-more.conf.d.ts +5 -5
  312. package/dist/types/components/molecules/mg-item-more/mg-item-more.d.ts +61 -61
  313. package/dist/types/components/molecules/mg-message/mg-message.d.ts +100 -93
  314. package/dist/types/components/molecules/mg-modal/mg-modal.d.ts +107 -107
  315. package/dist/types/components/molecules/mg-pagination/mg-pagination.conf.d.ts +2 -2
  316. package/dist/types/components/molecules/mg-pagination/mg-pagination.d.ts +74 -74
  317. package/dist/types/components/molecules/mg-panel/mg-panel.d.ts +149 -149
  318. package/dist/types/components/molecules/mg-popover/mg-popover-content/mg-popover-content.d.ts +43 -43
  319. package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +88 -88
  320. package/dist/types/components/molecules/mg-skip-links/mg-skip-links.conf.d.ts +2 -2
  321. package/dist/types/components/molecules/mg-skip-links/mg-skip-links.d.ts +40 -40
  322. package/dist/types/components/molecules/mg-tabs/mg-tabs.conf.d.ts +10 -10
  323. package/dist/types/components/molecules/mg-tabs/mg-tabs.d.ts +118 -118
  324. package/dist/types/components.d.ts +296 -32
  325. package/dist/types/locales/index.d.ts +172 -172
  326. package/dist/types/stencil-public-runtime.d.ts +29 -0
  327. package/dist/types/utils/behaviors.utils.d.ts +65 -65
  328. package/dist/types/utils/components.utils.d.ts +32 -26
  329. package/dist/types/utils/locale.utils.d.ts +2 -2
  330. package/dist/types/utils/playwright.fixture.d.ts +3 -0
  331. package/dist/types/utils/unit.test.utils.d.ts +5 -5
  332. package/package.json +33 -47
  333. package/dist/cjs/components.utils-dc9c8a53.js.map +0 -1
  334. package/dist/cjs/index-c042e24b.js.map +0 -1
  335. package/dist/collection/components/atoms/mg-badge/test/mg-badge.e2e.playwright.js +0 -33
  336. package/dist/collection/components/atoms/mg-badge/test/mg-badge.e2e.playwright.js.map +0 -1
  337. package/dist/collection/components/atoms/mg-badge/test/mg-badge.spec.js +0 -70
  338. package/dist/collection/components/atoms/mg-badge/test/mg-badge.spec.js.map +0 -1
  339. package/dist/collection/components/atoms/mg-button/test/mg-button.e2e.js +0 -91
  340. package/dist/collection/components/atoms/mg-button/test/mg-button.e2e.js.map +0 -1
  341. package/dist/collection/components/atoms/mg-button/test/mg-button.spec.js +0 -142
  342. package/dist/collection/components/atoms/mg-button/test/mg-button.spec.js.map +0 -1
  343. package/dist/collection/components/atoms/mg-card/test/mg-card.e2e.js +0 -36
  344. package/dist/collection/components/atoms/mg-card/test/mg-card.e2e.js.map +0 -1
  345. package/dist/collection/components/atoms/mg-card/test/mg-card.spec.js +0 -43
  346. package/dist/collection/components/atoms/mg-card/test/mg-card.spec.js.map +0 -1
  347. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.e2e.js +0 -15
  348. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.e2e.js.map +0 -1
  349. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.spec.js +0 -42
  350. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.spec.js.map +0 -1
  351. package/dist/collection/components/atoms/mg-divider/test/mg-divider.e2e.js +0 -11
  352. package/dist/collection/components/atoms/mg-divider/test/mg-divider.e2e.js.map +0 -1
  353. package/dist/collection/components/atoms/mg-divider/test/mg-divider.spec.js +0 -14
  354. package/dist/collection/components/atoms/mg-divider/test/mg-divider.spec.js.map +0 -1
  355. package/dist/collection/components/atoms/mg-icon/test/mg-icon.e2e.js +0 -55
  356. package/dist/collection/components/atoms/mg-icon/test/mg-icon.e2e.js.map +0 -1
  357. package/dist/collection/components/atoms/mg-icon/test/mg-icon.spec.js +0 -84
  358. package/dist/collection/components/atoms/mg-icon/test/mg-icon.spec.js.map +0 -1
  359. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.js +0 -12
  360. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.js.map +0 -1
  361. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.spec.js +0 -23
  362. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.spec.js.map +0 -1
  363. package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.playwright.js +0 -23
  364. package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.playwright.js.map +0 -1
  365. package/dist/collection/components/atoms/mg-tag/test/mg-tag.spec.js +0 -71
  366. package/dist/collection/components/atoms/mg-tag/test/mg-tag.spec.js.map +0 -1
  367. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.e2e.js +0 -138
  368. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.e2e.js.map +0 -1
  369. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.spec.js +0 -272
  370. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.spec.js.map +0 -1
  371. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.js +0 -237
  372. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.js.map +0 -1
  373. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.js +0 -640
  374. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.js.map +0 -1
  375. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.e2e.js +0 -123
  376. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.e2e.js.map +0 -1
  377. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.spec.js +0 -379
  378. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.spec.js.map +0 -1
  379. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.e2e.js +0 -212
  380. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.e2e.js.map +0 -1
  381. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.spec.js +0 -456
  382. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.spec.js.map +0 -1
  383. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.e2e.js +0 -115
  384. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.e2e.js.map +0 -1
  385. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.spec.js +0 -289
  386. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.spec.js.map +0 -1
  387. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.e2e.js +0 -154
  388. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.e2e.js.map +0 -1
  389. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.spec.js +0 -355
  390. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.spec.js.map +0 -1
  391. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.e2e.js +0 -194
  392. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.e2e.js.map +0 -1
  393. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.spec.js +0 -399
  394. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.spec.js.map +0 -1
  395. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.js +0 -147
  396. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.js.map +0 -1
  397. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.spec.js +0 -353
  398. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.spec.js.map +0 -1
  399. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.e2e.js +0 -129
  400. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.e2e.js.map +0 -1
  401. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.spec.js +0 -318
  402. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.spec.js.map +0 -1
  403. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.js +0 -108
  404. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.js.map +0 -1
  405. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.spec.js +0 -247
  406. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.spec.js.map +0 -1
  407. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.e2e.playwright.js +0 -239
  408. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.e2e.playwright.js.map +0 -1
  409. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.spec.js +0 -175
  410. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.spec.js.map +0 -1
  411. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.js +0 -100
  412. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.js.map +0 -1
  413. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.spec.js +0 -295
  414. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.spec.js.map +0 -1
  415. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.js +0 -128
  416. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.js.map +0 -1
  417. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.spec.js +0 -187
  418. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.spec.js.map +0 -1
  419. package/dist/collection/components/molecules/mg-details/test/mg-details.e2e.playwright.js +0 -30
  420. package/dist/collection/components/molecules/mg-details/test/mg-details.e2e.playwright.js.map +0 -1
  421. package/dist/collection/components/molecules/mg-details/test/mg-details.spec.js +0 -42
  422. package/dist/collection/components/molecules/mg-details/test/mg-details.spec.js.map +0 -1
  423. package/dist/collection/components/molecules/mg-form/test/mg-form.e2e.js +0 -169
  424. package/dist/collection/components/molecules/mg-form/test/mg-form.e2e.js.map +0 -1
  425. package/dist/collection/components/molecules/mg-form/test/mg-form.spec.js +0 -277
  426. package/dist/collection/components/molecules/mg-form/test/mg-form.spec.js.map +0 -1
  427. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.e2e.js +0 -39
  428. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.e2e.js.map +0 -1
  429. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.spec.js +0 -36
  430. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.spec.js.map +0 -1
  431. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.js +0 -85
  432. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.js.map +0 -1
  433. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.spec.js +0 -106
  434. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.spec.js.map +0 -1
  435. package/dist/collection/components/molecules/mg-message/test/mg-message.e2e.js +0 -64
  436. package/dist/collection/components/molecules/mg-message/test/mg-message.e2e.js.map +0 -1
  437. package/dist/collection/components/molecules/mg-message/test/mg-message.spec.js +0 -109
  438. package/dist/collection/components/molecules/mg-message/test/mg-message.spec.js.map +0 -1
  439. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.playwright.js +0 -62
  440. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.playwright.js.map +0 -1
  441. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.template.js +0 -40
  442. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.template.js.map +0 -1
  443. package/dist/collection/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.js +0 -26
  444. package/dist/collection/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.js.map +0 -1
  445. package/dist/collection/components/molecules/mg-modal/test/mg-modal.spec.js +0 -122
  446. package/dist/collection/components/molecules/mg-modal/test/mg-modal.spec.js.map +0 -1
  447. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.js +0 -57
  448. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.js.map +0 -1
  449. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.spec.js +0 -121
  450. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.spec.js.map +0 -1
  451. package/dist/collection/components/molecules/mg-panel/test/mg-panel.e2e.playwright.js +0 -106
  452. package/dist/collection/components/molecules/mg-panel/test/mg-panel.e2e.playwright.js.map +0 -1
  453. package/dist/collection/components/molecules/mg-panel/test/mg-panel.spec.js +0 -213
  454. package/dist/collection/components/molecules/mg-panel/test/mg-panel.spec.js.map +0 -1
  455. package/dist/collection/components/molecules/mg-popover/test/mg-popover.e2e.playwright.js +0 -140
  456. package/dist/collection/components/molecules/mg-popover/test/mg-popover.e2e.playwright.js.map +0 -1
  457. package/dist/collection/components/molecules/mg-popover/test/mg-popover.spec.js +0 -142
  458. package/dist/collection/components/molecules/mg-popover/test/mg-popover.spec.js.map +0 -1
  459. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.e2e.js +0 -55
  460. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.e2e.js.map +0 -1
  461. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.spec.js +0 -55
  462. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.spec.js.map +0 -1
  463. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.js +0 -76
  464. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.js.map +0 -1
  465. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.spec.js +0 -332
  466. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.spec.js.map +0 -1
  467. package/dist/collection/utils/stencil.e2e.test.utils.js +0 -33
  468. package/dist/collection/utils/stencil.e2e.test.utils.js.map +0 -1
  469. package/dist/esm/components.utils-0f76010d.js.map +0 -1
  470. package/dist/esm/index-ce01e63b.js.map +0 -1
  471. package/dist/mg-components/p-01ebc95a.entry.js.map +0 -1
  472. package/dist/mg-components/p-1aa89acf.js +0 -3
  473. package/dist/mg-components/p-1aa89acf.js.map +0 -1
  474. package/dist/mg-components/p-71a5a848.entry.js +0 -2
  475. package/dist/mg-components/p-71a5a848.entry.js.map +0 -1
  476. package/dist/mg-components/p-c9e2c669.js +0 -2
  477. package/dist/mg-components/p-c9e2c669.js.map +0 -1
  478. package/dist/types/components/atoms/mg-badge/test/mg-badge.e2e.playwright.d.ts +0 -1
  479. package/dist/types/components/atoms/mg-input-title/test/mg-input-title.e2e.playwright.d.ts +0 -1
  480. package/dist/types/components/atoms/mg-tag/test/mg-tag.e2e.playwright.d.ts +0 -1
  481. package/dist/types/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.d.ts +0 -1
  482. package/dist/types/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.playwright.d.ts +0 -1
  483. package/dist/types/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.playwright.d.ts +0 -1
  484. package/dist/types/components/molecules/menu/mg-menu/test/mg-menu.e2e.playwright.d.ts +0 -1
  485. package/dist/types/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.playwright.d.ts +0 -1
  486. package/dist/types/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.d.ts +0 -2
  487. package/dist/types/components/molecules/mg-details/test/mg-details.e2e.playwright.d.ts +0 -1
  488. package/dist/types/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.d.ts +0 -1
  489. package/dist/types/components/molecules/mg-modal/test/mg-modal.e2e.playwright.d.ts +0 -1
  490. package/dist/types/components/molecules/mg-modal/test/mg-modal.e2e.template.d.ts +0 -12
  491. package/dist/types/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.d.ts +0 -1
  492. package/dist/types/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.d.ts +0 -1
  493. package/dist/types/components/molecules/mg-panel/test/mg-panel.e2e.playwright.d.ts +0 -1
  494. package/dist/types/components/molecules/mg-popover/test/mg-popover.e2e.playwright.d.ts +0 -1
  495. package/dist/types/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.d.ts +0 -1
  496. package/dist/types/utils/stencil.e2e.test.utils.d.ts +0 -14
@@ -1,803 +1,815 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { MgInput } from "../MgInput";
3
+ import { Handler } from "../MgInput.conf";
3
4
  import { types, InputError } from "./mg-input-numeric.conf";
4
5
  import { ClassList, isValidString } from "../../../../utils/components.utils";
5
6
  import { initLocales } from "../../../../locales/";
6
7
  import { localeCurrency, localeNumber } from "../../../../utils/locale.utils";
7
8
  export class MgInputNumeric {
8
- constructor() {
9
- // hasDisplayedError (triggered by blur event)
10
- this.hasDisplayedError = false;
9
+ constructor() {
10
+ // hasDisplayedError (triggered by blur event)
11
+ this.hasDisplayedError = false;
12
+ /**
13
+ * Handle input event
14
+ */
15
+ this.handleInput = () => {
16
+ // Check validity
17
+ this.checkValidity();
18
+ if (this.hasDisplayedError) {
19
+ this.setErrorMessage();
20
+ }
21
+ this.value = this.input.value;
22
+ };
23
+ /**
24
+ * Handle focus event
25
+ */
26
+ this.handleFocus = () => {
27
+ this.hasFocus = true;
28
+ };
29
+ /**
30
+ * Handle blur event
31
+ */
32
+ this.handleBlur = () => {
33
+ if (this.value === '-')
34
+ this.value = '';
35
+ // Display Error
36
+ this.handlerInProgress = Handler.BLUR;
37
+ this.displayError().finally(() => {
38
+ // reset guard
39
+ this.handlerInProgress = undefined;
40
+ this.hasFocus = false;
41
+ });
42
+ };
43
+ /**
44
+ * Check if input is valid
45
+ */
46
+ this.checkValidity = () => {
47
+ this.setValidity(this.readonly || this.disabled || this.getInputError() === null);
48
+ };
49
+ /**
50
+ * Set input error message
51
+ * @param errorMessage - errorMessage override
52
+ */
53
+ this.setErrorMessage = (errorMessage) => {
54
+ // Set error message
55
+ this.errorMessage = undefined;
56
+ if (!this.valid) {
57
+ const inputError = this.getInputError();
58
+ if (errorMessage !== undefined) {
59
+ this.errorMessage = errorMessage;
60
+ }
61
+ else if (inputError === InputError.REQUIRED) {
62
+ this.errorMessage = this.messages.errors[inputError];
63
+ }
64
+ else {
65
+ this.errorMessage = this.messages.errors.numeric[inputError].replace('{min}', `${this.formatValue(this.min)}`).replace('{max}', `${this.formatValue(this.max)}`);
66
+ }
67
+ }
68
+ };
69
+ /**
70
+ * Get input error code
71
+ * @returns error code
72
+ */
73
+ this.getInputError = () => {
74
+ let inputError = null;
75
+ const hasNotEmptyValues = (toControl) => !toControl.some(value => [null, undefined].includes(value));
76
+ if (!hasNotEmptyValues([this.input]))
77
+ return inputError;
78
+ // required
79
+ if (!this.input.checkValidity() && this.input.validity.valueMissing) {
80
+ inputError = InputError.REQUIRED;
81
+ }
82
+ // Min & Max
83
+ else if (hasNotEmptyValues([this.min, this.numericValue]) && this.numericValue < this.min && this.max === undefined) {
84
+ // Only a min value is set
85
+ inputError = InputError.MIN;
86
+ }
87
+ else if (hasNotEmptyValues([this.max, this.numericValue]) && this.numericValue > this.max && this.min === undefined) {
88
+ // Only a max value is set
89
+ inputError = InputError.MAX;
90
+ }
91
+ else if (hasNotEmptyValues([this.min, this.max, this.numericValue]) && (this.numericValue < this.min || this.numericValue > this.max)) {
92
+ // both min and max values are set
93
+ inputError = InputError.MINMAX;
94
+ }
95
+ return inputError;
96
+ };
97
+ /**
98
+ * Format value based on type
99
+ * @param value - value to format
100
+ * @returns formated local value
101
+ */
102
+ this.formatValue = (value) => (this.type === 'currency' ? localeCurrency(value, this.locale, this.currency) : localeNumber(value, this.locale));
103
+ /**
104
+ * Validate append slot
105
+ */
106
+ this.validateAppendSlot = () => {
107
+ const slotAppendInput = this.element.querySelector('[slot="append-input"]');
108
+ if (slotAppendInput !== null) {
109
+ this.classCollection.add(slotAppendInput.nodeName === 'MG-BUTTON' ? 'mg-c-input--is-input-group-append' : 'mg-c-input--is-append-input-slot-content');
110
+ }
111
+ };
112
+ this.value = undefined;
113
+ this.identifier = undefined;
114
+ this.name = this.identifier;
115
+ this.label = undefined;
116
+ this.labelOnTop = undefined;
117
+ this.labelHide = false;
118
+ this.placeholder = undefined;
119
+ this.required = false;
120
+ this.readonly = false;
121
+ this.disabled = false;
122
+ this.mgWidth = undefined;
123
+ this.tooltip = undefined;
124
+ this.helpText = undefined;
125
+ this.type = types[0];
126
+ this.currency = 'USD';
127
+ this.max = undefined;
128
+ this.min = undefined;
129
+ this.integerLength = 13;
130
+ this.decimalLength = 2;
131
+ this.valid = undefined;
132
+ this.invalid = undefined;
133
+ this.classCollection = new ClassList(['mg-c-input--numeric']);
134
+ this.errorMessage = undefined;
135
+ this.hasFocus = undefined;
136
+ }
137
+ validateValue(newValue) {
138
+ // has input value is always render as string we get a stringified value or a '' for nullish value, so we test string type
139
+ if (typeof newValue === 'string') {
140
+ // Split number and decimal
141
+ const [integer, decimal = ''] = newValue.replace('-', '').split(/[.,]/);
142
+ // Regex
143
+ const regex = this.type === 'integer' ? /^-?\d+$/ : /^-?\d+(?:[.,]\d*)?$/;
144
+ // Filter input
145
+ if (this.isValidValue(newValue, regex, integer, decimal)) {
146
+ this.storedValue = newValue;
147
+ }
148
+ else {
149
+ newValue = this.handleInvalidValue();
150
+ }
151
+ // Set value and input value
152
+ this.updateValues(newValue);
153
+ }
154
+ }
155
+ handleValidityChange(newValue, _oldValue, prop) {
156
+ if (this.input !== undefined) {
157
+ this.input[prop] = newValue;
158
+ this.checkValidity();
159
+ if (this.hasDisplayedError) {
160
+ this.setErrorMessage();
161
+ this.hasDisplayedError = false;
162
+ }
163
+ }
164
+ }
165
+ validateType(newValue) {
166
+ if (!types.includes(newValue)) {
167
+ throw new Error(`<mg-input-numeric> prop "type" must be one of: ${types.join(', ')}`);
168
+ }
169
+ }
170
+ validateIntegerLength(newValue) {
171
+ if (newValue < 1) {
172
+ throw new Error(`<mg-input-numeric> prop "integer-length" must be a positive number.`);
173
+ }
174
+ }
175
+ validateDecimalLength(newValue) {
176
+ if (newValue < 1) {
177
+ throw new Error(`<mg-input-numeric> prop "decimal-length" must be a positive number, consider using prop "type" to "integer" instead.`);
178
+ }
179
+ }
11
180
  /**
12
- * Handle input event
181
+ * Display input error if it exists.
13
182
  */
14
- this.handleInput = () => {
15
- // Check validity
16
- this.checkValidity();
17
- if (this.hasDisplayedError) {
183
+ async displayError() {
184
+ this.checkValidity();
18
185
  this.setErrorMessage();
19
- }
20
- this.value = this.input.value;
21
- };
22
- /**
23
- * Handle focus event
24
- */
25
- this.handleFocus = () => {
26
- this.hasFocus = true;
27
- };
28
- /**
29
- * Handle blur event
30
- */
31
- this.handleBlur = () => {
32
- if (this.value === '-')
33
- this.value = '';
34
- // Display Error
35
- this.displayError();
36
- this.hasFocus = false;
37
- };
38
- /**
39
- * Check if input is valid
40
- */
41
- this.checkValidity = () => {
42
- this.setValidity(this.readonly || this.disabled || this.getInputError() === null);
43
- };
186
+ this.hasDisplayedError = this.invalid;
187
+ }
44
188
  /**
45
- * Set input error message
46
- * @param errorMessage - errorMessage override
189
+ * Set an error and display a custom error message.
190
+ * This method can be used to set the component's error state from its context by passing a boolean value to the `valid` parameter.
191
+ * It must be paired with an error message to display for the given context.
192
+ * When used to set validity to `false`, you should use this method again to reset the validity to `true`.
193
+ * @param valid - value indicating the validity
194
+ * @param errorMessage - the error message to display
47
195
  */
48
- this.setErrorMessage = (errorMessage) => {
49
- // Set error message
50
- this.errorMessage = undefined;
51
- if (!this.valid) {
52
- const inputError = this.getInputError();
53
- if (errorMessage !== undefined) {
54
- this.errorMessage = errorMessage;
196
+ async setError(valid, errorMessage) {
197
+ if (typeof valid !== 'boolean') {
198
+ throw new Error('<mg-input-numeric> method "setError()" param "valid" must be a boolean');
55
199
  }
56
- else if (inputError === InputError.REQUIRED) {
57
- this.errorMessage = this.messages.errors[inputError];
200
+ else if (!isValidString(errorMessage)) {
201
+ throw new Error('<mg-input-numeric> method "setError()" param "errorMessage" must be a string');
58
202
  }
59
203
  else {
60
- this.errorMessage = this.messages.errors.numeric[inputError].replace('{min}', `${this.formatValue(this.min)}`).replace('{max}', `${this.formatValue(this.max)}`);
204
+ this.setValidity(valid);
205
+ this.setErrorMessage(valid ? undefined : errorMessage);
206
+ this.hasDisplayedError = this.invalid;
61
207
  }
62
- }
63
- };
208
+ }
64
209
  /**
65
- * Get input error code
66
- * @returns error code
210
+ * Method to set validity values
211
+ * @param newValue - valid new value
67
212
  */
68
- this.getInputError = () => {
69
- let inputError = null;
70
- const hasNotEmptyValues = (toControl) => !toControl.some(value => [null, undefined].includes(value));
71
- if (!hasNotEmptyValues([this.input]))
72
- return inputError;
73
- // required
74
- if (!this.input.checkValidity() && this.input.validity.valueMissing) {
75
- inputError = InputError.REQUIRED;
76
- }
77
- // Min & Max
78
- else if (hasNotEmptyValues([this.min, this.numericValue]) && this.numericValue < this.min && this.max === undefined) {
79
- // Only a min value is set
80
- inputError = InputError.MIN;
81
- }
82
- else if (hasNotEmptyValues([this.max, this.numericValue]) && this.numericValue > this.max && this.min === undefined) {
83
- // Only a max value is set
84
- inputError = InputError.MAX;
85
- }
86
- else if (hasNotEmptyValues([this.min, this.max, this.numericValue]) && (this.numericValue < this.min || this.numericValue > this.max)) {
87
- // both min and max values are set
88
- inputError = InputError.MINMAX;
89
- }
90
- return inputError;
91
- };
213
+ setValidity(newValue) {
214
+ const oldValidValue = this.valid;
215
+ this.valid = newValue;
216
+ this.invalid = !this.valid;
217
+ // We need to send valid event even if it is the same value
218
+ if (this.handlerInProgress === undefined || (this.handlerInProgress === Handler.BLUR && this.valid !== oldValidValue))
219
+ this.inputValid.emit(this.valid);
220
+ }
92
221
  /**
93
- * Format value based on type
94
- * @param value - value to format
95
- * @returns formated local value
222
+ * Checks if the given value is valid according to the defined rules.
223
+ * @param value - The input value to validate.
224
+ * @param regex - The regular expression for validation.
225
+ * @param integer - The integer part of the value.
226
+ * @param decimal - The decimal part of the value.
227
+ * @returns Returns true if the value is valid, otherwise false.
96
228
  */
97
- this.formatValue = (value) => (this.type === 'currency' ? localeCurrency(value, this.locale, this.currency) : localeNumber(value, this.locale));
229
+ isValidValue(value, regex, integer, decimal) {
230
+ return (['', '-'].includes(value) || (regex.exec(value) !== null && integer.length <= this.integerLength && decimal.length <= (this.type === 'integer' ? 0 : this.decimalLength)));
231
+ }
98
232
  /**
99
- * Validate append slot
233
+ * Handles invalid input values and returns a corrected value.
234
+ * @returns The corrected value.
100
235
  */
101
- this.validateAppendSlot = () => {
102
- const slotAppendInput = this.element.querySelector('[slot="append-input"]');
103
- if (slotAppendInput !== null) {
104
- this.classCollection.add(slotAppendInput.nodeName === 'MG-BUTTON' ? 'mg-c-input--is-input-group-append' : 'mg-c-input--is-append-input-slot-content');
105
- }
106
- };
107
- this.value = undefined;
108
- this.identifier = undefined;
109
- this.name = this.identifier;
110
- this.label = undefined;
111
- this.labelOnTop = undefined;
112
- this.labelHide = false;
113
- this.placeholder = undefined;
114
- this.required = false;
115
- this.readonly = false;
116
- this.disabled = false;
117
- this.mgWidth = undefined;
118
- this.tooltip = undefined;
119
- this.helpText = undefined;
120
- this.type = types[0];
121
- this.currency = 'USD';
122
- this.max = undefined;
123
- this.min = undefined;
124
- this.integerLength = 13;
125
- this.decimalLength = 2;
126
- this.valid = undefined;
127
- this.invalid = undefined;
128
- this.classCollection = new ClassList(['mg-c-input--numeric']);
129
- this.errorMessage = undefined;
130
- this.hasFocus = false;
131
- }
132
- validateValue(newValue) {
133
- // has input value is always render as string we get a stringified value or a '' for nullish value, so we test string type
134
- if (typeof newValue === 'string') {
135
- // Split number and decimal
136
- const [integer, decimal = ''] = newValue.replace('-', '').split(/[.,]/);
137
- // Regex
138
- const regex = this.type === 'integer' ? /^-?\d+$/ : /^-?\d+(?:[.,]\d*)?$/;
139
- // Filter input
140
- if (this.isValidValue(newValue, regex, integer, decimal)) {
141
- this.storedValue = newValue;
142
- }
143
- else {
144
- newValue = this.handleInvalidValue();
145
- }
146
- // Set value and input value
147
- this.updateValues(newValue);
148
- }
149
- }
150
- handleValidityChange(newValue, _oldValue, prop) {
151
- if (this.input !== undefined) {
152
- this.input[prop] = newValue;
153
- this.checkValidity();
154
- if (this.hasDisplayedError) {
155
- this.setErrorMessage();
156
- this.hasDisplayedError = false;
157
- }
236
+ handleInvalidValue() {
237
+ var _a;
238
+ return (_a = this.storedValue) !== null && _a !== void 0 ? _a : null;
158
239
  }
159
- }
160
- validateType(newValue) {
161
- if (!types.includes(newValue)) {
162
- throw new Error(`<mg-input-numeric> prop "type" must be one of: ${types.join(', ')}`);
240
+ /**
241
+ * Updates the component values based on the validated input value.
242
+ * @param newValue - The validated input value.
243
+ */
244
+ updateValues(newValue) {
245
+ this.value = newValue;
246
+ if (this.input !== undefined)
247
+ this.input.value = this.value;
248
+ this.numericValue = !['', null].includes(this.value) ? parseFloat(this.value.replace(',', '.')) : null;
249
+ this.valueChange.emit(this.numericValue);
250
+ this.readonlyValue = this.numericValue !== null ? this.formatValue(this.numericValue) : '';
163
251
  }
164
- }
165
- validateIntegerLength(newValue) {
166
- if (newValue < 1) {
167
- throw new Error(`<mg-input-numeric> prop "integer-length" must be a positive number.`);
252
+ /**
253
+ * Displayed value in input
254
+ * Change on focus/blur
255
+ * @returns display value
256
+ */
257
+ displayValue() {
258
+ return this.hasFocus ? this.value : this.readonlyValue;
168
259
  }
169
- }
170
- validateDecimalLength(newValue) {
171
- if (newValue < 1) {
172
- throw new Error(`<mg-input-numeric> prop "decimal-length" must be a positive number, consider using prop "type" to "integer" instead.`);
260
+ /*************
261
+ * Lifecycle *
262
+ *************/
263
+ /**
264
+ * Check if component props are well configured on init
265
+ * @returns timeout
266
+ */
267
+ componentWillLoad() {
268
+ // Get locales
269
+ const locales = initLocales(this.element);
270
+ this.locale = locales.locale;
271
+ this.messages = locales.messages;
272
+ // Validate component config
273
+ this.validateType(this.type);
274
+ this.validateIntegerLength(this.integerLength);
275
+ this.validateDecimalLength(this.decimalLength);
276
+ // validate value
277
+ this.validateValue(this.value);
278
+ this.validateAppendSlot();
279
+ // Check validity when component is ready
280
+ // return a promise to process action only in the FIRST render().
281
+ // https://stenciljs.com/docs/component-lifecycle#componentwillload
282
+ return setTimeout(() => {
283
+ this.checkValidity();
284
+ }, 0);
173
285
  }
174
- }
175
- /**
176
- * Display input error if it exists.
177
- */
178
- async displayError() {
179
- this.checkValidity();
180
- this.setErrorMessage();
181
- this.hasDisplayedError = this.invalid;
182
- }
183
- /**
184
- * Set an error and display a custom error message.
185
- * This method can be used to set the component's error state from its context by passing a boolean value to the `valid` parameter.
186
- * It must be paired with an error message to display for the given context.
187
- * When used to set validity to `false`, you should use this method again to reset the validity to `true`.
188
- * @param valid - value indicating the validity
189
- * @param errorMessage - the error message to display
190
- */
191
- async setError(valid, errorMessage) {
192
- if (typeof valid !== 'boolean') {
193
- throw new Error('<mg-input-numeric> method "setError()" param "valid" must be a boolean');
286
+ /**
287
+ * Render
288
+ * @returns HTML Element
289
+ */
290
+ render() {
291
+ return (h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: this.mgWidth, disabled: this.disabled, value: this.value, readonlyValue: this.readonlyValue, tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, h("input", { type: "text", class: "mg-c-input__box", value: this.displayValue(), id: this.identifier, name: this.name, placeholder: this.placeholder, title: this.placeholder, disabled: this.disabled, required: this.required, "aria-invalid": (this.invalid === true).toString(), onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, ref: (el) => {
292
+ if (el !== null)
293
+ this.input = el;
294
+ } }), h("slot", { name: "append-input" })));
194
295
  }
195
- else if (!isValidString(errorMessage)) {
196
- throw new Error('<mg-input-numeric> method "setError()" param "errorMessage" must be a string');
296
+ static get is() { return "mg-input-numeric"; }
297
+ static get encapsulation() { return "shadow"; }
298
+ static get originalStyleUrls() {
299
+ return {
300
+ "$": ["../../../../../node_modules/@mgdis/styles/dist/components/mg-input-numeric.css"]
301
+ };
197
302
  }
198
- else {
199
- this.setValidity(valid);
200
- this.setErrorMessage(valid ? undefined : errorMessage);
201
- this.hasDisplayedError = this.invalid;
303
+ static get styleUrls() {
304
+ return {
305
+ "$": ["../../../../../node_modules/@mgdis/styles/dist/components/mg-input-numeric.css"]
306
+ };
202
307
  }
203
- }
204
- /**
205
- * Method to set validity values
206
- * @param newValue - valid new value
207
- */
208
- setValidity(newValue) {
209
- this.valid = newValue;
210
- this.invalid = !this.valid;
211
- // We need to send valid event even if it is the same value
212
- this.inputValid.emit(this.valid);
213
- }
214
- /**
215
- * Checks if the given value is valid according to the defined rules.
216
- * @param value - The input value to validate.
217
- * @param regex - The regular expression for validation.
218
- * @param integer - The integer part of the value.
219
- * @param decimal - The decimal part of the value.
220
- * @returns Returns true if the value is valid, otherwise false.
221
- */
222
- isValidValue(value, regex, integer, decimal) {
223
- return (['', '-'].includes(value) || (regex.exec(value) !== null && integer.length <= this.integerLength && decimal.length <= (this.type === 'integer' ? 0 : this.decimalLength)));
224
- }
225
- /**
226
- * Handles invalid input values and returns a corrected value.
227
- * @returns The corrected value.
228
- */
229
- handleInvalidValue() {
230
- var _a;
231
- return (_a = this.storedValue) !== null && _a !== void 0 ? _a : null;
232
- }
233
- /**
234
- * Updates the component values based on the validated input value.
235
- * @param newValue - The validated input value.
236
- */
237
- updateValues(newValue) {
238
- this.value = newValue;
239
- if (this.input !== undefined)
240
- this.input.value = this.value;
241
- this.numericValue = !['', null].includes(this.value) ? parseFloat(this.value.replace(',', '.')) : null;
242
- this.valueChange.emit(this.numericValue);
243
- this.readonlyValue = this.numericValue !== null ? this.formatValue(this.numericValue) : '';
244
- }
245
- /**
246
- * Displayed value in input
247
- * Change on focus/blur
248
- * @returns display value
249
- */
250
- displayValue() {
251
- return this.hasFocus ? this.value : this.readonlyValue;
252
- }
253
- /*************
254
- * Lifecycle *
255
- *************/
256
- /**
257
- * Check if component props are well configured on init
258
- * @returns timeout
259
- */
260
- componentWillLoad() {
261
- // Get locales
262
- const locales = initLocales(this.element);
263
- this.locale = locales.locale;
264
- this.messages = locales.messages;
265
- // Validate component config
266
- this.validateType(this.type);
267
- this.validateIntegerLength(this.integerLength);
268
- this.validateDecimalLength(this.decimalLength);
269
- // validate value
270
- this.validateValue(this.value);
271
- this.validateAppendSlot();
272
- // Check validity when component is ready
273
- // return a promise to process action only in the FIRST render().
274
- // https://stenciljs.com/docs/component-lifecycle#componentwillload
275
- return setTimeout(() => {
276
- this.checkValidity();
277
- }, 0);
278
- }
279
- /**
280
- * Render
281
- * @returns HTML Element
282
- */
283
- render() {
284
- return (h(MgInput, { identifier: this.identifier, classCollection: this.classCollection, ariaDescribedbyIDs: [], label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, readonly: this.readonly, mgWidth: this.mgWidth, disabled: this.disabled, value: this.value, readonlyValue: this.readonlyValue, tooltip: this.tooltip, helpText: this.helpText, errorMessage: this.errorMessage, isFieldset: false }, h("input", { type: "text", class: "mg-c-input__box", value: this.displayValue(), id: this.identifier, name: this.name, placeholder: this.placeholder, title: this.placeholder, disabled: this.disabled, required: this.required, "aria-invalid": (this.invalid === true).toString(), onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, ref: (el) => {
285
- if (el !== null)
286
- this.input = el;
287
- } }), h("slot", { name: "append-input" })));
288
- }
289
- static get is() { return "mg-input-numeric"; }
290
- static get encapsulation() { return "shadow"; }
291
- static get originalStyleUrls() {
292
- return {
293
- "$": ["../../../../../node_modules/@mgdis/styles/dist/components/mg-input-numeric.css"]
294
- };
295
- }
296
- static get styleUrls() {
297
- return {
298
- "$": ["../../../../../node_modules/@mgdis/styles/dist/components/mg-input-numeric.css"]
299
- };
300
- }
301
- static get properties() {
302
- return {
303
- "value": {
304
- "type": "string",
305
- "mutable": true,
306
- "complexType": {
307
- "original": "string",
308
- "resolved": "string",
309
- "references": {}
310
- },
311
- "required": false,
312
- "optional": false,
313
- "docs": {
314
- "tags": [],
315
- "text": "Component value"
316
- },
317
- "attribute": "value",
318
- "reflect": true
319
- },
320
- "identifier": {
321
- "type": "string",
322
- "mutable": false,
323
- "complexType": {
324
- "original": "string",
325
- "resolved": "string",
326
- "references": {}
327
- },
328
- "required": true,
329
- "optional": false,
330
- "docs": {
331
- "tags": [],
332
- "text": "Identifier is used for the element ID (id is a reserved prop in Stencil.js)"
333
- },
334
- "attribute": "identifier",
335
- "reflect": false
336
- },
337
- "name": {
338
- "type": "string",
339
- "mutable": false,
340
- "complexType": {
341
- "original": "string",
342
- "resolved": "string",
343
- "references": {}
344
- },
345
- "required": false,
346
- "optional": false,
347
- "docs": {
348
- "tags": [],
349
- "text": "Input name\nIf not set the value equals the identifier"
350
- },
351
- "attribute": "name",
352
- "reflect": false,
353
- "defaultValue": "this.identifier"
354
- },
355
- "label": {
356
- "type": "string",
357
- "mutable": false,
358
- "complexType": {
359
- "original": "string",
360
- "resolved": "string",
361
- "references": {}
362
- },
363
- "required": true,
364
- "optional": false,
365
- "docs": {
366
- "tags": [],
367
- "text": "Input label"
368
- },
369
- "attribute": "label",
370
- "reflect": false
371
- },
372
- "labelOnTop": {
373
- "type": "boolean",
374
- "mutable": false,
375
- "complexType": {
376
- "original": "boolean",
377
- "resolved": "boolean",
378
- "references": {}
379
- },
380
- "required": false,
381
- "optional": false,
382
- "docs": {
383
- "tags": [],
384
- "text": "Define if label is displayed on top"
385
- },
386
- "attribute": "label-on-top",
387
- "reflect": false
388
- },
389
- "labelHide": {
390
- "type": "boolean",
391
- "mutable": false,
392
- "complexType": {
393
- "original": "boolean",
394
- "resolved": "boolean",
395
- "references": {}
396
- },
397
- "required": false,
398
- "optional": false,
399
- "docs": {
400
- "tags": [],
401
- "text": "Define if label is visible"
402
- },
403
- "attribute": "label-hide",
404
- "reflect": false,
405
- "defaultValue": "false"
406
- },
407
- "placeholder": {
408
- "type": "string",
409
- "mutable": false,
410
- "complexType": {
411
- "original": "string",
412
- "resolved": "string",
413
- "references": {}
414
- },
415
- "required": false,
416
- "optional": false,
417
- "docs": {
418
- "tags": [],
419
- "text": "Input placeholder.\nIt should be a word or short phrase that demonstrates the expected type of data, not a replacement for labels or help text."
420
- },
421
- "attribute": "placeholder",
422
- "reflect": false
423
- },
424
- "required": {
425
- "type": "boolean",
426
- "mutable": false,
427
- "complexType": {
428
- "original": "boolean",
429
- "resolved": "boolean",
430
- "references": {}
431
- },
432
- "required": false,
433
- "optional": false,
434
- "docs": {
435
- "tags": [],
436
- "text": "Define if input is required"
437
- },
438
- "attribute": "required",
439
- "reflect": false,
440
- "defaultValue": "false"
441
- },
442
- "readonly": {
443
- "type": "boolean",
444
- "mutable": false,
445
- "complexType": {
446
- "original": "boolean",
447
- "resolved": "boolean",
448
- "references": {}
449
- },
450
- "required": false,
451
- "optional": false,
452
- "docs": {
453
- "tags": [],
454
- "text": "Define if input is readonly"
455
- },
456
- "attribute": "readonly",
457
- "reflect": false,
458
- "defaultValue": "false"
459
- },
460
- "disabled": {
461
- "type": "boolean",
462
- "mutable": false,
463
- "complexType": {
464
- "original": "boolean",
465
- "resolved": "boolean",
466
- "references": {}
467
- },
468
- "required": false,
469
- "optional": false,
470
- "docs": {
471
- "tags": [],
472
- "text": "Define if input is disabled"
473
- },
474
- "attribute": "disabled",
475
- "reflect": false,
476
- "defaultValue": "false"
477
- },
478
- "mgWidth": {
479
- "type": "any",
480
- "mutable": false,
481
- "complexType": {
482
- "original": "Width",
483
- "resolved": "\"full\" | 16 | 2 | 4",
484
- "references": {
485
- "Width": {
486
- "location": "import",
487
- "path": "../MgInput.conf",
488
- "id": "src/components/molecules/inputs/MgInput.conf.ts::Width"
489
- }
490
- }
491
- },
492
- "required": false,
493
- "optional": false,
494
- "docs": {
495
- "tags": [],
496
- "text": "Define input width"
497
- },
498
- "attribute": "mg-width",
499
- "reflect": false
500
- },
501
- "tooltip": {
502
- "type": "string",
503
- "mutable": false,
504
- "complexType": {
505
- "original": "string",
506
- "resolved": "string",
507
- "references": {}
508
- },
509
- "required": false,
510
- "optional": false,
511
- "docs": {
512
- "tags": [],
513
- "text": "Add a tooltip message next to the input"
514
- },
515
- "attribute": "tooltip",
516
- "reflect": false
517
- },
518
- "helpText": {
519
- "type": "string",
520
- "mutable": false,
521
- "complexType": {
522
- "original": "string",
523
- "resolved": "string",
524
- "references": {}
525
- },
526
- "required": false,
527
- "optional": false,
528
- "docs": {
529
- "tags": [],
530
- "text": "Add a help text under the input, usually expected data format and example"
531
- },
532
- "attribute": "help-text",
533
- "reflect": false
534
- },
535
- "type": {
536
- "type": "string",
537
- "mutable": false,
538
- "complexType": {
539
- "original": "string",
540
- "resolved": "string",
541
- "references": {}
542
- },
543
- "required": false,
544
- "optional": false,
545
- "docs": {
546
- "tags": [],
547
- "text": "Define numeric type"
548
- },
549
- "attribute": "type",
550
- "reflect": false,
551
- "defaultValue": "types[0]"
552
- },
553
- "currency": {
554
- "type": "string",
555
- "mutable": false,
556
- "complexType": {
557
- "original": "string",
558
- "resolved": "string",
559
- "references": {}
560
- },
561
- "required": false,
562
- "optional": false,
563
- "docs": {
564
- "tags": [],
565
- "text": "Define currency"
566
- },
567
- "attribute": "currency",
568
- "reflect": false,
569
- "defaultValue": "'USD'"
570
- },
571
- "max": {
572
- "type": "number",
573
- "mutable": false,
574
- "complexType": {
575
- "original": "number",
576
- "resolved": "number",
577
- "references": {}
578
- },
579
- "required": false,
580
- "optional": false,
581
- "docs": {
582
- "tags": [],
583
- "text": "Maximum value"
584
- },
585
- "attribute": "max",
586
- "reflect": false
587
- },
588
- "min": {
589
- "type": "number",
590
- "mutable": false,
591
- "complexType": {
592
- "original": "number",
593
- "resolved": "number",
594
- "references": {}
595
- },
596
- "required": false,
597
- "optional": false,
598
- "docs": {
599
- "tags": [],
600
- "text": "Minimum value"
601
- },
602
- "attribute": "min",
603
- "reflect": false
604
- },
605
- "integerLength": {
606
- "type": "number",
607
- "mutable": false,
608
- "complexType": {
609
- "original": "number",
610
- "resolved": "number",
611
- "references": {}
612
- },
613
- "required": false,
614
- "optional": false,
615
- "docs": {
616
- "tags": [],
617
- "text": "Override integer length\ninteger is the number before the decimal point"
618
- },
619
- "attribute": "integer-length",
620
- "reflect": false,
621
- "defaultValue": "13"
622
- },
623
- "decimalLength": {
624
- "type": "number",
625
- "mutable": false,
626
- "complexType": {
627
- "original": "number",
628
- "resolved": "number",
629
- "references": {}
630
- },
631
- "required": false,
632
- "optional": false,
633
- "docs": {
634
- "tags": [],
635
- "text": "Override decimal length\ndecimal is the number after the decimal point"
636
- },
637
- "attribute": "decimal-length",
638
- "reflect": false,
639
- "defaultValue": "2"
640
- },
641
- "valid": {
642
- "type": "boolean",
643
- "mutable": true,
644
- "complexType": {
645
- "original": "boolean",
646
- "resolved": "boolean",
647
- "references": {}
648
- },
649
- "required": false,
650
- "optional": false,
651
- "docs": {
652
- "tags": [],
653
- "text": "Define input pattern to validate"
654
- },
655
- "attribute": "valid",
656
- "reflect": false
657
- },
658
- "invalid": {
659
- "type": "boolean",
660
- "mutable": true,
661
- "complexType": {
662
- "original": "boolean",
663
- "resolved": "boolean",
664
- "references": {}
665
- },
666
- "required": false,
667
- "optional": false,
668
- "docs": {
669
- "tags": [],
670
- "text": "Define input pattern error message"
671
- },
672
- "attribute": "invalid",
673
- "reflect": false
674
- }
675
- };
676
- }
677
- static get states() {
678
- return {
679
- "classCollection": {},
680
- "errorMessage": {},
681
- "hasFocus": {}
682
- };
683
- }
684
- static get events() {
685
- return [{
686
- "method": "valueChange",
687
- "name": "value-change",
688
- "bubbles": true,
689
- "cancelable": true,
690
- "composed": true,
691
- "docs": {
692
- "tags": [],
693
- "text": "Emited event when value change"
694
- },
695
- "complexType": {
696
- "original": "number",
697
- "resolved": "number",
698
- "references": {}
699
- }
700
- }, {
701
- "method": "inputValid",
702
- "name": "input-valid",
703
- "bubbles": true,
704
- "cancelable": true,
705
- "composed": true,
706
- "docs": {
707
- "tags": [],
708
- "text": "Emited event when checking validity"
709
- },
710
- "complexType": {
711
- "original": "boolean",
712
- "resolved": "boolean",
713
- "references": {}
714
- }
715
- }];
716
- }
717
- static get methods() {
718
- return {
719
- "displayError": {
720
- "complexType": {
721
- "signature": "() => Promise<void>",
722
- "parameters": [],
723
- "references": {
724
- "Promise": {
725
- "location": "global",
726
- "id": "global::Promise"
308
+ static get properties() {
309
+ return {
310
+ "value": {
311
+ "type": "string",
312
+ "mutable": true,
313
+ "complexType": {
314
+ "original": "string",
315
+ "resolved": "string",
316
+ "references": {}
317
+ },
318
+ "required": false,
319
+ "optional": false,
320
+ "docs": {
321
+ "tags": [],
322
+ "text": "Component value"
323
+ },
324
+ "attribute": "value",
325
+ "reflect": true
326
+ },
327
+ "identifier": {
328
+ "type": "string",
329
+ "mutable": false,
330
+ "complexType": {
331
+ "original": "string",
332
+ "resolved": "string",
333
+ "references": {}
334
+ },
335
+ "required": true,
336
+ "optional": false,
337
+ "docs": {
338
+ "tags": [],
339
+ "text": "Identifier is used for the element ID (id is a reserved prop in Stencil.js)"
340
+ },
341
+ "attribute": "identifier",
342
+ "reflect": false
343
+ },
344
+ "name": {
345
+ "type": "string",
346
+ "mutable": false,
347
+ "complexType": {
348
+ "original": "string",
349
+ "resolved": "string",
350
+ "references": {}
351
+ },
352
+ "required": false,
353
+ "optional": false,
354
+ "docs": {
355
+ "tags": [],
356
+ "text": "Input name\nIf not set the value equals the identifier"
357
+ },
358
+ "attribute": "name",
359
+ "reflect": false,
360
+ "defaultValue": "this.identifier"
361
+ },
362
+ "label": {
363
+ "type": "string",
364
+ "mutable": false,
365
+ "complexType": {
366
+ "original": "string",
367
+ "resolved": "string",
368
+ "references": {}
369
+ },
370
+ "required": true,
371
+ "optional": false,
372
+ "docs": {
373
+ "tags": [],
374
+ "text": "Input label"
375
+ },
376
+ "attribute": "label",
377
+ "reflect": false
378
+ },
379
+ "labelOnTop": {
380
+ "type": "boolean",
381
+ "mutable": false,
382
+ "complexType": {
383
+ "original": "boolean",
384
+ "resolved": "boolean",
385
+ "references": {}
386
+ },
387
+ "required": false,
388
+ "optional": false,
389
+ "docs": {
390
+ "tags": [],
391
+ "text": "Define if label is displayed on top"
392
+ },
393
+ "attribute": "label-on-top",
394
+ "reflect": false
395
+ },
396
+ "labelHide": {
397
+ "type": "boolean",
398
+ "mutable": false,
399
+ "complexType": {
400
+ "original": "boolean",
401
+ "resolved": "boolean",
402
+ "references": {}
403
+ },
404
+ "required": false,
405
+ "optional": false,
406
+ "docs": {
407
+ "tags": [],
408
+ "text": "Define if label is visible"
409
+ },
410
+ "attribute": "label-hide",
411
+ "reflect": false,
412
+ "defaultValue": "false"
413
+ },
414
+ "placeholder": {
415
+ "type": "string",
416
+ "mutable": false,
417
+ "complexType": {
418
+ "original": "string",
419
+ "resolved": "string",
420
+ "references": {}
421
+ },
422
+ "required": false,
423
+ "optional": false,
424
+ "docs": {
425
+ "tags": [],
426
+ "text": "Input placeholder.\nIt should be a word or short phrase that demonstrates the expected type of data, not a replacement for labels or help text."
427
+ },
428
+ "attribute": "placeholder",
429
+ "reflect": false
430
+ },
431
+ "required": {
432
+ "type": "boolean",
433
+ "mutable": false,
434
+ "complexType": {
435
+ "original": "boolean",
436
+ "resolved": "boolean",
437
+ "references": {}
438
+ },
439
+ "required": false,
440
+ "optional": false,
441
+ "docs": {
442
+ "tags": [],
443
+ "text": "Define if input is required"
444
+ },
445
+ "attribute": "required",
446
+ "reflect": false,
447
+ "defaultValue": "false"
448
+ },
449
+ "readonly": {
450
+ "type": "boolean",
451
+ "mutable": false,
452
+ "complexType": {
453
+ "original": "boolean",
454
+ "resolved": "boolean",
455
+ "references": {}
456
+ },
457
+ "required": false,
458
+ "optional": false,
459
+ "docs": {
460
+ "tags": [],
461
+ "text": "Define if input is readonly"
462
+ },
463
+ "attribute": "readonly",
464
+ "reflect": false,
465
+ "defaultValue": "false"
466
+ },
467
+ "disabled": {
468
+ "type": "boolean",
469
+ "mutable": false,
470
+ "complexType": {
471
+ "original": "boolean",
472
+ "resolved": "boolean",
473
+ "references": {}
474
+ },
475
+ "required": false,
476
+ "optional": false,
477
+ "docs": {
478
+ "tags": [],
479
+ "text": "Define if input is disabled"
480
+ },
481
+ "attribute": "disabled",
482
+ "reflect": false,
483
+ "defaultValue": "false"
484
+ },
485
+ "mgWidth": {
486
+ "type": "any",
487
+ "mutable": false,
488
+ "complexType": {
489
+ "original": "Width",
490
+ "resolved": "\"full\" | 16 | 2 | 4",
491
+ "references": {
492
+ "Width": {
493
+ "location": "import",
494
+ "path": "../MgInput.conf",
495
+ "id": "src/components/molecules/inputs/MgInput.conf.ts::Width"
496
+ }
497
+ }
498
+ },
499
+ "required": false,
500
+ "optional": false,
501
+ "docs": {
502
+ "tags": [],
503
+ "text": "Define input width"
504
+ },
505
+ "attribute": "mg-width",
506
+ "reflect": false
507
+ },
508
+ "tooltip": {
509
+ "type": "string",
510
+ "mutable": false,
511
+ "complexType": {
512
+ "original": "string",
513
+ "resolved": "string",
514
+ "references": {}
515
+ },
516
+ "required": false,
517
+ "optional": false,
518
+ "docs": {
519
+ "tags": [],
520
+ "text": "Add a tooltip message next to the input"
521
+ },
522
+ "attribute": "tooltip",
523
+ "reflect": false
524
+ },
525
+ "helpText": {
526
+ "type": "string",
527
+ "mutable": false,
528
+ "complexType": {
529
+ "original": "string",
530
+ "resolved": "string",
531
+ "references": {}
532
+ },
533
+ "required": false,
534
+ "optional": false,
535
+ "docs": {
536
+ "tags": [],
537
+ "text": "Add a help text under the input, usually expected data format and example"
538
+ },
539
+ "attribute": "help-text",
540
+ "reflect": false
541
+ },
542
+ "type": {
543
+ "type": "string",
544
+ "mutable": false,
545
+ "complexType": {
546
+ "original": "string",
547
+ "resolved": "string",
548
+ "references": {}
549
+ },
550
+ "required": false,
551
+ "optional": false,
552
+ "docs": {
553
+ "tags": [],
554
+ "text": "Define numeric type"
555
+ },
556
+ "attribute": "type",
557
+ "reflect": false,
558
+ "defaultValue": "types[0]"
559
+ },
560
+ "currency": {
561
+ "type": "string",
562
+ "mutable": false,
563
+ "complexType": {
564
+ "original": "string",
565
+ "resolved": "string",
566
+ "references": {}
567
+ },
568
+ "required": false,
569
+ "optional": false,
570
+ "docs": {
571
+ "tags": [],
572
+ "text": "Define currency"
573
+ },
574
+ "attribute": "currency",
575
+ "reflect": false,
576
+ "defaultValue": "'USD'"
577
+ },
578
+ "max": {
579
+ "type": "number",
580
+ "mutable": false,
581
+ "complexType": {
582
+ "original": "number",
583
+ "resolved": "number",
584
+ "references": {}
585
+ },
586
+ "required": false,
587
+ "optional": false,
588
+ "docs": {
589
+ "tags": [],
590
+ "text": "Maximum value"
591
+ },
592
+ "attribute": "max",
593
+ "reflect": false
594
+ },
595
+ "min": {
596
+ "type": "number",
597
+ "mutable": false,
598
+ "complexType": {
599
+ "original": "number",
600
+ "resolved": "number",
601
+ "references": {}
602
+ },
603
+ "required": false,
604
+ "optional": false,
605
+ "docs": {
606
+ "tags": [],
607
+ "text": "Minimum value"
608
+ },
609
+ "attribute": "min",
610
+ "reflect": false
611
+ },
612
+ "integerLength": {
613
+ "type": "number",
614
+ "mutable": false,
615
+ "complexType": {
616
+ "original": "number",
617
+ "resolved": "number",
618
+ "references": {}
619
+ },
620
+ "required": false,
621
+ "optional": false,
622
+ "docs": {
623
+ "tags": [],
624
+ "text": "Override integer length\ninteger is the number before the decimal point"
625
+ },
626
+ "attribute": "integer-length",
627
+ "reflect": false,
628
+ "defaultValue": "13"
629
+ },
630
+ "decimalLength": {
631
+ "type": "number",
632
+ "mutable": false,
633
+ "complexType": {
634
+ "original": "number",
635
+ "resolved": "number",
636
+ "references": {}
637
+ },
638
+ "required": false,
639
+ "optional": false,
640
+ "docs": {
641
+ "tags": [],
642
+ "text": "Override decimal length\ndecimal is the number after the decimal point"
643
+ },
644
+ "attribute": "decimal-length",
645
+ "reflect": false,
646
+ "defaultValue": "2"
647
+ },
648
+ "valid": {
649
+ "type": "boolean",
650
+ "mutable": true,
651
+ "complexType": {
652
+ "original": "boolean",
653
+ "resolved": "boolean",
654
+ "references": {}
655
+ },
656
+ "required": false,
657
+ "optional": false,
658
+ "docs": {
659
+ "tags": [],
660
+ "text": "Define input pattern to validate"
661
+ },
662
+ "attribute": "valid",
663
+ "reflect": false
664
+ },
665
+ "invalid": {
666
+ "type": "boolean",
667
+ "mutable": true,
668
+ "complexType": {
669
+ "original": "boolean",
670
+ "resolved": "boolean",
671
+ "references": {}
672
+ },
673
+ "required": false,
674
+ "optional": false,
675
+ "docs": {
676
+ "tags": [],
677
+ "text": "Define input pattern error message"
678
+ },
679
+ "attribute": "invalid",
680
+ "reflect": false
727
681
  }
728
- },
729
- "return": "Promise<void>"
730
- },
731
- "docs": {
732
- "text": "Display input error if it exists.",
733
- "tags": []
734
- }
735
- },
736
- "setError": {
737
- "complexType": {
738
- "signature": "(valid: MgInputNumeric['valid'], errorMessage: string) => Promise<void>",
739
- "parameters": [{
740
- "tags": [{
741
- "name": "param",
742
- "text": "valid - value indicating the validity"
743
- }],
744
- "text": "- value indicating the validity"
682
+ };
683
+ }
684
+ static get states() {
685
+ return {
686
+ "classCollection": {},
687
+ "errorMessage": {},
688
+ "hasFocus": {}
689
+ };
690
+ }
691
+ static get events() {
692
+ return [{
693
+ "method": "valueChange",
694
+ "name": "value-change",
695
+ "bubbles": true,
696
+ "cancelable": true,
697
+ "composed": true,
698
+ "docs": {
699
+ "tags": [],
700
+ "text": "Emited event when value change"
701
+ },
702
+ "complexType": {
703
+ "original": "number",
704
+ "resolved": "number",
705
+ "references": {}
706
+ }
745
707
  }, {
746
- "tags": [{
747
- "name": "param",
748
- "text": "errorMessage - the error message to display"
749
- }],
750
- "text": "- the error message to display"
751
- }],
752
- "references": {
753
- "Promise": {
754
- "location": "global",
755
- "id": "global::Promise"
708
+ "method": "inputValid",
709
+ "name": "input-valid",
710
+ "bubbles": true,
711
+ "cancelable": true,
712
+ "composed": true,
713
+ "docs": {
714
+ "tags": [],
715
+ "text": "Emited event when checking validity"
716
+ },
717
+ "complexType": {
718
+ "original": "HTMLMgInputNumericElement['valid']",
719
+ "resolved": "boolean",
720
+ "references": {
721
+ "HTMLMgInputNumericElement": {
722
+ "location": "global",
723
+ "id": "global::HTMLMgInputNumericElement"
724
+ }
725
+ }
726
+ }
727
+ }];
728
+ }
729
+ static get methods() {
730
+ return {
731
+ "displayError": {
732
+ "complexType": {
733
+ "signature": "() => Promise<void>",
734
+ "parameters": [],
735
+ "references": {
736
+ "Promise": {
737
+ "location": "global",
738
+ "id": "global::Promise"
739
+ }
740
+ },
741
+ "return": "Promise<void>"
742
+ },
743
+ "docs": {
744
+ "text": "Display input error if it exists.",
745
+ "tags": []
746
+ }
756
747
  },
757
- "MgInputNumeric": {
758
- "location": "global",
759
- "id": "global::MgInputNumeric"
748
+ "setError": {
749
+ "complexType": {
750
+ "signature": "(valid: MgInputNumeric['valid'], errorMessage: string) => Promise<void>",
751
+ "parameters": [{
752
+ "tags": [{
753
+ "name": "param",
754
+ "text": "valid - value indicating the validity"
755
+ }],
756
+ "text": "- value indicating the validity"
757
+ }, {
758
+ "tags": [{
759
+ "name": "param",
760
+ "text": "errorMessage - the error message to display"
761
+ }],
762
+ "text": "- the error message to display"
763
+ }],
764
+ "references": {
765
+ "Promise": {
766
+ "location": "global",
767
+ "id": "global::Promise"
768
+ },
769
+ "MgInputNumeric": {
770
+ "location": "global",
771
+ "id": "global::MgInputNumeric"
772
+ }
773
+ },
774
+ "return": "Promise<void>"
775
+ },
776
+ "docs": {
777
+ "text": "Set an error and display a custom error message.\nThis method can be used to set the component's error state from its context by passing a boolean value to the `valid` parameter.\nIt must be paired with an error message to display for the given context.\nWhen used to set validity to `false`, you should use this method again to reset the validity to `true`.",
778
+ "tags": [{
779
+ "name": "param",
780
+ "text": "valid - value indicating the validity"
781
+ }, {
782
+ "name": "param",
783
+ "text": "errorMessage - the error message to display"
784
+ }]
785
+ }
760
786
  }
761
- },
762
- "return": "Promise<void>"
763
- },
764
- "docs": {
765
- "text": "Set an error and display a custom error message.\nThis method can be used to set the component's error state from its context by passing a boolean value to the `valid` parameter.\nIt must be paired with an error message to display for the given context.\nWhen used to set validity to `false`, you should use this method again to reset the validity to `true`.",
766
- "tags": [{
767
- "name": "param",
768
- "text": "valid - value indicating the validity"
787
+ };
788
+ }
789
+ static get elementRef() { return "element"; }
790
+ static get watchers() {
791
+ return [{
792
+ "propName": "value",
793
+ "methodName": "validateValue"
769
794
  }, {
770
- "name": "param",
771
- "text": "errorMessage - the error message to display"
772
- }]
773
- }
774
- }
775
- };
776
- }
777
- static get elementRef() { return "element"; }
778
- static get watchers() {
779
- return [{
780
- "propName": "value",
781
- "methodName": "validateValue"
782
- }, {
783
- "propName": "required",
784
- "methodName": "handleValidityChange"
785
- }, {
786
- "propName": "readonly",
787
- "methodName": "handleValidityChange"
788
- }, {
789
- "propName": "disabled",
790
- "methodName": "handleValidityChange"
791
- }, {
792
- "propName": "type",
793
- "methodName": "validateType"
794
- }, {
795
- "propName": "integerLength",
796
- "methodName": "validateIntegerLength"
797
- }, {
798
- "propName": "decimalLength",
799
- "methodName": "validateDecimalLength"
800
- }];
801
- }
795
+ "propName": "required",
796
+ "methodName": "handleValidityChange"
797
+ }, {
798
+ "propName": "readonly",
799
+ "methodName": "handleValidityChange"
800
+ }, {
801
+ "propName": "disabled",
802
+ "methodName": "handleValidityChange"
803
+ }, {
804
+ "propName": "type",
805
+ "methodName": "validateType"
806
+ }, {
807
+ "propName": "integerLength",
808
+ "methodName": "validateIntegerLength"
809
+ }, {
810
+ "propName": "decimalLength",
811
+ "methodName": "validateDecimalLength"
812
+ }];
813
+ }
802
814
  }
803
815
  //# sourceMappingURL=mg-input-numeric.js.map