@ncino/web-components 1.1.0-preview.3 → 1.1.0-preview.4

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.
@@ -1 +1 @@
1
- import"./slds/menu.slds.js";import"./gator/menu.gator.js";import"../../../assets/index-chunk.js";import"../../../assets/index-chunk6.js";import"../../../assets/index-chunk3.js";import"./menu.js";import"../../../assets/index-chunk2.js";import"../../../utils/datatestid-utils.js";import"../../../utils/string-utils.js";import"../../../assets/index-chunk12.js";
1
+ import"./slds/menu.slds.js";import"./gator/menu.gator.js";import"../../../assets/index-chunk.js";import"../../../assets/index-chunk6.js";import"../../../assets/index-chunk3.js";import"./menu.js";import"../../../assets/index-chunk2.js";import"../../../utils/datatestid-utils.js";import"../../../utils/string-utils.js";import"../../../consts/key-constants.js";import"../../../assets/index-chunk12.js";
@@ -1,12 +1,10 @@
1
- import{r as b,k as p}from"../../../../assets/index-chunk.js";import{s as g}from"../../../../assets/index-chunk6.js";import{t as y}from"../../../../assets/index-chunk3.js";import{N as _}from"../menu.js";import{h as c}from"../../../../utils/datatestid-utils.js";import"../../../../assets/index-chunk2.js";import"../../../../utils/string-utils.js";var v=Object.defineProperty,A=Object.getOwnPropertyDescriptor,S=(o,e,r,a)=>{for(var t=a>1?void 0:a?A(e,r):e,n=o.length-1,s;n>=0;n--)(s=o[n])&&(t=(a?s(e,r,t):s(t))||t);return a&&t&&v(e,r,t),t};let h=class extends _{constructor(){super(...arguments),this._setListeners=!1}render(){return p`
1
+ import{r as p,k as b}from"../../../../assets/index-chunk.js";import{s as g}from"../../../../assets/index-chunk6.js";import{t as w}from"../../../../assets/index-chunk3.js";import{N as S}from"../menu.js";import{h}from"../../../../utils/datatestid-utils.js";import{K as c}from"../../../../consts/key-constants.js";import"../../../../assets/index-chunk2.js";import"../../../../utils/string-utils.js";var y=Object.defineProperty,_=Object.getOwnPropertyDescriptor,v=(e,t,i,r)=>{for(var o=r>1?void 0:r?_(t,i):t,n=e.length-1,s;n>=0;n--)(s=e[n])&&(o=(r?s(t,i,o):s(o))||o);return r&&o&&y(t,i,o),o};let f=class extends S{constructor(){super(...arguments),this._setListeners=!1}render(){return b`
2
2
  <div class="slds-dropdown-trigger slds-dropdown-trigger_click slds-is-open" @focusout=${this._topLevelFocusOut}>
3
3
  <slot @slotchange="${this.handleTriggerSlotChange}" name="trigger"></slot>
4
- ${this.open?p`
5
- <div class="slds-dropdown slds-dropdown_left">
4
+ <div class="slds-dropdown slds-dropdown_left ${this.open?"slds-show":"slds-hide"}">
6
5
  <ul class="slds-dropdown__list" role="menu" aria-label="Show More">
7
6
  <slot @slotchange="${this.handleItemSlotChange}"></slot>
8
7
  </ul>
9
8
  </div>
10
- `:""}
11
9
  </div>
12
- `}updated(){var e;const o=(e=this.shadowRoot)==null?void 0:e.querySelector("[role=menu]");c(o,this.dataTestid,"dropdown")}handleTriggerSlotChange(o){o.target.assignedElements().forEach(a=>{var t,n,s,l,u;this._button=(t=a.shadowRoot)==null?void 0:t.querySelector("button"),c(this._button,this.dataTestid,"button"),(n=this._button)==null||n.setAttribute("aria-haspopup","true"),(s=this._button)==null||s.setAttribute("aria-expanded",this.open?"true":"false"),(l=this._button)==null||l.addEventListener("click",()=>{var i;this.open=!this.open,this.focusFirstMenuItem(),(i=this._button)==null||i.setAttribute("aria-expanded",this.open?"true":"false")}),(u=this._button)==null||u.addEventListener("keydown",i=>{this._setListeners=!0,i.key==="ArrowDown"&&this.handleArrowDown(i)})})}_topLevelFocusOut(o){o.relatedTarget||(this.open=!1)}focusFirstMenuItem(){setTimeout(()=>{var e,r;(r=(e=this.querySelectorAll(":scope > nsc-menu-item, :scope > nsc-submenu")[0].shadowRoot)==null?void 0:e.querySelector("a"))==null||r.focus()})}handleItemSlotChange(o){var t,n;const r=o.target.assignedElements().filter(s=>s.tagName.toLowerCase()==="nsc-submenu"||s.tagName.toLowerCase()==="nsc-menu-item"),a=r.filter(s=>s.tagName.toLowerCase()==="nsc-submenu");for(let[s,l]of r.entries()){const u=l.tagName.toLowerCase();if(u==="nsc-menu-item"||u==="nsc-submenu"){l.setAttribute("role","listitem"),c(l,this.dataTestid,`menu-item-${s}`);let i=(t=l.shadowRoot)==null?void 0:t.querySelector("a");if(i==null||i.setAttribute("role","menuitem"),s===0?i==null||i.setAttribute("tabindex","0"):i==null||i.setAttribute("tabindex","-1"),!this._setListeners){let m=(n=l.shadowRoot)==null?void 0:n.querySelectorAll("li");if(m)for(let w of m)w.addEventListener("keydown",d=>{var f;this._setListeners=!0,d.key==="ArrowDown"?this.handleArrowDown(d):d.key==="ArrowUp"?this.handleArrowUp(d):d.key==="Tab"?this.handleClose():d.key==="Escape"&&(this.handleClose(),(f=this._button)==null||f.focus())})}}}for(let[s,l]of a.entries())this.assignDataTestids(l,s)}assignDataTestids(o,e){var n,s,l;const r=e,a=(n=o.shadowRoot)==null?void 0:n.querySelector('[role="menu"]');c(a,this.dataTestid,`submenu-${r}`);const t=(l=(s=o.shadowRoot)==null?void 0:s.querySelector("slot"))==null?void 0:l.assignedElements().filter(u=>u.tagName.toLowerCase()==="nsc-submenu"||u.tagName.toLowerCase()==="nsc-menu-item");t==null||t.forEach((u,i)=>{c(u,this.dataTestid,`submenu-${r}-item-${i}`)})}handleClose(){this.open=!1;const o=this.querySelectorAll("nsc-submenu");if(o)for(let e of o)e.open=!1}handleArrowDown(o){var n,s,l,u;o.preventDefault();const e=this.querySelectorAll(":scope > nsc-menu-item, :scope > nsc-submenu"),r=this.querySelector(":focus");let a=Array.from(e).indexOf(r);a===-1&&((s=(n=e[0].shadowRoot)==null?void 0:n.querySelector("a"))==null||s.focus());let t=a+1;t>e.length-1&&(t=0),(u=(l=e[t].shadowRoot)==null?void 0:l.querySelector("a"))==null||u.focus()}handleArrowUp(o){var n,s;o.preventDefault();const e=this.querySelectorAll(":scope > nsc-menu-item, :scope > nsc-submenu"),r=this.querySelector(":focus");let t=Array.from(e).indexOf(r)-1;t<0&&(t=e.length-1),(s=(n=e[t].shadowRoot)==null?void 0:n.querySelector("a"))==null||s.focus()}};h.styles=[b(g)];h=S([y("nsc-menu")],h);
10
+ `}updated(){var t;const e=(t=this.shadowRoot)==null?void 0:t.querySelector("[role=menu]");h(e,this.dataTestid,"dropdown")}handleTriggerSlotChange(e){e.target.assignedElements().forEach(r=>{var o,n,s,l,u;this._button=(o=r.shadowRoot)==null?void 0:o.querySelector("button"),h(this._button,this.dataTestid,"button"),(n=this._button)==null||n.setAttribute("aria-haspopup","true"),(s=this._button)==null||s.setAttribute("aria-expanded",this.open?"true":"false"),(l=this._button)==null||l.addEventListener("click",()=>{var a;this.open=!this.open,this.focusFirstMenuItem(),(a=this._button)==null||a.setAttribute("aria-expanded",this.open?"true":"false")}),(u=this._button)==null||u.addEventListener("keydown",a=>{this._setListeners=!0,a.key===c.DOWN&&(this.open=!0,this.focusFirstMenuItem(),this.handleArrowDown(a))})})}_topLevelFocusOut(e){e.relatedTarget||(this.open=!1)}focusFirstMenuItem(){setTimeout(()=>{var t,i;(i=(t=this.querySelectorAll(":scope > nsc-menu-item, :scope > nsc-submenu")[0].shadowRoot)==null?void 0:t.querySelector("a"))==null||i.focus()})}handleItemSlotChange(e){var o,n;const i=e.target.assignedElements().filter(s=>this.isSubmenu(s)||this.isMenuItem(s)),r=i.filter(s=>this.isSubmenu(s));for(let[s,l]of i.entries()){l.addEventListener("menuitemclick",()=>{this.handleClose()}),l.setAttribute("role","listitem"),h(l,this.dataTestid,`item-${s}`);let u=(o=l.shadowRoot)==null?void 0:o.querySelector("a");if(s===0?u==null||u.setAttribute("tabindex","0"):u==null||u.setAttribute("tabindex","-1"),!this._setListeners){let a=(n=l.shadowRoot)==null?void 0:n.querySelectorAll("li");if(a)for(let m of a)m.addEventListener("keydown",d=>{this._setListeners=!0,d.key===c.DOWN?this.handleArrowDown(d):d.key===c.UP?this.handleArrowUp(d):d.key===c.TAB?this.handleClose():d.key===c.ESCAPE&&this.handleClose()})}}for(let[s,l]of r.entries())this.assignDataTestids(l,s)}assignDataTestids(e,t,i=0){var s,l,u;const r=i||t,o=(s=e.shadowRoot)==null?void 0:s.querySelector('[role="menu"]');h(o,this.dataTestid,`submenu-${r}`);const n=(u=(l=e.shadowRoot)==null?void 0:l.querySelector("slot"))==null?void 0:u.assignedElements().filter(a=>this.isSubmenu(a)||this.isMenuItem(a));n==null||n.forEach((a,m)=>{const d=`submenu-${r}-item-${m}`;h(a,this.dataTestid,d),this.isSubmenu(a)&&this.assignDataTestids(a,m,r+1)})}handleClose(){this.open=!1;const e=this.querySelectorAll("nsc-submenu");if(e){for(let t of e)t.open=!1;this.focusTriggerButton()}}focusTriggerButton(){var e;(e=this._button)==null||e.focus()}handleArrowDown(e){var n,s,l,u;e.preventDefault();const t=this.querySelectorAll(":scope > nsc-menu-item, :scope > nsc-submenu"),i=this.querySelector(":focus");let r=Array.from(t).indexOf(i);r===-1&&((s=(n=t[0].shadowRoot)==null?void 0:n.querySelector("a"))==null||s.focus());let o=r+1;o>t.length-1&&(o=0),(u=(l=t[o].shadowRoot)==null?void 0:l.querySelector("a"))==null||u.focus()}handleArrowUp(e){var n,s;e.preventDefault();const t=this.querySelectorAll(":scope > nsc-menu-item, :scope > nsc-submenu"),i=this.querySelector(":focus");let o=Array.from(t).indexOf(i)-1;o<0&&(o=t.length-1),(s=(n=t[o].shadowRoot)==null?void 0:n.querySelector("a"))==null||s.focus()}isMenuItem(e){return e.tagName.toLowerCase()==="nsc-menu-item"}isSubmenu(e){return e.tagName.toLowerCase()==="nsc-submenu"}};f.styles=[p(g)];f=v([w("nsc-menu")],f);
@@ -1 +1 @@
1
- import"./base/slds/menu.slds.js";import"./base/gator/menu.gator.js";import"./menu-divider/menu-divider.slds.js";import"./menu-item/slds/menu-item.slds.js";import"./menu-item/gator/menu-item.gator.js";import"./menu-submenu/menu-submenu.slds.js";import"../../assets/index-chunk.js";import"../../assets/index-chunk6.js";import"../../assets/index-chunk3.js";import"./base/menu.js";import"../../assets/index-chunk2.js";import"../../utils/datatestid-utils.js";import"../../utils/string-utils.js";import"../../assets/index-chunk12.js";import"./menu-divider/menu-divider.js";import"./menu-item/menu-item.js";import"../../assets/index-chunk4.js";import"../../assets/index-chunk5.js";import"./menu-submenu/menu-submenu.js";import"../icon/slds/icon.slds.js";import"../icon/icon.js";
1
+ import"./base/slds/menu.slds.js";import"./base/gator/menu.gator.js";import"./menu-divider/menu-divider.slds.js";import"./menu-item/slds/menu-item.slds.js";import"./menu-item/gator/menu-item.gator.js";import"./menu-submenu/menu-submenu.slds.js";import"../../assets/index-chunk.js";import"../../assets/index-chunk6.js";import"../../assets/index-chunk3.js";import"./base/menu.js";import"../../assets/index-chunk2.js";import"../../utils/datatestid-utils.js";import"../../utils/string-utils.js";import"../../consts/key-constants.js";import"../../assets/index-chunk12.js";import"./menu-divider/menu-divider.js";import"./menu-item/menu-item.js";import"../../assets/index-chunk4.js";import"../../assets/index-chunk5.js";import"./menu-submenu/menu-submenu.js";import"../icon/slds/icon.slds.js";import"../icon/icon.js";
@@ -1,13 +1,13 @@
1
- import{k as a}from"../../../../assets/index-chunk.js";import{t as m}from"../../../../assets/index-chunk3.js";import{N as u}from"../menu-item.js";import{p as c}from"../../../../assets/index-chunk4.js";import{s as p}from"../../../../assets/index-chunk5.js";import{m as d}from"../../../../assets/index-chunk12.js";import"../../../../assets/index-chunk2.js";const v='.gator-menu-item{padding:0 .25rem;font-family:var(--ngc-font-family, "Open Sans"),sans-serif;font-size:.9375rem;line-height:1.375rem;font-weight:400}.gator-menu-item a{padding:.725rem .5rem;display:block;color:unset;text-decoration:none;cursor:pointer;border-radius:.25rem}.gator-menu-item a:focus-visible{outline:2px solid var(--color-blue-50, #11395B)}.gator-menu-item:hover{background-color:var(--color-blue-5, #F3F5F7)}li{list-style-type:none}.gator-menu-item:active{background-color:var(--gator-menu-item-pressed-background-color, var(--color-blue-25))}';var f=Object.defineProperty,h=Object.getOwnPropertyDescriptor,g=(t,r,s,o)=>{for(var e=o>1?void 0:o?h(r,s):r,n=t.length-1,i;n>=0;n--)(i=t[n])&&(e=(o?i(r,s,e):i(e))||e);return o&&e&&f(r,s,e),e};let l=class extends u{createRenderRoot(){return this}render(){return a`
2
- <style>${v}</style>
3
- <style>${c}</style>
1
+ import{k as a}from"../../../../assets/index-chunk.js";import{t as l}from"../../../../assets/index-chunk3.js";import{N as c}from"../menu-item.js";import{p as u}from"../../../../assets/index-chunk4.js";import{s as p}from"../../../../assets/index-chunk5.js";import{m as d}from"../../../../assets/index-chunk12.js";import"../../../../assets/index-chunk2.js";import"../../../../consts/key-constants.js";const f='.gator-menu-item{padding:0 .25rem;font-family:var(--ngc-font-family, "Open Sans"),sans-serif;font-size:.9375rem;line-height:1.375rem;font-weight:400}.gator-menu-item a{padding:.725rem .5rem;display:block;color:unset;text-decoration:none;cursor:pointer;border-radius:.25rem}.gator-menu-item a:focus-visible{outline:2px solid var(--color-blue-50, #11395B)}.gator-menu-item:hover{background-color:var(--color-blue-5, #F3F5F7)}li{list-style-type:none}.gator-menu-item:active{background-color:var(--gator-menu-item-pressed-background-color, var(--color-blue-25))}';var v=Object.defineProperty,g=Object.getOwnPropertyDescriptor,y=(s,r,o,t)=>{for(var e=t>1?void 0:t?g(r,o):r,i=s.length-1,n;i>=0;i--)(n=s[i])&&(e=(t?n(r,o,e):n(e))||e);return t&&e&&v(r,o,e),e};let m=class extends c{createRenderRoot(){return this}render(){return a`
2
+ <style>${f}</style>
3
+ <style>${u}</style>
4
4
  <style>${p}</style>
5
5
  <style>${d}</style>
6
6
  <li class="gator-menu-item" role="none">
7
- <a href="javascript:void(0)" role="menuitem" @click="${this.handleItemClick}" @keyup="${this.handleItemKeyup}">
7
+ <a href="javascript:void(0)" role="menuitem" @click="${this.handleItemClick}" @keydown="${this.handleItemKeydown}">
8
8
  <div class="gator-truncate">
9
9
  ${this.value}
10
10
  </div>
11
11
  </a>
12
12
  </li>
13
- `}handleItemKeyup(t){t.key===" "&&this.sendEvent()}handleItemClick(){this.sendEvent()}sendEvent(){this.dispatchEvent(new CustomEvent("menuitemclick",{bubbles:!0,composed:!0,detail:{value:this.value}}))}};l=g([m("ngc-menu-item")],l);
13
+ `}};m=y([l("ngc-menu-item")],m);
@@ -1 +1 @@
1
- import"./slds/menu-item.slds.js";import"./gator/menu-item.gator.js";import"../../../assets/index-chunk.js";import"../../../assets/index-chunk6.js";import"../../../assets/index-chunk3.js";import"../../../assets/index-chunk2.js";import"./menu-item.js";import"../../../assets/index-chunk4.js";import"../../../assets/index-chunk5.js";import"../../../assets/index-chunk12.js";
1
+ import"./slds/menu-item.slds.js";import"./gator/menu-item.gator.js";import"../../../assets/index-chunk.js";import"../../../assets/index-chunk6.js";import"../../../assets/index-chunk3.js";import"../../../assets/index-chunk2.js";import"./menu-item.js";import"../../../consts/key-constants.js";import"../../../assets/index-chunk4.js";import"../../../assets/index-chunk5.js";import"../../../assets/index-chunk12.js";
@@ -1 +1 @@
1
- import{h as p}from"../../../assets/index-chunk.js";import{n as a}from"../../../assets/index-chunk2.js";var u=Object.defineProperty,f=(e,n,o,v)=>{for(var r=void 0,t=e.length-1,s;t>=0;t--)(s=e[t])&&(r=s(n,o,r)||r);return r&&u(n,o,r),r};class i extends p{constructor(){super(...arguments),this.value=""}}f([a({type:String})],i.prototype,"value");export{i as N};
1
+ import{h as o}from"../../../assets/index-chunk.js";import{n as l}from"../../../assets/index-chunk2.js";import{K as a}from"../../../consts/key-constants.js";var u=Object.defineProperty,m=(n,t,r,d)=>{for(var e=void 0,s=n.length-1,i;s>=0;s--)(i=n[s])&&(e=i(t,r,e)||e);return e&&u(t,r,e),e};class v extends o{constructor(){super(...arguments),this.value=""}handleItemKeydown(t){t.key===a.SPACE&&(console.log(this),this.sendEvent())}handleItemClick(){this.sendEvent()}sendEvent(){this.dispatchEvent(new CustomEvent("menuitemclick",{bubbles:!0,composed:!0,detail:{value:this.value}}))}}m([l({type:String})],v.prototype,"value");export{v as N};
@@ -1,9 +1,9 @@
1
- import{r as a,k as m}from"../../../../assets/index-chunk.js";import{s as c}from"../../../../assets/index-chunk6.js";import{t as f}from"../../../../assets/index-chunk3.js";import{n as u}from"../../../../assets/index-chunk2.js";import{N as v}from"../menu-item.js";var _=Object.defineProperty,d=Object.getOwnPropertyDescriptor,p=(n,e,o,r)=>{for(var t=r>1?void 0:r?d(e,o):e,l=n.length-1,i;l>=0;l--)(i=n[l])&&(t=(r?i(e,o,t):i(t))||t);return r&&t&&_(e,o,t),t};let s=class extends v{constructor(){super(...arguments),this.title=""}render(){return m`
1
+ import{r as p,k as a}from"../../../../assets/index-chunk.js";import{s as c}from"../../../../assets/index-chunk6.js";import{t as f}from"../../../../assets/index-chunk3.js";import{n as u}from"../../../../assets/index-chunk2.js";import{N as d}from"../menu-item.js";import"../../../../consts/key-constants.js";var h=Object.defineProperty,v=Object.getOwnPropertyDescriptor,m=(n,e,o,r)=>{for(var t=r>1?void 0:r?v(e,o):e,l=n.length-1,i;l>=0;l--)(i=n[l])&&(t=(r?i(e,o,t):i(t))||t);return r&&t&&h(e,o,t),t};let s=class extends d{constructor(){super(...arguments),this.title=""}render(){return a`
2
2
  <li class="slds-dropdown__item" role="presentation">
3
- <a href="javascript:void(0)">
3
+ <a href="javascript:void(0)" role="menuitem" @click="${this.handleItemClick}" @keydown="${this.handleItemKeydown}">
4
4
  <span class="slds-truncate" title="${this.title}">
5
5
  <slot></slot>
6
6
  </span>
7
7
  </a>
8
8
  </li>
9
- `}};s.styles=[a(c)];p([u({type:String})],s.prototype,"title",2);s=p([f("nsc-menu-item")],s);
9
+ `}};s.styles=[p(c)];m([u({type:String})],s.prototype,"title",2);s=m([f("nsc-menu-item")],s);
@@ -1 +1 @@
1
- import"./menu-submenu.slds.js";import"../../../assets/index-chunk.js";import"../../../assets/index-chunk6.js";import"../../../assets/index-chunk3.js";import"./menu-submenu.js";import"../../../assets/index-chunk2.js";import"../../icon/slds/icon.slds.js";import"../../icon/icon.js";
1
+ import"./menu-submenu.slds.js";import"../../../assets/index-chunk.js";import"../../../assets/index-chunk6.js";import"../../../assets/index-chunk3.js";import"./menu-submenu.js";import"../../../assets/index-chunk2.js";import"../../../consts/key-constants.js";import"../../icon/slds/icon.slds.js";import"../../icon/icon.js";import"../menu-item/slds/menu-item.slds.js";import"../menu-item/menu-item.js";
@@ -1 +1 @@
1
- import{h as y}from"../../../assets/index-chunk.js";import{n as h}from"../../../assets/index-chunk2.js";var w=Object.defineProperty,m=(u,t,s,i)=>{for(var o=void 0,n=u.length-1,r;n>=0;n--)(r=u[n])&&(o=r(t,s,o)||o);return o&&w(t,s,o),o};class d extends y{constructor(){super(...arguments),this.label="",this.open=!1,this._setListeners=!1,this._firstListElement=null}handleItemSlotChange(t){var o;const i=t.target.assignedElements();this._firstListElement=i[0];for(let[n,r]of i.entries()){const l=r.tagName.toLowerCase();if(l==="nsc-menu-item"){r.setAttribute("role","listitem");let e=(o=r.shadowRoot)==null?void 0:o.querySelector("a");e==null||e.setAttribute("role","menuitem"),n===0?e==null||e.setAttribute("tabindex","0"):e==null||e.setAttribute("tabindex","-1")}this._setListeners||(l==="nsc-menu-item"||l==="nsc-submenu")&&r.addEventListener("keydown",e=>{var a,c,f,p;this._setListeners=!0,e.key==="ArrowLeft"?(this.open=!1,(c=(a=this.shadowRoot)==null?void 0:a.querySelector("a"))==null||c.focus(),e.preventDefault(),e.stopPropagation()):e.key==="ArrowDown"?(e.preventDefault(),e.stopPropagation(),this.handleArrowDown(e)):e.key==="ArrowUp"?(e.preventDefault(),e.stopPropagation(),this.handleArrowUp(e)):e.key==="Escape"&&(this.open=!1,e.preventDefault(),e.stopPropagation(),(p=(f=this.shadowRoot)==null?void 0:f.querySelector("a"))==null||p.focus())})}}handleSubmenuItemClicked(){this.open=!this.open}handleAnchorKeydown(t){switch(t.key){case"ArrowRight":this.open=!0,this.focusFirstSubmenuItem(),t.preventDefault();break;case"Enter":case" ":this.open=!this.open,this.focusFirstSubmenuItem(),t.preventDefault();break}}focusFirstSubmenuItem(){setTimeout(()=>{var t,s,i;(i=(s=(t=this._firstListElement)==null?void 0:t.shadowRoot)==null?void 0:s.querySelector("a"))==null||i.focus()},0)}handleArrowDown(t){var r,l,e,a;t.preventDefault();const s=this.querySelectorAll(":scope > nsc-menu-item, :scope > nsc-submenu"),i=this.querySelector(":focus");let o=Array.from(s).indexOf(i);o===-1&&((l=(r=s[0].shadowRoot)==null?void 0:r.querySelector("a"))==null||l.focus());let n=o+1;n>s.length-1&&(n=0),(a=(e=s[n].shadowRoot)==null?void 0:e.querySelector("a"))==null||a.focus()}handleArrowUp(t){var r,l;t.preventDefault();const s=this.querySelectorAll(":scope > nsc-menu-item, :scope > nsc-submenu"),i=this.querySelector(":focus");let n=Array.from(s).indexOf(i)-1;n<0&&(n=s.length-1),(l=(r=s[n].shadowRoot)==null?void 0:r.querySelector("a"))==null||l.focus()}}m([h({type:String})],d.prototype,"label");m([h({type:Boolean})],d.prototype,"open");export{d as N};
1
+ import{h as S}from"../../../assets/index-chunk.js";import{n as m}from"../../../assets/index-chunk2.js";import{K as l}from"../../../consts/key-constants.js";var v=Object.defineProperty,d=(c,t,s,i)=>{for(var o=void 0,n=c.length-1,r;n>=0;n--)(r=c[n])&&(o=r(t,s,o)||o);return o&&v(t,s,o),o};class y extends S{constructor(){super(...arguments),this.label="",this.open=!1,this._setListeners=!1,this._firstListElement=null}handleItemSlotChange(t){var o;const i=t.target.assignedElements();this._firstListElement=i[0];for(let[n,r]of i.entries()){const a=r.tagName.toLowerCase();if(a==="nsc-menu-item"){r.setAttribute("role","listitem");let e=(o=r.shadowRoot)==null?void 0:o.querySelector("a");n===0?e==null||e.setAttribute("tabindex","0"):e==null||e.setAttribute("tabindex","-1")}this._setListeners||(a==="nsc-menu-item"||a==="nsc-submenu")&&r.addEventListener("keydown",e=>{var u,f,p,h;this._setListeners=!0,e.key===l.LEFT?(this.open=!1,(f=(u=this.shadowRoot)==null?void 0:u.querySelector("a"))==null||f.focus(),e.preventDefault(),e.stopPropagation()):e.key===l.DOWN?(e.preventDefault(),e.stopPropagation(),this.handleArrowDown(e)):e.key===l.UP?(e.preventDefault(),e.stopPropagation(),this.handleArrowUp(e)):e.key===l.ESCAPE&&(this.open=!1,e.preventDefault(),e.stopPropagation(),(h=(p=this.shadowRoot)==null?void 0:p.querySelector("a"))==null||h.focus())})}}handleSubmenuItemClicked(){this.open=!this.open}handleAnchorKeydown(t){switch(t.key){case l.RIGHT:t.preventDefault(),t.stopImmediatePropagation(),this.open=!0,this.focusFirstSubmenuItem();break;case l.ENTER:case l.SPACE:t.preventDefault(),t.stopImmediatePropagation(),this.open=!this.open,this.focusFirstSubmenuItem();break}}async focusFirstSubmenuItem(){var t,s,i;await this.updateComplete,(i=(s=(t=this._firstListElement)==null?void 0:t.shadowRoot)==null?void 0:s.querySelector("a"))==null||i.focus()}handleArrowDown(t){var r,a,e,u;t.preventDefault();const s=this.querySelectorAll(":scope > nsc-menu-item, :scope > nsc-submenu"),i=this.querySelector(":focus");let o=Array.from(s).indexOf(i);o===-1&&((a=(r=s[0].shadowRoot)==null?void 0:r.querySelector("a"))==null||a.focus());let n=o+1;n>s.length-1&&(n=0),(u=(e=s[n].shadowRoot)==null?void 0:e.querySelector("a"))==null||u.focus()}handleArrowUp(t){var r,a;t.preventDefault();const s=this.querySelectorAll(":scope > nsc-menu-item, :scope > nsc-submenu"),i=this.querySelector(":focus");let n=Array.from(s).indexOf(i)-1;n<0&&(n=s.length-1),(a=(r=s[n].shadowRoot)==null?void 0:r.querySelector("a"))==null||a.focus()}}d([m({type:String})],y.prototype,"label");d([m({type:Boolean})],y.prototype,"open");export{y as N};
@@ -1,4 +1,4 @@
1
- import{r as d,k as i}from"../../../assets/index-chunk.js";import{s as u}from"../../../assets/index-chunk6.js";import{t as p}from"../../../assets/index-chunk3.js";import{N as m}from"./menu-submenu.js";import"../../icon/slds/icon.slds.js";import"../../../assets/index-chunk2.js";import"../../icon/icon.js";var c=Object.defineProperty,h=Object.getOwnPropertyDescriptor,f=(e,t,o,l)=>{for(var s=l>1?void 0:l?h(t,o):t,r=e.length-1,n;r>=0;r--)(n=e[r])&&(s=(l?n(t,o,s):n(s))||s);return l&&s&&c(t,o,s),s};let a=class extends m{render(){return i`
1
+ import{r as n,k as d}from"../../../assets/index-chunk.js";import{s as p}from"../../../assets/index-chunk6.js";import{t as u}from"../../../assets/index-chunk3.js";import{N as m}from"./menu-submenu.js";import"../../icon/slds/icon.slds.js";import"../menu-item/slds/menu-item.slds.js";import"../../../assets/index-chunk2.js";import"../../../consts/key-constants.js";import"../../icon/icon.js";import"../menu-item/menu-item.js";var c=Object.defineProperty,h=Object.getOwnPropertyDescriptor,f=(e,l,o,t)=>{for(var s=t>1?void 0:t?h(l,o):l,r=e.length-1,a;r>=0;r--)(a=e[r])&&(s=(t?a(l,o,s):a(s))||s);return t&&s&&c(l,o,s),s};let i=class extends m{render(){return d`
2
2
  <li class="slds-dropdown__item slds-has-submenu" role="presentation" @focusout=${this._topLevelFocusOut}>
3
3
  <a role="menuitem" href="javascript:void(0)" aria-haspopup="true" aria-expanded="${this.open}" tabindex="-1" @click="${this.handleSubmenuItemClicked}" @keydown="${this.handleAnchorKeydown}">
4
4
  <span class="slds-truncate" title="${this.label}">
@@ -12,12 +12,10 @@ import{r as d,k as i}from"../../../assets/index-chunk.js";import{s as u}from"../
12
12
  class="slds-icon-text-default slds-m-left_small slds-shrink-none"
13
13
  ></nsc-icon>
14
14
  </a>
15
- ${this.open?i`
16
- <div class="slds-dropdown slds-dropdown_submenu slds-dropdown_submenu-right">
17
- <ul class="slds-dropdown__list" role="menu" aria-label="Show More">
18
- <slot @slotchange="${this.handleItemSlotChange}"></slot>
19
- </ul>
20
- </div>
21
- `:""}
15
+ <div class="slds-dropdown slds-dropdown_submenu slds-dropdown_submenu-right ${this.open?" slds-show":"slds-hide"}" role="menu" aria-label="Show More">
16
+ <ul class="slds-dropdown__list" role="menu" aria-label="Show More">
17
+ <slot @slotchange="${this.handleItemSlotChange}"></slot>
18
+ </ul>
19
+ </div>
22
20
  </li>
23
- `}_topLevelFocusOut(e){e.relatedTarget||(this.open=!1)}};a.styles=[d(u)];a=f([p("nsc-submenu")],a);
21
+ `}_topLevelFocusOut(e){e.relatedTarget||(this.open=!1)}};i.styles=[n(p)];i=f([u("nsc-submenu")],i);
@@ -1 +1 @@
1
- import"./components/alert/gator/base/alert.gator.js";import"./components/alert/gator/subtitle/alert-subtitle.gator.js";import"./components/alert/gator/title/alert-title.gator.js";import"./components/avatar/gator/avatar.gator.js";import"./components/banner/gator/banner.gator.js";import"./components/badge/slds/badge.slds.js";import"./components/badge/gator/badge.gator.js";import"./components/boolean/boolean.gator.js";import"./components/button/slds/button.slds.js";import"./components/button/gator/button.gator.js";import"./components/button-card/gator/button-card.gator.js";import"./components/card/gator/base/card.gator.js";import"./components/card/gator/title/card-title.gator.js";import"./components/card/gator/subtitle/card-subtitle.gator.js";import"./components/card/gator/content/card-content.gator.js";import"./components/card/gator/footer/card-footer.gator.js";import"./components/checkbox/checkbox.gator.js";import"./components/checkbox-group/checkbox-group.gator.js";import"./components/chip/gator/chip.gator.js";import"./components/display-card/gator/display-card.gator.js";import"./components/fab/gator/fab.gator.js";import"./components/headline-card/gator/headline-card.gator.js";import"./components/input/gator/input-label/input-label.gator.js";import"./components/input/gator/help-text/help-text.gator.js";import"./components/input/slds/input-text/input-text.slds.js";import"./components/input/slds/input-error/input-error.slds.js";import"./components/input/slds/input-label/input-label.slds.js";import"./components/icon/slds/icon.slds.js";import"./components/icon/gator/icon.gator.js";import"./components/menu/base/slds/menu.slds.js";import"./components/menu/base/gator/menu.gator.js";import"./components/menu/menu-divider/menu-divider.slds.js";import"./components/menu/menu-item/slds/menu-item.slds.js";import"./components/menu/menu-item/gator/menu-item.gator.js";import"./components/menu/menu-submenu/menu-submenu.slds.js";import"./components/radio/radio.gator.js";import"./components/radio-group/radio-group.gator.js";import"./components/selection-box/selection-box.gator.js";import"./components/selection-box-group/selection-box-group.gator.js";import"./components/skeleton-loader/gator/skeleton-loader.gator.js";import"./components/switch/gator/switch.gator.js";import"./components/text-detail/gator/text-detail.gator.js";import"./components/toast/gator/toast.gator.js";import"./components/tooltip/gator/tooltip.gator.js";import"./components/tooltip/slds/tooltip.slds.js";import"./components/alert/alert.js";import"./assets/index-chunk.js";import"./assets/index-chunk2.js";import"./utils/mixins/attribute-deletion.js";import"./assets/index-chunk3.js";import"./assets/index-chunk4.js";import"./assets/index-chunk5.js";import"./components/icon/gator/templates/arrow-right.js";import"./components/icon/icon-registry.js";import"./components/icon/gator/templates/balloons.js";import"./components/icon/gator/templates/check-circle.js";import"./components/icon/gator/templates/checkbox.js";import"./components/icon/gator/templates/checkbox-selected.js";import"./components/icon/gator/templates/chevron-down.js";import"./components/icon/gator/templates/chevron-right.js";import"./components/icon/gator/templates/chevron-up.js";import"./components/icon/gator/templates/exit.js";import"./components/icon/gator/templates/exit-circle.js";import"./components/icon/gator/templates/info.js";import"./components/icon/gator/templates/picture.js";import"./components/icon/gator/templates/radio.js";import"./components/icon/gator/templates/radio-selected.js";import"./components/icon/gator/templates/restricted.js";import"./components/icon/gator/templates/warning.js";import"./components/avatar/avatar.js";import"./assets/index-chunk7.js";import"./assets/index-chunk8.js";import"./components/banner/banner.js";import"./assets/index-chunk6.js";import"./components/badge/badge.js";import"./utils/string-utils.js";import"./components/button/button.js";import"./components/button-card/button-card.js";import"./components/card/card.js";import"./assets/index-chunk9.js";import"./assets/index-chunk10.js";import"./utils/lightdom-utils.js";import"./components/chip/chip.js";import"./components/display-card/display-card.js";import"./components/fab/fab.js";import"./components/headline-card/headline-card.js";import"./assets/index-chunk11.js";import"./components/input/base/input-base.js";import"./components/icon/icon.js";import"./components/menu/base/menu.js";import"./utils/datatestid-utils.js";import"./assets/index-chunk12.js";import"./components/menu/menu-divider/menu-divider.js";import"./components/menu/menu-item/menu-item.js";import"./components/menu/menu-submenu/menu-submenu.js";import"./consts/key-constants.js";import"./components/switch/switch.js";import"./components/text-detail/text-detail.js";import"./components/toast/toast.js";import"./components/tooltip/tooltip.js";import"./assets/index-chunk13.js";
1
+ import"./components/alert/gator/base/alert.gator.js";import"./components/alert/gator/subtitle/alert-subtitle.gator.js";import"./components/alert/gator/title/alert-title.gator.js";import"./components/avatar/gator/avatar.gator.js";import"./components/banner/gator/banner.gator.js";import"./components/badge/slds/badge.slds.js";import"./components/badge/gator/badge.gator.js";import"./components/boolean/boolean.gator.js";import"./components/button/slds/button.slds.js";import"./components/button/gator/button.gator.js";import"./components/button-card/gator/button-card.gator.js";import"./components/card/gator/base/card.gator.js";import"./components/card/gator/title/card-title.gator.js";import"./components/card/gator/subtitle/card-subtitle.gator.js";import"./components/card/gator/content/card-content.gator.js";import"./components/card/gator/footer/card-footer.gator.js";import"./components/checkbox/checkbox.gator.js";import"./components/checkbox-group/checkbox-group.gator.js";import"./components/chip/gator/chip.gator.js";import"./components/display-card/gator/display-card.gator.js";import"./components/fab/gator/fab.gator.js";import"./components/headline-card/gator/headline-card.gator.js";import"./components/input/gator/input-label/input-label.gator.js";import"./components/input/gator/help-text/help-text.gator.js";import"./components/input/slds/input-text/input-text.slds.js";import"./components/input/slds/input-error/input-error.slds.js";import"./components/input/slds/input-label/input-label.slds.js";import"./components/icon/slds/icon.slds.js";import"./components/icon/gator/icon.gator.js";import"./components/menu/base/slds/menu.slds.js";import"./components/menu/base/gator/menu.gator.js";import"./components/menu/menu-divider/menu-divider.slds.js";import"./components/menu/menu-item/slds/menu-item.slds.js";import"./components/menu/menu-item/gator/menu-item.gator.js";import"./components/menu/menu-submenu/menu-submenu.slds.js";import"./components/radio/radio.gator.js";import"./components/radio-group/radio-group.gator.js";import"./components/selection-box/selection-box.gator.js";import"./components/selection-box-group/selection-box-group.gator.js";import"./components/skeleton-loader/gator/skeleton-loader.gator.js";import"./components/switch/gator/switch.gator.js";import"./components/text-detail/gator/text-detail.gator.js";import"./components/toast/gator/toast.gator.js";import"./components/tooltip/gator/tooltip.gator.js";import"./components/tooltip/slds/tooltip.slds.js";import"./components/alert/alert.js";import"./assets/index-chunk.js";import"./assets/index-chunk2.js";import"./utils/mixins/attribute-deletion.js";import"./assets/index-chunk3.js";import"./assets/index-chunk4.js";import"./assets/index-chunk5.js";import"./components/icon/gator/templates/arrow-right.js";import"./components/icon/icon-registry.js";import"./components/icon/gator/templates/balloons.js";import"./components/icon/gator/templates/check-circle.js";import"./components/icon/gator/templates/checkbox.js";import"./components/icon/gator/templates/checkbox-selected.js";import"./components/icon/gator/templates/chevron-down.js";import"./components/icon/gator/templates/chevron-right.js";import"./components/icon/gator/templates/chevron-up.js";import"./components/icon/gator/templates/exit.js";import"./components/icon/gator/templates/exit-circle.js";import"./components/icon/gator/templates/info.js";import"./components/icon/gator/templates/picture.js";import"./components/icon/gator/templates/radio.js";import"./components/icon/gator/templates/radio-selected.js";import"./components/icon/gator/templates/restricted.js";import"./components/icon/gator/templates/warning.js";import"./components/avatar/avatar.js";import"./assets/index-chunk7.js";import"./assets/index-chunk8.js";import"./components/banner/banner.js";import"./assets/index-chunk6.js";import"./components/badge/badge.js";import"./utils/string-utils.js";import"./components/button/button.js";import"./components/button-card/button-card.js";import"./components/card/card.js";import"./assets/index-chunk9.js";import"./assets/index-chunk10.js";import"./utils/lightdom-utils.js";import"./components/chip/chip.js";import"./components/display-card/display-card.js";import"./components/fab/fab.js";import"./components/headline-card/headline-card.js";import"./assets/index-chunk11.js";import"./components/input/base/input-base.js";import"./components/icon/icon.js";import"./components/menu/base/menu.js";import"./utils/datatestid-utils.js";import"./consts/key-constants.js";import"./assets/index-chunk12.js";import"./components/menu/menu-divider/menu-divider.js";import"./components/menu/menu-item/menu-item.js";import"./components/menu/menu-submenu/menu-submenu.js";import"./components/switch/switch.js";import"./components/text-detail/text-detail.js";import"./components/toast/toast.js";import"./components/tooltip/tooltip.js";import"./assets/index-chunk13.js";
@@ -9,10 +9,13 @@ export declare class NjcSldsMenu extends NjcMenu {
9
9
  private _topLevelFocusOut;
10
10
  focusFirstMenuItem(): void;
11
11
  handleItemSlotChange(e: Event): void;
12
- assignDataTestids(submenu: Element, index: number): void;
12
+ assignDataTestids(submenu: Element, index: number, parentIndex?: number): void;
13
13
  handleClose(): void;
14
+ focusTriggerButton(): void;
14
15
  handleArrowDown(e: KeyboardEvent): void;
15
16
  handleArrowUp(e: KeyboardEvent): void;
17
+ isMenuItem(node: Element): boolean;
18
+ isSubmenu(node: Element): boolean;
16
19
  }
