@mgdis/mg-components 5.6.0 → 5.8.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 (203) hide show
  1. package/dist/cjs/{index-4dcc1812.js → index-5e7ede97.js} +109 -3
  2. package/dist/cjs/loader.cjs.js +4 -3
  3. package/dist/cjs/{mg-badge_30.cjs.entry.js → mg-action-more_31.cjs.entry.js} +490 -661
  4. package/dist/cjs/mg-components.cjs.js +7 -3
  5. package/dist/cjs/mg-item-more.cjs.entry.js +273 -0
  6. package/dist/cjs/mg-menu.conf-9afe6571.js +242 -0
  7. package/dist/collection/collection-manifest.json +7 -5
  8. package/dist/collection/components/atoms/mg-badge/mg-badge.js +1 -1
  9. package/dist/collection/components/atoms/mg-button/mg-button.css +7 -21
  10. package/dist/collection/components/atoms/mg-button/mg-button.js +25 -1
  11. package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js +35 -27
  12. package/dist/collection/components/atoms/mg-icon/mg-icon.js +3 -3
  13. package/dist/collection/components/atoms/mg-tag/mg-tag.js +1 -1
  14. package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +18 -17
  15. package/dist/collection/components/molecules/inputs/MgInput.js +6 -1
  16. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.css +4 -3
  17. package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +3 -2
  18. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.css +4 -0
  19. package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +1 -1
  20. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.css +4 -0
  21. package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +1 -1
  22. package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.css +4 -0
  23. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.css +4 -3
  24. package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +2 -1
  25. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.css +4 -0
  26. package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +1 -1
  27. package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.css +4 -0
  28. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.css +4 -0
  29. package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +1 -1
  30. package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.css +4 -4
  31. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js +0 -13
  32. package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js +41 -70
  33. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.css +5 -4
  34. package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +160 -61
  35. package/dist/collection/components/molecules/mg-action-more/mg-action-more.conf.js +1 -0
  36. package/dist/collection/components/molecules/mg-action-more/mg-action-more.css +38 -0
  37. package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +252 -0
  38. package/dist/collection/components/molecules/mg-form/mg-form.js +2 -2
  39. package/dist/collection/components/molecules/mg-item-more/mg-item-more.conf.js +1 -0
  40. package/dist/collection/components/molecules/mg-item-more/mg-item-more.css +30 -0
  41. package/dist/collection/components/molecules/mg-item-more/mg-item-more.js +200 -0
  42. package/dist/collection/components/molecules/mg-message/mg-message.js +1 -1
  43. package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +19 -1
  44. package/dist/collection/components/molecules/mg-panel/mg-panel.js +2 -2
  45. package/dist/collection/components/molecules/mg-popover/mg-popover.css +0 -1
  46. package/dist/collection/components/molecules/mg-popover/mg-popover.js +17 -4
  47. package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +2 -1
  48. package/dist/collection/components/molecules/mg-tabs/mg-tabs.css +2 -3
  49. package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +9 -8
  50. package/dist/collection/locales/en/messages.json +6 -1
  51. package/dist/collection/locales/fr/messages.json +6 -1
  52. package/dist/collection/locales/index.js +1 -1
  53. package/dist/collection/styles/mg-icon-animation.scss +6 -0
  54. package/dist/collection/styles/navigation-button.scss +3 -2
  55. package/dist/collection/utils/behaviors.utils.js +38 -52
  56. package/dist/collection/utils/components.utils.js +3 -1
  57. package/dist/collection/utils/locale.utils.js +9 -9
  58. package/dist/collection/utils/unit.test.utils.js +32 -4
  59. package/dist/collection/variables.css +2 -1
  60. package/dist/components/MgInput.js +6 -1
  61. package/dist/components/components.utils.js +3 -1
  62. package/dist/components/index.d.ts +11 -0
  63. package/dist/components/index.js +3 -1
  64. package/dist/components/index2.js +26 -14
  65. package/dist/components/mg-action-more.d.ts +11 -0
  66. package/dist/components/mg-action-more.js +216 -0
  67. package/dist/components/mg-badge2.js +1 -1
  68. package/dist/components/mg-button2.js +6 -3
  69. package/dist/components/mg-form.js +2 -2
  70. package/dist/components/mg-icon2.js +38 -30
  71. package/dist/components/mg-input-checkbox.js +3 -3
  72. package/dist/components/mg-input-date.js +2 -2
  73. package/dist/components/mg-input-numeric.js +2 -2
  74. package/dist/components/mg-input-password.js +1 -1
  75. package/dist/components/mg-input-radio.js +2 -2
  76. package/dist/components/mg-input-select2.js +2 -2
  77. package/dist/components/mg-input-text2.js +1 -1
  78. package/dist/components/mg-input-textarea.js +2 -2
  79. package/dist/components/mg-input-toggle.js +1 -1
  80. package/dist/components/mg-item-more.d.ts +11 -0
  81. package/dist/components/mg-item-more.js +336 -0
  82. package/dist/components/mg-menu-item2.js +137 -250
  83. package/dist/components/mg-menu.conf.js +14 -0
  84. package/dist/components/mg-menu.js +1 -246
  85. package/dist/components/mg-menu2.js +180 -0
  86. package/dist/components/mg-message.js +1 -1
  87. package/dist/components/mg-pagination.js +3 -1
  88. package/dist/components/mg-panel.js +2 -2
  89. package/dist/components/mg-popover2.js +17 -3
  90. package/dist/components/mg-skip-links.js +1 -1
  91. package/dist/components/mg-tabs.js +10 -9
  92. package/dist/components/mg-tag.js +1 -1
  93. package/dist/components/mg-tooltip2.js +18 -17
  94. package/dist/esm/{index-dc9a2348.js → index-03cceb11.js} +109 -4
  95. package/dist/esm/loader.js +4 -3
  96. package/dist/esm/{mg-badge_30.entry.js → mg-action-more_31.entry.js} +464 -636
  97. package/dist/esm/mg-components.js +4 -3
  98. package/dist/esm/mg-item-more.entry.js +269 -0
  99. package/dist/esm/mg-menu.conf-881fbd82.js +235 -0
  100. package/dist/mg-components/locales/en/messages.json +6 -1
  101. package/dist/mg-components/locales/fr/messages.json +6 -1
  102. package/dist/mg-components/mg-components.css +1 -1
  103. package/dist/mg-components/mg-components.esm.js +1 -1
  104. package/dist/mg-components/p-1221773c.entry.js +1 -0
  105. package/dist/mg-components/p-367f92d2.js +1 -0
  106. package/dist/mg-components/p-6aeded97.entry.js +1 -0
  107. package/dist/mg-components/p-e126dd84.js +2 -0
  108. package/dist/mg-components/styles/mg-icon-animation.scss +6 -0
  109. package/dist/mg-components/styles/navigation-button.scss +3 -2
  110. package/dist/mg-components/variables.css +2 -1
  111. package/dist/types/components/atoms/mg-button/mg-button.d.ts +5 -0
  112. package/dist/types/components/molecules/inputs/mg-input-textarea/mg-input-textarea.d.ts +1 -1
  113. package/dist/types/components/molecules/menu/mg-menu/mg-menu.conf.d.ts +3 -27
  114. package/dist/types/components/molecules/menu/mg-menu/mg-menu.d.ts +9 -27
  115. package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.conf.d.ts +5 -0
  116. package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.d.ts +66 -11
  117. package/dist/types/components/molecules/mg-action-more/mg-action-more.conf.d.ts +42 -0
  118. package/dist/types/components/molecules/mg-action-more/mg-action-more.d.ts +81 -0
  119. package/dist/types/components/molecules/mg-item-more/mg-item-more.conf.d.ts +26 -0
  120. package/dist/types/components/molecules/mg-item-more/mg-item-more.d.ts +74 -0
  121. package/dist/types/components/molecules/mg-pagination/mg-pagination.d.ts +4 -0
  122. package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +2 -1
  123. package/dist/types/components.d.ts +120 -12
  124. package/dist/types/locales/index.d.ts +12 -2
  125. package/dist/types/stencil-public-runtime.d.ts +9 -0
  126. package/dist/types/utils/behaviors.utils.d.ts +12 -11
  127. package/dist/types/utils/locale.utils.d.ts +5 -5
  128. package/dist/types/utils/unit.test.utils.d.ts +20 -2
  129. package/loader/index.d.ts +9 -0
  130. package/package.json +17 -16
  131. package/readme.md +0 -18
  132. package/dist/.storybook/utils.js +0 -24
  133. package/dist/collection/components/atoms/mg-badge/doc/mg-badge.stories.js +0 -27
  134. package/dist/collection/components/atoms/mg-button/doc/mg-button.stories.js +0 -38
  135. package/dist/collection/components/atoms/mg-card/doc/mg-card.stories.js +0 -18
  136. package/dist/collection/components/atoms/mg-character-left/doc/mg-character-left.stories.js +0 -20
  137. package/dist/collection/components/atoms/mg-divider/doc/mg-divider.stories.js +0 -18
  138. package/dist/collection/components/atoms/mg-icon/doc/mg-icon.stories.js +0 -41
  139. package/dist/collection/components/atoms/mg-input-title/doc/mg-input-title.stories.js +0 -21
  140. package/dist/collection/components/atoms/mg-tag/doc/mg-tag.stories.js +0 -22
  141. package/dist/collection/components/atoms/mg-tooltip/doc/mg-tooltip.stories.js +0 -50
  142. package/dist/collection/components/molecules/inputs/mg-input-checkbox/doc/mg-input-checkbox.stories.js +0 -50
  143. package/dist/collection/components/molecules/inputs/mg-input-date/doc/mg-input-date.stories.js +0 -43
  144. package/dist/collection/components/molecules/inputs/mg-input-numeric/doc/mg-input-numeric.stories.js +0 -68
  145. package/dist/collection/components/molecules/inputs/mg-input-password/doc/mg-input-password.stories.js +0 -46
  146. package/dist/collection/components/molecules/inputs/mg-input-radio/doc/mg-input-radio.stories.js +0 -59
  147. package/dist/collection/components/molecules/inputs/mg-input-select/doc/mg-input-select.stories.js +0 -77
  148. package/dist/collection/components/molecules/inputs/mg-input-text/doc/mg-input-text.stories.js +0 -110
  149. package/dist/collection/components/molecules/inputs/mg-input-textarea/doc/mg-input-textarea.stories.js +0 -54
  150. package/dist/collection/components/molecules/inputs/mg-input-toggle/doc/mg-input-toggle.stories.js +0 -51
  151. package/dist/collection/components/molecules/menu/mg-menu/doc/mg-menu.stories.js +0 -119
  152. package/dist/collection/components/molecules/menu/mg-menu-item/doc/mg-menu-item.stories.js +0 -34
  153. package/dist/collection/components/molecules/mg-details/doc/mg-details.stories.js +0 -24
  154. package/dist/collection/components/molecules/mg-form/doc/mg-form.stories.js +0 -47
  155. package/dist/collection/components/molecules/mg-illustrated-message/doc/mg-illustrated-message.stories.js +0 -19
  156. package/dist/collection/components/molecules/mg-message/doc/mg-message.stories.js +0 -39
  157. package/dist/collection/components/molecules/mg-modal/doc/mg-modal.stories.js +0 -39
  158. package/dist/collection/components/molecules/mg-pagination/doc/mg-pagination.stories.js +0 -20
  159. package/dist/collection/components/molecules/mg-panel/doc/mg-panel.stories.js +0 -22
  160. package/dist/collection/components/molecules/mg-popover/doc/mg-popover.stories.js +0 -34
  161. package/dist/collection/components/molecules/mg-skip-links/doc/mg-skip-links.stories.js +0 -24
  162. package/dist/collection/components/molecules/mg-tabs/doc/mg-tabs.stories.js +0 -53
  163. package/dist/collection/stories/grids.stories.js +0 -7
  164. package/dist/collection/stories/helpers.stories.js +0 -23
  165. package/dist/collection/stories/icons.stories.js +0 -25
  166. package/dist/collection/stories/typography.stories.js +0 -24
  167. package/dist/mg-components/p-182bd802.js +0 -2
  168. package/dist/mg-components/p-f7da9dd2.entry.js +0 -1
  169. package/dist/types/components/atoms/mg-badge/doc/mg-badge.stories.d.ts +0 -13
  170. package/dist/types/components/atoms/mg-button/doc/mg-button.stories.d.ts +0 -16
  171. package/dist/types/components/atoms/mg-card/doc/mg-card.stories.d.ts +0 -6
  172. package/dist/types/components/atoms/mg-character-left/doc/mg-character-left.stories.d.ts +0 -6
  173. package/dist/types/components/atoms/mg-divider/doc/mg-divider.stories.d.ts +0 -6
  174. package/dist/types/components/atoms/mg-icon/doc/mg-icon.stories.d.ts +0 -26
  175. package/dist/types/components/atoms/mg-input-title/doc/mg-input-title.stories.d.ts +0 -6
  176. package/dist/types/components/atoms/mg-tag/doc/mg-tag.stories.d.ts +0 -6
  177. package/dist/types/components/atoms/mg-tooltip/doc/mg-tooltip.stories.d.ts +0 -18
  178. package/dist/types/components/molecules/inputs/mg-input-checkbox/doc/mg-input-checkbox.stories.d.ts +0 -11
  179. package/dist/types/components/molecules/inputs/mg-input-date/doc/mg-input-date.stories.d.ts +0 -12
  180. package/dist/types/components/molecules/inputs/mg-input-numeric/doc/mg-input-numeric.stories.d.ts +0 -32
  181. package/dist/types/components/molecules/inputs/mg-input-password/doc/mg-input-password.stories.d.ts +0 -22
  182. package/dist/types/components/molecules/inputs/mg-input-radio/doc/mg-input-radio.stories.d.ts +0 -20
  183. package/dist/types/components/molecules/inputs/mg-input-select/doc/mg-input-select.stories.d.ts +0 -34
  184. package/dist/types/components/molecules/inputs/mg-input-text/doc/mg-input-text.stories.d.ts +0 -39
  185. package/dist/types/components/molecules/inputs/mg-input-textarea/doc/mg-input-textarea.stories.d.ts +0 -19
  186. package/dist/types/components/molecules/inputs/mg-input-toggle/doc/mg-input-toggle.stories.d.ts +0 -12
  187. package/dist/types/components/molecules/menu/mg-menu/doc/mg-menu.stories.d.ts +0 -22
  188. package/dist/types/components/molecules/menu/mg-menu-item/doc/mg-menu-item.stories.d.ts +0 -12
  189. package/dist/types/components/molecules/mg-details/doc/mg-details.stories.d.ts +0 -11
  190. package/dist/types/components/molecules/mg-form/doc/mg-form.stories.d.ts +0 -11
  191. package/dist/types/components/molecules/mg-illustrated-message/doc/mg-illustrated-message.stories.d.ts +0 -6
  192. package/dist/types/components/molecules/mg-message/doc/mg-message.stories.d.ts +0 -26
  193. package/dist/types/components/molecules/mg-modal/doc/mg-modal.stories.d.ts +0 -13
  194. package/dist/types/components/molecules/mg-pagination/doc/mg-pagination.stories.d.ts +0 -11
  195. package/dist/types/components/molecules/mg-panel/doc/mg-panel.stories.d.ts +0 -11
  196. package/dist/types/components/molecules/mg-popover/doc/mg-popover.stories.d.ts +0 -22
  197. package/dist/types/components/molecules/mg-skip-links/doc/mg-skip-links.stories.d.ts +0 -11
  198. package/dist/types/components/molecules/mg-tabs/doc/mg-tabs.stories.d.ts +0 -20
  199. package/dist/types/home/runner/work/mg-components/mg-components/.stencil/.storybook/utils.d.ts +0 -1
  200. package/dist/types/stories/grids.stories.d.ts +0 -5
  201. package/dist/types/stories/helpers.stories.d.ts +0 -13
  202. package/dist/types/stories/icons.stories.d.ts +0 -13
  203. package/dist/types/stories/typography.stories.d.ts +0 -5
