@mgdis/mg-components 5.15.0 → 5.17.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 (479) hide show
  1. package/dist/cjs/{index-fede8ee2.js → index-c042e24b.js} +321 -68
  2. package/dist/cjs/index-c042e24b.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +2 -0
  4. package/dist/cjs/index.cjs.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +5 -12
  6. package/dist/cjs/loader.cjs.js.map +1 -0
  7. package/dist/cjs/{mg-action-more_32.cjs.entry.js → mg-action-more_34.cjs.entry.js} +341 -112
  8. package/dist/cjs/mg-action-more_34.cjs.entry.js.map +1 -0
  9. package/dist/cjs/mg-components.cjs.js +5 -3
  10. package/dist/cjs/mg-components.cjs.js.map +1 -0
  11. package/dist/cjs/mg-item-more.cjs.entry.js +8 -4
  12. package/dist/cjs/mg-item-more.cjs.entry.js.map +1 -0
  13. package/dist/cjs/{mg-menu.conf-f9d0ddec.js → mg-menu.conf-43aacf30.js} +2 -0
  14. package/dist/cjs/mg-menu.conf-43aacf30.js.map +1 -0
  15. package/dist/collection/assets/icons/index.js +184 -0
  16. package/dist/collection/collection-manifest.json +37 -35
  17. package/dist/collection/components/atoms/mg-badge/mg-badge.conf.js +1 -0
  18. package/dist/collection/components/atoms/mg-badge/mg-badge.conf.js.map +1 -0
  19. package/dist/collection/components/atoms/mg-badge/mg-badge.js +6 -4
  20. package/dist/collection/components/atoms/mg-badge/mg-badge.js.map +1 -0
  21. package/dist/collection/components/atoms/mg-badge/test/mg-badge.e2e.playwright.js +33 -0
  22. package/dist/collection/components/atoms/mg-badge/test/mg-badge.e2e.playwright.js.map +1 -0
  23. package/dist/collection/components/atoms/mg-badge/test/mg-badge.spec.js +70 -0
  24. package/dist/collection/components/atoms/mg-badge/test/mg-badge.spec.js.map +1 -0
  25. package/dist/collection/components/atoms/mg-button/mg-button.conf.js +1 -0
  26. package/dist/collection/components/atoms/mg-button/mg-button.conf.js.map +1 -0
  27. package/dist/collection/components/atoms/mg-button/mg-button.js +10 -6
  28. package/dist/collection/components/atoms/mg-button/mg-button.js.map +1 -0
  29. package/dist/collection/components/atoms/mg-button/test/mg-button.e2e.js +91 -0
  30. package/dist/collection/components/atoms/mg-button/test/mg-button.e2e.js.map +1 -0
  31. package/dist/collection/components/atoms/mg-button/test/mg-button.spec.js +142 -0
  32. package/dist/collection/components/atoms/mg-button/test/mg-button.spec.js.map +1 -0
  33. package/dist/collection/components/atoms/mg-card/mg-card.conf.js +1 -0
  34. package/dist/collection/components/atoms/mg-card/mg-card.conf.js.map +1 -0
  35. package/dist/collection/components/atoms/mg-card/mg-card.js +8 -5
  36. package/dist/collection/components/atoms/mg-card/mg-card.js.map +1 -0
  37. package/dist/collection/components/atoms/mg-card/test/mg-card.e2e.js +36 -0
  38. package/dist/collection/components/atoms/mg-card/test/mg-card.e2e.js.map +1 -0
  39. package/dist/collection/components/atoms/mg-card/test/mg-card.spec.js +43 -0
  40. package/dist/collection/components/atoms/mg-card/test/mg-card.spec.js.map +1 -0
  41. package/dist/collection/components/atoms/mg-character-left/mg-character-left.js +3 -2
  42. package/dist/collection/components/atoms/mg-character-left/mg-character-left.js.map +1 -0
  43. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.e2e.js +15 -0
  44. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.e2e.js.map +1 -0
  45. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.spec.js +42 -0
  46. package/dist/collection/components/atoms/mg-character-left/test/mg-character-left.spec.js.map +1 -0
  47. package/dist/collection/components/atoms/mg-divider/mg-divider.js +2 -1
  48. package/dist/collection/components/atoms/mg-divider/mg-divider.js.map +1 -0
  49. package/dist/collection/components/atoms/mg-divider/test/mg-divider.e2e.js +11 -0
  50. package/dist/collection/components/atoms/mg-divider/test/mg-divider.e2e.js.map +1 -0
  51. package/dist/collection/components/atoms/mg-divider/test/mg-divider.spec.js +14 -0
  52. package/dist/collection/components/atoms/mg-divider/test/mg-divider.spec.js.map +1 -0
  53. package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js +1 -0
  54. package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js.map +1 -0
  55. package/dist/collection/components/atoms/mg-icon/mg-icon.js +11 -7
  56. package/dist/collection/components/atoms/mg-icon/mg-icon.js.map +1 -0
  57. package/dist/collection/components/atoms/mg-icon/test/mg-icon.e2e.js +55 -0
  58. package/dist/collection/components/atoms/mg-icon/test/mg-icon.e2e.js.map +1 -0
  59. package/dist/collection/components/atoms/mg-icon/test/mg-icon.spec.js +84 -0
  60. package/dist/collection/components/atoms/mg-icon/test/mg-icon.spec.js.map +1 -0
  61. package/dist/collection/components/atoms/mg-input-title/mg-input-title.js +2 -1
  62. package/dist/collection/components/atoms/mg-input-title/mg-input-title.js.map +1 -0
  63. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.js +18 -0
  64. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.e2e.js.map +1 -0
  65. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.spec.js +27 -0
  66. package/dist/collection/components/atoms/mg-input-title/test/mg-input-title.spec.js.map +1 -0
  67. package/dist/collection/components/atoms/mg-tag/mg-tag.conf.js +1 -0
  68. package/dist/collection/components/atoms/mg-tag/mg-tag.conf.js.map +1 -0
  69. package/dist/collection/components/atoms/mg-tag/mg-tag.js +6 -4
  70. package/dist/collection/components/atoms/mg-tag/mg-tag.js.map +1 -0
  71. package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.js +37 -0
  72. package/dist/collection/components/atoms/mg-tag/test/mg-tag.e2e.js.map +1 -0
  73. package/dist/collection/components/atoms/mg-tag/test/mg-tag.spec.js +71 -0
  74. package/dist/collection/components/atoms/mg-tag/test/mg-tag.spec.js.map +1 -0
  75. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.css +43 -0
  76. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js +50 -0
  77. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.js.map +1 -0
  78. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js +1 -0
  79. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js.map +1 -0
  80. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.css +0 -43
  81. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +64 -17
  82. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js.map +1 -0
  83. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.e2e.js +132 -0
  84. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.e2e.js.map +1 -0
  85. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.spec.js +264 -0
  86. package/dist/collection/components/atoms/mg-tooltip/test/mg-tooltip.spec.js.map +1 -0
  87. package/dist/collection/components/molecules/inputs/MgInput.conf.js +1 -0
  88. package/dist/collection/components/molecules/inputs/MgInput.conf.js.map +1 -0
  89. package/dist/collection/components/molecules/inputs/MgInput.js +3 -2
  90. package/dist/collection/components/molecules/inputs/MgInput.js.map +1 -0
  91. package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js +2 -1
  92. package/dist/collection/components/molecules/inputs/mg-input-checkbox/MgInputCheckboxList.js.map +1 -0
  93. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +12 -7
  94. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js.map +1 -0
  95. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.js +1 -0
  96. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.conf.js.map +1 -0
  97. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.css +2 -2
  98. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +18 -12
  99. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js.map +1 -0
  100. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.js +243 -0
  101. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.js.map +1 -0
  102. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.js +581 -0
  103. package/dist/collection/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.spec.js.map +1 -0
  104. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js +1 -0
  105. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js.map +1 -0
  106. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +10 -8
  107. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js.map +1 -0
  108. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.e2e.js +123 -0
  109. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.e2e.js.map +1 -0
  110. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.spec.js +324 -0
  111. package/dist/collection/components/molecules/inputs/mg-input-date/test/mg-input-date.spec.js.map +1 -0
  112. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.js +1 -0
  113. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.conf.js.map +1 -0
  114. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +46 -23
  115. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js.map +1 -0
  116. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.e2e.js +212 -0
  117. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.e2e.js.map +1 -0
  118. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.spec.js +401 -0
  119. package/dist/collection/components/molecules/inputs/mg-input-numeric/test/mg-input-numeric.spec.js.map +1 -0
  120. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +10 -7
  121. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js.map +1 -0
  122. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.e2e.js +115 -0
  123. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.e2e.js.map +1 -0
  124. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.spec.js +234 -0
  125. package/dist/collection/components/molecules/inputs/mg-input-password/test/mg-input-password.spec.js.map +1 -0
  126. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.conf.js +1 -0
  127. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.conf.js.map +1 -0
  128. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +10 -7
  129. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js.map +1 -0
  130. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.e2e.js +154 -0
  131. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.e2e.js.map +1 -0
  132. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.spec.js +295 -0
  133. package/dist/collection/components/molecules/inputs/mg-input-radio/test/mg-input-radio.spec.js.map +1 -0
  134. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.conf.js +1 -0
  135. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.conf.js.map +1 -0
  136. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +14 -9
  137. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js.map +1 -0
  138. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.e2e.js +194 -0
  139. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.e2e.js.map +1 -0
  140. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.spec.js +344 -0
  141. package/dist/collection/components/molecules/inputs/mg-input-select/test/mg-input-select.spec.js.map +1 -0
  142. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +12 -8
  143. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js.map +1 -0
  144. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.js +171 -0
  145. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.e2e.js.map +1 -0
  146. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.spec.js +280 -0
  147. package/dist/collection/components/molecules/inputs/mg-input-text/test/mg-input-text.spec.js.map +1 -0
  148. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +10 -7
  149. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js.map +1 -0
  150. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.e2e.js +129 -0
  151. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.e2e.js.map +1 -0
  152. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.spec.js +255 -0
  153. package/dist/collection/components/molecules/inputs/mg-input-textarea/test/mg-input-textarea.spec.js.map +1 -0
  154. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.conf.js +1 -0
  155. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.conf.js.map +1 -0
  156. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +6 -4
  157. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js.map +1 -0
  158. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.js +125 -0
  159. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.e2e.js.map +1 -0
  160. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.spec.js +203 -0
  161. package/dist/collection/components/molecules/inputs/mg-input-toggle/test/mg-input-toggle.spec.js.map +1 -0
  162. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js +1 -0
  163. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js.map +1 -0
  164. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js +9 -5
  165. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js.map +1 -0
  166. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.e2e.js +268 -0
  167. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.e2e.js.map +1 -0
  168. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.spec.js +175 -0
  169. package/dist/collection/components/molecules/menu/mg-menu/test/mg-menu.spec.js.map +1 -0
  170. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js +1 -0
  171. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.conf.js.map +1 -0
  172. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +12 -9
  173. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js.map +1 -0
  174. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.js +119 -0
  175. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.e2e.js.map +1 -0
  176. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.spec.js +295 -0
  177. package/dist/collection/components/molecules/menu/mg-menu-item/test/mg-menu-item.spec.js.map +1 -0
  178. package/dist/collection/components/molecules/mg-action-more/mg-action-more.conf.js +1 -0
  179. package/dist/collection/components/molecules/mg-action-more/mg-action-more.conf.js.map +1 -0
  180. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +27 -14
  181. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +1 -0
  182. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.js +128 -0
  183. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.js.map +1 -0
  184. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.spec.js +187 -0
  185. package/dist/collection/components/molecules/mg-action-more/test/mg-action-more.spec.js.map +1 -0
  186. package/dist/collection/components/molecules/mg-details/mg-details.js +3 -2
  187. package/dist/collection/components/molecules/mg-details/mg-details.js.map +1 -0
  188. package/dist/collection/components/molecules/mg-details/test/mg-details.e2e.playwright.js +30 -0
  189. package/dist/collection/components/molecules/mg-details/test/mg-details.e2e.playwright.js.map +1 -0
  190. package/dist/collection/components/molecules/mg-details/test/mg-details.spec.js +42 -0
  191. package/dist/collection/components/molecules/mg-details/test/mg-details.spec.js.map +1 -0
  192. package/dist/collection/components/molecules/mg-form/mg-form.js +17 -7
  193. package/dist/collection/components/molecules/mg-form/mg-form.js.map +1 -0
  194. package/dist/collection/components/molecules/mg-form/test/mg-form.e2e.js +169 -0
  195. package/dist/collection/components/molecules/mg-form/test/mg-form.e2e.js.map +1 -0
  196. package/dist/collection/components/molecules/mg-form/test/mg-form.spec.js +277 -0
  197. package/dist/collection/components/molecules/mg-form/test/mg-form.spec.js.map +1 -0
  198. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +3 -2
  199. package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js.map +1 -0
  200. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.e2e.js +39 -0
  201. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.e2e.js.map +1 -0
  202. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.spec.js +36 -0
  203. package/dist/collection/components/molecules/mg-illustrated-message/test/mg-illustrated-message.spec.js.map +1 -0
  204. package/dist/collection/components/molecules/mg-item-more/mg-item-more.conf.js +1 -0
  205. package/dist/collection/components/molecules/mg-item-more/mg-item-more.conf.js.map +1 -0
  206. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js +15 -9
  207. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js.map +1 -0
  208. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.js +85 -0
  209. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.js.map +1 -0
  210. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.spec.js +106 -0
  211. package/dist/collection/components/molecules/mg-item-more/test/mg-item-more.spec.js.map +1 -0
  212. package/dist/collection/components/molecules/mg-message/mg-message.conf.js +1 -0
  213. package/dist/collection/components/molecules/mg-message/mg-message.conf.js.map +1 -0
  214. package/dist/collection/components/molecules/mg-message/mg-message.js +7 -5
  215. package/dist/collection/components/molecules/mg-message/mg-message.js.map +1 -0
  216. package/dist/collection/components/molecules/mg-message/test/mg-message.e2e.js +64 -0
  217. package/dist/collection/components/molecules/mg-message/test/mg-message.e2e.js.map +1 -0
  218. package/dist/collection/components/molecules/mg-message/test/mg-message.spec.js +109 -0
  219. package/dist/collection/components/molecules/mg-message/test/mg-message.spec.js.map +1 -0
  220. package/dist/collection/components/molecules/mg-modal/mg-modal.conf.js +5 -0
  221. package/dist/collection/components/molecules/mg-modal/mg-modal.conf.js.map +1 -0
  222. package/dist/collection/components/molecules/mg-modal/mg-modal.js +42 -8
  223. package/dist/collection/components/molecules/mg-modal/mg-modal.js.map +1 -0
  224. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.playwright.js +62 -0
  225. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.playwright.js.map +1 -0
  226. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.template.js +40 -0
  227. package/dist/collection/components/molecules/mg-modal/test/mg-modal.e2e.template.js.map +1 -0
  228. package/dist/collection/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.js +26 -0
  229. package/dist/collection/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.js.map +1 -0
  230. package/dist/collection/components/molecules/mg-modal/test/mg-modal.spec.js +122 -0
  231. package/dist/collection/components/molecules/mg-modal/test/mg-modal.spec.js.map +1 -0
  232. package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js +1 -0
  233. package/dist/collection/components/molecules/mg-pagination/mg-pagination.conf.js.map +1 -0
  234. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +5 -4
  235. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js.map +1 -0
  236. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.js +57 -0
  237. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.js.map +1 -0
  238. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.spec.js +121 -0
  239. package/dist/collection/components/molecules/mg-pagination/test/mg-pagination.spec.js.map +1 -0
  240. package/dist/collection/components/molecules/mg-panel/mg-panel.conf.js +1 -0
  241. package/dist/collection/components/molecules/mg-panel/mg-panel.conf.js.map +1 -0
  242. package/dist/collection/components/molecules/mg-panel/mg-panel.js +10 -7
  243. package/dist/collection/components/molecules/mg-panel/mg-panel.js.map +1 -0
  244. package/dist/collection/components/molecules/mg-panel/test/mg-panel.e2e.playwright.js +106 -0
  245. package/dist/collection/components/molecules/mg-panel/test/mg-panel.e2e.playwright.js.map +1 -0
  246. package/dist/collection/components/molecules/mg-panel/test/mg-panel.spec.js +223 -0
  247. package/dist/collection/components/molecules/mg-panel/test/mg-panel.spec.js.map +1 -0
  248. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.css +135 -0
  249. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +101 -0
  250. package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js.map +1 -0
  251. package/dist/collection/components/molecules/mg-popover/mg-popover.css +0 -111
  252. package/dist/collection/components/molecules/mg-popover/mg-popover.js +47 -46
  253. package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +1 -0
  254. package/dist/collection/components/molecules/mg-popover/test/mg-popover.e2e.js +148 -0
  255. package/dist/collection/components/molecules/mg-popover/test/mg-popover.e2e.js.map +1 -0
  256. package/dist/collection/components/molecules/mg-popover/test/mg-popover.spec.js +130 -0
  257. package/dist/collection/components/molecules/mg-popover/test/mg-popover.spec.js.map +1 -0
  258. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.conf.js +1 -0
  259. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.conf.js.map +1 -0
  260. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +5 -3
  261. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js.map +1 -0
  262. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.e2e.js +55 -0
  263. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.e2e.js.map +1 -0
  264. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.spec.js +55 -0
  265. package/dist/collection/components/molecules/mg-skip-links/test/mg-skip-links.spec.js.map +1 -0
  266. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js +1 -0
  267. package/dist/collection/components/molecules/mg-tabs/mg-tabs.conf.js.map +1 -0
  268. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +8 -5
  269. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js.map +1 -0
  270. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.js +76 -0
  271. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.js.map +1 -0
  272. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.spec.js +332 -0
  273. package/dist/collection/components/molecules/mg-tabs/test/mg-tabs.spec.js.map +1 -0
  274. package/dist/collection/index.js +1 -0
  275. package/dist/collection/index.js.map +1 -0
  276. package/dist/collection/locales/index.js +4 -3
  277. package/dist/collection/locales/index.js.map +1 -0
  278. package/dist/collection/locales/index.spec.js +27 -0
  279. package/dist/collection/locales/index.spec.js.map +1 -0
  280. package/dist/collection/stories/icon-gallery.js +4 -3
  281. package/dist/collection/stories/icon-gallery.js.map +1 -0
  282. package/dist/collection/test/typography.e2e.playwright.js +12 -0
  283. package/dist/collection/test/typography.e2e.playwright.js.map +1 -0
  284. package/dist/collection/utils/behaviors.utils.js +1 -0
  285. package/dist/collection/utils/behaviors.utils.js.map +1 -0
  286. package/dist/collection/utils/behaviors.utils.spec.js +57 -0
  287. package/dist/collection/utils/behaviors.utils.spec.js.map +1 -0
  288. package/dist/collection/utils/components.utils.js +9 -7
  289. package/dist/collection/utils/components.utils.js.map +1 -0
  290. package/dist/collection/utils/components.utils.spec.js +120 -0
  291. package/dist/collection/utils/components.utils.spec.js.map +1 -0
  292. package/dist/collection/utils/e2e.test.utils.js +46 -0
  293. package/dist/collection/utils/e2e.test.utils.js.map +1 -0
  294. package/dist/collection/utils/locale.utils.js +1 -0
  295. package/dist/collection/utils/locale.utils.js.map +1 -0
  296. package/dist/collection/utils/locale.utils.spec.js +52 -0
  297. package/dist/collection/utils/locale.utils.spec.js.map +1 -0
  298. package/dist/collection/utils/playwright.e2e.test.utils.js +100 -0
  299. package/dist/collection/utils/playwright.e2e.test.utils.js.map +1 -0
  300. package/dist/collection/utils/stencil.e2e.test.utils.js +33 -0
  301. package/dist/collection/utils/stencil.e2e.test.utils.js.map +1 -0
  302. package/dist/collection/utils/unit.test.utils.js +8 -6
  303. package/dist/collection/utils/unit.test.utils.js.map +1 -0
  304. package/dist/components/MgInput.js +2 -0
  305. package/dist/components/MgInput.js.map +1 -0
  306. package/dist/components/components.utils.js +10 -7
  307. package/dist/components/components.utils.js.map +1 -0
  308. package/dist/components/index.d.ts +5 -35
  309. package/dist/components/index.js +3 -34
  310. package/dist/components/index.js.map +1 -0
  311. package/dist/components/index2.js +2 -0
  312. package/dist/components/index2.js.map +1 -0
  313. package/dist/components/mg-action-more.js +42 -19
  314. package/dist/components/mg-action-more.js.map +1 -0
  315. package/dist/components/mg-badge.js +2 -0
  316. package/dist/components/mg-badge.js.map +1 -0
  317. package/dist/components/mg-badge2.js +8 -1
  318. package/dist/components/mg-badge2.js.map +1 -0
  319. package/dist/components/mg-button.js +2 -0
  320. package/dist/components/mg-button.js.map +1 -0
  321. package/dist/components/mg-button2.js +8 -1
  322. package/dist/components/mg-button2.js.map +1 -0
  323. package/dist/components/mg-card.js +2 -0
  324. package/dist/components/mg-card.js.map +1 -0
  325. package/dist/components/mg-card2.js +6 -1
  326. package/dist/components/mg-card2.js.map +1 -0
  327. package/dist/components/mg-character-left.js +2 -0
  328. package/dist/components/mg-character-left.js.map +1 -0
  329. package/dist/components/mg-character-left2.js +5 -1
  330. package/dist/components/mg-character-left2.js.map +1 -0
  331. package/dist/components/mg-details.js +8 -2
  332. package/dist/components/mg-details.js.map +1 -0
  333. package/dist/components/mg-divider.js +3 -1
  334. package/dist/components/mg-divider.js.map +1 -0
  335. package/dist/components/mg-form.js +17 -4
  336. package/dist/components/mg-form.js.map +1 -0
  337. package/dist/components/mg-icon.js +2 -0
  338. package/dist/components/mg-icon.js.map +1 -0
  339. package/dist/components/mg-icon2.js +87 -17
  340. package/dist/components/mg-icon2.js.map +1 -0
  341. package/dist/components/mg-illustrated-message.js +3 -1
  342. package/dist/components/mg-illustrated-message.js.map +1 -0
  343. package/dist/components/mg-input-checkbox-paginated.js +2 -0
  344. package/dist/components/mg-input-checkbox-paginated.js.map +1 -0
  345. package/dist/components/mg-input-checkbox-paginated2.js +24 -13
  346. package/dist/components/mg-input-checkbox-paginated2.js.map +1 -0
  347. package/dist/components/mg-input-checkbox.js +48 -25
  348. package/dist/components/mg-input-checkbox.js.map +1 -0
  349. package/dist/components/mg-input-date.js +23 -8
  350. package/dist/components/mg-input-date.js.map +1 -0
  351. package/dist/components/mg-input-numeric.js +58 -22
  352. package/dist/components/mg-input-numeric.js.map +1 -0
  353. package/dist/components/mg-input-password.js +21 -8
  354. package/dist/components/mg-input-password.js.map +1 -0
  355. package/dist/components/mg-input-radio.js +22 -8
  356. package/dist/components/mg-input-radio.js.map +1 -0
  357. package/dist/components/mg-input-select.js +2 -0
  358. package/dist/components/mg-input-select.js.map +1 -0
  359. package/dist/components/mg-input-select2.js +22 -8
  360. package/dist/components/mg-input-select2.js.map +1 -0
  361. package/dist/components/mg-input-text.js +2 -0
  362. package/dist/components/mg-input-text.js.map +1 -0
  363. package/dist/components/mg-input-text2.js +24 -10
  364. package/dist/components/mg-input-text2.js.map +1 -0
  365. package/dist/components/mg-input-textarea.js +24 -10
  366. package/dist/components/mg-input-textarea.js.map +1 -0
  367. package/dist/components/mg-input-title.js +2 -0
  368. package/dist/components/mg-input-title.js.map +1 -0
  369. package/dist/components/mg-input-title2.js +6 -1
  370. package/dist/components/mg-input-title2.js.map +1 -0
  371. package/dist/components/mg-input-toggle.js +23 -7
  372. package/dist/components/mg-input-toggle.js.map +1 -0
  373. package/dist/components/mg-item-more.js +31 -17
  374. package/dist/components/mg-item-more.js.map +1 -0
  375. package/dist/components/mg-menu-item.js +2 -0
  376. package/dist/components/mg-menu-item.js.map +1 -0
  377. package/dist/components/mg-menu-item2.js +27 -13
  378. package/dist/components/mg-menu-item2.js.map +1 -0
  379. package/dist/components/mg-menu.conf.js +2 -0
  380. package/dist/components/mg-menu.conf.js.map +1 -0
  381. package/dist/components/mg-menu.js +2 -0
  382. package/dist/components/mg-menu.js.map +1 -0
  383. package/dist/components/mg-menu2.js +8 -1
  384. package/dist/components/mg-menu2.js.map +1 -0
  385. package/dist/components/mg-message.js +8 -1
  386. package/dist/components/mg-message.js.map +1 -0
  387. package/dist/components/mg-modal.js +24 -5
  388. package/dist/components/mg-modal.js.map +1 -0
  389. package/dist/components/mg-pagination.js +2 -0
  390. package/dist/components/mg-pagination.js.map +1 -0
  391. package/dist/components/mg-pagination2.js +22 -11
  392. package/dist/components/mg-pagination2.js.map +1 -0
  393. package/dist/components/mg-panel.js +30 -16
  394. package/dist/components/mg-panel.js.map +1 -0
  395. package/dist/components/mg-popover-content.d.ts +11 -0
  396. package/dist/components/mg-popover-content.js +8 -0
  397. package/dist/components/mg-popover-content.js.map +1 -0
  398. package/dist/components/mg-popover-content2.js +90 -0
  399. package/dist/components/mg-popover-content2.js.map +1 -0
  400. package/dist/components/mg-popover.js +2 -0
  401. package/dist/components/mg-popover.js.map +1 -0
  402. package/dist/components/mg-popover2.js +61 -48
  403. package/dist/components/mg-popover2.js.map +1 -0
  404. package/dist/components/mg-skip-links.js +5 -1
  405. package/dist/components/mg-skip-links.js.map +1 -0
  406. package/dist/components/mg-tabs.js +8 -1
  407. package/dist/components/mg-tabs.js.map +1 -0
  408. package/dist/components/mg-tag.js +7 -1
  409. package/dist/components/mg-tag.js.map +1 -0
  410. package/dist/components/mg-tooltip-content.d.ts +11 -0
  411. package/dist/components/mg-tooltip-content.js +8 -0
  412. package/dist/components/mg-tooltip-content.js.map +1 -0
  413. package/dist/components/mg-tooltip-content2.js +43 -0
  414. package/dist/components/mg-tooltip-content2.js.map +1 -0
  415. package/dist/components/mg-tooltip.js +2 -0
  416. package/dist/components/mg-tooltip.js.map +1 -0
  417. package/dist/components/mg-tooltip2.js +71 -16
  418. package/dist/components/mg-tooltip2.js.map +1 -0
  419. package/dist/components/popper.js +2 -0
  420. package/dist/components/popper.js.map +1 -0
  421. package/dist/esm/{index-1d40b052.js → index-ce01e63b.js} +321 -68
  422. package/dist/esm/index-ce01e63b.js.map +1 -0
  423. package/dist/esm/index.js +2 -0
  424. package/dist/esm/index.js.map +1 -0
  425. package/dist/esm/loader.js +6 -13
  426. package/dist/esm/loader.js.map +1 -0
  427. package/dist/esm/{mg-action-more_32.entry.js → mg-action-more_34.entry.js} +340 -113
  428. package/dist/esm/mg-action-more_34.entry.js.map +1 -0
  429. package/dist/esm/mg-components.js +6 -4
  430. package/dist/esm/mg-components.js.map +1 -0
  431. package/dist/esm/mg-item-more.entry.js +8 -4
  432. package/dist/esm/mg-item-more.entry.js.map +1 -0
  433. package/dist/esm/{mg-menu.conf-2cc079ae.js → mg-menu.conf-012fc9b4.js} +2 -0
  434. package/dist/esm/mg-menu.conf-012fc9b4.js.map +1 -0
  435. package/dist/mg-components/index.esm.js +2 -0
  436. package/dist/mg-components/index.esm.js.map +1 -0
  437. package/dist/mg-components/mg-components.css +1 -1
  438. package/dist/mg-components/mg-components.esm.js +2 -1
  439. package/dist/mg-components/mg-components.esm.js.map +1 -0
  440. package/dist/mg-components/p-1aa89acf.js +3 -0
  441. package/dist/mg-components/p-1aa89acf.js.map +1 -0
  442. package/dist/mg-components/p-1d7d6fa0.js +2 -0
  443. package/dist/mg-components/p-1d7d6fa0.js.map +1 -0
  444. package/dist/mg-components/p-9257e8f1.entry.js +2 -0
  445. package/dist/mg-components/p-9257e8f1.entry.js.map +1 -0
  446. package/dist/mg-components/p-caafc9cf.entry.js +2 -0
  447. package/dist/mg-components/p-caafc9cf.entry.js.map +1 -0
  448. package/dist/types/components/atoms/mg-badge/test/mg-badge.e2e.playwright.d.ts +1 -0
  449. package/dist/types/components/atoms/mg-tooltip/mg-tooltip-content/mg-tooltip-content.d.ts +14 -0
  450. package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +7 -1
  451. package/dist/types/components/molecules/inputs/mg-input-checkbox/test/mg-input-checkbox.e2e.playwright.d.ts +1 -0
  452. package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +19 -0
  453. package/dist/types/components/molecules/mg-action-more/mg-action-more.d.ts +6 -1
  454. package/dist/types/components/molecules/mg-action-more/test/mg-action-more.e2e.playwright.d.ts +2 -0
  455. package/dist/types/components/molecules/mg-details/test/mg-details.e2e.playwright.d.ts +1 -0
  456. package/dist/types/components/molecules/mg-form/mg-form.d.ts +8 -0
  457. package/dist/types/components/molecules/mg-item-more/test/mg-item-more.e2e.playwright.d.ts +1 -0
  458. package/dist/types/components/molecules/mg-modal/mg-modal.conf.d.ts +8 -0
  459. package/dist/types/components/molecules/mg-modal/mg-modal.d.ts +8 -2
  460. package/dist/types/components/molecules/mg-modal/test/mg-modal.e2e.playwright.d.ts +1 -0
  461. package/dist/types/components/molecules/mg-modal/test/mg-modal.e2e.template.d.ts +12 -0
  462. package/dist/types/components/molecules/mg-modal/test/mg-modal.firefox.e2e.playwright.d.ts +1 -0
  463. package/dist/types/components/molecules/mg-pagination/test/mg-pagination.e2e.playwright.d.ts +1 -0
  464. package/dist/types/components/molecules/mg-panel/test/mg-panel.e2e.playwright.d.ts +1 -0
  465. package/dist/types/components/molecules/mg-popover/mg-popover-content/mg-popover-content.d.ts +47 -0
  466. package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +8 -11
  467. package/dist/types/components/molecules/mg-tabs/test/mg-tabs.e2e.playwright.d.ts +1 -0
  468. package/dist/types/components.d.ts +79 -0
  469. package/dist/types/stencil-public-runtime.d.ts +43 -17
  470. package/dist/types/test/typography.e2e.playwright.d.ts +1 -0
  471. package/dist/types/utils/e2e.test.utils.d.ts +22 -0
  472. package/dist/types/utils/stencil.e2e.test.utils.d.ts +14 -0
  473. package/loader/index.d.ts +2 -2
  474. package/package.json +7 -7
  475. package/dist/esm/polyfills/css-shim.js +0 -1
  476. package/dist/mg-components/p-067080e4.js +0 -1
  477. package/dist/mg-components/p-3bf1e2f0.js +0 -2
  478. package/dist/mg-components/p-4ae1130f.entry.js +0 -1
  479. package/dist/mg-components/p-6672f590.entry.js +0 -1