17
20
  declare global {
18
21
  interface HTMLElementTagNameMap {
@@ -5,7 +5,4 @@ export declare class NgcMenuItem extends NjcMenuItem {
5
5
  */
6
6
  createRenderRoot(): this;
7
7
  render(): import('lit').TemplateResult<1>;
8
- handleItemKeyup(e: KeyboardEvent): void;
9
- handleItemClick(): void;
10
- sendEvent(): void;
11
8
  }
@@ -5,4 +5,7 @@ export declare class NjcMenuItem extends LitElement {
5
5
  * @type {string}
6
6
  */
7
7
  value: string;
8
+ handleItemKeydown(e: KeyboardEvent): void;
9
+ handleItemClick(): void;
10
+ sendEvent(): void;
8
11
  }
@@ -11,7 +11,7 @@ export declare class NjcSubmenu extends LitElement {
11
11
  handleItemSlotChange(e: Event): void;
12
12
  handleSubmenuItemClicked(): void;
13
13
  handleAnchorKeydown(e: KeyboardEvent): void;
14
- focusFirstSubmenuItem(): void;
14
+ focusFirstSubmenuItem(): Promise<void>;
15
15
  handleArrowDown(e: KeyboardEvent): void;
16
16
  handleArrowUp(e: KeyboardEvent): void;
17
17
  }
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@ncino/web-components",
3
3
  "author": "nCino",
4
- "packageManager": "pnpm@9.12.1",
5
- "version": "1.1.0-preview.3",
4
+ "packageManager": "pnpm@9.12.2",
5
+ "version": "1.1.0-preview.4",
6
6
  "license": "(c) Copyright 2023 nCino, Inc., all rights reserved",
7
7
  "publishConfig": {
8
8
  "registry": "https://registry.npmjs.org/"
@@ -64,57 +64,57 @@
64
64
  "dependencies": {
65
65
  "@floating-ui/dom": "^1.6.11",
66
66
  "ckeditor5": "^43.2.0",
67
- "lit": "^3.2.0"
67
+ "lit": "^3.2.1"
68
68
  },
69
69
  "devDependencies": {
70
70
  "@custom-elements-manifest/analyzer": "0.10.3",
71
- "@lit/react": "^1.0.5",
72
- "@salesforce-ux/design-system": "^2.25.2",
73
- "@storybook/addon-a11y": "^8.3.5",
74
- "@storybook/addon-actions": "^8.3.5",
71
+ "@geometricpanda/storybook-addon-badges": "^2.0.5",
72
+ "@lit/react": "^1.0.6",
73
+ "@salesforce-ux/design-system": "^2.25.3",
74
+ "@storybook/addon-a11y": "^8.3.6",
75
+ "@storybook/addon-actions": "^8.3.6",
75
76
  "@storybook/addon-designs": "^8.0.3",
76
- "@storybook/addon-docs": "^8.3.5",
77
- "@storybook/addon-essentials": "^8.3.5",
78
- "@storybook/addon-links": "^8.3.5",
79
- "@storybook/blocks": "^8.3.5",
80
- "@storybook/test": "^8.3.5",
81
- "@storybook/web-components": "^8.3.5",
82
- "@storybook/web-components-vite": "^8.3.5",
77
+ "@storybook/addon-docs": "^8.3.6",
78
+ "@storybook/addon-essentials": "^8.3.6",
79
+ "@storybook/addon-links": "^8.3.6",
80
+ "@storybook/blocks": "^8.3.6",
81
+ "@storybook/test": "^8.3.6",
82
+ "@storybook/web-components": "^8.3.6",
83
+ "@storybook/web-components-vite": "^8.3.6",
83
84
  "@types/react": "^18.3.11",
84
- "@typescript-eslint/parser": "^8.8.0",
85
- "@vitest/browser": "^2.1.2",
86
- "@vitest/coverage-istanbul": "^2.1.2",
87
- "@vitest/ui": "2.1.2",
85
+ "@typescript-eslint/parser": "^8.11.0",
86
+ "@vitest/browser": "^2.1.3",
87
+ "@vitest/coverage-istanbul": "^2.1.3",
88
+ "@vitest/ui": "2.1.3",
88
89
  "cem-plugin-expanded-types": "^1.3.3",
89
- "chromatic": "^11.11.0",
90
+ "chromatic": "^11.13.0",
90
91
  "conventional-changelog-conventionalcommits": "^8.0.0",
91
92
  "custom-element-jet-brains-integration": "^1.6.2",
92
93
  "custom-elements-manifest": "^2.1.0",
93
- "eslint": "^9.12.0",
94
+ "eslint": "^9.13.0",
94
95
  "eslint-config-standard": "^17.1.0",
95
96
  "eslint-plugin-import": "^2.31.0",
96
97
  "eslint-plugin-json": "^4.0.1",
97
- "eslint-plugin-n": "^17.10.3",
98
+ "eslint-plugin-n": "^17.11.1",
98
99
  "eslint-plugin-promise": "^7.1.0",
99
- "eslint-plugin-storybook": "^0.9.0",
100
+ "eslint-plugin-storybook": "^0.10.1",
100
101
  "eslint-plugin-yml": "1.14.0",
101
102
  "glob": "^11.0.0",
102
103
  "jsdom": "25.0.1",
103
104
  "postcss": "^8.4.47",
104
105
  "react": "^18.3.1",
105
106
  "rimraf": "^6.0.1",
106
- "sass": "1.79.4",
107
- "storybook": "^8.3.5",
108
- "storybook-addon-badges": "^1.0.3",
107
+ "sass": "1.80.3",
108
+ "storybook": "^8.3.6",
109
109
  "storybook-dark-mode": "^4.0.2",
110
110
  "storybook-design-token": "^3.1.0",
111
- "typescript": "^5.6.2",
112
- "vite": "^5.4.8",
113
- "vite-plugin-dts": "4.2.3",
111
+ "typescript": "^5.6.3",
112
+ "vite": "^5.4.9",
113
+ "vite-plugin-dts": "4.2.4",
114
114
  "vite-plugin-static-copy": "^1.0.6",
115
- "vitest": "^2.1.2",
115
+ "vitest": "^2.1.3",
116
116
  "wc-storybook-helpers": "2.0.3",
117
- "webdriverio": "^9.1.2",
117
+ "webdriverio": "^9.2.1",
118
118
  "yaml-eslint-parser": "^1.2.3"
119
119
  },
120
120
  "bugs": {
package/web-types.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "name": "@ncino/web-components",
4
- "version": "1.1.0-preview.2",
4
+ "version": "1.1.0-preview.3",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -1179,7 +1179,7 @@
1179
1179
  },
1180
1180
  {
1181
1181
  "name": "nsc-menu-item",
1182
- "description": "\n---\n",
1182
+ "description": "\n---\n\n\n### **Events:**\n - **menuitemclick**",
1183
1183
  "doc-url": "",
1184
1184
  "attributes": [
1185
1185
  { "name": "title", "value": { "type": "string", "default": "''" } },
@@ -1189,7 +1189,7 @@
1189
1189
  "value": { "type": "string", "default": "''" }
1190
1190
  }
1191
1191
  ],
1192
- "events": [],
1192
+ "events": [{ "name": "menuitemclick", "type": "CustomEvent" }],
1193
1193
  "js": {
1194
1194
  "properties": [
1195
1195
  { "name": "title", "type": "string" },
@@ -1199,7 +1199,7 @@
1199
1199
  "type": "string"
1200
1200
  }
1201
1201
  ],
1202
- "events": []
1202
+ "events": [{ "name": "menuitemclick", "type": "CustomEvent" }]
1203
1203
  }
1204
1204
  },
1205
1205
  {