@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.
- package/dist/cjs/{index-4dcc1812.js → index-5e7ede97.js} +109 -3
- package/dist/cjs/loader.cjs.js +4 -3
- package/dist/cjs/{mg-badge_30.cjs.entry.js → mg-action-more_31.cjs.entry.js} +490 -661
- package/dist/cjs/mg-components.cjs.js +7 -3
- package/dist/cjs/mg-item-more.cjs.entry.js +273 -0
- package/dist/cjs/mg-menu.conf-9afe6571.js +242 -0
- package/dist/collection/collection-manifest.json +7 -5
- package/dist/collection/components/atoms/mg-badge/mg-badge.js +1 -1
- package/dist/collection/components/atoms/mg-button/mg-button.css +7 -21
- package/dist/collection/components/atoms/mg-button/mg-button.js +25 -1
- package/dist/collection/components/atoms/mg-icon/mg-icon.conf.js +35 -27
- package/dist/collection/components/atoms/mg-icon/mg-icon.js +3 -3
- package/dist/collection/components/atoms/mg-tag/mg-tag.js +1 -1
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +18 -17
- package/dist/collection/components/molecules/inputs/MgInput.js +6 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.css +4 -3
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +3 -2
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.css +4 -0
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.css +4 -0
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.css +4 -0
- package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.css +4 -3
- package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +2 -1
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.css +4 -0
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.css +4 -0
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.css +4 -0
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.css +4 -4
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js +0 -13
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js +41 -70
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.css +5 -4
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +160 -61
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.conf.js +1 -0
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.css +38 -0
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +252 -0
- package/dist/collection/components/molecules/mg-form/mg-form.js +2 -2
- package/dist/collection/components/molecules/mg-item-more/mg-item-more.conf.js +1 -0
- package/dist/collection/components/molecules/mg-item-more/mg-item-more.css +30 -0
- package/dist/collection/components/molecules/mg-item-more/mg-item-more.js +200 -0
- package/dist/collection/components/molecules/mg-message/mg-message.js +1 -1
- package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +19 -1
- package/dist/collection/components/molecules/mg-panel/mg-panel.js +2 -2
- package/dist/collection/components/molecules/mg-popover/mg-popover.css +0 -1
- package/dist/collection/components/molecules/mg-popover/mg-popover.js +17 -4
- package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +2 -1
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.css +2 -3
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +9 -8
- package/dist/collection/locales/en/messages.json +6 -1
- package/dist/collection/locales/fr/messages.json +6 -1
- package/dist/collection/locales/index.js +1 -1
- package/dist/collection/styles/mg-icon-animation.scss +6 -0
- package/dist/collection/styles/navigation-button.scss +3 -2
- package/dist/collection/utils/behaviors.utils.js +38 -52
- package/dist/collection/utils/components.utils.js +3 -1
- package/dist/collection/utils/locale.utils.js +9 -9
- package/dist/collection/utils/unit.test.utils.js +32 -4
- package/dist/collection/variables.css +2 -1
- package/dist/components/MgInput.js +6 -1
- package/dist/components/components.utils.js +3 -1
- package/dist/components/index.d.ts +11 -0
- package/dist/components/index.js +3 -1
- package/dist/components/index2.js +26 -14
- package/dist/components/mg-action-more.d.ts +11 -0
- package/dist/components/mg-action-more.js +216 -0
- package/dist/components/mg-badge2.js +1 -1
- package/dist/components/mg-button2.js +6 -3
- package/dist/components/mg-form.js +2 -2
- package/dist/components/mg-icon2.js +38 -30
- package/dist/components/mg-input-checkbox.js +3 -3
- package/dist/components/mg-input-date.js +2 -2
- package/dist/components/mg-input-numeric.js +2 -2
- package/dist/components/mg-input-password.js +1 -1
- package/dist/components/mg-input-radio.js +2 -2
- package/dist/components/mg-input-select2.js +2 -2
- package/dist/components/mg-input-text2.js +1 -1
- package/dist/components/mg-input-textarea.js +2 -2
- package/dist/components/mg-input-toggle.js +1 -1
- package/dist/components/mg-item-more.d.ts +11 -0
- package/dist/components/mg-item-more.js +336 -0
- package/dist/components/mg-menu-item2.js +137 -250
- package/dist/components/mg-menu.conf.js +14 -0
- package/dist/components/mg-menu.js +1 -246
- package/dist/components/mg-menu2.js +180 -0
- package/dist/components/mg-message.js +1 -1
- package/dist/components/mg-pagination.js +3 -1
- package/dist/components/mg-panel.js +2 -2
- package/dist/components/mg-popover2.js +17 -3
- package/dist/components/mg-skip-links.js +1 -1
- package/dist/components/mg-tabs.js +10 -9
- package/dist/components/mg-tag.js +1 -1
- package/dist/components/mg-tooltip2.js +18 -17
- package/dist/esm/{index-dc9a2348.js → index-03cceb11.js} +109 -4
- package/dist/esm/loader.js +4 -3
- package/dist/esm/{mg-badge_30.entry.js → mg-action-more_31.entry.js} +464 -636
- package/dist/esm/mg-components.js +4 -3
- package/dist/esm/mg-item-more.entry.js +269 -0
- package/dist/esm/mg-menu.conf-881fbd82.js +235 -0
- package/dist/mg-components/locales/en/messages.json +6 -1
- package/dist/mg-components/locales/fr/messages.json +6 -1
- package/dist/mg-components/mg-components.css +1 -1
- package/dist/mg-components/mg-components.esm.js +1 -1
- package/dist/mg-components/p-1221773c.entry.js +1 -0
- package/dist/mg-components/p-367f92d2.js +1 -0
- package/dist/mg-components/p-6aeded97.entry.js +1 -0
- package/dist/mg-components/p-e126dd84.js +2 -0
- package/dist/mg-components/styles/mg-icon-animation.scss +6 -0
- package/dist/mg-components/styles/navigation-button.scss +3 -2
- package/dist/mg-components/variables.css +2 -1
- package/dist/types/components/atoms/mg-button/mg-button.d.ts +5 -0
- package/dist/types/components/molecules/inputs/mg-input-textarea/mg-input-textarea.d.ts +1 -1
- package/dist/types/components/molecules/menu/mg-menu/mg-menu.conf.d.ts +3 -27
- package/dist/types/components/molecules/menu/mg-menu/mg-menu.d.ts +9 -27
- package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.conf.d.ts +5 -0
- package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.d.ts +66 -11
- package/dist/types/components/molecules/mg-action-more/mg-action-more.conf.d.ts +42 -0
- package/dist/types/components/molecules/mg-action-more/mg-action-more.d.ts +81 -0
- package/dist/types/components/molecules/mg-item-more/mg-item-more.conf.d.ts +26 -0
- package/dist/types/components/molecules/mg-item-more/mg-item-more.d.ts +74 -0
- package/dist/types/components/molecules/mg-pagination/mg-pagination.d.ts +4 -0
- package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +2 -1
- package/dist/types/components.d.ts +120 -12
- package/dist/types/locales/index.d.ts +12 -2
- package/dist/types/stencil-public-runtime.d.ts +9 -0
- package/dist/types/utils/behaviors.utils.d.ts +12 -11
- package/dist/types/utils/locale.utils.d.ts +5 -5
- package/dist/types/utils/unit.test.utils.d.ts +20 -2
- package/loader/index.d.ts +9 -0
- package/package.json +17 -16
- package/readme.md +0 -18
- package/dist/.storybook/utils.js +0 -24
- package/dist/collection/components/atoms/mg-badge/doc/mg-badge.stories.js +0 -27
- package/dist/collection/components/atoms/mg-button/doc/mg-button.stories.js +0 -38
- package/dist/collection/components/atoms/mg-card/doc/mg-card.stories.js +0 -18
- package/dist/collection/components/atoms/mg-character-left/doc/mg-character-left.stories.js +0 -20
- package/dist/collection/components/atoms/mg-divider/doc/mg-divider.stories.js +0 -18
- package/dist/collection/components/atoms/mg-icon/doc/mg-icon.stories.js +0 -41
- package/dist/collection/components/atoms/mg-input-title/doc/mg-input-title.stories.js +0 -21
- package/dist/collection/components/atoms/mg-tag/doc/mg-tag.stories.js +0 -22
- package/dist/collection/components/atoms/mg-tooltip/doc/mg-tooltip.stories.js +0 -50
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/doc/mg-input-checkbox.stories.js +0 -50
- package/dist/collection/components/molecules/inputs/mg-input-date/doc/mg-input-date.stories.js +0 -43
- package/dist/collection/components/molecules/inputs/mg-input-numeric/doc/mg-input-numeric.stories.js +0 -68
- package/dist/collection/components/molecules/inputs/mg-input-password/doc/mg-input-password.stories.js +0 -46
- package/dist/collection/components/molecules/inputs/mg-input-radio/doc/mg-input-radio.stories.js +0 -59
- package/dist/collection/components/molecules/inputs/mg-input-select/doc/mg-input-select.stories.js +0 -77
- package/dist/collection/components/molecules/inputs/mg-input-text/doc/mg-input-text.stories.js +0 -110
- package/dist/collection/components/molecules/inputs/mg-input-textarea/doc/mg-input-textarea.stories.js +0 -54
- package/dist/collection/components/molecules/inputs/mg-input-toggle/doc/mg-input-toggle.stories.js +0 -51
- package/dist/collection/components/molecules/menu/mg-menu/doc/mg-menu.stories.js +0 -119
- package/dist/collection/components/molecules/menu/mg-menu-item/doc/mg-menu-item.stories.js +0 -34
- package/dist/collection/components/molecules/mg-details/doc/mg-details.stories.js +0 -24
- package/dist/collection/components/molecules/mg-form/doc/mg-form.stories.js +0 -47
- package/dist/collection/components/molecules/mg-illustrated-message/doc/mg-illustrated-message.stories.js +0 -19
- package/dist/collection/components/molecules/mg-message/doc/mg-message.stories.js +0 -39
- package/dist/collection/components/molecules/mg-modal/doc/mg-modal.stories.js +0 -39
- package/dist/collection/components/molecules/mg-pagination/doc/mg-pagination.stories.js +0 -20
- package/dist/collection/components/molecules/mg-panel/doc/mg-panel.stories.js +0 -22
- package/dist/collection/components/molecules/mg-popover/doc/mg-popover.stories.js +0 -34
- package/dist/collection/components/molecules/mg-skip-links/doc/mg-skip-links.stories.js +0 -24
- package/dist/collection/components/molecules/mg-tabs/doc/mg-tabs.stories.js +0 -53
- package/dist/collection/stories/grids.stories.js +0 -7
- package/dist/collection/stories/helpers.stories.js +0 -23
- package/dist/collection/stories/icons.stories.js +0 -25
- package/dist/collection/stories/typography.stories.js +0 -24
- package/dist/mg-components/p-182bd802.js +0 -2
- package/dist/mg-components/p-f7da9dd2.entry.js +0 -1
- package/dist/types/components/atoms/mg-badge/doc/mg-badge.stories.d.ts +0 -13
- package/dist/types/components/atoms/mg-button/doc/mg-button.stories.d.ts +0 -16
- package/dist/types/components/atoms/mg-card/doc/mg-card.stories.d.ts +0 -6
- package/dist/types/components/atoms/mg-character-left/doc/mg-character-left.stories.d.ts +0 -6
- package/dist/types/components/atoms/mg-divider/doc/mg-divider.stories.d.ts +0 -6
- package/dist/types/components/atoms/mg-icon/doc/mg-icon.stories.d.ts +0 -26
- package/dist/types/components/atoms/mg-input-title/doc/mg-input-title.stories.d.ts +0 -6
- package/dist/types/components/atoms/mg-tag/doc/mg-tag.stories.d.ts +0 -6
- package/dist/types/components/atoms/mg-tooltip/doc/mg-tooltip.stories.d.ts +0 -18
- package/dist/types/components/molecules/inputs/mg-input-checkbox/doc/mg-input-checkbox.stories.d.ts +0 -11
- package/dist/types/components/molecules/inputs/mg-input-date/doc/mg-input-date.stories.d.ts +0 -12
- package/dist/types/components/molecules/inputs/mg-input-numeric/doc/mg-input-numeric.stories.d.ts +0 -32
- package/dist/types/components/molecules/inputs/mg-input-password/doc/mg-input-password.stories.d.ts +0 -22
- package/dist/types/components/molecules/inputs/mg-input-radio/doc/mg-input-radio.stories.d.ts +0 -20
- package/dist/types/components/molecules/inputs/mg-input-select/doc/mg-input-select.stories.d.ts +0 -34
- package/dist/types/components/molecules/inputs/mg-input-text/doc/mg-input-text.stories.d.ts +0 -39
- package/dist/types/components/molecules/inputs/mg-input-textarea/doc/mg-input-textarea.stories.d.ts +0 -19
- package/dist/types/components/molecules/inputs/mg-input-toggle/doc/mg-input-toggle.stories.d.ts +0 -12
- package/dist/types/components/molecules/menu/mg-menu/doc/mg-menu.stories.d.ts +0 -22
- package/dist/types/components/molecules/menu/mg-menu-item/doc/mg-menu-item.stories.d.ts +0 -12
- package/dist/types/components/molecules/mg-details/doc/mg-details.stories.d.ts +0 -11
- package/dist/types/components/molecules/mg-form/doc/mg-form.stories.d.ts +0 -11
- package/dist/types/components/molecules/mg-illustrated-message/doc/mg-illustrated-message.stories.d.ts +0 -6
- package/dist/types/components/molecules/mg-message/doc/mg-message.stories.d.ts +0 -26
- package/dist/types/components/molecules/mg-modal/doc/mg-modal.stories.d.ts +0 -13
- package/dist/types/components/molecules/mg-pagination/doc/mg-pagination.stories.d.ts +0 -11
- package/dist/types/components/molecules/mg-panel/doc/mg-panel.stories.d.ts +0 -11
- package/dist/types/components/molecules/mg-popover/doc/mg-popover.stories.d.ts +0 -22
- package/dist/types/components/molecules/mg-skip-links/doc/mg-skip-links.stories.d.ts +0 -11
- package/dist/types/components/molecules/mg-tabs/doc/mg-tabs.stories.d.ts +0 -20
- package/dist/types/home/runner/work/mg-components/mg-components/.stencil/.storybook/utils.d.ts +0 -1
- package/dist/types/stories/grids.stories.d.ts +0 -5
- package/dist/types/stories/helpers.stories.d.ts +0 -13
- package/dist/types/stories/icons.stories.d.ts +0 -13
- 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}
|
|
@@ -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:
|
|
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:
|
|
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:
|
|
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
|
|
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 {
|
|
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
|
-
*
|
|
10
|
+
* ItemMore prop type
|
|
12
11
|
*/
|
|
13
|
-
export type
|
|
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
|
|
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-
|
|
29
|
+
* Customize "mg-item-more" element
|
|
31
30
|
* Used with direction: 'vertical' to manage overflow
|
|
32
31
|
*/
|
|
33
|
-
|
|
34
|
-
|
|
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-
|
|
62
|
+
* render mg-item-more
|
|
69
63
|
*
|
|
70
|
-
* @returns {
|
|
64
|
+
* @returns {void}
|
|
71
65
|
*/
|
|
72
|
-
private
|
|
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
|
-
*
|
|
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:
|
|
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 {
|
|
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
|
+
}
|
|
@@ -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
|
/**************
|