@@ -0,0 +1,2 @@
1
+ let e,t,n,l=!1,o=!1,s=!1,i=!1,r=!1;const c="http://www.w3.org/1999/xlink",f={},u=e=>"object"==(e=typeof e)||"function"===e;function a(e){var t,n,l;return null!==(l=null===(n=null===(t=e.head)||void 0===t?void 0:t.querySelector('meta[name="csp-nonce"]'))||void 0===n?void 0:n.getAttribute("content"))&&void 0!==l?l:void 0}const d=(e,t,...n)=>{let l=null,o=null,s=null,i=!1,r=!1;const c=[],f=t=>{for(let n=0;n<t.length;n++)l=t[n],Array.isArray(l)?f(l):null!=l&&"boolean"!=typeof l&&((i="function"!=typeof e&&!u(l))&&(l+=""),i&&r?c[c.length-1].t+=l:c.push(i?$(null,l):l),r=i)};if(f(n),t){t.key&&(o=t.key),t.name&&(s=t.name);{const e=t.className||t.class;e&&(t.class="object"!=typeof e?e:Object.keys(e).filter((t=>e[t])).join(" "))}}if("function"==typeof e)return e(null===t?{}:t,c,m);const a=$(e,null);return a.l=t,c.length>0&&(a.o=c),a.i=o,a.u=s,a},$=(e,t)=>({$:0,h:e,t,m:null,o:null,l:null,i:null,u:null}),h={},m={forEach:(e,t)=>e.map(p).forEach(t),map:(e,t)=>e.map(p).map(t).map(y)},p=e=>({vattrs:e.l,vchildren:e.o,vkey:e.i,vname:e.u,vtag:e.h,vtext:e.t}),y=e=>{if("function"==typeof e.vtag){const t=Object.assign({},e.vattrs);return e.vkey&&(t.key=e.vkey),e.vname&&(t.name=e.vname),d(e.vtag,t,...e.vchildren||[])}const t=$(e.vtag,e.vtext);return t.l=e.vattrs,t.o=e.vchildren,t.i=e.vkey,t.u=e.vname,t},b=e=>oe(e).p,v=(e,t,n)=>{const l=b(e);return{emit:e=>w(l,t,{bubbles:!!(4&n),composed:!!(2&n),cancelable:!!(1&n),detail:e})}},w=(e,t,n)=>{const l=he.ce(t,n);return e.dispatchEvent(l),l},g=new WeakMap,k=e=>"sc-"+e.v,j=(e,t,n,l,o,s)=>{if(n!==l){let i=re(e,t),r=t.toLowerCase();if("class"===t){const t=e.classList,o=O(n),s=O(l);t.remove(...o.filter((e=>e&&!s.includes(e)))),t.add(...s.filter((e=>e&&!o.includes(e))))}else if("style"===t){for(const t in n)l&&null!=l[t]||(t.includes("-")?e.style.removeProperty(t):e.style[t]="");for(const t in l)n&&l[t]===n[t]||(t.includes("-")?e.style.setProperty(t,l[t]):e.style[t]=l[t])}else if("key"===t);else if("ref"===t)l&&l(e);else if(i||"o"!==t[0]||"n"!==t[1]){const f=u(l);if((i||f&&null!==l)&&!o)try{if(e.tagName.includes("-"))e[t]=l;else{const o=null==l?"":l;"list"===t?i=!1:null!=n&&e[t]==o||(e[t]=o)}}catch(e){}let a=!1;r!==(r=r.replace(/^xlink\:?/,""))&&(t=r,a=!0),null==l||!1===l?!1===l&&""!==e.getAttribute(t)||(a?e.removeAttributeNS(c,t):e.removeAttribute(t)):(!i||4&s||o)&&!f&&(l=!0===l?"":l,a?e.setAttributeNS(c,t,l):e.setAttribute(t,l))}else t="-"===t[2]?t.slice(3):re(de,r)?r.slice(2):r[2]+t.slice(3),n&&he.rel(e,t,n,!1),l&&he.ael(e,t,l,!1)}},S=/\s/,O=e=>e?e.split(S):[],M=(e,t,n,l)=>{const o=11===t.m.nodeType&&t.m.host?t.m.host:t.m,s=e&&e.l||f,i=t.l||f;for(l in s)l in i||j(o,l,s[l],void 0,n,t.$);for(l in i)j(o,l,s[l],i[l],n,t.$)},x=(o,r,c,f)=>{const u=r.o[c];let a,d,$,h=0;if(l||(s=!0,"slot"===u.h&&(e&&f.classList.add(e+"-s"),u.$|=u.o?2:1)),null!==u.t)a=u.m=$e.createTextNode(u.t);else if(1&u.$)a=u.m=$e.createTextNode("");else{if(i||(i="svg"===u.h),a=u.m=$e.createElementNS(i?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",2&u.$?"slot-fb":u.h),i&&"foreignObject"===u.h&&(i=!1),M(null,u,i),null!=e&&a["s-si"]!==e&&a.classList.add(a["s-si"]=e),u.o)for(h=0;h<u.o.length;++h)d=x(o,u,h,a),d&&a.appendChild(d);"svg"===u.h?i=!1:"foreignObject"===a.tagName&&(i=!0)}return a["s-hn"]=n,3&u.$&&(a["s-sr"]=!0,a["s-cr"]=t,a["s-sn"]=u.u||"",$=o&&o.o&&o.o[c],$&&$.h===u.h&&o.m&&C(o.m,!1)),a},C=(e,t)=>{he.$|=1;const l=e.childNodes;for(let e=l.length-1;e>=0;e--){const o=l[e];o["s-hn"]!==n&&o["s-ol"]&&(L(o).insertBefore(o,E(o)),o["s-ol"].remove(),o["s-ol"]=void 0,s=!0),t&&C(o,t)}he.$&=-2},R=(e,t,l,o,s,i)=>{let r,c=e["s-cr"]&&e["s-cr"].parentNode||e;for(c.shadowRoot&&c.tagName===n&&(c=c.shadowRoot);s<=i;++s)o[s]&&(r=x(null,l,s,e),r&&(o[s].m=r,c.insertBefore(r,E(t))))},P=(e,t,n,l,s)=>{for(;t<=n;++t)(l=e[t])&&(s=l.m,H(l),o=!0,s["s-ol"]?s["s-ol"].remove():C(s,!0),s.remove())},T=(e,t)=>e.h===t.h&&("slot"===e.h?e.u===t.u:e.i===t.i),E=e=>e&&e["s-ol"]||e,L=e=>(e["s-ol"]?e["s-ol"]:e).parentNode,N=(e,t)=>{const n=t.m=e.m,l=e.o,o=t.o,s=t.h,r=t.t;let c;null===r?(i="svg"===s||"foreignObject"!==s&&i,"slot"===s||M(e,t,i),null!==l&&null!==o?((e,t,n,l)=>{let o,s,i=0,r=0,c=0,f=0,u=t.length-1,a=t[0],d=t[u],$=l.length-1,h=l[0],m=l[$];for(;i<=u&&r<=$;)if(null==a)a=t[++i];else if(null==d)d=t[--u];else if(null==h)h=l[++r];else if(null==m)m=l[--$];else if(T(a,h))N(a,h),a=t[++i],h=l[++r];else if(T(d,m))N(d,m),d=t[--u],m=l[--$];else if(T(a,m))"slot"!==a.h&&"slot"!==m.h||C(a.m.parentNode,!1),N(a,m),e.insertBefore(a.m,d.m.nextSibling),a=t[++i],m=l[--$];else if(T(d,h))"slot"!==a.h&&"slot"!==m.h||C(d.m.parentNode,!1),N(d,h),e.insertBefore(d.m,a.m),d=t[--u],h=l[++r];else{for(c=-1,f=i;f<=u;++f)if(t[f]&&null!==t[f].i&&t[f].i===h.i){c=f;break}c>=0?(s=t[c],s.h!==h.h?o=x(t&&t[r],n,c,e):(N(s,h),t[c]=void 0,o=s.m),h=l[++r]):(o=x(t&&t[r],n,r,e),h=l[++r]),o&&L(a.m).insertBefore(o,E(a.m))}i>u?R(e,null==l[$+1]?null:l[$+1].m,n,l,r,$):r>$&&P(t,i,u)})(n,l,t,o):null!==o?(null!==e.t&&(n.textContent=""),R(n,null,t,o,0,o.length-1)):null!==l&&P(l,0,l.length-1),i&&"svg"===s&&(i=!1)):(c=n["s-cr"])?c.parentNode.textContent=r:e.t!==r&&(n.data=r)},W=e=>{const t=e.childNodes;let n,l,o,s,i,r;for(l=0,o=t.length;l<o;l++)if(n=t[l],1===n.nodeType){if(n["s-sr"])for(i=n["s-sn"],n.hidden=!1,s=0;s<o;s++)if(r=t[s].nodeType,t[s]["s-hn"]!==n["s-hn"]||""!==i){if(1===r&&i===t[s].getAttribute("slot")){n.hidden=!0;break}}else if(1===r||3===r&&""!==t[s].textContent.trim()){n.hidden=!0;break}W(n)}},A=[],D=e=>{let t,n,l,s,i,r,c=0;const f=e.childNodes,u=f.length;for(;c<u;c++){if(t=f[c],t["s-sr"]&&(n=t["s-cr"])&&n.parentNode)for(l=n.parentNode.childNodes,s=t["s-sn"],r=l.length-1;r>=0;r--)n=l[r],n["s-cn"]||n["s-nr"]||n["s-hn"]===t["s-hn"]||(F(n,s)?(i=A.find((e=>e.g===n)),o=!0,n["s-sn"]=n["s-sn"]||s,i?i.k=t:A.push({k:t,g:n}),n["s-sr"]&&A.map((e=>{F(e.g,n["s-sn"])&&(i=A.find((e=>e.g===n)),i&&!e.k&&(e.k=i.k))}))):A.some((e=>e.g===n))||A.push({g:n}));1===t.nodeType&&D(t)}},F=(e,t)=>1===e.nodeType?null===e.getAttribute("slot")&&""===t||e.getAttribute("slot")===t:e["s-sn"]===t||""===t,H=e=>{e.l&&e.l.ref&&e.l.ref(null),e.o&&e.o.map(H)},U=(e,t)=>{t&&!e.j&&t["s-p"]&&t["s-p"].push(new Promise((t=>e.j=t)))},q=(e,t)=>{if(e.$|=16,!(4&e.$))return U(e,e.S),je((()=>V(e,t)));e.$|=512},V=(e,t)=>{const n=e.O;let l;return t&&(e.$|=256,e.M&&(e.M.map((([e,t])=>I(n,e,t))),e.M=null),l=I(n,"componentWillLoad")),J(l,(()=>_(e,n,t)))},_=async(e,t,n)=>{const l=e.p,o=l["s-rc"];n&&(e=>{const t=e.C,n=e.p,l=t.$,o=((e,t)=>{var n;let l=k(t);const o=ae.get(l);if(e=11===e.nodeType?e:$e,o)if("string"==typeof o){let t,s=g.get(e=e.head||e);if(s||g.set(e,s=new Set),!s.has(l)){{t=$e.createElement("style"),t.innerHTML=o;const l=null!==(n=he.R)&&void 0!==n?n:a($e);null!=l&&t.setAttribute("nonce",l),e.insertBefore(t,e.querySelector("link"))}s&&s.add(l)}}else e.adoptedStyleSheets.includes(o)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,o]);return l})(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);10&l&&(n["s-sc"]=o,n.classList.add(o+"-h"),2&l&&n.classList.add(o+"-s"))})(e);z(e,t),o&&(o.map((e=>e())),l["s-rc"]=void 0);{const t=l["s-p"],n=()=>B(e);0===t.length?n():(Promise.all(t).then(n),e.$|=4,t.length=0)}},z=(i,r)=>{try{r=r.render(),i.$&=-17,i.$|=2,((i,r)=>{const c=i.p,f=i.C,u=i.P||$(null,null),a=(e=>e&&e.h===h)(r)?r:d(null,null,r);if(n=c.tagName,f.T&&(a.l=a.l||{},f.T.map((([e,t])=>a.l[t]=c[e]))),a.h=null,a.$|=4,i.P=a,a.m=u.m=c.shadowRoot||c,e=c["s-sc"],t=c["s-cr"],l=0!=(1&f.$),o=!1,N(u,a),he.$|=1,s){let e,t,n,l,o,s;D(a.m);let i=0;for(;i<A.length;i++)e=A[i],t=e.g,t["s-ol"]||(n=$e.createTextNode(""),n["s-nr"]=t,t.parentNode.insertBefore(t["s-ol"]=n,t));for(i=0;i<A.length;i++)if(e=A[i],t=e.g,e.k){for(l=e.k.parentNode,o=e.k.nextSibling,n=t["s-ol"];n=n.previousSibling;)if(s=n["s-nr"],s&&s["s-sn"]===t["s-sn"]&&l===s.parentNode&&(s=s.nextSibling,!s||!s["s-nr"])){o=s;break}(!o&&l!==t.parentNode||t.nextSibling!==o)&&t!==o&&(!t["s-hn"]&&t["s-ol"]&&(t["s-hn"]=t["s-ol"].parentNode.nodeName),l.insertBefore(t,o))}else 1===t.nodeType&&(t.hidden=!0)}o&&W(a.m),he.$&=-2,A.length=0})(i,r)}catch(e){ce(e,i.p)}return null},B=e=>{const t=e.p,n=e.O,l=e.S;I(n,"componentDidRender"),64&e.$||(e.$|=64,K(t),I(n,"componentDidLoad"),e.L(t),l||G()),e.N(t),e.j&&(e.j(),e.j=void 0),512&e.$&&ke((()=>q(e,!1))),e.$&=-517},G=()=>{K($e.documentElement),ke((()=>w(de,"appload",{detail:{namespace:"mg-components"}})))},I=(e,t,n)=>{if(e&&e[t])try{return e[t](n)}catch(e){ce(e)}},J=(e,t)=>e&&e.then?e.then(t):t(),K=e=>e.classList.add("hydrated"),Q=(e,t,n)=>{if(t.W){e.watchers&&(t.A=e.watchers);const l=Object.entries(t.W),o=e.prototype;if(l.map((([e,[l]])=>{31&l||2&n&&32&l?Object.defineProperty(o,e,{get(){return((e,t)=>oe(this).D.get(t))(0,e)},set(n){((e,t,n,l)=>{const o=oe(e),s=o.p,i=o.D.get(t),r=o.$,c=o.O;if(n=((e,t)=>null==e||u(e)?e:4&t?"false"!==e&&(""===e||!!e):2&t?parseFloat(e):1&t?e+"":e)(n,l.W[t][0]),(!(8&r)||void 0===i)&&n!==i&&(!Number.isNaN(i)||!Number.isNaN(n))&&(o.D.set(t,n),c)){if(l.A&&128&r){const e=l.A[t];e&&e.map((e=>{try{c[e](n,i,t)}catch(e){ce(e,s)}}))}2==(18&r)&&q(o,!1)}})(this,e,n,t)},configurable:!0,enumerable:!0}):1&n&&64&l&&Object.defineProperty(o,e,{value(...t){const n=oe(this);return n.F.then((()=>n.O[e](...t)))}})})),1&n){const n=new Map;o.attributeChangedCallback=function(e,t,l){he.jmp((()=>{const t=n.get(e);if(this.hasOwnProperty(t))l=this[t],delete this[t];else if(o.hasOwnProperty(t)&&"number"==typeof this[t]&&this[t]==l)return;this[t]=(null!==l||"boolean"!=typeof this[t])&&l}))},e.observedAttributes=l.filter((([e,t])=>15&t[0])).map((([e,l])=>{const o=l[1]||e;return n.set(o,e),512&l[0]&&t.T.push([e,o]),o}))}}return e},X=(e,t={})=>{var n;const l=[],o=t.exclude||[],s=de.customElements,i=$e.head,r=i.querySelector("meta[charset]"),c=$e.createElement("style"),f=[];let u,d=!0;Object.assign(he,t),he.H=new URL(t.resourcesUrl||"./",$e.baseURI).href,e.map((e=>{e[1].map((t=>{const n={$:t[0],v:t[1],W:t[2],U:t[3]};n.W=t[2],n.U=t[3],n.T=[],n.A={};const i=n.v,r=class extends HTMLElement{constructor(e){super(e),ie(e=this,n),1&n.$&&e.attachShadow({mode:"open"})}connectedCallback(){u&&(clearTimeout(u),u=null),d?f.push(this):he.jmp((()=>(e=>{if(0==(1&he.$)){const t=oe(e),n=t.C,l=()=>{};if(1&t.$)Y(e,t,n.U);else{t.$|=1,12&n.$&&(e=>{const t=e["s-cr"]=$e.createComment("");t["s-cn"]=!0,e.insertBefore(t,e.firstChild)})(e);{let n=e;for(;n=n.parentNode||n.host;)if(n["s-p"]){U(t,t.S=n);break}}n.W&&Object.entries(n.W).map((([t,[n]])=>{if(31&n&&e.hasOwnProperty(t)){const n=e[t];delete e[t],e[t]=n}})),(async(e,t,n,l,o)=>{if(0==(32&t.$)){{if(t.$|=32,(o=ue(n)).then){const e=()=>{};o=await o,e()}o.isProxied||(n.A=o.watchers,Q(o,n,2),o.isProxied=!0);const e=()=>{};t.$|=8;try{new o(t)}catch(e){ce(e)}t.$&=-9,t.$|=128,e()}if(o.style){let e=o.style;const t=k(n);if(!ae.has(t)){const l=()=>{};((e,t,n)=>{let l=ae.get(e);pe&&n?(l=l||new CSSStyleSheet,"string"==typeof l?l=t:l.replaceSync(t)):l=t,ae.set(e,l)})(t,e,!!(1&n.$)),l()}}}const s=t.S,i=()=>q(t,!0);s&&s["s-rc"]?s["s-rc"].push(i):i()})(0,t,n)}l()}})(this)))}disconnectedCallback(){he.jmp((()=>(()=>{if(0==(1&he.$)){const e=oe(this),t=e.O;e.q&&(e.q.map((e=>e())),e.q=void 0),I(t,"disconnectedCallback")}})()))}componentOnReady(){return oe(this).V}};n._=e[0],o.includes(i)||s.get(i)||(l.push(i),s.define(i,Q(r,n,1)))}))}));{c.innerHTML=l+"{visibility:hidden}.hydrated{visibility:inherit}",c.setAttribute("data-styles","");const e=null!==(n=he.R)&&void 0!==n?n:a($e);null!=e&&c.setAttribute("nonce",e),i.insertBefore(c,r?r.nextSibling:i.firstChild)}d=!1,f.length?f.map((e=>e.connectedCallback())):he.jmp((()=>u=setTimeout(G,30)))},Y=(e,t,n)=>{n&&n.map((([n,l,o])=>{const s=ee(e,n),i=Z(t,o),r=te(n);he.ael(s,l,i,r),(t.q=t.q||[]).push((()=>he.rel(s,l,i,r)))}))},Z=(e,t)=>n=>{try{256&e.$?e.O[t](n):(e.M=e.M||[]).push([t,n])}catch(e){ce(e)}},ee=(e,t)=>8&t?de:e,te=e=>0!=(2&e),ne=e=>he.R=e,le=new WeakMap,oe=e=>le.get(e),se=(e,t)=>le.set(t.O=e,t),ie=(e,t)=>{const n={$:0,p:e,C:t,D:new Map};return n.F=new Promise((e=>n.N=e)),n.V=new Promise((e=>n.L=e)),e["s-p"]=[],e["s-rc"]=[],Y(e,n,t.U),le.set(e,n)},re=(e,t)=>t in e,ce=(e,t)=>(0,console.error)(e,t),fe=new Map,ue=e=>{const t=e.v.replace(/-/g,"_"),n=e._,l=fe.get(n);return l?l[t]:import(`./${n}.entry.js`).then((e=>(fe.set(n,e),e[t])),ce)
2
+ /*!__STENCIL_STATIC_IMPORT_SWITCH__*/},ae=new Map,de="undefined"!=typeof window?window:{},$e=de.document||{head:{}},he={$:0,H:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,l)=>e.addEventListener(t,n,l),rel:(e,t,n,l)=>e.removeEventListener(t,n,l),ce:(e,t)=>new CustomEvent(e,t)},me=e=>Promise.resolve(e),pe=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),ye=[],be=[],ve=(e,t)=>n=>{e.push(n),r||(r=!0,t&&4&he.$?ke(ge):he.raf(ge))},we=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){ce(e)}e.length=0},ge=()=>{we(ye),we(be),(r=ye.length>0)&&he.raf(ge)},ke=e=>me().then(e),je=ve(be,!0);export{h as H,X as b,v as c,b as g,d as h,me as p,se as r,ne as s}
@@ -0,0 +1,6 @@
1
+ @mixin rotate($selector, $duration) {
2
+ transition: $duration;
3
+ &--rotate#{$selector} {
4
+ transform: rotate(180deg);
5
+ }
6
+ }
@@ -9,7 +9,7 @@ $navigation-button-column-gap: 1rem;
9
9
  .#{$element}.#{$element}--size-#{$name} .#{$element}__navigation-button,
