@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
@@ -0,0 +1,897 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+ import { Y as Yt, Z as Zt, K as Kt, X as Xt, H as He, b as qe, G as Gt, a as Dt, i as ie, D as De } from './index.es.js';
3
+ import { d as defineCustomElement$8, c as classReadonly, a as classDisabled, w as widths } from './mg-input2.js';
4
+ import { i as initLocales } from './index2.js';
5
+ import { K as Keys } from './events.utils.js';
6
+ import { d as defineCustomElement$b } from './mg-button2.js';
7
+ import { d as defineCustomElement$a } from './mg-card2.js';
8
+ import { d as defineCustomElement$9 } from './mg-icon2.js';
9
+ import { d as defineCustomElement$7 } from './mg-input-title2.js';
10
+ import { d as defineCustomElement$6 } from './mg-loader2.js';
11
+ import { d as defineCustomElement$5 } from './mg-popover2.js';
12
+ import { d as defineCustomElement$4 } from './mg-popover-content2.js';
13
+ import { d as defineCustomElement$3 } from './mg-tooltip2.js';
14
+ import { d as defineCustomElement$2 } from './mg-tooltip-content2.js';
15
+
16
+ const mgInputComboboxCss = ".mg-c-input__box{height:var(--mg-b-size-min-height);box-sizing:border-box;padding:calc((var(--mg-b-size-min-height) - var(--mg-b-font-size)*var(--mg-b-line-height))/2) var(--mg-b-size-8);border-width:var(--mg-c-input-border-width);border-style:solid;border-color:var(--mg-c-input-color-border);border-radius:var(--mg-c-input-border-radius);background-color:var(--mg-b-color-light);color:var(--mg-b-color-dark);font-family:inherit;font-size:var(--mg-b-font-size);text-align:var(--mg-c-input-text-align, left)}.mg-c-input__box::placeholder{color:var(--mg-c-input-placeholder-color-text);font-style:italic}.mg-c-input__box:focus{box-shadow:0 0 var(--mg-b-size-4) var(--mg-c-input-color-box-shadow-focus)}.mg-c-input__box:disabled{opacity:var(--mg-b-opacity-element-disabled)}.mg-c-input.mg-c-input--has-error .mg-c-input__box{border-color:var(--mg-b-color-danger)}.mg-c-input.mg-c-input--is-input-group-append{--mg-c-button-border-radius-top-left:0;--mg-c-button-border-radius-bottom-left:0}.mg-c-input.mg-c-input--is-input-group-append .mg-c-input__box{margin-right:calc(-1*var(--mg-b-size-border));border-bottom-right-radius:0;border-top-right-radius:0}.mg-c-input.mg-c-input--is-input-group-append .mg-c-input__box:focus-visible{outline-offset:-0.2rem;outline-style:solid;outline-width:.2rem}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]){--mg-c-button-border-radius-top-right:0;--mg-c-button-border-radius-bottom-right:0}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]:not(:last-of-type)){--mg-c-button-border-right-width:0}.mg-c-input.mg-c-input--has-buttons-group-append ::slotted([slot=append-input]:last-of-type){--mg-c-button-border-radius-top-right:var(--mg-c-input-border-radius);--mg-c-button-border-radius-bottom-right:var(--mg-c-input-border-radius)}.mg-c-input.mg-c-input--is-append-input-slot-content:not(.mg-c-input--readonly) ::slotted([slot=append-input]){align-self:start;padding-top:calc((var(--mg-b-size-min-height) - var(--mg-b-size-16))/2)}.mg-c-input.mg-c-input--has-icon .mg-c-input__with-character-left>mg-icon:first-of-type,.mg-c-input.mg-c-input--has-icon .mg-c-input__input-group-container>mg-icon:first-of-type{position:absolute;top:50%;left:var(--mg-b-size-8);color:var(--mg-c-input-color-icon);transform:translateY(-50%)}.mg-c-input.mg-c-input--has-icon .mg-c-input__with-character-left .mg-c-input__box,.mg-c-input.mg-c-input--has-icon .mg-c-input__input-group-container .mg-c-input__box{padding-left:calc(var(--mg-b-size-16) + var(--mg-b-size-8)*2)}.mg-c-input__input-container{width:100%;flex:1 auto}.mg-c-input.mg-c-input--width-full .mg-c-input__box{width:100%}.mg-c-input.mg-c-input--width-2 .mg-c-input__with-character-left,.mg-c-input.mg-c-input--width-4 .mg-c-input__with-character-left,.mg-c-input.mg-c-input--width-16 .mg-c-input__with-character-left{width:max-content}.mg-c-input.mg-c-input--width-2 .mg-c-input__with-character-left:has(textarea),.mg-c-input.mg-c-input--width-4 .mg-c-input__with-character-left:has(textarea),.mg-c-input.mg-c-input--width-16 .mg-c-input__with-character-left:has(textarea){flex-grow:inherit}.mg-c-input.mg-c-input--width-2 .mg-c-input__box{width:var(--mg-b-size-48)}.mg-c-input.mg-c-input--width-2 .mg-c-input__with-character-left:not(:has(textarea)) .mg-c-input__box{width:calc(var(--mg-b-size-48) + var(--mg-c-character-left-message-length)*(.35ch + .3rem))}.mg-c-input.mg-c-input--width-4 .mg-c-input__box{width:var(--mg-b-size-72)}.mg-c-input.mg-c-input--width-4 .mg-c-input__with-character-left:not(:has(textarea)) .mg-c-input__box{width:calc(var(--mg-b-size-72) + var(--mg-c-character-left-message-length)*(.35ch + .3rem))}.mg-c-input.mg-c-input--width-16 .mg-c-input__box{width:calc(26*var(--mg-b-size-8))}.mg-c-input.mg-c-input--width-16 .mg-c-input__with-character-left:not(:has(textarea)) .mg-c-input__box{width:calc(calc(26 * var(--mg-b-size-8)) + var(--mg-c-character-left-message-length)*(.35ch + .3rem))}.mg-c-input.mg-c-input--width-full:not(.mg-c-input--label-on-top){justify-content:stretch}.mg-c-input.mg-c-input--is-input-group-append ::slotted([slot=append-input]),.mg-c-input.mg-c-input--is-append-input-slot-content ::slotted([slot=append-input]){width:auto}:host(.mg-c-input.mg-c-input--width-full) ::slotted(*:not(mg-input-title)){width:100%;max-width:100%}.mg-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-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}}.mg-c-input.mg-c-input--combobox mg-popover{--mg-c-popover-padding-vertical:0;--mg-c-popover-padding-horizontal:0}.mg-c-input.mg-c-input--combobox .mg-c-input__input-group-container{position:relative}.mg-c-input.mg-c-input--combobox .mg-c-input__box{cursor:pointer}.mg-c-input.mg-c-input--combobox .mg-c-input__popover-container{display:flex;min-width:var(--mg-c-input-list-width);max-height:calc(50*var(--mg-b-size-8) - var(--mg-b-size-32));flex-direction:column;gap:var(--mg-b-size-4);overflow-y:scroll}.mg-c-input.mg-c-input--combobox .mg-c-input__popover-info{padding:var(--mg-b-size-8);margin:0;text-align:center}.mg-c-input.mg-c-input--combobox .mg-c-input__load-more{padding:0 var(--mg-b-size-8) var(--mg-b-size-4)}.mg-c-input.mg-c-input--combobox .mg-c-input__reset{padding-right:var(--mg-b-size-min-height)}.mg-c-input.mg-c-input--combobox .mg-c-input__input-list{padding:0;margin:0;cursor:pointer;list-style:none}.mg-c-input.mg-c-input--combobox .mg-c-input__input-list-item{display:flex;padding:var(--mg-b-size-8)}.mg-c-input.mg-c-input--combobox .mg-c-input__input-list-item:hover,.mg-c-input.mg-c-input--combobox .mg-c-input__input-list-item.mg-c-input__input-list-item--focus-visible{background-color:var(--mg-b-color-neutral-20)}.mg-c-input.mg-c-input--combobox .mg-c-input__input-list-item.mg-c-input__input-list-item--selected{font-weight:700}.mg-c-input.mg-c-input--combobox .mg-c-input__input-list-item.mg-c-input__input-list-item--selected mg-icon{margin-left:auto}.mg-c-input.mg-c-input--combobox.mg-c-input--width-2 .mg-c-input__box{width:calc(var(--mg-b-size-16) + var(--mg-b-size-8)*2 + var(--mg-b-size-24) + var(--mg-b-size-min-height)*2 + var(--mg-b-size-4))}.mg-c-input.mg-c-input--combobox.mg-c-input--width-4 .mg-c-input__box{width:calc(var(--mg-b-size-16) + var(--mg-b-size-8)*2 + var(--mg-b-size-48) + var(--mg-b-size-min-height)*2 + var(--mg-b-size-4))}.mg-c-input.mg-c-input--combobox.mg-c-input--width-16 .mg-c-input__box{width:calc(var(--mg-b-size-16) + var(--mg-b-size-8)*2 + calc(23 * var(--mg-b-size-8)) + var(--mg-b-size-min-height)*2 + var(--mg-b-size-4))}.mg-c-input.mg-c-input--combobox.mg-c-input--width-full mg-popover{--mg-c-popover-max-width:var(--mg-c-input-list-width, var(--mg-c-popover-max-width))}.mg-c-input.mg-c-input--combobox.mg-c-input--width-full .mg-c-input__input-group-container{display:flex;width:100%}.mg-c-input.mg-c-input--combobox.mg-c-input--width-full .mg-c-input__box{flex:1}.mg-c-input.mg-c-input--combobox.mg-c-input--input-append .mg-c-input__box{padding-right:calc(var(--mg-b-size-min-height)*var(--mg-c-input-append-x) + var(--mg-b-size-4))}.mg-c-input.mg-c-input--combobox.mg-c-input--input-append .mg-c-input__box-append{position:absolute;top:0;right:0}";
17
+
18
+ /**
19
+ * Check if object is an item
20
+ * @param item - object to check
21
+ * @returns True if object is an item
22
+ */
23
+ const isItem = (item) => item && typeof item === 'object' && typeof item.title === 'string' && item.value !== undefined;
24
+ /**
25
+ * Check if objects are items
26
+ * @param items - items to check
27
+ * @returns True if objects are items
28
+ */
29
+ const isItems = (items) => Array.isArray(items) && items.every(isItem);
30
+ /**
31
+ * Check if object is valid combobox fetchmappings
32
+ * @param value - to validate
33
+ * @returns truthy if mapping is valid
34
+ */
35
+ const isFetchmappings = (value) => {
36
+ const isValidRoot = ie(value) && Object.hasOwn(value, 'request') && Object.hasOwn(value, 'response');
37
+ if (isValidRoot) {
38
+ const { request, response } = value;
39
+ if ([request, response].some(property => !ie(property)))
40
+ return false;
41
+ const isValidRequest = typeof request.filter === 'string';
42
+ const isValidResponse = typeof response === 'object' &&
43
+ typeof response.total === 'string' &&
44
+ typeof response.items === 'string' &&
45
+ typeof response.next === 'string' &&
46
+ typeof response.itemTitle === 'string' &&
47
+ typeof response.itemValue === 'string';
48
+ return isValidRequest && isValidResponse;
49
+ }
50
+ else {
51
+ return isValidRoot;
52
+ }
53
+ };
54
+ /**
55
+ * Map new URL from old url
56
+ * @param newValue - new URL value
57
+ * @param oldValue - previous URL value
58
+ * @returns updated url
59
+ */
60
+ const mapUrl = (newValue, oldValue) => {
61
+ if (!Boolean(newValue))
62
+ return;
63
+ else if (URL.canParse(newValue)) {
64
+ return newValue;
65
+ }
66
+ // build new URL
67
+ const params = newValue.includes('?') && newValue.split('?').pop();
68
+ if (Boolean(params)) {
69
+ const { origin, pathname } = new URL(oldValue);
70
+ return `${origin}${pathname}?${params}`;
71
+ }
72
+ else {
73
+ return newValue;
74
+ }
75
+ };
76
+ const MgInputCombobox$1 = /*@__PURE__*/ proxyCustomElement(class MgInputCombobox extends HTMLElement {
77
+ constructor() {
78
+ super();
79
+ this.__registerHost();
80
+ this.__attachShadow();
81
+ this.valueChange = createEvent(this, "value-change", 7);
82
+ this.filterChange = createEvent(this, "filter-change", 7);
83
+ this.loadMore = createEvent(this, "load-more", 7);
84
+ this.inputValid = createEvent(this, "input-valid", 7);
85
+ /************
86
+ * Internal *
87
+ ************/
88
+ // Classes
89
+ this.classFocus = 'mg-u-is-focused';
90
+ // hasDisplayedError (triggered by blur event)
91
+ this.hasDisplayedError = false;
92
+ /**
93
+ * Input name
94
+ * If not set the value equals the identifier
95
+ */
96
+ this.name = this.identifier;
97
+ /**
98
+ * Define if label is displayed on top
99
+ */
100
+ this.labelOnTop = false;
101
+ /**
102
+ * Define if label is visible
103
+ */
104
+ this.labelHide = false;
105
+ /**
106
+ * Define if input is required
107
+ */
108
+ this.required = false;
109
+ /**
110
+ * Define if input is readonly
111
+ */
112
+ this.readonly = false;
113
+ /**
114
+ * Define if input is disabled
115
+ */
116
+ this.disabled = false;
117
+ /**
118
+ * Define input width
119
+ */
120
+ this.mgWidth = 'full';
121
+ /**
122
+ * Define tooltip position
123
+ */
124
+ this.tooltipPosition = 'input';
125
+ /**
126
+ * Formated items for display
127
+ */
128
+ this.options = new Yt([]);
129
+ /**
130
+ * Option filter
131
+ */
132
+ this.filter = '';
133
+ /**
134
+ * Component classes
135
+ */
136
+ this.classCollection = new Zt(['mg-c-input--combobox', 'mg-c-input--has-icon', 'mg-c-input--input-append']);
137
+ /**
138
+ * Popover display state
139
+ */
140
+ this.popoverDisplay = false;
141
+ /**
142
+ * Handle `click` event on option
143
+ * @param event - option element click event
144
+ */
145
+ this.handleOptionClick = (event) => {
146
+ this.setValue(this.options.items.find(option => option.value === event.target.id));
147
+ this.popoverDisplay = false;
148
+ };
149
+ /**
150
+ * Handle `click` event on reset button
151
+ * @param event - click event
152
+ */
153
+ this.handleResetButton = (event) => {
154
+ event.stopPropagation();
155
+ this.reset().then(() => {
156
+ this.input.focus();
157
+ });
158
+ };
159
+ /**
160
+ * Handle `display-change` event on mg-popover
161
+ */
162
+ this.handlePopoverDisplay = (event) => {
163
+ this.popoverDisplay = event.detail;
164
+ };
165
+ /**
166
+ * Handle input event
167
+ */
168
+ this.handleFilterInput = () => {
169
+ this.checkValidity();
170
+ if (this.hasDisplayedError)
171
+ this.setErrorMessage();
172
+ if (!this.popoverDisplay)
173
+ this.popoverDisplay = true;
174
+ this.filter = this.input.value;
175
+ };
176
+ /**
177
+ * Handle `blur` event
178
+ */
179
+ this.handleFilterBlur = () => {
180
+ // skip process if popover is displayed
181
+ if (this.popoverDisplay)
182
+ return;
183
+ // Display Error
184
+ this.handlerInProgress = 'blur';
185
+ this.displayError().finally(() => {
186
+ // reset guard
187
+ this.handlerInProgress = undefined;
188
+ });
189
+ };
190
+ /**
191
+ * Handle `focus` event
192
+ */
193
+ this.handleFilterFocus = () => {
194
+ // ensure visual focus is always clear on focus when component isn't in loading state
195
+ if (!this.isLoading) {
196
+ this.option = null;
197
+ }
198
+ };
199
+ /**
200
+ * Handle load-more <mg-button> `click`
201
+ */
202
+ this.handleLoadMoreButton = () => {
203
+ this.loadingWrapper({ name: 'load-more', cursor: Kt.NEXT }).then(() => {
204
+ this.input.focus();
205
+ });
206
+ };
207
+ /**
208
+ * Handle `keypress` event
209
+ * @param event - keyboard event
210
+ */
211
+ this.handleFilterKeydown = (event) => {
212
+ if (this.disabled || event.ctrlKey || event.shiftKey)
213
+ return;
214
+ let guard = false;
215
+ // override keys actions
216
+ switch (event.key) {
217
+ case Keys.TAB:
218
+ case Keys.ENTER:
219
+ guard = event.key === Keys.ENTER;
220
+ const option = this.option || this.options.items.find(this.isCurrentOption);
221
+ // Sets the value to the content of the focused option in the listbox.
222
+ if (this.popoverDisplay)
223
+ this.setValue(this.page.total > 0 ? option : null);
224
+ // Closes the popover.
225
+ this.popoverDisplay = false;
226
+ break;
227
+ case Keys.DOWN:
228
+ case Keys.ARROWDOWN:
229
+ case Keys.UP:
230
+ case Keys.ARROWUP:
231
+ guard = true;
232
+ if (this.isLoading || !(this.page.total > 0)) {
233
+ this.popoverDisplay = true;
234
+ break;
235
+ }
236
+ if (Boolean(event.altKey) && [Keys.DOWN, Keys.ARROWDOWN].includes(event.key)) {
237
+ // Opens the popover without moving focus or changing selection.
238
+ this.popoverDisplay = true;
239
+ break;
240
+ }
241
+ // define cursor
242
+ let cursor;
243
+ const isNavigationStart = this.popoverDisplay && isItem(this.option);
244
+ if ([Keys.DOWN, Keys.ARROWDOWN].includes(event.key)) {
245
+ // If the filter is not empty and the popover is displayed, moves visual focus to the first suggested value.
246
+ // If the filter is empty and the popover is not displayed, opens the popover and moves visual focus to the first option.
247
+ // Moves visual focus to the next option.
248
+ // If visual focus is on the last option, moves visual focus to the first option.
249
+ cursor = isNavigationStart ? Kt.NEXT : Kt.FIRST;
250
+ }
251
+ else if ([Keys.UP, Keys.ARROWUP].includes(event.key)) {
252
+ // If the filter is not empty and the popover is displayed, moves visual focus to the last suggested value.
253
+ // If the filter is empty, first opens the popover if it is not already displayed and then moves visual focus to the last option.
254
+ // Moves visual focus to the previous option.
255
+ // If visual focus is on the first option, moves visual focus to the last option.
256
+ cursor = isNavigationStart ? Kt.PREVIOUS : Kt.LAST;
257
+ }
258
+ // update scroll and visual focused option in wrapper
259
+ this.loadingWrapper({ name: 'scroll', cursor });
260
+ // open popover
261
+ this.popoverDisplay = true;
262
+ break;
263
+ case Keys.LEFT:
264
+ case Keys.ARROWLEFT:
265
+ case Keys.HOME:
266
+ case Keys.RIGHT:
267
+ case Keys.ARROWRIGHT:
268
+ case Keys.END:
269
+ // skip process if visual focus is not in popover
270
+ if (!isItem(this.option))
271
+ break;
272
+ guard = true;
273
+ // Remove visual focus from popover options
274
+ this.option = null;
275
+ let index;
276
+ if (Keys.HOME === event.key) {
277
+ // Moves visual focus to the textbox and places the editing cursor at the beginning of the field.
278
+ index = 0;
279
+ }
280
+ else if (Keys.END === event.key) {
281
+ // Moves visual focus to the textbox and places the editing cursor at the end of the field.
282
+ index = this.filter.length;
283
+ }
284
+ if (typeof index === 'number') {
285
+ this.input.setSelectionRange(index, index);
286
+ }
287
+ break;
288
+ case Keys.ESC:
289
+ case Keys.ESCAPE:
290
+ guard = true;
291
+ if (this.popoverDisplay) {
292
+ // If the popover is displayed, closes it.
293
+ this.popoverDisplay = false;
294
+ }
295
+ else {
296
+ // If the popover is not displayed, clears the filter.
297
+ this.setValue(null);
298
+ this.filter = '';
299
+ // Sets visual focus on the textbox.
300
+ this.option = null;
301
+ }
302
+ break;
303
+ default:
304
+ // Remove visual focus from popover options
305
+ this.option = null;
306
+ break;
307
+ }
308
+ if (guard) {
309
+ event.stopPropagation();
310
+ event.preventDefault();
311
+ }
312
+ };
313
+ /**
314
+ * Scroll to next option from cursor
315
+ * @param index - targeted option index to scroll into
316
+ */
317
+ this.scrollToIndex = (index) => {
318
+ var _a;
319
+ (_a = this.element.shadowRoot.querySelector(`li:nth-of-type(${(index || 0) + this.page.baseIndex})`)) === null || _a === void 0 ? void 0 : _a.scrollIntoView();
320
+ };
321
+ /**
322
+ * Is option the current value
323
+ * @param option - option to match with
324
+ * @returns true if option is the current value
325
+ */
326
+ this.isCurrentOption = (option) => (isItem(this.value) ? this.value.value : this.value) === option.value;
327
+ /**
328
+ * get value prop title
329
+ * @returns value title
330
+ */
331
+ this.getValueTitle = () => {
332
+ if (this.value && isItem(this.value))
333
+ return this.value.title;
334
+ else if (typeof this.value === 'string')
335
+ return this.value;
336
+ else
337
+ return '';
338
+ };
339
+ /**
340
+ * Check if input is valid
341
+ */
342
+ this.checkValidity = () => {
343
+ this.setValidity(this.readonly || this.disabled || this.input.checkValidity());
344
+ };
345
+ /**
346
+ * Set input error message
347
+ * @param errorMessage - errorMessage override
348
+ */
349
+ this.setErrorMessage = (errorMessage) => {
350
+ // Set error message
351
+ this.errorMessage = undefined;
352
+ // Does have a custom error message
353
+ if (!this.valid && errorMessage !== undefined) {
354
+ this.errorMessage = errorMessage;
355
+ }
356
+ // required
357
+ else if (!this.valid && this.input.validity.valueMissing) {
358
+ this.errorMessage = this.messages.errors.required;
359
+ }
360
+ };
361
+ /**
362
+ * Get filtered options from `filter` input value
363
+ * @returns filtered options
364
+ */
365
+ this.optionsFilter = (option) => (this.filter === '' ? true : option.title.toLocaleLowerCase().includes(this.filter.toLocaleLowerCase()));
366
+ /**
367
+ * Loading wrapper with a given action
368
+ * @param action - wrapped loading action
369
+ * @returns promisified action
370
+ */
371
+ this.loadingWrapper = (action) => {
372
+ let promise;
373
+ let index;
374
+ // cache initial loading action if not defined
375
+ if (!Boolean(this.loadingAction)) {
376
+ this.loadingAction = action.name;
377
+ }
378
+ // update index
379
+ if (Boolean(this.option) && this.loadingAction !== 'load-more') {
380
+ index = this.page.items.findIndex(option => option.value.toString() === this.option.value.toString());
381
+ }
382
+ else if (this.loadingAction === 'load-more') {
383
+ index = this.page.items.length - this.page.baseIndex;
384
+ }
385
+ // when action require a loadMore we fetch the API else we report action to next tick
386
+ // Set "load more" if action match OR if next item not available in the current page
387
+ if (action.name === 'load-more') {
388
+ // wait for new element render and update scroll position
389
+ // set component loading
390
+ this.isLoading = true;
391
+ promise = this.goToNextPage;
392
+ }
393
+ else if (action.cursor === Kt.NEXT &&
394
+ this.page.items.length <= this.page.total &&
395
+ index + this.page.baseIndex === this.page.items.length &&
396
+ index + this.page.baseIndex < this.page.total) {
397
+ // trigger load-more from button to benefit from `disabled-on-click`
398
+ this.loadMoreElement.click();
399
+ return;
400
+ }
401
+ else if (action.name === 'scroll') {
402
+ promise = Xt;
403
+ }
404
+ else {
405
+ promise = this.updatePage;
406
+ }
407
+ return promise()
408
+ .then(() => {
409
+ // parse full items list from options
410
+ const options = this.options.items.filter(this.optionsFilter);
411
+ // update visual focus
412
+ if (action.name !== 'load-data') {
413
+ index = this.page.getIndexFromCursor(action.cursor, this.loadingAction === 'load-more' && index >= 0 ? options[index] : this.option);
414
+ }
415
+ this.option = options[index];
416
+ // update scroll position
417
+ this.scrollToIndex(index);
418
+ })
419
+ .finally(() => {
420
+ // reset loading after next render
421
+ requestAnimationFrame(() => {
422
+ this.isLoading = false;
423
+ this.loadingAction = undefined;
424
+ });
425
+ });
426
+ };
427
+ /**
428
+ * Go to next page
429
+ * @returns promise
430
+ */
431
+ this.goToNextPage = () => {
432
+ this.loadMore.emit();
433
+ if (Boolean(this.fetchurl)) {
434
+ return this.getOptions(typeof this.page.next === 'string' ? this.page.next : undefined).then(nextPage => {
435
+ if (!Boolean(nextPage))
436
+ return;
437
+ // merge items from current page and next page
438
+ const items = [...this.page.items, ...nextPage.items];
439
+ // create new options pagination withe merged items
440
+ this.options = new Yt(items, { total: nextPage.total, next: nextPage.next, top: items.length });
441
+ });
442
+ }
443
+ else {
444
+ return Xt(() => {
445
+ if (typeof this.page.next === 'function') {
446
+ const nextPage = this.page.next();
447
+ this.page = new He(Object.assign(Object.assign({}, nextPage), { items: [...this.page.items, ...nextPage.items] }));
448
+ }
449
+ });
450
+ }
451
+ };
452
+ /**
453
+ * Go to next page
454
+ * @returns promise
455
+ */
456
+ this.updatePage = async () => {
457
+ if (Boolean(this.fetchurl)) {
458
+ return this.getOptions().then(page => {
459
+ if (!Boolean(page))
460
+ return;
461
+ // reset current options pagination from API response
462
+ this.options = new Yt(page.items, { total: page.total, next: page.next, top: page.top });
463
+ });
464
+ }
465
+ else {
466
+ this.page = this.options.getPage(0, this.optionsFilter);
467
+ }
468
+ };
469
+ /**
470
+ * Fetch request
471
+ * @param url - to fetch
472
+ * @returns new page from url
473
+ */
474
+ this.getOptions = async (url = this.fetchurl) => {
475
+ // add text filter
476
+ const updateUrl = (typeof url === 'string' ? url : url.toString()).replaceAll(this.fetchmappings.request.filter, encodeURIComponent(this.filter));
477
+ try {
478
+ const response = await fetch(updateUrl, this.fetchoptions).then(response => response.json());
479
+ if (!response)
480
+ return null;
481
+ const items = qe(response, this.fetchmappings.response.items).map((item) => ({
482
+ title: qe(item, this.fetchmappings.response.itemTitle),
483
+ value: qe(item, this.fetchmappings.response.itemValue),
484
+ }));
485
+ const total = Number(qe(response, this.fetchmappings.response.total, 0));
486
+ const next = mapUrl(qe(response, this.fetchmappings.response.next), this.fetchurl.toString());
487
+ return { items, total, next, top: items.length };
488
+ }
489
+ catch (_a) { }
490
+ };
491
+ }
492
+ watchValue(newValue) {
493
+ this.filter = this.getValueTitle();
494
+ this.valueChange.emit(newValue);
495
+ }
496
+ watchItems(newValue) {
497
+ if (Boolean(this.fetchurl) && !Boolean(newValue)) {
498
+ // skip newValue check
499
+ return;
500
+ }
501
+ else if (Boolean(this.fetchurl) && Boolean(newValue)) {
502
+ throw new Error(`<mg-input-combobox> prop "items" values cannot be use with "fetchurl" prop defined. Passed value: ${Gt(newValue)}.`);
503
+ }
504
+ // Empty options
505
+ else if (Array.isArray(newValue) && newValue.length === 0) {
506
+ this.options = new Yt([]);
507
+ }
508
+ // String array
509
+ else if (Dt(newValue)) {
510
+ this.options = new Yt(newValue.map(item => ({ title: item, value: item })), { total: newValue.length });
511
+ }
512
+ // Object array
513
+ else if (isItems(newValue)) {
514
+ this.options = new Yt(newValue, { total: newValue.length });
515
+ }
516
+ else {
517
+ throw new Error(`<mg-input-combobox> prop "items" values must be the same type, string or Option. Passed value: ${Gt(newValue)}.`);
518
+ }
519
+ }
520
+ watchIdentifier(newValue) {
521
+ if (Boolean(newValue)) {
522
+ this.popoverId = `${newValue}-popover`;
523
+ this.element.dataset.mgPopoverGuard = this.popoverId;
524
+ }
525
+ }
526
+ watchReadonly(newValue) {
527
+ if (newValue)
528
+ this.classCollection.add(classReadonly);
529
+ else
530
+ this.classCollection.delete(classReadonly);
531
+ }
532
+ watchValidityChange(newValue, _oldValue, prop) {
533
+ if (this.input === undefined)
534
+ return;
535
+ this.input[prop] = newValue;
536
+ this.checkValidity();
537
+ if (this.hasDisplayedError) {
538
+ this.setErrorMessage();
539
+ this.hasDisplayedError = false;
540
+ }
541
+ }
542
+ watchDisabled(newValue) {
543
+ if (newValue) {
544
+ this.classCollection.add(classDisabled);
545
+ }
546
+ else {
547
+ this.classCollection.delete(classDisabled);
548
+ }
549
+ }
550
+ watchMgWidth(newValue) {
551
+ // reset width class
552
+ widths.forEach(width => {
553
+ this.classCollection.delete(`mg-c-input--width-${width}`);
554
+ });
555
+ // apply new width
556
+ if (newValue !== undefined)
557
+ this.classCollection.add(`mg-c-input--width-${this.mgWidth}`);
558
+ this.classCollection = new Zt(this.classCollection.classes);
559
+ }
560
+ watchFetchUrl(newValue) {
561
+ if (newValue && !URL.canParse(newValue)) {
562
+ throw new Error(`<mg-input-combobox> prop "fetchurl" value must be URL or string. Passed value: ${Gt(newValue)}.`);
563
+ }
564
+ }
565
+ watchFetchOptions(newValue) {
566
+ if (this.fetchurl && newValue && !ie(newValue)) {
567
+ throw new Error(`<mg-input-combobox> prop "fetchoptions" value must be a valid RequestInit. Passed value: ${Gt(newValue)}.`);
568
+ }
569
+ else {
570
+ new Request(this.fetchurl, newValue);
571
+ }
572
+ }
573
+ watchFetchMappings(newValue) {
574
+ if (Boolean(this.fetchurl) && !Boolean(newValue)) {
575
+ throw new Error(`<mg-input-combobox> prop "fetchmappings" is required with "fetchurl" prop.`);
576
+ }
577
+ else if (Boolean(newValue) && !isFetchmappings(newValue)) {
578
+ throw new Error(`<mg-input-combobox> prop "fetchmappings" value must be { request: RequestMappingType, response: ResponseMappingType }. Passed value: ${Gt(newValue)}.`);
579
+ }
580
+ }
581
+ watchOptions(newValue) {
582
+ this.page = newValue.getPage(0, Boolean(this.filter) ? this.optionsFilter : undefined);
583
+ }
584
+ watchFilter(newValue) {
585
+ this.loadingWrapper({ name: 'load-data' });
586
+ this.filterChange.emit(newValue);
587
+ }
588
+ watchPopoverDisplay(newValue) {
589
+ if (newValue) {
590
+ this.classCollection.add(this.classFocus);
591
+ this.input.focus();
592
+ this.scrollToIndex(0);
593
+ }
594
+ else {
595
+ // remove visual focus
596
+ this.option = null;
597
+ // reset filter with value
598
+ this.filter = this.getValueTitle();
599
+ this.classCollection.delete(this.classFocus);
600
+ this.handlerInProgress = 'blur';
601
+ this.displayError().finally(() => {
602
+ // reset guard
603
+ this.handlerInProgress = undefined;
604
+ });
605
+ }
606
+ }
607
+ /**
608
+ * Public method to play input focus
609
+ */
610
+ async setFocus() {
611
+ this.input.focus();
612
+ }
613
+ /**
614
+ * Display input error if it exists.
615
+ */
616
+ displayError() {
617
+ // Use `Promise` as requested for stencil method
618
+ // Use `requestAnimationFrame` to ensure:
619
+ // - DOM is fully updated before validation
620
+ // - Async operations are completed
621
+ // - No timing issues with Stencil's render cycle
622
+ // - Keep everything in sync both inside and outside the component
623
+ return new Promise(resolve => {
624
+ requestAnimationFrame(() => {
625
+ this.checkValidity();
626
+ this.setErrorMessage();
627
+ this.hasDisplayedError = this.invalid;
628
+ resolve();
629
+ });
630
+ });
631
+ }
632
+ /**
633
+ * Set an error and display a custom error message.
634
+ * This method can be used to set the component's error state from its concombobox by passing a boolean value to the `valid` parameter.
635
+ * It must be paired with an error message to display for the given concombobox.
636
+ * When used to set validity to `false`, you should use this method again to reset the validity to `true`.
637
+ * @param valid - value indicating the validity
638
+ * @param errorMessage - the error message to display
639
+ */
640
+ async setError(valid, errorMessage) {
641
+ if (typeof valid !== 'boolean') {
642
+ throw new Error('<mg-input-combobox> method "setError()" param "valid" must be a boolean.');
643
+ }
644
+ else if (!De(errorMessage)) {
645
+ throw new Error('<mg-input-combobox> method "setError()" param "errorMessage" must be a string.');
646
+ }
647
+ else {
648
+ this.setValidity(valid);
649
+ this.setErrorMessage(valid ? undefined : errorMessage);
650
+ this.hasDisplayedError = this.invalid;
651
+ }
652
+ }
653
+ /**
654
+ * Reset value, validity and error state
655
+ */
656
+ async reset() {
657
+ if (this.readonly)
658
+ return;
659
+ this.setValue(null);
660
+ this.option = null;
661
+ this.filter = '';
662
+ this.checkValidity();
663
+ this.errorMessage = undefined;
664
+ this.hasDisplayedError = false;
665
+ }
666
+ /**
667
+ * Set value prop
668
+ * @param newValue - slected option item
669
+ */
670
+ setValue(newValue) {
671
+ if (!isItem(newValue)) {
672
+ this.value = '';
673
+ }
674
+ else {
675
+ this.value = Dt(this.items || this.options.items) ? newValue.title : Object.assign({}, newValue);
676
+ }
677
+ }
678
+ /**
679
+ * Method to set validity values
680
+ * @param newValue - valid new value
681
+ */
682
+ setValidity(newValue) {
683
+ const oldValidValue = this.valid;
684
+ this.valid = newValue;
685
+ this.invalid = !this.valid;
686
+ // We need to send valid event even if it is the same value
687
+ if (this.handlerInProgress === undefined || (this.handlerInProgress === 'blur' && this.valid !== oldValidValue))
688
+ this.inputValid.emit(this.valid);
689
+ }
690
+ /*************
691
+ * Lifecycle *
692
+ *************/
693
+ /**
694
+ * Check if component props are well configured on init
695
+ * @returns timeout
696
+ */
697
+ componentWillLoad() {
698
+ // Get locales
699
+ this.messages = initLocales(this.element).messages;
700
+ // Validate
701
+ this.watchIdentifier(this.identifier);
702
+ this.watchItems(this.items);
703
+ if (Boolean(this.fetchurl)) {
704
+ this.watchFetchUrl(this.fetchurl);
705
+ this.watchFetchOptions(this.fetchoptions);
706
+ this.watchFetchMappings(this.fetchmappings);
707
+ this.loadingWrapper({ name: 'load-data' });
708
+ }
709
+ this.watchValue(this.value);
710
+ this.watchOptions(this.options);
711
+ this.watchMgWidth(this.mgWidth);
712
+ this.watchReadonly(this.readonly);
713
+ this.watchDisabled(this.disabled);
714
+ // Check validity when component is ready
715
+ // return a promise to process action only in the FIRST render().
716
+ // https://stenciljs.com/docs/component-lifecycle#componentwillload
717
+ return setTimeout(() => {
718
+ this.checkValidity();
719
+ }, 0);
720
+ }
721
+ /**
722
+ * Render
723
+ * @returns HTML Element
724
+ */
725
+ render() {
726
+ var _a, _b, _c, _d, _e, _f;
727
+ const listId = `${this.identifier}-list`;
728
+ const readonlyValue = this.getValueTitle();
729
+ const withResetButton = this.value && !this.disabled;
730
+ let popoverContent;
731
+ if (((_a = this.page) === null || _a === void 0 ? void 0 : _a.items.length) > 0)
732
+ popoverContent = 'list';
733
+ else if (((_b = this.page) === null || _b === void 0 ? void 0 : _b.items.length) === 0 && Boolean(this.filter))
734
+ popoverContent = 'notfound';
735
+ else if (((_c = this.page) === null || _c === void 0 ? void 0 : _c.items.length) === 0)
736
+ popoverContent = 'notavailable';
737
+ return (h("mg-input", { key: 'b8c4c6d18bb1d16ff0a8494ddb698cb4e0198e43', label: this.label, identifier: this.identifier, class: this.classCollection.classes.join(' '), ariaDescribedbyIDs: popoverContent && popoverContent !== 'list' ? [popoverContent] : [], labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, tooltip: this.tooltip, tooltipPosition: this.readonly && this.value === undefined ? 'label' : this.tooltipPosition, helpText: this.helpText, errorMessage: this.errorMessage }, this.readonly ? (readonlyValue && h("b", { class: "mg-c-input__readonly-value" }, readonlyValue)) : (h("mg-popover", { identifier: this.popoverId, placement: "bottom-start", display: this.popoverDisplay, "arrow-hide": true, style: {
738
+ '--mg-c-input-list-width': Boolean((_d = this.input) === null || _d === void 0 ? void 0 : _d.offsetWidth) ? `${this.input.offsetWidth}px` : undefined,
739
+ '--mg-c-input-append-x': withResetButton ? '2' : '1',
740
+ }, "data-fallback-placement": "bottom-end", "onDisplay-change": this.handlePopoverDisplay }, h("div", { class: "mg-c-input__input-group-container" }, h("mg-icon", { icon: "magnifying-glass" }), h("input", { type: "text", role: "combobox", class: "mg-c-input__box mg-c-input__box--width", value: this.filter, id: this.identifier, name: this.name, placeholder: this.placeholder, title: this.placeholder, disabled: this.disabled, required: this.required, autocomplete: "off", "aria-autocomplete": "list", "aria-expanded": this.popoverDisplay.toString(), "aria-controls": listId, "aria-invalid": (this.invalid === true).toString(), "aria-activedescendant": Boolean((_e = this.option) === null || _e === void 0 ? void 0 : _e.value) ? this.option.value : typeof this.value === 'string' ? this.value : (_f = this.value) === null || _f === void 0 ? void 0 : _f.value, onInput: this.handleFilterInput, onBlur: this.handleFilterBlur, onFocus: this.handleFilterFocus, onKeyDown: this.handleFilterKeydown, ref: (el) => {
741
+ if (el !== null)
742
+ this.input = el;
743
+ } }), withResetButton && (h("mg-button", { class: "mg-c-input__box-append mg-c-input__reset", variant: "flat", "is-icon": true, label: this.messages.general.reset, "aria-controls": this.identifier, tabindex: "-1", onClick: this.handleResetButton }, h("mg-icon", { icon: "cross" }))), h("mg-button", { class: "mg-c-input__box-append", variant: "flat", "is-icon": true, label: this.itemsLabel, tabindex: "-1", disabled: this.disabled }, h("mg-icon", { icon: `chevron-${this.popoverDisplay ? 'up' : 'down'}` }))), h("div", { slot: "content", class: "mg-c-input__popover-container" }, popoverContent === 'list' && [
744
+ // eslint-disable-next-line jsx-a11y/role-supports-aria-props
745
+ h("ul", { key: "list", class: "mg-c-input__input-list", role: "listbox", id: listId, "aria-label": this.itemsLabel, "aria-setsize": this.page.total }, this.page.items.map(option => {
746
+ return (
747
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events
748
+ h("li", { role: "option", class: {
749
+ 'mg-c-input__input-list-item': true,
750
+ 'mg-c-input__input-list-item--focus-visible': this.option === option,
751
+ 'mg-c-input__input-list-item--selected': this.isCurrentOption(option),
752
+ }, key: option.title, id: option.value.toString(), "aria-selected": this.isCurrentOption(option).toString(), onClick: this.handleOptionClick }, option.title, this.isCurrentOption(option) && h("mg-icon", { icon: "check" })));
753
+ })),
754
+ this.isLoading && h("mg-loader", { key: "loader", message: this.messages.input.combobox.search, class: { 'mg-u-visually-hidden': Boolean(this.page.next) } }),
755
+ this.page.next && (h("mg-button", { key: "load-more", variant: "flat", class: "mg-c-input__load-more", tabIndex: -1, disabled: this.isLoading, "full-width": true, "disable-on-click": true, onClick: this.handleLoadMoreButton, "aria-controls": listId, ref: (el) => {
756
+ if (el !== null)
757
+ this.loadMoreElement = el;
758
+ } }, h("mg-icon", { icon: "chevron-down" }), this.messages.input.combobox.loadMore)),
759
+ ], popoverContent === 'notfound' && (h("p", { id: popoverContent, class: "mg-c-input__popover-info" }, this.messages.input.combobox.notFound)), popoverContent === 'notavailable' && (h("p", { id: popoverContent, class: "mg-c-input__popover-info" }, this.messages.input.combobox.notAvailable)))))));
760
+ }
761
+ get element() { return this; }
762
+ static get watchers() { return {
763
+ "value": ["watchValue"],
764
+ "items": ["watchItems"],
765
+ "identifier": ["watchIdentifier"],
766
+ "readonly": ["watchReadonly", "watchValidityChange"],
767
+ "required": ["watchValidityChange"],
768
+ "disabled": ["watchValidityChange", "watchDisabled"],
769
+ "mgWidth": ["watchMgWidth"],
770
+ "fetchurl": ["watchFetchUrl"],
771
+ "fetchoptions": ["watchFetchOptions"],
772
+ "fetchmappings": ["watchFetchMappings"],
773
+ "options": ["watchOptions"],
774
+ "filter": ["watchFilter"],
775
+ "popoverDisplay": ["watchPopoverDisplay"]
776
+ }; }
777
+ static get style() { return mgInputComboboxCss; }
778
+ }, [1, "mg-input-combobox", {
779
+ "value": [1537],
780
+ "items": [16],
781
+ "itemsLabel": [1, "items-label"],
782
+ "identifier": [1],
783
+ "name": [1],
784
+ "label": [1],
785
+ "labelOnTop": [4, "label-on-top"],
786
+ "labelHide": [4, "label-hide"],
787
+ "placeholder": [1],
788
+ "required": [4],
789
+ "readonly": [4],
790
+ "disabled": [4],
791
+ "mgWidth": [8, "mg-width"],
792
+ "tooltip": [1],
793
+ "tooltipPosition": [1, "tooltip-position"],
794
+ "helpText": [1, "help-text"],
795
+ "fetchurl": [1],
796
+ "fetchoptions": [16],
797
+ "fetchmappings": [16],
798
+ "valid": [1028],
799
+ "invalid": [1028],
800
+ "isLoading": [32],
801
+ "options": [32],
802
+ "option": [32],
803
+ "filter": [32],
804
+ "classCollection": [32],
805
+ "errorMessage": [32],
806
+ "popoverDisplay": [32],
807
+ "setFocus": [64],
808
+ "displayError": [64],
809
+ "setError": [64],
810
+ "reset": [64]
811
+ }, undefined, {
812
+ "value": ["watchValue"],
813
+ "items": ["watchItems"],
814
+ "identifier": ["watchIdentifier"],
815
+ "readonly": ["watchReadonly", "watchValidityChange"],
816
+ "required": ["watchValidityChange"],
817
+ "disabled": ["watchValidityChange", "watchDisabled"],
818
+ "mgWidth": ["watchMgWidth"],
819
+ "fetchurl": ["watchFetchUrl"],
820
+ "fetchoptions": ["watchFetchOptions"],
821
+ "fetchmappings": ["watchFetchMappings"],
822
+ "options": ["watchOptions"],
823
+ "filter": ["watchFilter"],
824
+ "popoverDisplay": ["watchPopoverDisplay"]
825
+ }]);
826
+ function defineCustomElement$1() {
827
+ if (typeof customElements === "undefined") {
828
+ return;
829
+ }
830
+ const components = ["mg-input-combobox", "mg-button", "mg-card", "mg-icon", "mg-input", "mg-input-title", "mg-loader", "mg-popover", "mg-popover-content", "mg-tooltip", "mg-tooltip-content"];
831
+ components.forEach(tagName => { switch (tagName) {
832
+ case "mg-input-combobox":
833
+ if (!customElements.get(tagName)) {
834
+ customElements.define(tagName, MgInputCombobox$1);
835
+ }
836
+ break;
837
+ case "mg-button":
838
+ if (!customElements.get(tagName)) {
839
+ defineCustomElement$b();
840
+ }
841
+ break;
842
+ case "mg-card":
843
+ if (!customElements.get(tagName)) {
844
+ defineCustomElement$a();
845
+ }
846
+ break;
847
+ case "mg-icon":
848
+ if (!customElements.get(tagName)) {
849
+ defineCustomElement$9();
850
+ }
851
+ break;
852
+ case "mg-input":
853
+ if (!customElements.get(tagName)) {
854
+ defineCustomElement$8();
855
+ }
856
+ break;
857
+ case "mg-input-title":
858
+ if (!customElements.get(tagName)) {
859
+ defineCustomElement$7();
860
+ }
861
+ break;
862
+ case "mg-loader":
863
+ if (!customElements.get(tagName)) {
864
+ defineCustomElement$6();
865
+ }
866
+ break;
867
+ case "mg-popover":
868
+ if (!customElements.get(tagName)) {
869
+ defineCustomElement$5();
870
+ }
871
+ break;
872
+ case "mg-popover-content":
873
+ if (!customElements.get(tagName)) {
874
+ defineCustomElement$4();
875
+ }
876
+ break;
877
+ case "mg-tooltip":
878
+ if (!customElements.get(tagName)) {
879
+ defineCustomElement$3();
880
+ }
881
+ break;
882
+ case "mg-tooltip-content":
883
+ if (!customElements.get(tagName)) {
884
+ defineCustomElement$2();
885
+ }
886
+ break;
887
+ } });
888
+ }
889
+ defineCustomElement$1();
890
+
891
+ const MgInputCombobox = MgInputCombobox$1;
892
+ const defineCustomElement = defineCustomElement$1;
893
+
894
+ export { MgInputCombobox, defineCustomElement };
895
+ //# sourceMappingURL=mg-input-combobox.js.map
896
+
897
+ //# sourceMappingURL=mg-input-combobox.js.map