@@ -5,11 +5,15 @@
5
5
  * @returns ID
6
6
  */
7
7
  const createID = (prefix = '', length = 10) => {
8
- let ID = '';
9
8
  const chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
10
9
  const charsLength = chars.length;
11
- for (let i = 0; i < length; i++) {
12
- ID += chars.charAt(Math.floor(Math.random() * charsLength));
10
+ let ID = '';
11
+ let now = Date.now();
12
+ while (length > 0) {
13
+ now += Math.pow(10, 6); // Add 1 millisecond to the timestamp
14
+ const index = now % charsLength;
15
+ ID += chars.charAt(index);
16
+ length--;
13
17
  }
14
18
  return (prefix !== '' ? `${prefix}-` : '') + ID;
15
19
  };
@@ -115,10 +119,7 @@ const getParentWindows = (localWindow, windows = []) => {
115
119
  */
116
120
  const getChildWindows = (localWindow, windows = []) => {
117
121
  if (localWindow.frames.length > 0) {
118
- // Window.frames is an array-like object, needs a classic for loop
119
- // https://developer.mozilla.org/en-US/docs/Web/API/Window/frames
120
- for (let i = 0; i < localWindow.frames.length; i++) {
121
- const childWindow = localWindow.frames[i];
122
+ for (const childWindow of Array.from(localWindow.frames)) {
122
123
  windows.push(childWindow);
123
124
  getChildWindows(childWindow, windows);
124
125
  }
@@ -127,3 +128,5 @@ const getChildWindows = (localWindow, windows = []) => {
127
128
  };
128
129
 
129
130
  export { ClassList as C, allItemsAreString as a, createID as c, focusableElements as f, getWindows as g, isTagName as i };
131
+
132
+ //# sourceMappingURL=components.utils.js.map
@@ -0,0 +1 @@
1
+ {"file":"components.utils.js","mappings":"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","names":[],"sources":["src/utils/components.utils.ts"],"sourcesContent":["/**\n * Create random ID\n * @param prefix - add prefix to created ID\n * @param length - ID length\n * @returns ID\n */\nexport const createID = (prefix = '', length = 10): string => {\n const chars = 'abcdefghijklmnopqrstuvwxyz0123456789';\n const charsLength = chars.length;\n\n let ID = '';\n let now = Date.now();\n while (length > 0) {\n now += Math.pow(10, 6); // Add 1 millisecond to the timestamp\n const index = now % charsLength;\n ID += chars.charAt(index);\n length--;\n }\n return (prefix !== '' ? `${prefix}-` : '') + ID;\n};\n\n/**\n * Class to manage component classlist\n * Set() are not working when imported in project\n */\nexport class ClassList {\n /**\n * Available classes\n */\n classes: string[];\n\n constructor(classlist: string[] = []) {\n this.classes = classlist;\n }\n\n /**\n * Add class\n * @param className - class name to add\n */\n add = (className: string): void => {\n if (!this.has(className)) {\n this.classes.push(className);\n }\n };\n\n /**\n * Delete class\n * @param className - class name to delete\n */\n delete = (className: string): void => {\n const index = this.classes.indexOf(className);\n if (index > -1) {\n this.classes.splice(index, 1);\n }\n };\n\n /**\n * Check if class exist in list\n * @param className - class name to check\n * @returns class name is in the list\n */\n has = (className: string): boolean => {\n return this.classes.includes(className);\n };\n\n /**\n * Join classes seperated by spaces\n * @returns joined values\n */\n join = (): string => {\n return this.classes.join(' ');\n };\n}\n\n/**\n * Check if all items are string\n * @param items - items to check\n * @returns all items are string\n */\nexport const allItemsAreString = (items: unknown): items is string[] => Array.isArray(items) && items.every(item => typeof item === 'string');\n\n/**\n * Check if element is a heading\n * @param element - slotted element\n * @param tagNames - allowed tag names list\n * @returns element is a heading\n */\nexport const isTagName = (element: Element, tagNames: string[]): boolean => {\n return tagNames.includes(element?.tagName.toLowerCase());\n};\n\n/**\n * Focusable elements query selector\n */\nexport const focusableElements = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]), [identifier]';\n\n/**\n * Get windows\n * @param localWindow - the window we are lookink for other windows\n * @returns The list of windows found\n */\nexport const getWindows = (localWindow: Window): Window[] => {\n const parentWindows = getParentWindows(localWindow);\n const childWindows = getChildWindows(localWindow);\n return [localWindow, ...parentWindows, ...childWindows];\n};\n\n/**\n * Get parent windows\n * @param localWindow - the window we are lookink for parents\n * @param windows - The list of allready found windows\n * @returns The list of windows found\n */\nexport const getParentWindows = (localWindow: Window, windows: Window[] = []): Window[] => {\n // Check if is in iframe\n if (localWindow.self !== localWindow.top) {\n // Check if we have permission to access parent\n try {\n const parentWindow: Window = localWindow.parent;\n windows.push(parentWindow);\n return getParentWindows(parentWindow, windows);\n } catch (err) {\n console.error('Different hosts between iframes:', err);\n return windows;\n }\n }\n return windows;\n};\n\n/**\n * Get child windows\n * @param localWindow - the window we are lookink for children\n * @param windows - The list of allready found windows\n * @returns The list of windows found\n */\nconst getChildWindows = (localWindow: Window, windows: Window[] = []): Window[] => {\n if (localWindow.frames.length > 0) {\n for (const childWindow of Array.from(localWindow.frames)) {\n windows.push(childWindow);\n getChildWindows(childWindow, windows);\n }\n }\n return windows;\n};\n"],"version":3}
@@ -1,37 +1,8 @@
1
- /* MgComponents custom elements */
2
- export { MgActionMore as MgActionMore } from '../types/components/molecules/mg-action-more/mg-action-more';
3
- export { MgBadge as MgBadge } from '../types/components/atoms/mg-badge/mg-badge';
4
- export { MgButton as MgButton } from '../types/components/atoms/mg-button/mg-button';
5
- export { MgCard as MgCard } from '../types/components/atoms/mg-card/mg-card';
6
- export { MgCharacterLeft as MgCharacterLeft } from '../types/components/atoms/mg-character-left/mg-character-left';
7
- export { MgDetails as MgDetails } from '../types/components/molecules/mg-details/mg-details';
8
- export { MgDivider as MgDivider } from '../types/components/atoms/mg-divider/mg-divider';
9
- export { MgForm as MgForm } from '../types/components/molecules/mg-form/mg-form';
10
- export { MgIcon as MgIcon } from '../types/components/atoms/mg-icon/mg-icon';
11
- export { MgIllustratedMessage as MgIllustratedMessage } from '../types/components/molecules/mg-illustrated-message/mg-illustrated-message';
12
- export { MgInputCheckbox as MgInputCheckbox } from '../types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox';
13
- export { MgInputCheckboxPaginated as MgInputCheckboxPaginated } from '../types/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated';
14
- export { MgInputDate as MgInputDate } from '../types/components/molecules/inputs/mg-input-date/mg-input-date';
15
- export { MgInputNumeric as MgInputNumeric } from '../types/components/molecules/inputs/mg-input-numeric/mg-input-numeric';
16
- export { MgInputPassword as MgInputPassword } from '../types/components/molecules/inputs/mg-input-password/mg-input-password';
17
- export { MgInputRadio as MgInputRadio } from '../types/components/molecules/inputs/mg-input-radio/mg-input-radio';
18
- export { MgInputSelect as MgInputSelect } from '../types/components/molecules/inputs/mg-input-select/mg-input-select';
19
- export { MgInputText as MgInputText } from '../types/components/molecules/inputs/mg-input-text/mg-input-text';
20
- export { MgInputTextarea as MgInputTextarea } from '../types/components/molecules/inputs/mg-input-textarea/mg-input-textarea';
21
- export { MgInputTitle as MgInputTitle } from '../types/components/atoms/mg-input-title/mg-input-title';
22
- export { MgInputToggle as MgInputToggle } from '../types/components/molecules/inputs/mg-input-toggle/mg-input-toggle';
23
- export { MgItemMore as MgItemMore } from '../types/components/molecules/mg-item-more/mg-item-more';
24
- export { MgMenu as MgMenu } from '../types/components/molecules/menu/mg-menu/mg-menu';
25
- export { MgMenuItem as MgMenuItem } from '../types/components/molecules/menu/mg-menu-item/mg-menu-item';
26
- export { MgMessage as MgMessage } from '../types/components/molecules/mg-message/mg-message';
27
- export { MgModal as MgModal } from '../types/components/molecules/mg-modal/mg-modal';
28
- export { MgPagination as MgPagination } from '../types/components/molecules/mg-pagination/mg-pagination';
29
- export { MgPanel as MgPanel } from '../types/components/molecules/mg-panel/mg-panel';
30
- export { MgPopover as MgPopover } from '../types/components/molecules/mg-popover/mg-popover';
31
- export { MgSkipLinks as MgSkipLinks } from '../types/components/molecules/mg-skip-links/mg-skip-links';
32
- export { MgTabs as MgTabs } from '../types/components/molecules/mg-tabs/mg-tabs';
33
- export { MgTag as MgTag } from '../types/components/atoms/mg-tag/mg-tag';
34
- export { MgTooltip as MgTooltip } from '../types/components/atoms/mg-tooltip/mg-tooltip';
1
+ /**
2
+ * Get the base path to where the assets can be found. Use "setAssetPath(path)"
3
+ * if the path needs to be customized.
4
+ */
5
+ export declare const getAssetPath: (path: string) => string;
35
6
 
36
7
  /**
37
8
  * Used to manually set the base path where assets can be found.
@@ -60,4 +31,3 @@ export interface SetPlatformOptions {
60
31
  rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
61
32
  }
62
33
  export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
63
- export * from '../types';
@@ -1,34 +1,3 @@
1
- export { setAssetPath, setNonce, setPlatformOptions } from '@stencil/core/internal/client';
2
- export { MgActionMore, defineCustomElement as defineCustomElementMgActionMore } from './mg-action-more.js';
3
- export { MgBadge, defineCustomElement as defineCustomElementMgBadge } from './mg-badge.js';
4
- export { MgButton, defineCustomElement as defineCustomElementMgButton } from './mg-button.js';
5
- export { MgCard, defineCustomElement as defineCustomElementMgCard } from './mg-card.js';
6
- export { MgCharacterLeft, defineCustomElement as defineCustomElementMgCharacterLeft } from './mg-character-left.js';
7
- export { MgDetails, defineCustomElement as defineCustomElementMgDetails } from './mg-details.js';
8
- export { MgDivider, defineCustomElement as defineCustomElementMgDivider } from './mg-divider.js';
9
- export { MgForm, defineCustomElement as defineCustomElementMgForm } from './mg-form.js';
10
- export { MgIcon, defineCustomElement as defineCustomElementMgIcon } from './mg-icon.js';
11
- export { MgIllustratedMessage, defineCustomElement as defineCustomElementMgIllustratedMessage } from './mg-illustrated-message.js';
12
- export { MgInputCheckbox, defineCustomElement as defineCustomElementMgInputCheckbox } from './mg-input-checkbox.js';
13
- export { MgInputCheckboxPaginated, defineCustomElement as defineCustomElementMgInputCheckboxPaginated } from './mg-input-checkbox-paginated.js';
14
- export { MgInputDate, defineCustomElement as defineCustomElementMgInputDate } from './mg-input-date.js';
15
- export { MgInputNumeric, defineCustomElement as defineCustomElementMgInputNumeric } from './mg-input-numeric.js';
16
- export { MgInputPassword, defineCustomElement as defineCustomElementMgInputPassword } from './mg-input-password.js';
17
- export { MgInputRadio, defineCustomElement as defineCustomElementMgInputRadio } from './mg-input-radio.js';
18
- export { MgInputSelect, defineCustomElement as defineCustomElementMgInputSelect } from './mg-input-select.js';
19
- export { MgInputText, defineCustomElement as defineCustomElementMgInputText } from './mg-input-text.js';
20
- export { MgInputTextarea, defineCustomElement as defineCustomElementMgInputTextarea } from './mg-input-textarea.js';
21
- export { MgInputTitle, defineCustomElement as defineCustomElementMgInputTitle } from './mg-input-title.js';
22
- export { MgInputToggle, defineCustomElement as defineCustomElementMgInputToggle } from './mg-input-toggle.js';
23
- export { MgItemMore, defineCustomElement as defineCustomElementMgItemMore } from './mg-item-more.js';
24
- export { MgMenu, defineCustomElement as defineCustomElementMgMenu } from './mg-menu.js';
25
- export { MgMenuItem, defineCustomElement as defineCustomElementMgMenuItem } from './mg-menu-item.js';
26
- export { MgMessage, defineCustomElement as defineCustomElementMgMessage } from './mg-message.js';
27
- export { MgModal, defineCustomElement as defineCustomElementMgModal } from './mg-modal.js';
28
- export { MgPagination, defineCustomElement as defineCustomElementMgPagination } from './mg-pagination.js';
29
- export { MgPanel, defineCustomElement as defineCustomElementMgPanel } from './mg-panel.js';
30
- export { MgPopover, defineCustomElement as defineCustomElementMgPopover } from './mg-popover.js';
31
- export { MgSkipLinks, defineCustomElement as defineCustomElementMgSkipLinks } from './mg-skip-links.js';
32
- export { MgTabs, defineCustomElement as defineCustomElementMgTabs } from './mg-tabs.js';
33
- export { MgTag, defineCustomElement as defineCustomElementMgTag } from './mg-tag.js';
34
- export { MgTooltip, defineCustomElement as defineCustomElementMgTooltip } from './mg-tooltip.js';
1
+ export { getAssetPath, setAssetPath, setNonce, setPlatformOptions } from '@stencil/core/internal/client';
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"file":"index.js","mappings":"","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -263,3 +263,5 @@ const messages = { en, fr };
263
263
  const initLocales = (element) => getLocaleMessages(element, messages, defaultLocale);
264
264
 
265
265
  export { localeCurrency as a, localeNumber as b, dateRegExp as d, initLocales as i, localeDate as l };
266
+
267
+ //# sourceMappingURL=index2.js.map
@@ -0,0 +1 @@
1
+ {"file":"index2.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;MAOa,cAAc,GAAG,CAAC,MAAc,EAAE,MAAc,EAAE,QAAgB;EAC7E,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACvF,EAAE;AAEF;;;;;;MAMa,YAAY,GAAG,CAAC,MAAc,EAAE,MAAc;EACzD,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACtD,EAAE;AAEF;;;MAGa,UAAU,GAAG,gDAAgD;AAE1E;;;;;;MAMa,UAAU,GAAG,CAAC,IAAY,EAAE,MAAc;EACrD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IACrE,OAAO,EAAE,CAAC;GACX;EACD,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,EAAE;AAEF;;;;;;;;AAQO,MAAM,iBAAiB,GAAG,CAAC,OAAoB,EAAE,QAAiB,EAAE,aAAqB;;EAE9F,MAAM,oBAAoB,GAAgB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;EACpE,MAAM,WAAW,GAAa,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,IAAI,CAAC,CAAC;EAC/F,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,IAAI,aAAa,CAAC;;EAE7F,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;;EAE/C,OAAO;IACL,MAAM;IACN,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC;GAC5D,CAAC;AACJ,CAAC;;ACvDD,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,QAAQ,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAE5B;;;;;MAKa,WAAW,GAAG,CAAC,OAAoB,KAA4D,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa;;;;","names":[],"sources":["src/utils/locale.utils.ts","src/locales/index.ts"],"sourcesContent":["/**\n * Format number to the locale currency\n * @param number - number to format\n * @param locale - locale to apply\n * @param currency - currency to apply\n * @returns formatted currency\n */\nexport const localeCurrency = (number: number, locale: string, currency: string): string => {\n return new Intl.NumberFormat(locale, { style: 'currency', currency }).format(number);\n};\n\n/**\n * Format number to locale\n * @param number - number to format\n * @param locale - locale to apply\n * @returns formatted number\n */\nexport const localeNumber = (number: number, locale: string): string => {\n return new Intl.NumberFormat(locale).format(number);\n};\n\n/**\n * Date RegExp\n */\nexport const dateRegExp = /^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$/;\n\n/**\n * Locale date format\n * @param date - date to format\n * @param locale - locale to apply\n * @returns formatted date\n */\nexport const localeDate = (date: string, locale: string): string => {\n if (typeof date !== 'string' || date === '' || !dateRegExp.test(date)) {\n return '';\n }\n return new Intl.DateTimeFormat(locale).format(new Date(date));\n};\n\n/**\n * Get locale and messages\n * We load the defined locale but for now we only support the first subtag for messages\n * @param element - element we need to get the language\n * @param messages - messages to use\n * @param defaultLocale - default messages locale\n * @returns messages object\n */\nexport const getLocaleMessages = (element: HTMLElement, messages: unknown, defaultLocale: string): { locale: string; messages: Record<string, unknown> } => {\n // Get local\n const closestLangAttribute: HTMLElement = element.closest('[lang]');\n const closestLang: string[] = Intl.NumberFormat.supportedLocalesOf(closestLangAttribute?.lang);\n const locale = closestLang.length > 0 ? closestLang[0] : navigator.language || defaultLocale;\n // Only keep first subtag\n const localeSubtag = locale.split('-').shift();\n // Return\n return {\n locale,\n messages: messages[localeSubtag] || messages[defaultLocale],\n };\n};\n","import en from './en/messages.json';\nimport fr from './fr/messages.json';\nimport { getLocaleMessages } from '../utils/locale.utils';\n\nconst defaultLocale = 'en';\nconst messages = { en, fr };\n\n/**\n * Get Intl object\n * @param element - element we need to get the language\n * @returns messages object\n */\nexport const initLocales = (element: HTMLElement): { locale: string; messages: Record<string, unknown> } => getLocaleMessages(element, messages, defaultLocale);\n"],"version":3}
@@ -1,14 +1,15 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { i as initLocales } from './index2.js';
3
- import { S as Status, d as defineCustomElement$3 } from './mg-menu-item2.js';
3
+ import { S as Status, d as defineCustomElement$4 } from './mg-menu-item2.js';
4
4
  import { D as Direction } from './mg-menu.conf.js';
5
5
  import { c as createID } from './components.utils.js';
6
- import { d as defineCustomElement$8 } from './mg-badge2.js';
7
- import { d as defineCustomElement$7 } from './mg-button2.js';
8
- import { d as defineCustomElement$6 } from './mg-card2.js';
9
- import { d as defineCustomElement$5 } from './mg-icon2.js';
10
- import { d as defineCustomElement$4 } from './mg-menu2.js';
11
- import { d as defineCustomElement$2 } from './mg-popover2.js';
6
+ import { d as defineCustomElement$9 } from './mg-badge2.js';
7
+ import { d as defineCustomElement$8 } from './mg-button2.js';
8
+ import { d as defineCustomElement$7 } from './mg-card2.js';
9
+ import { d as defineCustomElement$6 } from './mg-icon2.js';
10
+ import { d as defineCustomElement$5 } from './mg-menu2.js';
11
+ import { d as defineCustomElement$3 } from './mg-popover2.js';
12
+ import { d as defineCustomElement$2 } from './mg-popover-content2.js';
12
13
 
13
14
  const mgActionMoreCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){.mg-a11y-animation{animation:none !important;transition:none !important}}:host{--mg-popover-padding-vertical:1rem;--mg-popover-padding-horizontal:0;--mg-popover-max-width:unset}.mg-action-more__chevron{transition:200ms}.mg-action-more__chevron--rotate.mg-action-more__chevron{transform:rotate(180deg)}";
14
15
 
@@ -39,7 +40,7 @@ const isMgActionMoreIcon = (prop) => {
39
40
  const icon = prop;
40
41
  return typeof icon === 'object' && typeof icon.icon === 'string';
41
42
  };
42
- const MgActionMore$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
43
+ const MgActionMore$1 = /*@__PURE__*/ proxyCustomElement(class MgActionMore extends HTMLElement {
43
44
  constructor() {
44
45
  super();
45
46
  this.__registerHost();
@@ -50,7 +51,7 @@ const MgActionMore$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
50
51
  this.name = 'mg-action-more';
51
52
  this.mgPopoverIdentifier = createID(this.name);
52
53
  /************
53
- * Merthods *
54
+ * Methods *
54
55
  ***********/
55
56
  /**
56
57
  * Toogle expanded props
@@ -58,6 +59,13 @@ const MgActionMore$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
58
59
  this.toggleExpanded = () => {
59
60
  this.expanded = !this.expanded;
60
61
  };
62
+ /**
63
+ * Handle popover display change value
64
+ * @param event - display change updated value
65
+ */
66
+ this.handleDisplayChange = (event) => {
67
+ this.expanded = event.detail;
68
+ };
61
69
  /**
62
70
  * Button click handler
63
71
  */
@@ -73,7 +81,7 @@ const MgActionMore$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
73
81
  this.expanded = false;
74
82
  customHandler(event);
75
83
  };
76
- this.icon = { icon: 'ellipsis' };
84
+ this.icon = undefined;
77
85
  this.button = { variant: 'flat', isIcon: true };
78
86
  this.items = undefined;
79
87
  this.displayChevron = undefined;
@@ -83,6 +91,9 @@ const MgActionMore$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
83
91
  if (newValue && !isMgActionMoreIcon(newValue)) {
84
92
  throw new Error(`<${this.name}> prop icon must match MgActionMoreIconType.`);
85
93
  }
94
+ else if (!Boolean(newValue === null || newValue === void 0 ? void 0 : newValue.icon) && Boolean(this.button.isIcon)) {
95
+ this.icon = { icon: 'ellipsis' };
96
+ }
86
97
  }
87
98
  validateButton(newValue) {
88
99
  if (newValue && !isMgActionMoreButton(newValue)) {
@@ -126,7 +137,7 @@ const MgActionMore$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
126
137
  'mg-a11y-animation': true,
127
138
  } }, h("mg-icon", { icon: "chevron-down", size: "small" })));
128
139
  }
129
- return (h(Host, { "data-mg-popover-guard": this.mgPopoverIdentifier }, h("span", { class: "mg-action-more" }, h("mg-popover", { identifier: this.mgPopoverIdentifier, display: this.expanded }, h("mg-button", { variant: this.button.variant, isIcon: this.button.isIcon, type: "button", label: buttonLabel, onClick: this.handleButton }, h("mg-icon", Object.assign({}, this.icon)), !this.button.isIcon && buttonContent), h("div", { slot: "content" }, h("mg-menu", { direction: Direction.VERTICAL, label: this.messages.label }, this.items.map(item => {
140
+ return (h(Host, { "data-mg-popover-guard": this.mgPopoverIdentifier }, h("span", { class: "mg-action-more" }, h("mg-popover", { identifier: this.mgPopoverIdentifier, display: this.expanded, "onDisplay-change": this.handleDisplayChange }, h("mg-button", { variant: this.button.variant, isIcon: this.button.isIcon, type: "button", label: buttonLabel, onClick: this.handleButton }, this.icon && h("mg-icon", Object.assign({}, this.icon)), !this.button.isIcon && buttonContent), h("div", { slot: "content" }, h("mg-menu", { direction: Direction.VERTICAL, label: this.messages.label }, this.items.map(item => {
130
141
  var _a;
131
142
  return (
132
143
  // eslint-disable-next-line react/jsx-no-bind
@@ -142,17 +153,22 @@ const MgActionMore$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
142
153
  }; }
143
154
  static get style() { return mgActionMoreCss; }
144
155
  }, [1, "mg-action-more", {
145
- "icon": [16],
156
+ "icon": [1040],
146
157
  "button": [16],
147
158
  "items": [16],
148
159
  "displayChevron": [4, "display-chevron"],
149
160
  "expanded": [32]
161
+ }, undefined, {
162
+ "icon": ["validateIcon"],
163
+ "button": ["validateButton"],
164
+ "items": ["validateItems"],
165
+ "displayChevron": ["validateDisplayChevron"]
150
166
  }]);
151
167
  function defineCustomElement$1() {
152
168
  if (typeof customElements === "undefined") {
153
169
  return;
154
170
  }
155
- const components = ["mg-action-more", "mg-badge", "mg-button", "mg-card", "mg-icon", "mg-menu", "mg-menu-item", "mg-popover"];
171
+ const components = ["mg-action-more", "mg-badge", "mg-button", "mg-card", "mg-icon", "mg-menu", "mg-menu-item", "mg-popover", "mg-popover-content"];
156
172
  components.forEach(tagName => { switch (tagName) {
157
173
  case "mg-action-more":
158
174
  if (!customElements.get(tagName)) {
@@ -161,35 +177,40 @@ function defineCustomElement$1() {
161
177
  break;
162
178
  case "mg-badge":
163
179
  if (!customElements.get(tagName)) {
164
- defineCustomElement$8();
180
+ defineCustomElement$9();
165
181
  }
166
182
  break;
167
183
  case "mg-button":
168
184
  if (!customElements.get(tagName)) {
169
- defineCustomElement$7();
185
+ defineCustomElement$8();
170
186
  }
171
187
  break;
172
188
  case "mg-card":
173
189
  if (!customElements.get(tagName)) {
174
- defineCustomElement$6();
190
+ defineCustomElement$7();
175
191
  }
176
192
  break;
177
193
  case "mg-icon":
178
194
  if (!customElements.get(tagName)) {
179
- defineCustomElement$5();
195
+ defineCustomElement$6();
180
196
  }
181
197
  break;
182
198
  case "mg-menu":
183
199
  if (!customElements.get(tagName)) {
184
- defineCustomElement$4();
200
+ defineCustomElement$5();
185
201
  }
186
202
  break;
187
203
  case "mg-menu-item":
188
204
  if (!customElements.get(tagName)) {
189
- defineCustomElement$3();
205
+ defineCustomElement$4();
190
206
  }
191
207
  break;
192
208
  case "mg-popover":
209
+ if (!customElements.get(tagName)) {
210
+ defineCustomElement$3();
211
+ }
212
+ break;
213
+ case "mg-popover-content":
193
214
  if (!customElements.get(tagName)) {
194
215
  defineCustomElement$2();
195
216
  }
@@ -202,3 +223,5 @@ const MgActionMore = MgActionMore$1;
202
223
  const defineCustomElement = defineCustomElement$1;
203
224
 
204
225
  export { MgActionMore, defineCustomElement };
226
+
227
+ //# sourceMappingURL=mg-action-more.js.map
@@ -0,0 +1 @@
1
+ {"file":"mg-action-more.js","mappings":";;;;;;;;;;;;;AAAA,MAAM,eAAe,GAAG,mrBAAmrB;;ACO3sB;;;;;AAKA,MAAM,mBAAmB,GAAG,CAAC,IAAa;EACxC,MAAM,KAAK,GAAG,IAA8B,CAAC;EAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,UAAU,CAAC,CAAC;AACtK,CAAC,CAAC;AAEF;;;;;AAKA,MAAM,oBAAoB,GAAG,CAAC,IAAa;EACzC,MAAM,MAAM,GAAG,IAA8B,CAAC;EAC9C,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;AAChH,CAAC,CAAC;AAEF;;;;;AAKA,MAAM,kBAAkB,GAAG,CAAC,IAAa;EACvC,MAAM,IAAI,GAAG,IAA4B,CAAC;EAC1C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AACnE,CAAC,CAAC;MAOWA,cAAY;;;;;;;;IAIN,SAAI,GAAG,gBAAgB,CAAC;IACxB,wBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;;;;;IAqEnD,mBAAc,GAAG;MACvB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;KAChC,CAAC;;;;;IAMM,wBAAmB,GAAG,CAAC,KAAkB;MAC/C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;KAC9B,CAAC;;;;IAKM,iBAAY,GAAG;MACrB,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB,CAAC;;;;;;IAOM,oBAAe,GAAG,CAAC,KAAiB,EAAE,aAAwD;MACpG,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;MACtB,aAAa,CAAC,KAAK,CAAC,CAAC;KACtB,CAAC;;kBApEuC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;;;oBAgCtD,KAAK;;EA3CzB,YAAY,CAAC,QAA8B;IACzC,IAAI,QAAQ,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE;MAC7C,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,8CAA8C,CAAC,CAAC;KAC9E;SAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;MAClE,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;KAClC;GACF;EAOD,cAAc,CAAC,QAAgC;IAC7C,IAAI,QAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE;MAC/C,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,kDAAkD,CAAC,CAAC;KAClF;GACF;EAOD,aAAa,CAAC,QAA+B;IAC3C,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE;MAClC,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,wFAAwF,CAAC,CAAC;KACxH;GACF;EAOD,sBAAsB,CAAC,QAAwC;IAC7D,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE;MAC3C,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,gFAAgF,CAAC,CAAC;KAChH;GACF;;;;;;;EAiDD,iBAAiB;IACf,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAqC,CAAC;IACzF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;GAClD;;;;;EAMD,MAAM;IACJ,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC7D,MAAM,aAAa,GAAG,CAAC,WAAW,CAAC,CAAC;IAEpC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE;MAC9C,aAAa,CAAC,IAAI,CAChB,YACE,KAAK,EAAE;UACL,CAAC,GAAG,IAAI,CAAC,IAAI,WAAW,GAAG,IAAI;UAC/B,CAAC,GAAG,IAAI,CAAC,IAAI,mBAAmB,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI;UACzD,mBAAmB,EAAE,IAAI;SAC1B,IAED,eAAS,IAAI,EAAC,cAAc,EAAC,IAAI,EAAC,OAAO,GAAW,CAC/C,CACR,CAAC;KACH;IAED,QACE,EAAC,IAAI,6BAAwB,IAAI,CAAC,mBAAmB,IACnD,YAAM,KAAK,EAAC,gBAAgB,IAC1B,kBAAY,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,sBAAoB,IAAI,CAAC,mBAAmB,IAClH,iBAAW,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,IAC9H,IAAI,CAAC,IAAI,IAAI,+BAAa,IAAI,CAAC,IAAI,EAAY,EAC/C,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,aAAa,CAC3B,EACZ,WAAK,IAAI,EAAC,SAAS,IACjB,eAAS,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAC/D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI;;MAAI;;MAEtB,oBAAc,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IACjJ,IAAI,CAAC,IAAI,IAAI,eAAS,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,OAAO,GAAW,EAC/D,YAAM,IAAI,EAAC,OAAO,IAAE,IAAI,CAAC,KAAK,CAAQ,EACrC,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,KAAI,gBAAU,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAC,aAAa,EAAC,OAAO,EAAC,YAAY,GAAY,CACxH,EAChB;KAAA,CAAC,CACM,CACN,CACK,CACR,CACF,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["MgActionMore"],"sources":["src/components/molecules/mg-action-more/mg-action-more.scss?tag=mg-action-more&encapsulation=shadow","src/components/molecules/mg-action-more/mg-action-more.tsx"],"sourcesContent":["@import '../../../styles/a11y.scss';\n@import '../../../styles/mixins/mg-icon-animation.scss';\n\n:host {\n --mg-popover-padding-vertical: 1rem;\n --mg-popover-padding-horizontal: 0;\n --mg-popover-max-width: unset;\n}\n\n.mg-action-more__chevron {\n @include rotate('.mg-action-more__chevron', 200ms);\n}\n","import { Component, h, Element, Prop, Watch, State, Host } from '@stencil/core';\nimport { MgActionMoreItemType, MgActionMoreButtonType, MgActionMoreIconType, MgActionMoreMessageType } from './mg-action-more.conf';\nimport { initLocales } from '../../../locales';\nimport { Status } from '../menu/mg-menu-item/mg-menu-item.conf';\nimport { Direction } from '../menu/mg-menu/mg-menu.conf';\nimport { createID } from '../../../utils/components.utils';\n\n/**\n * MgActionMore['items'] type guard\n * @param prop - commponent items prop\n * @returns return true if type is valid\n */\nconst isMgActionMoreItems = (prop: unknown): prop is MgActionMoreItemType[] => {\n const items = prop as MgActionMoreItemType[];\n return typeof items === 'object' && items.every(item => typeof item === 'object' && typeof item.label === 'string' && typeof item.mouseEventHandler === 'function');\n};\n\n/**\n * MgActionMore['button'] type guard\n * @param prop - commponent button prop\n * @returns return true if type is valid\n */\nconst isMgActionMoreButton = (prop: unknown): prop is MgActionMoreButtonType => {\n const button = prop as MgActionMoreButtonType;\n return typeof button === 'object' && typeof button.variant === 'string' && typeof button.isIcon === 'boolean';\n};\n\n/**\n * MgActionMore['icon'] type guard\n * @param prop - commponent icon prop\n * @returns return true if type is valid\n */\nconst isMgActionMoreIcon = (prop: unknown): prop is MgActionMoreIconType => {\n const icon = prop as MgActionMoreIconType;\n return typeof icon === 'object' && typeof icon.icon === 'string';\n};\n\n@Component({\n tag: 'mg-action-more',\n styleUrl: 'mg-action-more.scss',\n shadow: true,\n})\nexport class MgActionMore {\n /************\n * Internal *\n ************/\n private readonly name = 'mg-action-more';\n private readonly mgPopoverIdentifier = createID(this.name);\n private messages: MgActionMoreMessageType;\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgActionMoreElement;\n\n /**\n * Define displaied icon\n */\n @Prop({ mutable: true }) icon: MgActionMoreIconType;\n @Watch('icon')\n validateIcon(newValue: MgActionMore['icon']): void {\n if (newValue && !isMgActionMoreIcon(newValue)) {\n throw new Error(`<${this.name}> prop icon must match MgActionMoreIconType.`);\n } else if (!Boolean(newValue?.icon) && Boolean(this.button.isIcon)) {\n this.icon = { icon: 'ellipsis' };\n }\n }\n\n /**\n * Define button properties\n */\n @Prop() button: MgActionMoreButtonType = { variant: 'flat', isIcon: true };\n @Watch('button')\n validateButton(newValue: MgActionMore['button']): void {\n if (newValue && !isMgActionMoreButton(newValue)) {\n throw new Error(`<${this.name}> prop button must match MgActionMoreButtonType.`);\n }\n }\n\n /**\n * Define the menu-items elements\n */\n @Prop() items!: MgActionMoreItemType[];\n @Watch('items')\n validateItems(newValue: MgActionMore['items']): void {\n if (!isMgActionMoreItems(newValue)) {\n throw new Error(`<${this.name}> prop \"items\" is required and all values must be the same type, MgActionMoreItemType.`);\n }\n }\n\n /**\n * Define if chevron is display\n */\n @Prop() displayChevron: boolean;\n @Watch('displayChevron')\n validateDisplayChevron(newValue: MgActionMore['displayChevron']): void {\n if (newValue && this.button.isIcon === true) {\n throw new Error(`<${this.name}> prop \"displayChevron\" can't be used with a 'button\" prop \"isIcon\" attribute.`);\n }\n }\n /**\n * Menu expanded state\n */\n @State() expanded = false;\n\n /************\n * Methods *\n ***********/\n\n /**\n * Toogle expanded props\n */\n private toggleExpanded = (): void => {\n this.expanded = !this.expanded;\n };\n\n /**\n * Handle popover display change value\n * @param event - display change updated value\n */\n private handleDisplayChange = (event: CustomEvent): void => {\n this.expanded = event.detail;\n };\n\n /**\n * Button click handler\n */\n private handleButton = (): void => {\n this.toggleExpanded();\n };\n\n /**\n * Item click handler\n * @param event - click event\n * @param customHandler - item['mouseEventHandler']\n */\n private handleItemClick = (event: MouseEvent, customHandler: MgActionMoreItemType['mouseEventHandler']) => {\n this.expanded = false;\n customHandler(event);\n };\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * Validate props\n */\n componentWillLoad(): void {\n this.messages = initLocales(this.element).messages.actionMore as MgActionMoreMessageType;\n this.validateItems(this.items);\n this.validateButton(this.button);\n this.validateIcon(this.icon);\n this.validateDisplayChevron(this.displayChevron);\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n const buttonLabel = this.button.label || this.messages.label;\n const buttonContent = [buttonLabel];\n\n if (!this.button.isIcon && this.displayChevron) {\n buttonContent.push(\n <span\n class={{\n [`${this.name}__chevron`]: true,\n [`${this.name}__chevron--rotate`]: this.expanded === true,\n 'mg-a11y-animation': true,\n }}\n >\n <mg-icon icon=\"chevron-down\" size=\"small\"></mg-icon>\n </span>,\n );\n }\n\n return (\n <Host data-mg-popover-guard={this.mgPopoverIdentifier}>\n <span class=\"mg-action-more\">\n <mg-popover identifier={this.mgPopoverIdentifier} display={this.expanded} onDisplay-change={this.handleDisplayChange}>\n <mg-button variant={this.button.variant} isIcon={this.button.isIcon} type=\"button\" label={buttonLabel} onClick={this.handleButton}>\n {this.icon && <mg-icon {...this.icon}></mg-icon>}\n {!this.button.isIcon && buttonContent}\n </mg-button>\n <div slot=\"content\">\n <mg-menu direction={Direction.VERTICAL} label={this.messages.label}>\n {this.items.map(item => (\n // eslint-disable-next-line react/jsx-no-bind\n <mg-menu-item key={item.label} status={item.status || Status.VISIBLE} onClick={e => this.handleItemClick(e, item.mouseEventHandler)} href={item.href}>\n {item.icon && <mg-icon icon={item.icon} slot=\"image\"></mg-icon>}\n <span slot=\"label\">{item.label}</span>\n {item.badge?.label && <mg-badge label={item.badge.label} value={item.badge.value} slot=\"information\" variant=\"text-color\"></mg-badge>}\n </mg-menu-item>\n ))}\n </mg-menu>\n </div>\n </mg-popover>\n </span>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -4,3 +4,5 @@ const MgBadge = MgBadge$1;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { MgBadge, defineCustomElement };
7
+
8
+ //# sourceMappingURL=mg-badge.js.map
@@ -0,0 +1 @@
1
+ {"file":"mg-badge.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -8,7 +8,7 @@ const variants = ['info', 'primary', 'secondary', 'success', 'warning', 'danger'
8
8
 
9
9
  const mgBadgeCss = ".sr-only{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion){.mg-a11y-animation{animation:none !important;transition:none !important}}.mg-badge{padding:0 0.4rem;height:var(--mg-badge-size);min-width:var(--mg-badge-size);box-sizing:border-box;border:0.1rem solid;border-radius:calc(var(--mg-badge-size) / 2);font-size:var(--mg-badge-font-size);font-weight:600;text-align:center;line-height:var(--mg-badge-size)}.mg-badge.mg-badge--primary{background-color:hsl(var(--color-dark));border-color:hsl(var(--color-dark));color:hsl(var(--color-light))}.mg-badge.mg-badge--primary.mg-badge--outline{background-color:transparent;color:hsl(var(--color-dark))}.mg-badge.mg-badge--secondary{background-color:hsl(var(--color-light));border-color:hsl(var(--color-light));color:hsl(var(--color-dark))}.mg-badge.mg-badge--secondary.mg-badge--outline{background-color:transparent;color:hsl(var(--color-light))}.mg-badge.mg-badge--success{background-color:hsl(var(--color-success));border-color:hsl(var(--color-success));color:hsl(var(--color-dark))}.mg-badge.mg-badge--success.mg-badge--outline{background-color:transparent;color:hsl(var(--color-success))}.mg-badge.mg-badge--warning{background-color:hsl(var(--color-warning));border-color:hsl(var(--color-warning));color:hsl(var(--color-dark))}.mg-badge.mg-badge--warning.mg-badge--outline{background-color:transparent;color:hsl(var(--color-warning))}.mg-badge.mg-badge--danger{background-color:hsl(var(--color-danger));border-color:hsl(var(--color-danger));color:hsl(var(--color-light))}.mg-badge.mg-badge--danger.mg-badge--outline{background-color:transparent;color:hsl(var(--color-danger))}.mg-badge.mg-badge--info{background-color:hsl(var(--color-info));border-color:hsl(var(--color-info));color:hsl(var(--color-light))}.mg-badge.mg-badge--info.mg-badge--outline{background-color:transparent;color:hsl(var(--color-info))}.mg-badge.mg-badge--text-color{background-color:currentColor;border-color:currentColor}.mg-badge.mg-badge--text-color .mg-badge__value{color:hsl(var(--mg-badge-text-color, var(--color-light)))}.mg-badge.mg-badge--text-color.mg-badge--outline{background-color:transparent}.mg-badge.mg-badge--text-color.mg-badge--outline .mg-badge__value{color:currentColor}.mg-badge,mg-badge{display:inline-flex;align-items:center;justify-content:center}";
10
10
 
11
- const MgBadge = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
11
+ const MgBadge = /*@__PURE__*/ proxyCustomElement(class MgBadge extends HTMLElement {
12
12
  constructor() {
13
13
  super();
14
14
  this.__registerHost();
@@ -80,6 +80,11 @@ const MgBadge = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
80
80
  "variant": [1],
81
81
  "outline": [4],
82
82
  "classCollection": [32]
83
+ }, undefined, {
84
+ "value": ["validateValue"],
85
+ "label": ["validateLabel"],
86
+ "variant": ["validateVariant"],
87
+ "outline": ["validateOutline"]
83
88
  }]);
84
89
  function defineCustomElement() {
85
90
  if (typeof customElements === "undefined") {
@@ -97,3 +102,5 @@ function defineCustomElement() {
97
102
  defineCustomElement();
98
103
 
99
104
  export { MgBadge as M, defineCustomElement as d };
105
+
106
+ //# sourceMappingURL=mg-badge2.js.map
@@ -0,0 +1 @@
1
+ {"file":"mg-badge2.js","mappings":";;;AAAA;;;AAGO,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAU;;ACH/G,MAAM,UAAU,GAAG,gkFAAgkF;;MCQtkF,OAAO;;;;;;;;;IAMD,iBAAY,GAAG,mBAAmB,CAAC;;;mBAgCf,QAAQ,CAAC,CAAC,CAAC;;2BA0BV,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;;EA/CjE,aAAa,CAAC,QAA0B;IACtC,IAAI,GAAG,QAAQ,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,KAAK,IAAI,EAAE;MACxD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;KACtF;GACF;EAQD,aAAa,CAAC,QAA0B;IACtC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;MAC1D,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;KACzD;GACF;EAOD,eAAe,CAAC,QAA4B,EAAE,QAA6B;IACzE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;MAChC,MAAM,IAAI,KAAK,CAAC,6CAA6C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACtF;SAAM;MACL,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC1B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;OACtD;MACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;KACnD;GACF;EAOD,eAAe,CAAC,QAA4B;IAC1C,IAAI,QAAQ;MAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;;MACrD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;GACrD;;;;EAUD,iBAAiB;IACf,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;GACpC;;;;;EAMD,MAAM;IACJ,QACE,YAAM,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IACtC,YAAM,KAAK,EAAC,iBAAiB,IAAE,IAAI,CAAC,KAAK,CAAQ,EACjD,YAAM,KAAK,EAAC,SAAS,IAAE,IAAI,CAAC,KAAK,CAAQ,CACpC,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/atoms/mg-badge/mg-badge.conf.ts","src/components/atoms/mg-badge/mg-badge.scss?tag=mg-badge&encapsulation=shadow","src/components/atoms/mg-badge/mg-badge.tsx"],"sourcesContent":["/**\n * List of all possibles variants\n */\nexport const variants = ['info', 'primary', 'secondary', 'success', 'warning', 'danger', 'text-color'] as const;\n\n/**\n * Variant type from variants\n */\nexport type BadgeVariantType = (typeof variants)[number];\n","@import '../../../styles/a11y.scss';\n\n/* Variables */\n$mg-badge-border-width: 0.1rem;\n\n/* Mixins */\n@mixin badge-variant($name, $backgroundColor, $color) {\n &.mg-badge--#{$name} {\n @if $name == 'text-color' {\n // Decoration\n background-color: currentColor;\n border-color: currentColor;\n .mg-badge__value {\n // Font\n color: hsl(var(--mg-badge-text-color, var(--color-light)));\n }\n } @else {\n // Decoration\n background-color: hsl(var(--color-#{$backgroundColor}));\n border-color: hsl(var(--color-#{$backgroundColor}));\n // Font\n color: hsl(var(--color-#{$color}));\n }\n\n &.mg-badge--outline {\n // Decoration\n background-color: transparent;\n // Font\n @if $name == 'text-color' {\n // Font\n .mg-badge__value {\n color: currentColor;\n }\n } @else {\n color: hsl(var(--color-#{$backgroundColor}));\n }\n }\n }\n}\n\n/* Styles */\n.mg-badge {\n // Display\n padding: 0 0.4rem;\n height: var(--mg-badge-size);\n min-width: var(--mg-badge-size);\n box-sizing: border-box;\n // Decoration\n border: $mg-badge-border-width solid;\n border-radius: calc(var(--mg-badge-size) / 2);\n // Font\n font-size: var(--mg-badge-font-size);\n font-weight: 600;\n text-align: center;\n line-height: var(--mg-badge-size);\n\n // Variant\n @include badge-variant('primary', 'dark', 'light');\n @include badge-variant('secondary', 'light', 'dark');\n @include badge-variant('success', 'success', 'dark');\n @include badge-variant('warning', 'warning', 'dark');\n @include badge-variant('danger', 'danger', 'light');\n @include badge-variant('info', 'info', 'light');\n @include badge-variant('text-color', none, 'light');\n}\n\n.mg-badge,\nmg-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n","import { Component, h, Prop, State, Watch } from '@stencil/core';\nimport { variants, BadgeVariantType } from './mg-badge.conf';\nimport { ClassList } from '../../../utils/components.utils';\n@Component({\n tag: 'mg-badge',\n styleUrl: 'mg-badge.scss',\n shadow: true,\n})\nexport class MgBadge {\n /************\n * Internal *\n ************/\n\n // Classes\n private readonly classOutline = `mg-badge--outline`;\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Badge value\n */\n @Prop() value!: string | number;\n @Watch('value')\n validateValue(newValue: MgBadge['value']): void {\n if (`${newValue}`.match(/^(\\d+\\+*|[?*!a-z])$/i) === null) {\n throw new Error('<mg-badge> prop \"value\" must be integer or ponctuation character.');\n }\n }\n\n /**\n * Badge label. Include short description.\n * Required for accessibility\n */\n @Prop() label!: string;\n @Watch('label')\n validateLabel(newValue: MgBadge['label']): void {\n if (typeof newValue !== 'string' || newValue.trim() === '') {\n throw new Error('<mg-badge> prop \"label\" is required.');\n }\n }\n\n /**\n * Define button variant\n */\n @Prop() variant?: BadgeVariantType = variants[0]; // info\n @Watch('variant')\n validateVariant(newValue: MgBadge['variant'], oldValue?: MgBadge['variant']): void {\n if (!variants.includes(newValue)) {\n throw new Error(`<mg-badge> prop \"variant\" must be one of: ${variants.join(', ')}.`);\n } else {\n if (oldValue !== undefined) {\n this.classCollection.delete(`mg-badge--${oldValue}`);\n }\n this.classCollection.add(`mg-badge--${newValue}`);\n }\n }\n\n /**\n * Define if button is using outline style\n */\n @Prop() outline: boolean;\n @Watch('outline')\n validateOutline(newValue: MgBadge['outline']): void {\n if (newValue) this.classCollection.add(this.classOutline);\n else this.classCollection.delete(this.classOutline);\n }\n\n /**\n * Component classes\n */\n @State() classCollection: ClassList = new ClassList(['mg-badge']);\n\n /**\n * Check if props are well configured on init\n */\n componentWillLoad(): void {\n this.validateValue(this.value);\n this.validateLabel(this.label);\n this.validateVariant(this.variant);\n this.validateOutline(this.outline);\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <span class={this.classCollection.join()}>\n <span class=\"mg-badge__value\">{this.value}</span>\n <span class=\"sr-only\">{this.label}</span>\n </span>\n );\n }\n}\n"],"version":3}
@@ -4,3 +4,5 @@ const MgButton = MgButton$1;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { MgButton, defineCustomElement };
7
+
8
+ //# sourceMappingURL=mg-button.js.map
@@ -0,0 +1 @@
1
+ {"file":"mg-button.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -9,7 +9,7 @@ const variants = ['primary', 'secondary', 'danger', 'danger-alt', 'info', 'flat'
9
9
 
10
10
  const mgButtonCss = ":host{display:inline-block;vertical-align:middle;max-width:100%}:host(:focus-visible){outline:0}:host(:focus-visible) .mg-button{outline-color:-webkit-focus-ring-color;outline-style:auto;outline-width:0.2rem}:host(:hover) .mg-button--flat:not(.mg-button--disabled){background:hsl(var(--color-dark), 0.1)}:host([full-width]){display:block}:host([disabled]),:host([aria-disabled=true]){pointer-events:none}.mg-button.mg-button--primary{border-color:hsl(var(--mg-button-primary-border-color, var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), calc(var(--mg-button-primary-color-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--mg-button-primary-font-color));background:linear-gradient(to bottom, hsl(var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), var(--mg-button-primary-color-l)), hsl(var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), calc(var(--mg-button-primary-color-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--primary:not(.mg-button--disabled){background:hsl(var(--mg-button-primary-color-h), var(--mg-button-primary-color-s), var(--mg-button-primary-color-l))}.mg-button.mg-button--secondary{border-color:hsl(var(--mg-button-secondary-border-color, var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), calc(var(--mg-button-secondary-color-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--mg-button-secondary-font-color));background:linear-gradient(to bottom, hsl(var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), var(--mg-button-secondary-color-l)), hsl(var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), calc(var(--mg-button-secondary-color-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--secondary:not(.mg-button--disabled){background:hsl(var(--mg-button-secondary-color-h), var(--mg-button-secondary-color-s), var(--mg-button-secondary-color-l))}.mg-button.mg-button--danger{border-color:hsl(var(--mg-button-danger-border-color, var(--color-danger-h), var(--color-danger-s), calc(var(--color-danger-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--color-neutral));background:linear-gradient(to bottom, hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l)), hsl(var(--color-danger-h), var(--color-danger-s), calc(var(--color-danger-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--danger:not(.mg-button--disabled){background:hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l))}.mg-button.mg-button--danger-alt{border-color:hsl(var(--mg-button-danger-alt-border-color, var(--color-neutral-h), var(--color-neutral-s), calc(var(--color-neutral-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--color-danger));background:linear-gradient(to bottom, hsl(var(--color-neutral-h), var(--color-neutral-s), var(--color-neutral-l)), hsl(var(--color-neutral-h), var(--color-neutral-s), calc(var(--color-neutral-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--danger-alt:not(.mg-button--disabled){background:hsl(var(--color-neutral-h), var(--color-neutral-s), var(--color-neutral-l))}.mg-button.mg-button--info{border-color:hsl(var(--mg-button-info-border-color, var(--color-info-h), var(--color-info-s), calc(var(--color-info-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--color-neutral));background:linear-gradient(to bottom, hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l)), hsl(var(--color-info-h), var(--color-info-s), calc(var(--color-info-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--info:not(.mg-button--disabled){background:hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l))}.mg-button.mg-button--success{border-color:hsl(var(--mg-button-success-border-color, var(--color-success-h), var(--color-success-s), calc(var(--color-success-l) - var(--mg-button-border-variation) * 10%)));color:hsl(var(--color-dark));background:linear-gradient(to bottom, hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l)), hsl(var(--color-success-h), var(--color-success-s), calc(var(--color-success-l) - var(--mg-button-gradient) * 10%)))}:host(:hover) .mg-button--success:not(.mg-button--disabled){background:hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l))}.mg-button{position:relative;display:inline-flex;align-items:center;column-gap:0.6rem;padding:calc((var(--default-size) - 0.2rem - var(--font-size) * var(--line-height)) / 2) 1.1rem;min-height:var(--default-size);box-sizing:border-box;border-top-right-radius:var(--mg-button-border-radius-top-right, var(--mg-button-border-radius));border-top-left-radius:var(--mg-button-border-radius-top-left, var(--mg-button-border-radius));border-bottom-right-radius:var(--mg-button-border-radius-bottom-right, var(--mg-button-border-radius));border-bottom-left-radius:var(--mg-button-border-radius-bottom-left, var(--mg-button-border-radius));cursor:pointer;background-image:none;border-top-width:var(--mg-button-border-top-width, 0.1rem);border-right-width:var(--mg-button-border-right-width, 0.1rem);border-bottom-width:var(--mg-button-border-bottom-width, 0.1rem);border-left-width:var(--mg-button-border-left-width, 0.1rem);border-style:solid;text-decoration:none;font-family:inherit;font-weight:var(--mg-button-font-weight, normal);text-align:left;font-size:var(--font-size);touch-action:manipulation}.mg-button.mg-button--disabled{opacity:var(--mg-button-disabled-opacity);cursor:default}.mg-button.mg-button--icon{padding:0;justify-content:center;width:var(--default-size);height:var(--default-size);border-top-right-radius:var(--mg-button-border-radius-top-right, var(--mg-button-icon-border-radius));border-top-left-radius:var(--mg-button-border-radius-top-left, var(--mg-button-icon-border-radius));border-bottom-right-radius:var(--mg-button-border-radius-bottom-right, var(--mg-button-icon-border-radius));border-bottom-left-radius:var(--mg-button-border-radius-bottom-left, var(--mg-button-icon-border-radius));font-size:var(--font-size);line-height:var(--font-size)}.mg-button.mg-button--flat{background:none;border:none}.mg-button.mg-button--link{padding:unset;min-height:unset;background:unset;border:unset;border-radius:unset;text-decoration:underline}.mg-button.mg-button--link slot{font-weight:600}.mg-button.mg-button--link:hover{text-decoration:none}.mg-button.mg-button--full-width{display:flex;justify-content:center}.mg-button.mg-button--loading>mg-icon:first-of-type{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}.mg-button.mg-button--loading .mg-button__content{opacity:0}.mg-button mg-icon:only-child,.mg-button ::slotted(mg-icon){display:inline-flex;flex-shrink:0;line-height:1;margin:auto 0}.mg-button slot,.mg-button ::slotted(*:not(mg-icon)){text-decoration:none;font-family:inherit;font-weight:var(--mg-button-font-weight, normal);text-align:left;font-size:var(--font-size);display:flex;align-items:center;column-gap:0.6rem}";
11
11
 
12
- const MgButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
12
+ const MgButton = /*@__PURE__*/ proxyCustomElement(class MgButton extends HTMLElement {
13
13
  constructor() {
14
14
  super();
15
15
  this.__registerHost();
@@ -162,6 +162,11 @@ const MgButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
162
162
  "disableOnClick": [4, "disable-on-click"],
163
163
  "loading": [32],
164
164
  "classCollection": [32]
165
+ }, undefined, {
166
+ "variant": ["validateVariant"],
167
+ "fullWidth": ["validateFullWidth"],
168
+ "disabled": ["disabledHandler"],
169
+ "loading": ["loadingHandler"]
165
170
  }]);
166
171
  function defineCustomElement() {
167
172
  if (typeof customElements === "undefined") {
@@ -184,3 +189,5 @@ function defineCustomElement() {
184
189
  defineCustomElement();
185
190
 
186
191
  export { MgButton as M, defineCustomElement as d };
192
+
193
+ //# sourceMappingURL=mg-button2.js.map
@@ -0,0 +1 @@
1
+ {"file":"mg-button2.js","mappings":"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","names":[],"sources":["src/components/atoms/mg-button/mg-button.conf.ts","src/components/atoms/mg-button/mg-button.scss?tag=mg-button&encapsulation=shadow","src/components/atoms/mg-button/mg-button.tsx"],"sourcesContent":["/**\n * List of all possibles variants\n */\nexport const variants = ['primary', 'secondary', 'danger', 'danger-alt', 'info', 'flat', 'success', 'link'] as const;\n\n/**\n * VariantType type from button variants\n */\nexport type VariantType = (typeof variants)[number];\n\n/**\n * List of all possibles button types\n */\nexport const buttonTypes = ['button', 'submit', 'reset'] as const;\n\n/**\n * ButtonType type from buttonTypes\n */\nexport type ButtonType = (typeof buttonTypes)[number];\n","/* Variables */\n$mg-button-border-width: 0.1rem;\n$mg-button-padding-horizontal: 1.1rem;\n$button-column-gap: 0.6rem;\n\n/* Mixins */\n@mixin style-gradient($name, $backgroundColor, $fontColor, $hasVariable: false) {\n @if $hasVariable {\n $backgroundColor: --mg-button-#{$name}-color;\n $fontColor: --mg-button-#{$name}-font-color;\n } @else {\n $backgroundColor: --color-#{$backgroundColor};\n $fontColor: --color-#{$fontColor};\n }\n .mg-button.mg-button--#{$name} {\n // Decoration\n border-color: hsl(\n var(\n #{--mg-button-#{$name}-border-color},\n (var(#{$backgroundColor}-h), var(#{$backgroundColor}-s), calc(var(#{$backgroundColor}-l) - var(--mg-button-border-variation) * 10%))\n )\n );\n // Font\n color: hsl(var(#{$fontColor}));\n // Background\n background: linear-gradient(\n to bottom,\n hsl(var(#{$backgroundColor}-h), var(#{$backgroundColor}-s), var(#{$backgroundColor}-l)),\n hsl(var(#{$backgroundColor}-h), var(#{$backgroundColor}-s), calc(var(#{$backgroundColor}-l) - var(--mg-button-gradient) * 10%))\n );\n }\n // Only apply if not disabled\n :host(:hover) .mg-button--#{$name}:not(.mg-button--disabled) {\n background: hsl(var(#{$backgroundColor}-h), var(#{$backgroundColor}-s), var(#{$backgroundColor}-l));\n }\n}\n\n@mixin font-style() {\n text-decoration: none;\n font-family: inherit;\n font-weight: var(--mg-button-font-weight, normal);\n text-align: left;\n font-size: var(--font-size);\n}\n\n:host {\n display: inline-block;\n vertical-align: middle;\n max-width: 100%;\n}\n\n:host(:focus-visible) {\n outline: 0;\n // same style as chrome\n .mg-button {\n outline-color: -webkit-focus-ring-color;\n outline-style: auto;\n outline-width: 0.2rem;\n }\n}\n\n// Only apply if not disabled\n:host(:hover) .mg-button--flat:not(.mg-button--disabled) {\n background: hsl(var(--color-dark), 0.1);\n}\n\n:host([full-width]) {\n display: block;\n}\n\n// Prevent click propagation when disabled\n:host([disabled]),\n:host([aria-disabled='true']) {\n pointer-events: none;\n}\n\n// Gradient style\n@include style-gradient('primary', null, null, true);\n@include style-gradient('secondary', null, null, true);\n@include style-gradient('danger', 'danger', 'neutral');\n@include style-gradient('danger-alt', 'neutral', 'danger');\n@include style-gradient('info', 'info', 'neutral');\n@include style-gradient('success', 'success', 'dark');\n\n/* Styles */\n.mg-button {\n // Display\n position: relative;\n display: inline-flex;\n align-items: center;\n column-gap: $button-column-gap;\n padding: calc((var(--default-size) - (2 * $mg-button-border-width) - (var(--font-size) * var(--line-height))) / 2) $mg-button-padding-horizontal;\n min-height: var(--default-size);\n box-sizing: border-box;\n // Decoration\n border-top-right-radius: var(--mg-button-border-radius-top-right, var(--mg-button-border-radius));\n border-top-left-radius: var(--mg-button-border-radius-top-left, var(--mg-button-border-radius));\n border-bottom-right-radius: var(--mg-button-border-radius-bottom-right, var(--mg-button-border-radius));\n border-bottom-left-radius: var(--mg-button-border-radius-bottom-left, var(--mg-button-border-radius));\n cursor: pointer;\n background-image: none;\n border-top-width: var(--mg-button-border-top-width, $mg-button-border-width);\n border-right-width: var(--mg-button-border-right-width, $mg-button-border-width);\n border-bottom-width: var(--mg-button-border-bottom-width, $mg-button-border-width);\n border-left-width: var(--mg-button-border-left-width, $mg-button-border-width);\n border-style: solid;\n // Font (necessary for stylesheet only)\n @include font-style();\n // Other\n touch-action: manipulation;\n\n // Disabled style\n &.mg-button--disabled {\n opacity: var(--mg-button-disabled-opacity);\n cursor: default;\n }\n\n // Icon only button\n &.mg-button--icon {\n // Display\n padding: 0;\n justify-content: center;\n width: var(--default-size);\n height: var(--default-size);\n // Decoration\n border-top-right-radius: var(--mg-button-border-radius-top-right, var(--mg-button-icon-border-radius));\n border-top-left-radius: var(--mg-button-border-radius-top-left, var(--mg-button-icon-border-radius));\n border-bottom-right-radius: var(--mg-button-border-radius-bottom-right, var(--mg-button-icon-border-radius));\n border-bottom-left-radius: var(--mg-button-border-radius-bottom-left, var(--mg-button-icon-border-radius));\n // font\n font-size: var(--font-size);\n line-height: var(--font-size);\n }\n\n // Flat variant\n &.mg-button--flat {\n background: none;\n border: none;\n }\n\n // Link variant\n &.mg-button--link {\n padding: unset;\n min-height: unset;\n background: unset;\n border: unset;\n border-radius: unset;\n text-decoration: underline;\n\n slot {\n font-weight: 600;\n }\n\n &:hover {\n text-decoration: none;\n }\n }\n\n // full-width style\n &.mg-button--full-width {\n display: flex;\n justify-content: center;\n }\n\n // loading style\n &.mg-button--loading {\n > mg-icon:first-of-type {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n .mg-button__content {\n opacity: 0;\n }\n }\n\n mg-icon:only-child,\n ::slotted(mg-icon) {\n display: inline-flex;\n flex-shrink: 0;\n line-height: 1;\n margin: auto 0;\n }\n\n slot,\n ::slotted(*:not(mg-icon)) {\n // Font\n @include font-style();\n // Display\n display: flex;\n align-items: center;\n column-gap: $button-column-gap;\n }\n}\n","import { Component, Element, h, Prop, State, Watch, Host, EventEmitter, Event } from '@stencil/core';\nimport { variants, VariantType, ButtonType } from './mg-button.conf';\nimport { ClassList } from '../../../utils/components.utils';\n\n@Component({\n tag: 'mg-button',\n styleUrl: 'mg-button.scss',\n shadow: true,\n})\nexport class MgButton {\n /************\n * Internal *\n ************/\n\n private onClickElementFn = null;\n private readonly classDisabled = 'mg-button--disabled';\n private readonly classLoading = 'mg-button--loading';\n private readonly classFullWidth = 'mg-button--full-width';\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgButtonElement;\n\n /**\n * Define button variant\n */\n @Prop() variant: VariantType = variants[0]; // Primary\n @Watch('variant')\n validateVariant(newValue: VariantType, oldValue?: VariantType): void {\n if (!variants.includes(newValue)) {\n throw new Error(`<mg-button> prop \"variant\" must be one of: ${variants.join(', ')}`);\n } else {\n if (oldValue !== undefined) {\n this.classCollection.delete(`mg-button--${oldValue}`);\n }\n this.classCollection.add(`mg-button--${newValue}`);\n }\n }\n\n /**\n * Identifier is used for the element ID (id is a reserved prop in Stencil.js)\n */\n @Prop() identifier: string;\n\n /**\n * aria-label\n * In case button text is not explicit enough\n */\n @Prop() label: string;\n\n /**\n * Define button type\n */\n @Prop() type: ButtonType;\n\n /**\n * Set button to full-width\n */\n @Prop() fullWidth = false;\n @Watch('fullWidth')\n validateFullWidth(newValue: MgButton['fullWidth']): void {\n if (newValue && this.isIcon) {\n throw new Error('<mg-button> prop \"fullWidth\" cannot be used with prop \"isIcon\".');\n } else if (newValue) {\n this.classCollection.add(this.classFullWidth);\n } else {\n this.classCollection.delete(this.classFullWidth);\n }\n }\n\n /**\n * Define form id to attach button with.\n * If this attribute is not set, the <button> is associated with its ancestor <form> element.\n */\n @Prop() form: string;\n\n /**\n * Disable button\n */\n @Prop({ mutable: true }) disabled: boolean;\n @Watch('disabled')\n disabledHandler(isDisabled: MgButton['disabled']): void {\n // Remove loading when enable\n // Will be set back onclick\n if (!isDisabled && this.disableOnClick) {\n this.loading = false;\n }\n // Manage if onclick\n this.element.onclick = isDisabled ? undefined : this.onClickElementFn;\n\n // apply style\n if (isDisabled) {\n this.classCollection.add(this.classDisabled);\n } else {\n this.classCollection.delete(this.classDisabled);\n }\n\n // emit value update\n this.disabledChange.emit(isDisabled);\n }\n /**\n * Define if button is round.\n * Used for icon button.\n */\n @Prop() isIcon = false;\n\n /**\n * Option to set input disable on click, in order to prevent multi-click.\n * Parent component have to remove the attribute 'disabled' when the process ends.\n */\n @Prop() disableOnClick = false;\n\n /**\n * Define if button is loading, default to false.\n * Trigger when button is clicked or key-up ['enter', 'space], then value change to true.\n * It's required to reset to false when action/promise in parent is done to stop the loading state\n */\n @State() loading = false;\n @Watch('loading')\n loadingHandler(newValue: MgButton['loading']): void {\n // we add loading style if it newvalue is true else we remove it\n if (newValue) {\n this.classCollection.add(this.classLoading);\n } else {\n this.classCollection.delete(this.classLoading);\n }\n }\n\n /**\n * Component classes\n */\n @State() classCollection: ClassList = new ClassList(['mg-button']);\n\n /**\n * Emmited event when disabled change\n */\n @Event({ eventName: 'disabled-change' }) disabledChange: EventEmitter<MgButton['disabled']>;\n\n /**\n * Trigger actions onClick event\n * @param event - click event\n */\n private handleClick = (event: MouseEvent): void => {\n if (this.disabled) event.stopPropagation();\n // Used to prevent multi-click.\n else if (this.disableOnClick) {\n this.loading = true;\n this.disabled = true;\n }\n };\n\n /**\n * Handle onKeydown event\n * @param event - keyboard event\n */\n private handleKeydown = (event: KeyboardEvent): void => {\n if (!this.disabled && event.key === ' ') {\n event.preventDefault();\n } else if (!this.disabled && ['Enter', 'NumpadEnter', 'Space'].includes(event.key)) {\n event.preventDefault();\n this.element.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n }\n };\n\n /**\n * Handle onKeyup event\n * @param event - keyboard event\n */\n private handleKeyup = (event: KeyboardEvent): void => {\n if (!this.disabled && event.key === ' ') {\n event.preventDefault();\n this.element.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n }\n };\n\n /**\n * Check if props are well configured on init\n */\n componentWillLoad(): void {\n this.validateVariant(this.variant);\n this.validateFullWidth(this.fullWidth);\n if (this.isIcon) {\n this.classCollection.add(`mg-button--icon`);\n if (typeof this.label !== 'string' || this.label.trim() === '') {\n throw new Error(`<mg-button> prop \"label\" is mandatory when prop \"isIcon\" is set to true.`);\n }\n }\n // Store the onclick fn\n this.onClickElementFn = this.element.onclick;\n this.disabledHandler(this.disabled);\n }\n\n /**\n * Render component\n * @returns html element\n */\n render(): HTMLElement {\n return (\n <Host\n role=\"button\"\n tabIndex={0}\n type={this.type}\n form={this.form}\n full-width={this.fullWidth}\n aria-label={this.label}\n aria-disabled={this.disabled !== undefined && this.disabled.toString()}\n onClick={this.handleClick}\n onKeyup={this.handleKeyup}\n onKeydown={this.handleKeydown}\n >\n <div class={this.classCollection.join()} id={this.identifier}>\n {this.loading && <mg-icon icon=\"loader\" spin></mg-icon>}\n <div class=\"mg-button__content\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -4,3 +4,5 @@ const MgCard = MgCard$1;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { MgCard, defineCustomElement };
7
+
8
+ //# sourceMappingURL=mg-card.js.map
@@ -0,0 +1 @@
1
+ {"file":"mg-card.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -12,7 +12,7 @@ const variantStyles = ['bar-left', 'fill'];
12
12
 
13
13
  const mgCardCss = ".mg-card{position:relative;width:100%;max-width:var(--mg-card-max-width);min-width:var(--mg-card-min-width);padding:var(--mg-card-padding, var(--mg-card-padding-default));overflow:var(--mg-card-overflow, var(--mg-card-overflow-default));box-sizing:border-box;z-index:inherit;background:var(--mg-card-background, var(--mg-card-background-default));border:var(--mg-card-border, var(--mg-card-border-default));border-radius:var(--mg-card-border-radius, var(--mg-card-border-radius-default));box-shadow:var(--mg-card-box-shadow, var(--mg-card-box-shadow-default))}.mg-card ::slotted(*){--mg-card-border:var(--mg-card-border-default);--mg-card-padding:var(--mg-card-padding-default);--mg-card-border-radius:var(--mg-card-border-radius-default);--mg-card-background:var(--mg-card-background-default);--mg-card-box-shadow:var(--mg-card-box-shadow-default);--mg-card-max-width:unset;--mg-card-min-width:unset}.mg-card.mg-card--info{overflow:hidden}.mg-card.mg-card--info.mg-card--bar-left .mg-card__bar{background-color:hsl(var(--color-info-h), var(--color-info-s), var(--color-info-l))}.mg-card.mg-card--info.mg-card--fill{background-color:hsl(var(--color-info-h), var(--color-info-s), var(--mg-color-soft-l))}.mg-card.mg-card--warning{overflow:hidden}.mg-card.mg-card--warning.mg-card--bar-left .mg-card__bar{background-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--color-warning-l))}.mg-card.mg-card--warning.mg-card--fill{background-color:hsl(var(--color-warning-h), var(--color-warning-s), var(--mg-color-soft-l))}.mg-card.mg-card--success{overflow:hidden}.mg-card.mg-card--success.mg-card--bar-left .mg-card__bar{background-color:hsl(var(--color-success-h), var(--color-success-s), var(--color-success-l))}.mg-card.mg-card--success.mg-card--fill{background-color:hsl(var(--color-success-h), var(--color-success-s), var(--mg-color-soft-l))}.mg-card.mg-card--danger{overflow:hidden}.mg-card.mg-card--danger.mg-card--bar-left .mg-card__bar{background-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--color-danger-l))}.mg-card.mg-card--danger.mg-card--fill{background-color:hsl(var(--color-danger-h), var(--color-danger-s), var(--mg-color-soft-l))}.mg-card.mg-card--app{overflow:hidden}.mg-card.mg-card--app.mg-card--bar-left .mg-card__bar{background-color:hsl(var(--mg-color-app-h), var(--mg-color-app-s), var(--mg-color-app-l))}.mg-card.mg-card--app.mg-card--fill{background-color:hsl(var(--mg-color-app-h), var(--mg-color-app-s), var(--mg-color-soft-l))}.mg-card__bar{position:absolute;top:0;left:0;width:0.3rem;height:100%}";
14
14
 
15
- const MgCard = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
15
+ const MgCard = /*@__PURE__*/ proxyCustomElement(class MgCard extends HTMLElement {
16
16
  constructor() {
17
17
  super();
18
18
  this.__registerHost();
@@ -81,6 +81,9 @@ const MgCard = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
81
81
  "variant": [1],
82
82
  "variantStyle": [1025, "variant-style"],
83
83
  "classCollection": [32]
84
+ }, undefined, {
85
+ "variant": ["validateVariant"],
86
+ "variantStyle": ["validateVariantStyle"]
84
87
  }]);
85
88
  function defineCustomElement() {
86
89
  if (typeof customElements === "undefined") {
@@ -98,3 +101,5 @@ function defineCustomElement() {
98
101
  defineCustomElement();
99
102
 
100
103
  export { MgCard as M, defineCustomElement as d };
104
+
105
+ //# sourceMappingURL=mg-card2.js.map
@@ -0,0 +1 @@
1
+ {"file":"mg-card2.js","mappings":";;;AAAA;;;AAGO,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;AAOjF;;;AAGO,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,MAAM,CAAU;;ACb1D,MAAM,SAAS,GAAG,0/EAA0/E;;MCS//E,MAAM;;;;;;;;IAKA,SAAI,GAAG,SAAS,CAAC;IACjB,cAAS,GAAG,IAAI,CAAC,IAAI,CAAC;;;;;IA0C/B,2BAAsB,GAAG;MAC/B,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;QAAE,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;KACrE,CAAC;;;2BARoC,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;EAzBrE,eAAe,CAAC,QAA2B,EAAE,QAA4B;IACvE,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;MAAE,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,+CAA+C,CAAC,CAAC;IAC5H,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;MACrB,IAAI,CAAC,sBAAsB,EAAE,CAAC;MAC9B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC,CAAC;KAC5D;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC;MAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC,CAAC;GACtF;EAOD,oBAAoB,CAAC,QAAgC,EAAE,QAAiC;IACtF,IAAI,QAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;MAAE,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,yDAAyD,CAAC,CAAC;SACtI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;MAC5D,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,6CAA6C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACxH,IAAI,OAAO,CAAC,QAAQ,CAAC;MAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC,CAAC;IAClF,IAAI,OAAO,CAAC,QAAQ,CAAC;MAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC,CAAC;GACtF;;;;;;;EAsBD,iBAAiB;IACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;GAC9C;;;;;EAMD,MAAM;;IACJ,QACE,WAAK,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IACpC,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,UAAU,CAAC,MAAM,CAAC,KAAI,YAAM,KAAK,EAAC,cAAc,GAAQ,EAC5E,eAAa,CACT,EACN;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/atoms/mg-card/mg-card.conf.ts","src/components/atoms/mg-card/mg-card.scss?tag=mg-card&encapsulation=shadow","src/components/atoms/mg-card/mg-card.tsx"],"sourcesContent":["/**\n * List available variants\n */\nexport const variants = ['info', 'warning', 'success', 'danger', 'app'] as const;\n\n/**\n * Variant type\n */\nexport type VariantType = (typeof variants)[number];\n\n/**\n * List available variant styles\n */\nexport const variantStyles = ['bar-left', 'fill'] as const;\n\n/**\n * VariantStyle type\n */\nexport type VariantStyleType = (typeof variantStyles)[number];\n","@import '../../../styles/mixins/reset-mg-card-slotted-variables.scss';\n\n@function getColorPrefix($color) {\n @if $color == 'app' {\n @return 'mg-color';\n }\n @return 'color';\n}\n\n@mixin card-variants($variants...) {\n @each $variant in $variants {\n &.mg-card--#{$variant} {\n overflow: hidden;\n &.mg-card--bar-left .mg-card__bar {\n background-color: hsl(var(--#{getColorPrefix($variant)}-#{$variant}-h), var(--#{getColorPrefix($variant)}-#{$variant}-s), var(--#{getColorPrefix($variant)}-#{$variant}-l));\n }\n &.mg-card--fill {\n background-color: hsl(var(--#{getColorPrefix($variant)}-#{$variant}-h), var(--#{getColorPrefix($variant)}-#{$variant}-s), var(--mg-color-soft-l));\n }\n }\n }\n}\n\n.mg-card {\n // Display\n position: relative;\n width: 100%;\n max-width: var(--mg-card-max-width);\n min-width: var(--mg-card-min-width);\n padding: var(--mg-card-padding, var(--mg-card-padding-default));\n overflow: var(--mg-card-overflow, var(--mg-card-overflow-default));\n box-sizing: border-box;\n z-index: inherit;\n // Decoration\n background: var(--mg-card-background, var(--mg-card-background-default));\n border: var(--mg-card-border, var(--mg-card-border-default));\n border-radius: var(--mg-card-border-radius, var(--mg-card-border-radius-default));\n box-shadow: var(--mg-card-box-shadow, var(--mg-card-box-shadow-default));\n\n @include reset-slot-card-variables();\n @include card-variants('info', 'warning', 'success', 'danger', 'app');\n\n &__bar {\n position: absolute;\n top: 0;\n left: 0;\n width: 0.3rem;\n height: 100%;\n }\n}\n","import { Component, h, Prop, State, Watch } from '@stencil/core';\nimport { ClassList } from '../../../utils/components.utils';\nimport { type VariantStyleType, variantStyles, type VariantType, variants } from './mg-card.conf';\n\n@Component({\n tag: 'mg-card',\n styleUrl: 'mg-card.scss',\n shadow: true,\n})\nexport class MgCard {\n /*************\n * Private *\n *************/\n\n private readonly name = 'mg-card';\n private readonly baseClass = this.name;\n\n /*************\n * Decorators *\n *************/\n\n /**\n * Define variant prop\n */\n @Prop() variant: undefined | VariantType;\n @Watch('variant')\n validateVariant(newValue: MgCard['variant'], oldValue?: MgCard['variant']) {\n if (newValue && !variants.includes(newValue)) throw new Error(`<${this.name}> prop \"variant\" must match VariantType type.`);\n if (Boolean(newValue)) {\n this.setDefaultVariantStyle();\n this.classCollection.add(`${this.baseClass}--${newValue}`);\n }\n if (Boolean(oldValue)) this.classCollection.delete(`${this.baseClass}--${oldValue}`);\n }\n\n /**\n * Define variantStyle prop\n */\n @Prop({ mutable: true }) variantStyle: undefined | VariantStyleType;\n @Watch('variantStyle')\n validateVariantStyle(newValue: MgCard['variantStyle'], oldValue?: MgCard['variantStyle']) {\n if (newValue && !variantStyles.includes(newValue)) throw new Error(`<${this.name}> prop \"variantStyle\" must match VariantStyleType type.`);\n else if (Boolean(newValue) && !variants.includes(this.variant))\n throw new Error(`<${this.name}> prop \"variantStyle\" must be paired with ${JSON.stringify(variants)} \"variant\" prop.`);\n if (Boolean(newValue)) this.classCollection.add(`${this.baseClass}--${newValue}`);\n if (Boolean(oldValue)) this.classCollection.delete(`${this.baseClass}--${oldValue}`);\n }\n\n /**\n * Component classes\n */\n @State() classCollection: ClassList = new ClassList([this.baseClass]);\n\n /**\n * Methode to set default varianStyle props\n * needeed has stencil doesn't know that props is mutated when updated in prop watcher\n */\n private setDefaultVariantStyle = (): void => {\n if (this.variantStyle === undefined) this.variantStyle = 'bar-left';\n };\n\n /*************\n * Lifecycle *\n *************/\n\n /**\n * Check if props are well configured on init\n */\n componentWillLoad(): void {\n this.validateVariant(this.variant);\n this.validateVariantStyle(this.variantStyle);\n }\n\n /**\n * Render\n * @returns HTML Element\n */\n render(): HTMLElement {\n return (\n <div class={this.classCollection.join()}>\n {this.variantStyle?.startsWith('bar-') && <span class=\"mg-card__bar\"></span>}\n <slot></slot>\n </div>\n );\n }\n}\n"],"version":3}
@@ -4,3 +4,5 @@ const MgCharacterLeft = MgCharacterLeft$1;
4
4
  const defineCustomElement = defineCustomElement$1;
5
5
 
6
6
  export { MgCharacterLeft, defineCustomElement };
7
+
8
+ //# sourceMappingURL=mg-character-left.js.map
@@ -0,0 +1 @@
1
+ {"file":"mg-character-left.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -3,7 +3,7 @@ import { i as initLocales } from './index2.js';
3
3
 
4
4
  const mgCharacterLeftCss = "mg-character-left.sc-mg-character-left{display:block}";
5
5
 
6
- const MgCharacterLeft = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
6
+ const MgCharacterLeft = /*@__PURE__*/ proxyCustomElement(class MgCharacterLeft extends HTMLElement {
7
7
  constructor() {
8
8
  super();
9
9
  this.__registerHost();
@@ -42,6 +42,8 @@ const MgCharacterLeft = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
42
42
  "identifier": [1],
43
43
  "characters": [1],
44
44
  "maxlength": [2]
45
+ }, undefined, {
46
+ "maxlength": ["validateMaxlength"]
45
47
  }]);
46
48
  function defineCustomElement() {
47
49
  if (typeof customElements === "undefined") {
@@ -59,3 +61,5 @@ function defineCustomElement() {
59
61
  defineCustomElement();
60
62
 
61
63
  export { MgCharacterLeft as M, defineCustomElement as d };
64
+
65
+ //# sourceMappingURL=mg-character-left2.js.map