10
10
  .#{$element}__navigation-button.#{$element}__navigation-button--size-#{$name} {
11
11
  padding: #{map.get($size, 'vertical')} #{map.get($size, 'horizontal')};
12
- height: calc(#{map.get($size, 'height')});
12
+ height: #{map.get($size, 'height')};
13
13
  &,
14
14
  ::slotted([slot='label']),
15
15
  ::slotted([slot='metadata']) {
@@ -35,6 +35,7 @@ $navigation-button-column-gap: 1rem;
35
35
  background-color: unset;
36
36
  border: none;
37
37
  font-family: var(--font-family);
38
+ font-weight: 400;
38
39
  color: hsl(var(--#{$element}-color-hsl, var(--color-dark)));
39
40
  line-height: var(--line-height);
40
41
  text-decoration: none;
@@ -44,7 +45,7 @@ $navigation-button-column-gap: 1rem;
44
45
  &:disabled,
45
46
  &--disabled {
46
47
  cursor: default;
47
- opacity: 0.3;
48
+ opacity: var(--mg-disabled-opacity);
48
49
  }
49
50
  &:focus-visible {
50
51
  z-index: 10;
@@ -102,6 +102,7 @@
102
102
  Global
103
103
  */
104
104
  --default-size: 3.5rem;
105
+ --mg-disabled-opacity: 0.4;
105
106
 
106
107
  /*
107
108
  <mg-icon>
@@ -117,7 +118,7 @@
117
118
 
118
119
  --mg-button-border-radius: 0.3rem;
119
120
  --mg-button-icon-border-radius: var(--default-size);
120
- --mg-button-disabled-opacity: 0.6;
121
+ --mg-button-disabled-opacity: var(--mg-disabled-opacity);
121
122
  --mg-button-gradient: 1; /* Can only be 1 or 0 to enable disable gradient */
122
123
  --mg-button-border-variation: 1; /* Can only be 1 or 0 to enable disable border variation */
123
124
 
@@ -1,3 +1,4 @@
1
+ import { EventEmitter } from '../../../stencil-public-runtime';
1
2
  import { VariantType, ButtonType } from './mg-button.conf';
2
3
  import { ClassList } from '../../../utils/components.utils';
3
4
  export declare class MgButton {
@@ -69,6 +70,10 @@ export declare class MgButton {
69
70
  * Component classes
70
71
  */
71
72
  classList: ClassList;
73
+ /**
74
+ * Emmited event when disabled change
75
+ */
76
+ disabledChange: EventEmitter<MgButton['disabled']>;
72
77
  /**
73
78
  * Trigger actions onClick event
74
79
  *
@@ -143,7 +143,7 @@ export declare class MgInputTextarea {
143
143
  private handleBlur;
144
144
  /**
145
145
  * Get pattern validity
146
- * Pattern is not defined on textarea field : https://developer.mozilla.org/fr/docs/Web/HTML/Element/Textarea
146
+ * Pattern is not defined on textarea field: https://developer.mozilla.org/fr/docs/Web/HTML/Element/Textarea
147
147
  *
148
148
  * @returns {boolean} is pattern valid
149
149
  */
@@ -1,5 +1,4 @@
1
- import { MgIcon } from '../../../atoms/mg-icon/mg-icon';
2
- import { MgMenu } from './mg-menu';
1
+ import { MgItemMore } from '../../mg-item-more/mg-item-more';
3
2
  /**
4
3
  * Menu direction type
5
4
  */
@@ -8,32 +7,9 @@ export declare enum Direction {
8
7
  HORIZONTAL = "horizontal"
9
8
  }
10
9
  /**
11
- * message type
10
+ * ItemMore prop type
12
11
  */
13
- export type MessageType = {
14
- moreLabel: string;
15
- badgeLabel: string;
16
- };
17
- /**
18
- * more item type
19
- */
20
- export type MoreItemType = {
21
- mgIcon?: {
22
- icon: MgIcon['icon'];
23
- };
24
- slotLabel?: {
25
- label?: string;
26
- display?: boolean;
27
- };
28
- size?: MgMenu['size'];
29
- };
30
- /**
31
- * More item type guard
32
- *
33
- * @param {unknown} element element to control
34
- * @returns {boolean} truthy if element is more-item
35
- */
36
- export declare const isMoreItem: (element: unknown) => element is MoreItemType;
12
+ export type ItemMoreType = Pick<MgItemMore, 'icon' | 'slotlabel' | 'size'>;
37
13
  /**
38
14
  * List of all possibles sizes
39
15
  */
@@ -1,13 +1,12 @@
1
- import { Direction, MenuSizeType, MoreItemType } from './mg-menu.conf';
1
+ import { Direction } from './mg-menu.conf';
2
+ import type { MenuSizeType, ItemMoreType } from './mg-menu.conf';
2
3
  export declare class MgMenu {
3
4
  /************
4
5
  * Internal *
5
6
  ************/
6
7
  private readonly name;
7
- private messages;
8
8
  private menuItems;
9
9
  private focusedMenuItem;
10
- private overflowBehavior;
11
10
  /**************
12
11
  * Decorators *
13
12
  **************/
@@ -27,11 +26,11 @@ export declare class MgMenu {
27
26
  direction: Direction;
28
27
  validateDirection(newValue: MgMenu['direction']): void;
29
28
  /**
30
- * Customize mg-menu "more element"
29
+ * Customize "mg-item-more" element
31
30
  * Used with direction: 'vertical' to manage overflow
32
31
  */
33
- moreitem: MoreItemType;
34
- validateMoreItem(newValue: MgMenu['moreitem']): void;
32
+ itemMore: ItemMoreType;
33
+ validateItemMore(newValue: MgMenu['itemMore']): void;
35
34
  /**
36
35
  * Define mg-menu size
37
36
  * Default: 'regular'
@@ -42,11 +41,6 @@ export declare class MgMenu {
42
41
  * is this menu a child menu. Used for conditional render.
43
42
  */
44
43
  isChildMenu: boolean;
45
- /**
46
- * Define if component manage child overflow
47
- * Default: false
48
- */
49
- hasOverflow: boolean;
50
44
  /**
51
45
  * Close matching menu-item
52
46
  *
@@ -65,11 +59,11 @@ export declare class MgMenu {
65
59
  */
66
60
  private initMenuItemsListeners;
67
61
  /**
68
- * render mg-menu-more
62
+ * render mg-item-more
69
63
  *
70
- * @returns {HTMLElement} formated mg-menu-item element
64
+ * @returns {void}
71
65
  */
72
- private renderMgMenuMore;
66
+ private renderMgItemMore;
73
67
  /*************
74
68
  * Lifecycle *
75
69
  *************/
@@ -86,23 +80,11 @@ export declare class MgMenu {
86
80
  */
87
81
  componentDidLoad(): ReturnType<typeof setTimeout>;
88
82
  /**
89
- * Check add listeners to childs
83
+ * Add listeners to items
90
84
  *
91
85
  * @returns {void}
92
86
  */
93
87
  componentDidRender(): void;
94
- /**
95
- * Disconnect overflow ResizeObserver
96
- *
97
- * @returns {void} run overflow resize obeserver disconnexion
98
- */
99
- disconnectedCallback(): void;
100
- /**
101
- * Render mg-menu-item more element for overflow behavior
102
- *
103
- * @returns {HTMLElement} rendered mg-menu-item more element
104
- */
105
- private renderMgMenuItemMore;
106
88
  /**
107
89
  * Render
108
90
  *
@@ -1,3 +1,4 @@
1
+ import { MgMenu } from '../mg-menu/mg-menu';
1
2
  /**
2
3
  * Available menu-item positions
3
4
  */
@@ -14,3 +15,7 @@ export declare enum Status {
14
15
  DISABLED = "disabled",
15
16
  ACTIVE = "active"
16
17
  }
18
+ /**
19
+ * Direction type
20
+ */
21
+ export type DirectionType = MgMenu['direction'];
@@ -1,8 +1,8 @@
1
1
  import { EventEmitter } from '../../../../stencil-public-runtime';
2
2
  import { ClassList } from '../../../../utils/components.utils';
3
- import { MgMenu } from '../mg-menu/mg-menu';
4
- import { MenuSizeType } from '../mg-menu/mg-menu.conf';
5
3
  import { Status } from './mg-menu-item.conf';
4
+ import type { MenuSizeType } from '../mg-menu/mg-menu.conf';
5
+ import type { DirectionType } from './mg-menu-item.conf';
6
6
  export declare class MgMenuItem {
7
7
  /************
8
8
  * Internal *
@@ -20,6 +20,11 @@ export declare class MgMenuItem {
20
20
  /************
21
21
  * Props *
22
22
  ************/
23
+ /**
24
+ * Identifier is used to control mg-popover
25
+ * Default: createID('mg-menu-item');
26
+ */
27
+ identifier: string;
23
28
  /**
24
29
  * Define menu-item href
25
30
  * when defined menu-item contain an anchor instead of button
@@ -57,11 +62,16 @@ export declare class MgMenuItem {
57
62
  /**
58
63
  * Parent menu direction
59
64
  */
60
- direction: MgMenu['direction'];
65
+ direction: DirectionType;
66
+ validateDirection(newValue: MgMenuItem['direction']): void;
61
67
  /**
62
68
  * Does component is in main menu
63
69
  */
64
70
  isInMainMenu: boolean;
71
+ /**
72
+ * Does element is item-more
73
+ */
74
+ isItemMore: boolean;
65
75
  /**
66
76
  * Does component have children. Default: false.
67
77
  */
@@ -83,7 +93,7 @@ export declare class MgMenuItem {
83
93
  /**
84
94
  * Does an Element have given Status
85
95
  *
86
- * @param {Element} element to parse
96
+ * @param {HTMLMgMenuItemElement} mgMenuItemElement to parse
87
97
  * @param {MgMenuItem['status']} status to check
88
98
  * @returns {boolean} true if element with status is found
89
99
  */
@@ -92,9 +102,61 @@ export declare class MgMenuItem {
92
102
  * Is component contextual direction match the given direction
93
103
  *
94
104
  * @param {MgMenuItem['direction']} direction in parent menu
105
+ * @param {MgMenuItem['direction']} compareWith direction to compare with. Default: `this.direction`
95
106
  * @returns {boolean} true is direction match the direction propertie
96
107
  */
97
108
  private isDirection;
109
+ /**
110
+ * Update displayNotificationBadge
111
+ * current component notification badge have priority over the slot badge when submenu contain badge
112
+ *
113
+ * @returns {void} update displayNotificationBadge value
114
+ */
115
+ private updateDisplayNotificationBadge;
116
+ /**
117
+ * Method to control if one of component children have active status
118
+ *
119
+ * @returns {boolean} truthy if component has active child
120
+ */
121
+ private hasActiveChild;
122
+ /**
123
+ * Validate slots
124
+ *
125
+ * @param {boolean} guard prevent action whith guard. Default: false.
126
+ * @returns {void}
127
+ */
128
+ private validateSlot;
129
+ /**
130
+ * Update status
131
+ *
132
+ * @param {Status[]} guard status to exclude from process in addition to [Status.HIDDEN, Status.DISABLED] . Default: [].
133
+ * @returns {void}
134
+ */
135
+ private updateStatus;
136
+ /**
137
+ * Init event-listeners
138
+ *
139
+ * @returns {void}
140
+ */
141
+ private initListeners;
142
+ /**
143
+ * Get mg-popover identifier
144
+ *
145
+ * @returns {MgPopover['identifier']} generated mg-popover identifier
146
+ */
147
+ private getPopoverIdentifier;
148
+ /**
149
+ * Render popover clickoutside guard for content slot
150
+ *
151
+ * @returns {void}
152
+ */
153
+ private updatePopoverGuard;
154
+ /**
155
+ * Condition to know if component should display a mg-popover
156
+ *
157
+ * @returns {boolean} truthy if component display popover
158
+ */
159
+ private displayPopover;
98
160
  /************
99
161
  * Handlers *
100
162
  ************/
@@ -112,13 +174,6 @@ export declare class MgMenuItem {
112
174
  * @returns {void}
113
175
  */
114
176
  private handlePopoverDisplay;
115
- /**
116
- * Update displayNotificationBadge
117
- * current component notification badge have priority over the slot badge when submenu contain badge
118
- *
119
- * @returns {void} update displayNotificationBadge value
120
- */
121
- private updateDisplayNotificationBadge;
122
177
  /*************
123
178
  * Lifecycle *
124
179
  *************/
@@ -0,0 +1,42 @@
1
+ import { MgBadge } from '../../atoms/mg-badge/mg-badge';
2
+ import { MgButton } from '../../atoms/mg-button/mg-button';
3
+ import { MgIcon } from '../../atoms/mg-icon/mg-icon';
4
+ import { MgMenuItem } from '../menu/mg-menu-item/mg-menu-item';
5
+ /**
6
+ * prop icon type
7
+ */
8
+ export type MgActionMoreIconType = {
9
+ icon: MgIcon['icon'];
10
+ };
11
+ /**
12
+ * prop button type
13
+ */
14
+ export type MgActionMoreButtonType = {
15
+ isIcon: MgButton['isIcon'];
16
+ variant: MgButton['variant'];
17
+ label?: MgButton['label'];
18
+ };
19
+ /**
20
+ * locals message type
21
+ */
22
+ export type MgActionMoreMessageType = {
23
+ label: string;
24
+ };
25
+ /**
26
+ * prop item type
27
+ */
28
+ export type MgActionMoreItemType = {
29
+ label: string;
30
+ mouseEventHandler: IMouseEventHandler;
31
+ status?: MgMenuItem['status'];
32
+ icon?: MgIcon['icon'];
33
+ href?: MgMenuItem['href'];
34
+ badge?: Pick<MgBadge, 'value' | 'label'>;
35
+ };
36
+ /**
37
+ * MouseEvent callback interface
38
+ */
39
+ interface IMouseEventHandler {
40
+ (event: MouseEvent): void;
41
+ }
42
+ export {};
@@ -0,0 +1,81 @@
1
+ import { MgActionMoreItemType, MgActionMoreButtonType, MgActionMoreIconType } from './mg-action-more.conf';
2
+ export declare class MgActionMore {
3
+ /************
4
+ * Internal *
5
+ ************/
6
+ private readonly name;
7
+ private readonly mgPopoverIdentifier;
8
+ private messages;
9
+ /**************
10
+ * Decorators *
11
+ **************/
12
+ /**
13
+ * Get component DOM element
14
+ */
15
+ element: HTMLMgActionMoreElement;
16
+ /**
17
+ * Define displaied icon
18
+ * Default: {icon: 'ellipsis'}
19
+ */
20
+ icon: MgActionMoreIconType;
21
+ validateIcon(newValue: MgActionMore['icon']): void;
22
+ /**
23
+ * Define button properties
24
+ * Default: {variant: 'flat', isIcon: true}.
25
+ */
26
+ button: MgActionMoreButtonType;
27
+ validateButton(newValue: MgActionMore['button']): void;
28
+ /**
29
+ * Define the menu-items elements
30
+ */
31
+ items: MgActionMoreItemType[];
32
+ validateItems(newValue: MgActionMore['items']): void;
33
+ /**
34
+ * Define if chevron is display
35
+ */
36
+ displayChevron: boolean;
37
+ validateDisplayChevron(newValue: MgActionMore['displayChevron']): void;
38
+ /**
39
+ * Menu expanded state
40
+ * Default: false.
41
+ */
42
+ expanded: boolean;
43
+ /************
44
+ * Merthods *
45
+ ***********/
46
+ /**
47
+ * Toogle expanded props
48
+ *
49
+ * @returns {void}
50
+ */
51
+ private toggleExpanded;
52
+ /**
53
+ * Button click handler
54
+ *
55
+ * @returns {void}
56
+ */
57
+ private handleButton;
58
+ /**
59
+ * Item click handler
60
+ *
61
+ * @param {MouseEvent} event click event
62
+ * @param {MgActionMoreItemType['mouseEventHandler']} customHandler item['mouseEventHandler']
63
+ * @returns {void}
64
+ */
65
+ private handleItemClick;
66
+ /*************
67
+ * Lifecycle *
68
+ *************/
69
+ /**
70
+ * Validate props
71
+ *
72
+ * @returns {void}
73
+ */
74
+ componentWillLoad(): void;
75
+ /**
76
+ * Render
77
+ *
78
+ * @returns {HTMLElement} HTML Element
79
+ */
80
+ render(): HTMLElement;
81
+ }
@@ -0,0 +1,26 @@
1
+ import { MgIcon } from '../../atoms/mg-icon/mg-icon';
2
+ import { MgMenu } from '../menu/mg-menu/mg-menu';
3
+ /**
4
+ * message type
5
+ */
6
+ export type MessageType = {
7
+ moreLabel: string;
8
+ badgeLabel: string;
9
+ };
10
+ /**
11
+ * SlotLabel prop type
12
+ */
13
+ export type SlotLabelType = {
14
+ label?: string;
15
+ display?: boolean;
16
+ };
17
+ /**
18
+ * icon prop type
19
+ */
20
+ export type IconType = {
21
+ icon: MgIcon['icon'];
22
+ };
23
+ /**
24
+ * size type
25
+ */
26
+ export type SizeType = MgMenu['size'];
@@ -0,0 +1,74 @@
1
+ import type { IconType, SizeType, SlotLabelType } from './mg-item-more.conf';
2
+ export declare class MgItemMore {
3
+ /************
4
+ * Internal *
5
+ ************/
6
+ private readonly name;
7
+ private messages;
8
+ private menuItems;
9
+ private overflowBehavior;
10
+ /**************
11
+ * Decorators *
12
+ **************/
13
+ /**
14
+ * Get component DOM element
15
+ */
16
+ element: HTMLMgItemMoreElement;
17
+ /**
18
+ * Define icon
19
+ * Default: {icon: 'ellipsis-vertical'}
20
+ */
21
+ icon: IconType;
22
+ validateIcon(newValue: MgItemMore['icon']): void;
23
+ /**
24
+ * Define slot label element
25
+ * Default: {display: false}
26
+ */
27
+ slotlabel: SlotLabelType;
28
+ validateSlotLabel(newValue: MgItemMore['slotlabel']): void;
29
+ /**
30
+ * Define component child menu size.
31
+ */
32
+ size: SizeType;
33
+ validateSize(newValue: MgItemMore['size']): void;
34
+ /**
35
+ * Define component parent menu.
36
+ */
37
+ parentMenu: HTMLMgMenuElement;
38
+ /***********
39
+ * Methods *
40
+ ***********/
41
+ /**
42
+ * render mg-item-more overflow element
43
+ *
44
+ * @returns {HTMLMgItemMoreElement} mg-item-more element
45
+ */
46
+ private renderMgMenuItemOverflowElement;
47
+ /*************
48
+ * Lifecycle *
49
+ *************/
50
+ /**
51
+ * Disconnect overflow ResizeObserver
52
+ *
53
+ * @returns {void} run overflow resize obeserver disconnexion
54
+ */
55
+ disconnectedCallback(): void;
56
+ /**
57
+ * Set variables and validate props
58
+ *
59
+ * @returns {void}
60
+ */
61
+ componentWillLoad(): void;
62
+ /**
63
+ * Add overflow behavior
64
+ *
65
+ * @returns {void}
66
+ */
67
+ componentDidLoad(): void;
68
+ /**
69
+ * Render
70
+ *
71
+ * @returns {HTMLElement} HTML Element
72
+ */
73
+ render(): HTMLElement;
74
+ }
@@ -21,6 +21,10 @@ export declare class MgPagination {
21
21
  * Customize default value can be usefull to improve accessibility
22
22
  */
23
23
  label: string;
24
+ /**
25
+ * Hide navigation label
26
+ */
27
+ hideNavigationLabels: boolean;
24
28
  /**
25
29
  * Component total pages
26
30
  */
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from '../../../stencil-public-runtime';
2
- import { Placement } from '@popperjs/core';
3
2
  import { ClassList } from '../../../utils/components.utils';
3
+ import { Placement } from '@popperjs/core';
4
4
  export declare class MgPopover {
5
5
  /************
6
6
  * Internal *
@@ -9,6 +9,7 @@ export declare class MgPopover {
9
9
  private popover;
10
10
  private closeButtonId;
11
11
  private windows;
12
+ private resizeObserver;
12
13
  private messages;
13
14
  private readonly classArrowHide;
14
15
  /**************