scb-wc-test 0.1.282 → 0.1.284

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,4 +1,4 @@
1
- import{a as g,n as c,i as v,x as h,t as S}from"../../vendor/vendor.js";import"../scb-icon-button/scb-icon-button.js";import"../scb-button/scb-button.js";import"../../vendor/vendor-material.js";import"../../vendor/preload-helper.js";(function(){try{var t=typeof globalThis<"u"?globalThis:window;if(!t.__scb_ce_guard_installed__){t.__scb_ce_guard_installed__=!0;var l=customElements.define.bind(customElements);customElements.define=function(s,r,e){try{customElements.get(s)||l(s,r,e)}catch(n){var a=String(n||"");if(a.indexOf("already been used")===-1&&a.indexOf("NotSupportedError")===-1)throw n}}}}catch{}})();var m=Object.defineProperty,y=Object.getOwnPropertyDescriptor,b=t=>{throw TypeError(t)},i=(t,l,s,r)=>{for(var e=r>1?void 0:r?y(l,s):l,a=t.length-1,n;a>=0;a--)(n=t[a])&&(e=(r?n(l,s,e):n(e))||e);return r&&e&&m(l,s,e),e},w=(t,l,s)=>l.has(t)||b("Cannot "+s),z=(t,l,s)=>l.has(t)?b("Cannot add the same private member more than once"):l instanceof WeakSet?l.add(t):l.set(t,s),p=(t,l,s)=>(w(t,l,"access private method"),s),d,u,f;let o=class extends v{constructor(){super(...arguments),z(this,d),this.variant="standard",this.width="100%",this.showScrollbar=!1,this.rightScrollButtonLabel="Scrolla höger",this.leftScrollButtonLabel="Scrolla vänster",this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.contentFlex=!1,this.internalGap="",this.updateScrollButtons=()=>{this.requestUpdate();const t=this.shadowRoot?.querySelector(".scb-horizontal-scroller");if(!t)return;t.scrollLeft>0?this.setAttribute("data-scroll-left",""):this.removeAttribute("data-scroll-left");const l=t;l.scrollLeft+l.clientWidth<l.scrollWidth-1?this.setAttribute("data-scroll-right",""):this.removeAttribute("data-scroll-right")},this.lastScrollLeft=0,this.isScrolling=!1,this.scrollEndTimeout=null,this.scrollerEl=null,this.slotEl=null,this.sizeObserver=null,this.resizeRaf=null,this.handleScroll=()=>{const t=this.shadowRoot?.querySelector(".scb-horizontal-scroller");t&&(this.updateScrollButtons(),this.dispatchCustomEventWithAlias("scb-scroll",{scrollLeft:t.scrollLeft}),this.isScrolling||(this.isScrolling=!0,this.dispatchCustomEventWithAlias("scb-scroll-start",{scrollLeft:t.scrollLeft})),clearTimeout(this.scrollEndTimeout),this.scrollEndTimeout=setTimeout(()=>{this.isScrolling=!1,this.dispatchCustomEventWithAlias("scb-scroll-end",{scrollLeft:t.scrollLeft})},120),t.scrollLeft>this.lastScrollLeft?this.dispatchCustomEventWithAlias("scb-scroll-right",{scrollLeft:t.scrollLeft}):t.scrollLeft<this.lastScrollLeft&&this.dispatchCustomEventWithAlias("scb-scroll-left",{scrollLeft:t.scrollLeft}),this.lastScrollLeft=t.scrollLeft)},this.handleWheel=t=>{const l=this.scrollerEl||this.shadowRoot?.querySelector(".scb-horizontal-scroller");if(!l||t.deltaY===0)return;const s=l.scrollLeft,r=s>0,e=s+l.clientWidth<l.scrollWidth-1;!r&&!e||(l.scrollLeft+=t.deltaY,l.scrollLeft!==s&&t.preventDefault())}}doScrollBy(t){const l=this.shadowRoot?.querySelector(".scb-horizontal-scroller");l&&l.scrollBy({left:t,behavior:"smooth"})}get canScrollLeft(){const t=this.shadowRoot?.querySelector(".scb-horizontal-scroller");return t?t.scrollLeft>0:!1}get canScrollRight(){const t=this.shadowRoot?.querySelector(".scb-horizontal-scroller");if(!t)return!1;const l=t;return l.scrollLeft+l.clientWidth<l.scrollWidth-1}connectedCallback(){super.connectedCallback(),this.addEventListener("scroll",this.updateScrollButtons,!0)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("scroll",this.updateScrollButtons,!0),this.scrollerEl&&(this.scrollerEl.removeEventListener("scroll",this.handleScroll),this.scrollerEl.removeEventListener("wheel",this.handleWheel)),this.sizeObserver&&(this.sizeObserver.disconnect(),this.sizeObserver=null),this.resizeRaf!==null&&(cancelAnimationFrame(this.resizeRaf),this.resizeRaf=null),this.scrollEndTimeout&&(clearTimeout(this.scrollEndTimeout),this.scrollEndTimeout=null),this.scrollerEl=null,this.slotEl=null}dispatchCustomEvent(t,l={}){this.dispatchEvent(new CustomEvent(t,{detail:l,bubbles:!0,composed:!0}))}dispatchCustomEventWithAlias(t,l={}){if(this.dispatchCustomEvent(t,l),t.includes("-")){const s=t.replace(/-/g,"");this.dispatchCustomEvent(s,l)}}firstUpdated(){this.scrollerEl=this.shadowRoot?.querySelector(".scb-horizontal-scroller"),this.slotEl=this.shadowRoot?.querySelector("slot");const t=this.shadowRoot?.querySelector(".scroll-shadow-left"),l=this.shadowRoot?.querySelector(".scroll-shadow-right");this.scrollerEl&&(this.scrollerEl.addEventListener("scroll",this.handleScroll),this.scrollerEl.addEventListener("wheel",this.handleWheel,{passive:!1}));const s=()=>{if(this.slotEl&&t&&l){const a=this.slotEl.getBoundingClientRect();t.style.height=`${a.height}px`,l.style.height=`${a.height}px`}},r=()=>{s(),this.updateScrollButtons()},e=()=>{this.resizeRaf===null&&(this.resizeRaf=requestAnimationFrame(()=>{this.resizeRaf=null,r()}))};r(),this.slotEl&&this.slotEl.addEventListener("slotchange",()=>{e()}),this.sizeObserver=new ResizeObserver(()=>{e()}),this.scrollerEl&&this.sizeObserver.observe(this.scrollerEl),this.slotEl&&this.sizeObserver.observe(this.slotEl),this.updateComplete.then(()=>{r()}),p(this,d,u).call(this),p(this,d,f).call(this)}updated(t){t.has("width")&&(this.style.setProperty("--scb-horizontal-scroller-width",this.width),this.updateScrollButtons()),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&p(this,d,u).call(this),(t.has("internalGap")||t.has("contentFlex"))&&p(this,d,f).call(this),(t.has("variant")||t.has("showScrollbar")||t.has("rightScrollButtonLabel")||t.has("leftScrollButtonLabel"))&&this.updateScrollButtons()}mapSpacingToken(t){if(!t)return;const l=String(t).trim();if(l)return/^\d+$/.test(l)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(l,10)))})`:l}render(){const t=this.variant,l=!!(this.canScrollLeft||this.canScrollRight);switch(t){case"inline":return h`
1
+ import{a as v,n as a,r as b,i as S,x as h,t as m}from"../../vendor/vendor.js";import"../scb-icon-button/scb-icon-button.js";import"../scb-button/scb-button.js";import"../../vendor/vendor-material.js";import"../../vendor/preload-helper.js";(function(){try{var t=typeof globalThis<"u"?globalThis:window;if(!t.__scb_ce_guard_installed__){t.__scb_ce_guard_installed__=!0;var l=customElements.define.bind(customElements);customElements.define=function(s,i,r){try{customElements.get(s)||l(s,i,r)}catch(n){var c=String(n||"");if(c.indexOf("already been used")===-1&&c.indexOf("NotSupportedError")===-1)throw n}}}}catch{}})();var y=Object.defineProperty,w=Object.getOwnPropertyDescriptor,g=t=>{throw TypeError(t)},o=(t,l,s,i)=>{for(var r=i>1?void 0:i?w(l,s):l,c=t.length-1,n;c>=0;c--)(n=t[c])&&(r=(i?n(l,s,r):n(r))||r);return i&&r&&y(l,s,r),r},z=(t,l,s)=>l.has(t)||g("Cannot "+s),_=(t,l,s)=>l.has(t)?g("Cannot add the same private member more than once"):l instanceof WeakSet?l.add(t):l.set(t,s),p=(t,l,s)=>(z(t,l,"access private method"),s),d,f,u;let e=class extends S{constructor(){super(...arguments),_(this,d),this.variant="standard",this.width="100%",this.showScrollbar=!1,this.rightScrollButtonLabel="Scrolla höger",this.leftScrollButtonLabel="Scrolla vänster",this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.contentFlex=!1,this.internalGap="",this._canScrollLeft=!1,this._canScrollRight=!1,this.updateScrollButtons=()=>{const t=this.scrollerEl||this.shadowRoot?.querySelector(".scb-horizontal-scroller");if(!t){this._canScrollLeft&&(this._canScrollLeft=!1),this._canScrollRight&&(this._canScrollRight=!1),this.removeAttribute("data-scroll-left"),this.removeAttribute("data-scroll-right");return}const l=t.scrollLeft>0,s=t.scrollLeft+t.clientWidth<t.scrollWidth-1;this._canScrollLeft!==l&&(this._canScrollLeft=l),this._canScrollRight!==s&&(this._canScrollRight=s),l?this.setAttribute("data-scroll-left",""):this.removeAttribute("data-scroll-left"),s?this.setAttribute("data-scroll-right",""):this.removeAttribute("data-scroll-right")},this.lastScrollLeft=0,this.isScrolling=!1,this.scrollEndTimeout=null,this.scrollerEl=null,this.slotEl=null,this.sizeObserver=null,this.resizeRaf=null,this.handleScroll=()=>{const t=this.shadowRoot?.querySelector(".scb-horizontal-scroller");t&&(this.updateScrollButtons(),this.dispatchCustomEventWithAlias("scb-scroll",{scrollLeft:t.scrollLeft}),this.isScrolling||(this.isScrolling=!0,this.dispatchCustomEventWithAlias("scb-scroll-start",{scrollLeft:t.scrollLeft})),clearTimeout(this.scrollEndTimeout),this.scrollEndTimeout=setTimeout(()=>{this.isScrolling=!1,this.dispatchCustomEventWithAlias("scb-scroll-end",{scrollLeft:t.scrollLeft})},120),t.scrollLeft>this.lastScrollLeft?this.dispatchCustomEventWithAlias("scb-scroll-right",{scrollLeft:t.scrollLeft}):t.scrollLeft<this.lastScrollLeft&&this.dispatchCustomEventWithAlias("scb-scroll-left",{scrollLeft:t.scrollLeft}),this.lastScrollLeft=t.scrollLeft)},this.handleWheel=t=>{const l=this.scrollerEl||this.shadowRoot?.querySelector(".scb-horizontal-scroller");if(!l||t.deltaY===0)return;const s=l.scrollLeft,i=s>0,r=s+l.clientWidth<l.scrollWidth-1;!i&&!r||(l.scrollLeft+=t.deltaY,l.scrollLeft!==s&&t.preventDefault())}}doScrollBy(t){const l=this.shadowRoot?.querySelector(".scb-horizontal-scroller");l&&l.scrollBy({left:t,behavior:"smooth"})}connectedCallback(){super.connectedCallback(),this.style.setProperty("--scb-horizontal-scroller-width",this.width)}disconnectedCallback(){super.disconnectedCallback(),this.scrollerEl&&(this.scrollerEl.removeEventListener("scroll",this.handleScroll),this.scrollerEl.removeEventListener("wheel",this.handleWheel)),this.sizeObserver&&(this.sizeObserver.disconnect(),this.sizeObserver=null),this.resizeRaf!==null&&(cancelAnimationFrame(this.resizeRaf),this.resizeRaf=null),this.scrollEndTimeout&&(clearTimeout(this.scrollEndTimeout),this.scrollEndTimeout=null),this.scrollerEl=null,this.slotEl=null}dispatchCustomEvent(t,l={}){this.dispatchEvent(new CustomEvent(t,{detail:l,bubbles:!0,composed:!0}))}dispatchCustomEventWithAlias(t,l={}){if(this.dispatchCustomEvent(t,l),t.includes("-")){const s=t.replace(/-/g,"");this.dispatchCustomEvent(s,l)}}firstUpdated(){this.scrollerEl=this.shadowRoot?.querySelector(".scb-horizontal-scroller"),this.slotEl=this.shadowRoot?.querySelector("slot");const t=this.shadowRoot?.querySelector(".scroll-shadow-left"),l=this.shadowRoot?.querySelector(".scroll-shadow-right");this.scrollerEl&&(this.scrollerEl.addEventListener("scroll",this.handleScroll),this.scrollerEl.addEventListener("wheel",this.handleWheel,{passive:!1}));const s=()=>{if(this.slotEl&&t&&l){const c=this.slotEl.getBoundingClientRect();t.style.height=`${c.height}px`,l.style.height=`${c.height}px`}},i=()=>{s(),this.updateScrollButtons()},r=()=>{this.resizeRaf===null&&(this.resizeRaf=requestAnimationFrame(()=>{this.resizeRaf=null,i()}))};requestAnimationFrame(()=>{i()}),this.slotEl&&this.slotEl.addEventListener("slotchange",()=>{r()}),this.sizeObserver=new ResizeObserver(()=>{r()}),this.scrollerEl&&this.sizeObserver.observe(this.scrollerEl),this.slotEl&&this.sizeObserver.observe(this.slotEl),p(this,d,f).call(this),p(this,d,u).call(this)}updated(t){t.has("width")&&this.style.setProperty("--scb-horizontal-scroller-width",this.width),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&p(this,d,f).call(this),(t.has("internalGap")||t.has("contentFlex"))&&p(this,d,u).call(this)}mapSpacingToken(t){if(!t)return;const l=String(t).trim();if(l)return/^\d+$/.test(l)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(l,10)))})`:l}render(){const t=this.variant,l=this._canScrollLeft||this._canScrollRight;switch(t){case"inline":return h`
2
2
  <div class="scb-horizontal-scroller ${l?"canScroll":""}" tabindex="0">
3
3
  ${this.variant!="inline"?h`<div class="scroll-shadow-left"></div>`:""}
4
4
  <slot></slot>
@@ -7,7 +7,7 @@ import{a as g,n as c,i as v,x as h,t as S}from"../../vendor/vendor.js";import"..
7
7
  </div>
8
8
  ${l?h`
9
9
  <div class="scroll-buttons">
10
- ${this.canScrollLeft?h`
10
+ ${this._canScrollLeft?h`
11
11
  <scb-button
12
12
  class="scroll-button-left"
13
13
  variant="text"
@@ -18,7 +18,7 @@ import{a as g,n as c,i as v,x as h,t as S}from"../../vendor/vendor.js";import"..
18
18
  ></scb-button>
19
19
  `:""}
20
20
 
21
- ${this.canScrollRight?h`
21
+ ${this._canScrollRight?h`
22
22
  <scb-button
23
23
  class="scroll-button-right"
24
24
  variant="text"
@@ -32,7 +32,7 @@ import{a as g,n as c,i as v,x as h,t as S}from"../../vendor/vendor.js";import"..
32
32
  </div>
33
33
  `:""}
34
34
  `;default:return h`
35
- ${this.canScrollLeft?h`
35
+ ${this._canScrollLeft?h`
36
36
  <scb-icon-button
37
37
  class="scroll-button-left"
38
38
  icon="chevron_left"
@@ -47,7 +47,7 @@ import{a as g,n as c,i as v,x as h,t as S}from"../../vendor/vendor.js";import"..
47
47
  <md-focus-ring inward></md-focus-ring>
48
48
  </div>
49
49
  <div class="scroll-shadow-right"></div>
50
- ${this.canScrollRight?h`
50
+ ${this._canScrollRight?h`
51
51
  <scb-icon-button
52
52
  class="scroll-button-right"
53
53
  icon="chevron_right"
@@ -56,7 +56,7 @@ import{a as g,n as c,i as v,x as h,t as S}from"../../vendor/vendor.js";import"..
56
56
  @click="${()=>this.doScrollBy(100)}"
57
57
  ></scb-icon-button>
58
58
  `:""}
59
- `}}};d=new WeakSet;u=function(){const t=this.mapSpacingToken(this.spacing),l=this.mapSpacingToken(this.spacingTop),s=this.mapSpacingToken(this.spacingBottom),r=this.mapSpacingToken(this.spacingLeft),e=this.mapSpacingToken(this.spacingRight),a=l??t,n=s??t;a?this.style.setProperty("--scb-horizontal-scroller-spacing-block-start",a):this.style.removeProperty("--scb-horizontal-scroller-spacing-block-start"),n?this.style.setProperty("--scb-horizontal-scroller-spacing-block-end",n):this.style.removeProperty("--scb-horizontal-scroller-spacing-block-end"),r?this.style.setProperty("--scb-horizontal-scroller-spacing-inline-start",r):this.style.removeProperty("--scb-horizontal-scroller-spacing-inline-start"),e?this.style.setProperty("--scb-horizontal-scroller-spacing-inline-end",e):this.style.removeProperty("--scb-horizontal-scroller-spacing-inline-end")};f=function(){const t=this.mapSpacingToken(this.internalGap);this.contentFlex&&t?this.style.setProperty("--scb-horizontal-scroller-internal-gap",t):this.style.removeProperty("--scb-horizontal-scroller-internal-gap")};o.styles=g`
59
+ `}}};d=new WeakSet;f=function(){const t=this.mapSpacingToken(this.spacing),l=this.mapSpacingToken(this.spacingTop),s=this.mapSpacingToken(this.spacingBottom),i=this.mapSpacingToken(this.spacingLeft),r=this.mapSpacingToken(this.spacingRight),c=l??t,n=s??t;c?this.style.setProperty("--scb-horizontal-scroller-spacing-block-start",c):this.style.removeProperty("--scb-horizontal-scroller-spacing-block-start"),n?this.style.setProperty("--scb-horizontal-scroller-spacing-block-end",n):this.style.removeProperty("--scb-horizontal-scroller-spacing-block-end"),i?this.style.setProperty("--scb-horizontal-scroller-spacing-inline-start",i):this.style.removeProperty("--scb-horizontal-scroller-spacing-inline-start"),r?this.style.setProperty("--scb-horizontal-scroller-spacing-inline-end",r):this.style.removeProperty("--scb-horizontal-scroller-spacing-inline-end")};u=function(){const t=this.mapSpacingToken(this.internalGap);this.contentFlex&&t?this.style.setProperty("--scb-horizontal-scroller-internal-gap",t):this.style.removeProperty("--scb-horizontal-scroller-internal-gap")};e.styles=v`
60
60
  :host {
61
61
  display: flex;
62
62
  position: relative;
@@ -192,4 +192,4 @@ import{a as g,n as c,i as v,x as h,t as S}from"../../vendor/vendor.js";import"..
192
192
  :host([variant='inline'][show-scrollbar]) {
193
193
  gap: var(--spacing-5);
194
194
  }
195
- `;i([c({type:String,reflect:!0})],o.prototype,"variant",2);i([c({type:String,reflect:!0})],o.prototype,"width",2);i([c({type:Boolean,reflect:!0,attribute:"show-scrollbar"})],o.prototype,"showScrollbar",2);i([c({type:String,reflect:!0,attribute:"right-scroll-button-label"})],o.prototype,"rightScrollButtonLabel",2);i([c({type:String,reflect:!0,attribute:"left-scroll-button-label"})],o.prototype,"leftScrollButtonLabel",2);i([c({type:String,reflect:!0})],o.prototype,"spacing",2);i([c({type:String,reflect:!0,attribute:"spacing-top"})],o.prototype,"spacingTop",2);i([c({type:String,reflect:!0,attribute:"spacing-bottom"})],o.prototype,"spacingBottom",2);i([c({type:String,reflect:!0,attribute:"spacing-left"})],o.prototype,"spacingLeft",2);i([c({type:String,reflect:!0,attribute:"spacing-right"})],o.prototype,"spacingRight",2);i([c({type:Boolean,reflect:!0,attribute:"content-flex"})],o.prototype,"contentFlex",2);i([c({type:String,reflect:!0,attribute:"internal-gap"})],o.prototype,"internalGap",2);o=i([S("scb-horizontal-scroller")],o);
195
+ `;o([a({type:String,reflect:!0})],e.prototype,"variant",2);o([a({type:String,reflect:!0})],e.prototype,"width",2);o([a({type:Boolean,reflect:!0,attribute:"show-scrollbar"})],e.prototype,"showScrollbar",2);o([a({type:String,reflect:!0,attribute:"right-scroll-button-label"})],e.prototype,"rightScrollButtonLabel",2);o([a({type:String,reflect:!0,attribute:"left-scroll-button-label"})],e.prototype,"leftScrollButtonLabel",2);o([a({type:String,reflect:!0})],e.prototype,"spacing",2);o([a({type:String,reflect:!0,attribute:"spacing-top"})],e.prototype,"spacingTop",2);o([a({type:String,reflect:!0,attribute:"spacing-bottom"})],e.prototype,"spacingBottom",2);o([a({type:String,reflect:!0,attribute:"spacing-left"})],e.prototype,"spacingLeft",2);o([a({type:String,reflect:!0,attribute:"spacing-right"})],e.prototype,"spacingRight",2);o([a({type:Boolean,reflect:!0,attribute:"content-flex"})],e.prototype,"contentFlex",2);o([a({type:String,reflect:!0,attribute:"internal-gap"})],e.prototype,"internalGap",2);o([b()],e.prototype,"_canScrollLeft",2);o([b()],e.prototype,"_canScrollRight",2);e=o([m("scb-horizontal-scroller")],e);
@@ -1,4 +1,4 @@
1
- import{a as b,n as l,i as h,x as u,t as d}from"../../vendor/vendor.js";import"../scb-divider/scb-divider.js";import"../../vendor/vendor-material.js";(function(){try{var t=typeof globalThis<"u"?globalThis:window;if(!t.__scb_ce_guard_installed__){t.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(s,i,o){try{customElements.get(s)||e(s,i,o)}catch(c){var a=String(c||"");if(a.indexOf("already been used")===-1&&a.indexOf("NotSupportedError")===-1)throw c}}}}catch{}})();var p=Object.defineProperty,m=Object.getOwnPropertyDescriptor,r=(t,e,s,i)=>{for(var o=i>1?void 0:i?m(e,s):e,a=t.length-1,c;a>=0;a--)(c=t[a])&&(o=(i?c(e,s,o):c(o))||o);return i&&o&&p(e,s,o),o};let n=class extends h{constructor(){super(...arguments),this.label="",this.hasSubMenu=!1,this.openLeft=!1,this.divider=!1,this.leadingIcon="",this.trailingIcon="",this.itemHref="",this.href="",this._observedSubMenu=null,this._syncSubMenuFlags=()=>{const t=this.nextElementSibling,e=!!(t&&t.tagName==="SCB-OPTIONS-SUB-MENU"),s=!!(e&&t.hasAttribute("open-left"));e!==this.hasSubMenu&&(this.hasSubMenu=e),s!==this.openLeft&&(this.openLeft=s);const i=e?t:null;i!==this._observedSubMenu&&(this._subMenuAttrObserver?.disconnect(),this._subMenuAttrObserver=void 0,this._observedSubMenu=i,i&&(this._subMenuAttrObserver=new MutationObserver(()=>this._syncSubMenuFlags()),this._subMenuAttrObserver.observe(i,{attributes:!0,attributeFilter:["open-left"]})))},this.handleClick=t=>{this._effectiveHref?this._navigateToHref(t):this._toggleSubMenu()},this._onBlur=t=>{const e=this.closest("scb-options-sub-menu");if(e&&e.open){const s=t.relatedTarget;(!s||!e.contains(s))&&(e.dispatchEvent(new CustomEvent("hide-submenu",{bubbles:!0,composed:!0})),e.dispatchEvent(new CustomEvent("hidesubmenu",{bubbles:!0,composed:!0})))}},this._onFocus=()=>{const t=this.nextElementSibling;this.classList.contains("open-submenu")&&(t&&t.tagName==="SCB-OPTIONS-SUB-MENU"&&t.hasAttribute("open")||this.classList.remove("open-submenu"))},this._onKeyDown=t=>{if(t.key==="Enter"||t.key===" "){t.preventDefault(),this.handleClick(t);return}if(t.key==="ArrowDown"){t.preventDefault();let e=this.nextElementSibling;for(;e&&e.tagName!=="SCB-OPTIONS-MENU-ITEM";)e=e.nextElementSibling;e&&e.shadowRoot?.querySelector("li")?.focus();return}if(t.key==="ArrowUp"){t.preventDefault();let e=this.previousElementSibling;for(;e&&e.tagName!=="SCB-OPTIONS-MENU-ITEM";)e=e.previousElementSibling;e&&e.shadowRoot?.querySelector("li")?.focus();return}if(t.key==="ArrowRight"){t.preventDefault();const e=this.nextElementSibling;e&&e.tagName==="SCB-OPTIONS-SUB-MENU"&&(e.hasAttribute("open")||(this._toggleSubMenu(),e.dispatchEvent(new CustomEvent("show-submenu",{bubbles:!0,composed:!0})),e.dispatchEvent(new CustomEvent("showsubmenu",{bubbles:!0,composed:!0}))),setTimeout(()=>{const s=e.querySelector("scb-options-menu-item");s&&s.shadowRoot?.querySelector("li")?.focus()},0));return}if(t.key==="ArrowLeft"){t.preventDefault();const e=this.nextElementSibling;if(e&&e.tagName==="SCB-OPTIONS-SUB-MENU"&&e.hasAttribute("open")){this._toggleSubMenu(),e.dispatchEvent(new CustomEvent("hide-submenu",{bubbles:!0,composed:!0})),e.dispatchEvent(new CustomEvent("hidesubmenu",{bubbles:!0,composed:!0}));return}const s=this.closest("scb-options-sub-menu");if(s){const i=s.previousElementSibling;i&&i.tagName==="SCB-OPTIONS-MENU-ITEM"&&i.shadowRoot?.querySelector("li")?.focus()}return}}}get _effectiveHref(){return this.itemHref||this.href}connectedCallback(){super.connectedCallback(),this._syncSubMenuFlags(),this._subMenuChildObserver??(this._subMenuChildObserver=new MutationObserver(()=>this._syncSubMenuFlags())),this._subMenuChildObserver.disconnect();const t=this.parentElement;t&&this._subMenuChildObserver.observe(t,{childList:!0})}disconnectedCallback(){this._subMenuChildObserver?.disconnect(),this._subMenuAttrObserver?.disconnect(),this._subMenuChildObserver=void 0,this._subMenuAttrObserver=void 0,this._observedSubMenu=null,super.disconnectedCallback()}render(){return u`
1
+ import{a as b,n as l,i as h,x as u,t as p}from"../../vendor/vendor.js";import"../scb-divider/scb-divider.js";import"../../vendor/vendor-material.js";(function(){try{var t=typeof globalThis<"u"?globalThis:window;if(!t.__scb_ce_guard_installed__){t.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(i,s,o){try{customElements.get(i)||e(i,s,o)}catch(c){var a=String(c||"");if(a.indexOf("already been used")===-1&&a.indexOf("NotSupportedError")===-1)throw c}}}}catch{}})();var d=Object.defineProperty,m=Object.getOwnPropertyDescriptor,r=(t,e,i,s)=>{for(var o=s>1?void 0:s?m(e,i):e,a=t.length-1,c;a>=0;a--)(c=t[a])&&(o=(s?c(e,i,o):c(o))||o);return s&&o&&d(e,i,o),o};let n=class extends h{constructor(){super(...arguments),this.label="",this.hasSubMenu=!1,this.openLeft=!1,this.divider=!1,this.leadingIcon="",this.trailingIcon="",this.itemHref="",this.href="",this._observedSubMenu=null,this._syncSubMenuFlags=()=>{const t=this.nextElementSibling,e=!!(t&&t.tagName==="SCB-OPTIONS-SUB-MENU"),i=!!(e&&t.hasAttribute("open-left"));e!==this.hasSubMenu&&(this.hasSubMenu=e),i!==this.openLeft&&(this.openLeft=i);const s=e?t:null;s!==this._observedSubMenu&&(this._subMenuAttrObserver?.disconnect(),this._subMenuAttrObserver=void 0,this._observedSubMenu=s,s&&(this._subMenuAttrObserver=new MutationObserver(()=>this._syncSubMenuFlags()),this._subMenuAttrObserver.observe(s,{attributes:!0,attributeFilter:["open-left"]})))},this.handleClick=t=>{this._effectiveHref?this._navigateToHref(t):this._toggleSubMenu()},this._onBlur=t=>{const e=this.closest("scb-options-sub-menu");if(e&&e.open){const i=t.relatedTarget;(!i||!e.contains(i))&&(e.dispatchEvent(new CustomEvent("hide-submenu",{bubbles:!0,composed:!0})),e.dispatchEvent(new CustomEvent("hidesubmenu",{bubbles:!0,composed:!0})))}},this._onFocus=()=>{const t=this.nextElementSibling;this.classList.contains("open-submenu")&&(t&&t.tagName==="SCB-OPTIONS-SUB-MENU"&&t.hasAttribute("open")||this.classList.remove("open-submenu"))},this._onKeyDown=t=>{if(t.key==="Enter"||t.key===" "){t.preventDefault(),this.handleClick(t);return}if(t.key==="ArrowDown"){t.preventDefault();let e=this.nextElementSibling;for(;e&&e.tagName!=="SCB-OPTIONS-MENU-ITEM";)e=e.nextElementSibling;e&&e.shadowRoot?.querySelector("li")?.focus();return}if(t.key==="ArrowUp"){t.preventDefault();let e=this.previousElementSibling;for(;e&&e.tagName!=="SCB-OPTIONS-MENU-ITEM";)e=e.previousElementSibling;e&&e.shadowRoot?.querySelector("li")?.focus();return}if(t.key==="ArrowRight"){t.preventDefault();const e=this.nextElementSibling;e&&e.tagName==="SCB-OPTIONS-SUB-MENU"&&(e.hasAttribute("open")||(this._toggleSubMenu(),e.dispatchEvent(new CustomEvent("show-submenu",{bubbles:!0,composed:!0})),e.dispatchEvent(new CustomEvent("showsubmenu",{bubbles:!0,composed:!0}))),setTimeout(()=>{const i=e.querySelector("scb-options-menu-item");i&&i.shadowRoot?.querySelector("li")?.focus()},0));return}if(t.key==="ArrowLeft"){t.preventDefault();const e=this.nextElementSibling;if(e&&e.tagName==="SCB-OPTIONS-SUB-MENU"&&e.hasAttribute("open")){this._toggleSubMenu(),e.dispatchEvent(new CustomEvent("hide-submenu",{bubbles:!0,composed:!0})),e.dispatchEvent(new CustomEvent("hidesubmenu",{bubbles:!0,composed:!0}));return}const i=this.closest("scb-options-sub-menu");if(i){const s=i.previousElementSibling;s&&s.tagName==="SCB-OPTIONS-MENU-ITEM"&&s.shadowRoot?.querySelector("li")?.focus()}return}}}get _effectiveHref(){return this.itemHref||this.href}connectedCallback(){super.connectedCallback(),this._syncSubMenuFlags(),this._subMenuChildObserver??(this._subMenuChildObserver=new MutationObserver(()=>this._syncSubMenuFlags())),this._subMenuChildObserver.disconnect();const t=this.parentElement;t&&this._subMenuChildObserver.observe(t,{childList:!0})}disconnectedCallback(){this._subMenuChildObserver?.disconnect(),this._subMenuAttrObserver?.disconnect(),this._subMenuChildObserver=void 0,this._subMenuAttrObserver=void 0,this._observedSubMenu=null,super.disconnectedCallback()}render(){return u`
2
2
  ${this.divider?u`<scb-divider></scb-divider>`:""}
3
3
  <li @click=${this.handleClick} @keydown=${this._onKeyDown} @blur=${this._onBlur} @focus=${this._onFocus} role="menuitem" tabindex="0">
4
4
 
@@ -16,25 +16,25 @@ import{a as b,n as l,i as h,x as u,t as d}from"../../vendor/vendor.js";import"..
16
16
  <md-ripple></md-ripple>
17
17
  `}
18
18
  </li>
19
- `}_navigateToHref(t){const e=this._effectiveHref;if(!e)return;const s={href:e},i=!this.dispatchEvent(new CustomEvent("item-navigate",{detail:s,bubbles:!0,composed:!0,cancelable:!0}))||!this.dispatchEvent(new CustomEvent("itemnavigate",{detail:s,bubbles:!0,composed:!0,cancelable:!0}));t.preventDefault(),t.stopPropagation(),i||(window.location.href=e)}_toggleSubMenu(){const t=this.nextElementSibling;t&&t.tagName==="SCB-OPTIONS-SUB-MENU"&&(this.classList.toggle("open-submenu"),t.hasAttribute("open")?(t.dispatchEvent(new CustomEvent("hide-submenu",{bubbles:!0,composed:!0})),t.dispatchEvent(new CustomEvent("hidesubmenu",{bubbles:!0,composed:!0}))):(t.dispatchEvent(new CustomEvent("show-submenu",{bubbles:!0,composed:!0})),t.dispatchEvent(new CustomEvent("showsubmenu",{bubbles:!0,composed:!0}))))}};n.styles=b`
19
+ `}_navigateToHref(t){const e=this._effectiveHref;if(!e)return;const i={href:e},s=!this.dispatchEvent(new CustomEvent("item-navigate",{detail:i,bubbles:!0,composed:!0,cancelable:!0}))||!this.dispatchEvent(new CustomEvent("itemnavigate",{detail:i,bubbles:!0,composed:!0,cancelable:!0}));t.preventDefault(),t.stopPropagation(),s||(window.location.href=e)}_toggleSubMenu(){const t=this.nextElementSibling;t&&t.tagName==="SCB-OPTIONS-SUB-MENU"&&(this.classList.toggle("open-submenu"),t.hasAttribute("open")?(t.dispatchEvent(new CustomEvent("hide-submenu",{bubbles:!0,composed:!0})),t.dispatchEvent(new CustomEvent("hidesubmenu",{bubbles:!0,composed:!0}))):(t.dispatchEvent(new CustomEvent("show-submenu",{bubbles:!0,composed:!0})),t.dispatchEvent(new CustomEvent("showsubmenu",{bubbles:!0,composed:!0}))))}};n.styles=b`
20
20
  :host {
21
21
  display: block;
22
22
  }
23
23
  :host li{
24
24
  position: relative;
25
25
  list-style: none;
26
- padding: var(--spacing-3) var(--spacing-5);
26
+ padding: var(--scb-options-menu-item-padding-block, var(--spacing-3, 8px)) var(--scb-options-menu-item-padding-inline, var(--spacing-5, 16px));
27
27
  cursor: pointer;
28
- min-height: 56px;
28
+ min-height: var(--scb-options-menu-item-min-height, 56px);
29
29
  display: flex;
30
- gap: var(--spacing-4);
30
+ gap: var(--scb-options-menu-item-gap, var(--spacing-4, 12px));
31
31
  align-items: center;
32
32
 
33
33
  }
34
34
  :host li .label {
35
- font-size: var(--md-sys-typescale-body-large-size);
36
- line-height: var(--md-sys-typescale-body-large-line-height);
37
- letter-spacing: var(--md-sys-typescale-body-large-tracking);
35
+ font-size: var(--scb-options-menu-label-font-size, var(--md-sys-typescale-body-large-size));
36
+ line-height: var(--scb-options-menu-label-line-height, var(--md-sys-typescale-body-large-line-height));
37
+ letter-spacing: var(--scb-options-menu-label-letter-spacing, var(--md-sys-typescale-body-large-tracking));
38
38
  }
39
39
  :host li md-focus-ring {
40
40
  border-radius: var(--md-sys-shape-corner-small);
@@ -43,15 +43,19 @@ import{a as b,n as l,i as h,x as u,t as d}from"../../vendor/vendor.js";import"..
43
43
  pointer-events: none;
44
44
  z-index: 1;
45
45
  }
46
+ :host li md-icon {
47
+ --md-icon-size: var(--scb-options-menu-icon-size, 24px);
48
+ }
46
49
  :host li md-icon.ti {
47
50
  margin-left: auto;
48
51
  }
49
52
  :host li a {
50
53
  display: flex;
51
- gap: var(--spacing-4);
54
+ gap: var(--scb-options-menu-item-gap, var(--spacing-4, 12px));
52
55
  align-items: center;
53
56
  color: var(--md-sys-color-on-surface);
54
57
  text-decoration: none;
58
+ width: 100%;
55
59
  }
56
60
  :host(.open-submenu) li {
57
61
  background: var(--md-sys-color-secondary-container);
@@ -59,4 +63,4 @@ import{a as b,n as l,i as h,x as u,t as d}from"../../vendor/vendor.js";import"..
59
63
  :host li:focus {
60
64
  outline: none;
61
65
  }
62
- `;r([l({type:String})],n.prototype,"label",2);r([l({type:Boolean})],n.prototype,"hasSubMenu",2);r([l({type:Boolean})],n.prototype,"openLeft",2);r([l({type:Boolean})],n.prototype,"divider",2);r([l({type:String,attribute:"leading-icon"})],n.prototype,"leadingIcon",2);r([l({type:String,attribute:"trailing-icon"})],n.prototype,"trailingIcon",2);r([l({type:String,attribute:"item-href"})],n.prototype,"itemHref",2);r([l({type:String})],n.prototype,"href",2);n=r([d("scb-options-menu-item")],n);
66
+ `;r([l({type:String})],n.prototype,"label",2);r([l({type:Boolean})],n.prototype,"hasSubMenu",2);r([l({type:Boolean})],n.prototype,"openLeft",2);r([l({type:Boolean})],n.prototype,"divider",2);r([l({type:String,attribute:"leading-icon"})],n.prototype,"leadingIcon",2);r([l({type:String,attribute:"trailing-icon"})],n.prototype,"trailingIcon",2);r([l({type:String,attribute:"item-href"})],n.prototype,"itemHref",2);r([l({type:String})],n.prototype,"href",2);n=r([p("scb-options-menu-item")],n);
@@ -1,11 +1,11 @@
1
- import{a as f,n as c,i as b,x as v,t as y}from"../../vendor/vendor.js";import"./scb-options-menu-item.js";import"./scb-options-sub-menu.js";import"../scb-divider/scb-divider.js";import"../../vendor/vendor-material.js";(function(){try{var t=typeof globalThis<"u"?globalThis:window;if(!t.__scb_ce_guard_installed__){t.__scb_ce_guard_installed__=!0;var i=customElements.define.bind(customElements);customElements.define=function(e,s,n){try{customElements.get(e)||i(e,s,n)}catch(o){var a=String(o||"");if(a.indexOf("already been used")===-1&&a.indexOf("NotSupportedError")===-1)throw o}}}}catch{}})();var E=Object.defineProperty,w=Object.getOwnPropertyDescriptor,p=(t,i,e,s)=>{for(var n=s>1?void 0:s?w(i,e):i,a=t.length-1,o;a>=0;a--)(o=t[a])&&(n=(s?o(i,e,n):o(n))||n);return s&&n&&E(i,e,n),n};let r=class extends b{constructor(){super(...arguments),this.open=!1,this.inSb=!1,this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.__lastTriggerEl=null,this.__onViewportChange=()=>{this.open&&this.__positionToTrigger()},this.__onDocumentClick=t=>{const i=this.__getActionFromEvent(t);if(i){i==="open"&&(this.__setOpen(!0),this.dispatchEvent(new CustomEvent("open",{bubbles:!0,composed:!0}))),i==="close"&&(this.__setOpen(!1),this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))),i==="toggle"&&(this.__setOpen(!this.open),this.dispatchEvent(new CustomEvent("toggle",{bubbles:!0,composed:!0}))),t.stopPropagation();return}if(!this.inSb&&this.open&&!this.isClickInScbMenu(t)){this.__setOpen(!1);return}},this.__onDocumentKeydown=t=>{if(this.open&&t.key==="Escape"){this.__setOpen(!1);return}}}firstUpdated(){this.__applySpacing()}render(){return v`
1
+ import{a as _,n as c,i as f,x as y,t as v}from"../../vendor/vendor.js";import"./scb-options-menu-item.js";import"./scb-options-sub-menu.js";import"../scb-divider/scb-divider.js";import"../../vendor/vendor-material.js";(function(){try{var t=typeof globalThis<"u"?globalThis:window;if(!t.__scb_ce_guard_installed__){t.__scb_ce_guard_installed__=!0;var i=customElements.define.bind(customElements);customElements.define=function(e,s,n){try{customElements.get(e)||i(e,s,n)}catch(o){var p=String(o||"");if(p.indexOf("already been used")===-1&&p.indexOf("NotSupportedError")===-1)throw o}}}}catch{}})();var x=Object.defineProperty,E=Object.getOwnPropertyDescriptor,a=(t,i,e,s)=>{for(var n=s>1?void 0:s?E(i,e):i,p=t.length-1,o;p>=0;p--)(o=t[p])&&(n=(s?o(i,e,n):o(n))||n);return s&&n&&x(i,e,n),n};let r=class extends f{constructor(){super(...arguments),this.open=!1,this.size="large",this.inSb=!1,this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.__lastTriggerEl=null,this.__onViewportChange=()=>{this.open&&this.__positionToTrigger()},this.__onDocumentClick=t=>{const i=this.__getActionFromEvent(t);if(i){i==="open"&&(this.__setOpen(!0),this.dispatchEvent(new CustomEvent("open",{bubbles:!0,composed:!0}))),i==="close"&&(this.__setOpen(!1),this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))),i==="toggle"&&(this.__setOpen(!this.open),this.dispatchEvent(new CustomEvent("toggle",{bubbles:!0,composed:!0}))),t.stopPropagation();return}if(!this.inSb&&this.open&&!this.isClickInScbMenu(t)){this.__setOpen(!1);return}},this.__onDocumentKeydown=t=>{if(this.open&&t.key==="Escape"){this.__setOpen(!1);return}}}firstUpdated(){this.__applySpacing()}render(){return y`
2
2
  <div
3
3
  role="menu"
4
4
  class="scb-options-menu-panel${this.open?" open":""}"
5
5
  >
6
6
  <slot></slot>
7
7
  </div>
8
- `}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.__onDocumentClick,!1),document.addEventListener("keydown",this.__onDocumentKeydown,!0),window.addEventListener("resize",this.__onViewportChange,{passive:!0}),window.addEventListener("scroll",this.__onViewportChange,{passive:!0,capture:!0})}disconnectedCallback(){document.removeEventListener("click",this.__onDocumentClick,!1),document.removeEventListener("keydown",this.__onDocumentKeydown,!0),window.removeEventListener("resize",this.__onViewportChange),window.removeEventListener("scroll",this.__onViewportChange,!0),super.disconnectedCallback()}__setOpen(t){this.open=t}__getActionFromEvent(t){if(!this.id)return null;const i=t.composedPath();for(const e of i)if(e instanceof Element){if(e.getAttribute("data-menu-open")===this.id)return this.__lastTriggerEl=e,"open";if(e.getAttribute("data-menu-close")===this.id)return this.__lastTriggerEl=e,"close";if(e.getAttribute("data-menu-toggle")===this.id)return this.__lastTriggerEl=e,"toggle";if(e.getAttribute("aria-controls")===this.id)return this.__lastTriggerEl=e,"toggle"}return null}isClickInScbMenu(t){return t.composedPath().some(e=>e instanceof Element&&(e.tagName==="SCB-OPTIONS-MENU"||e.tagName==="SCB-OPTIONS-SUB-MENU"))}updated(t){t.has("open")&&(this.__applyOpenSideEffects(),this.open?this.dispatchEvent(new CustomEvent("open",{bubbles:!0,composed:!0})):this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&this.__applySpacing()}__applyOpenSideEffects(){this.__updateTriggersExpanded(),this.open?this.__positionToTrigger():this.__restoreFocusToTrigger()}__positionToTrigger(){if(!this.open||!this.__lastTriggerEl)return;const t=this.__lastTriggerEl,i=this.shadowRoot?.querySelector(".scb-options-menu-panel");i&&requestAnimationFrame(()=>{if(!this.open)return;const e=t.getBoundingClientRect(),s=i.getBoundingClientRect(),n=window.innerWidth,a=window.innerHeight,o=8,h=4;let l=e.left,u=e.bottom+h;const g=s.width,d=s.height;l+g>n-o&&(l=Math.max(o,n-o-g)),l<o&&(l=o);let m="top";if(u+d>a-o){const _=e.top-h-d;_>=o&&(u=_,m="bottom")}this.style.position="fixed",this.style.left=`${Math.round(l)}px`,this.style.top=`${Math.round(u)}px`,this.style.setProperty("--scb-options-menu-transform-origin",m)})}__restoreFocusToTrigger(){this.__lastTriggerEl&&requestAnimationFrame(()=>{this.__lastTriggerEl?.focus?.()})}__updateTriggersExpanded(){if(!this.id)return;const t=String(this.open),i=s=>{s.getAttribute("aria-controls")===this.id&&s.setAttribute("aria-expanded",t)};this.__lastTriggerEl&&i(this.__lastTriggerEl),document.querySelectorAll(`[aria-controls="${this.id}"], [data-menu-open="${this.id}"], [data-menu-close="${this.id}"], [data-menu-toggle="${this.id}"]`).forEach(i)}__applySpacing(){const t=this.__mapSpacingToken(this.spacing),i=this.__mapSpacingToken(this.spacingTop)??t,e=this.__mapSpacingToken(this.spacingBottom)??t,s=this.__mapSpacingToken(this.spacingLeft),n=this.__mapSpacingToken(this.spacingRight);i?this.style.setProperty("--scb-options-menu-spacing-block-start",i):this.style.removeProperty("--scb-options-menu-spacing-block-start"),e?this.style.setProperty("--scb-options-menu-spacing-block-end",e):this.style.removeProperty("--scb-options-menu-spacing-block-end"),s?this.style.setProperty("--scb-options-menu-spacing-inline-start",s):this.style.removeProperty("--scb-options-menu-spacing-inline-start"),n?this.style.setProperty("--scb-options-menu-spacing-inline-end",n):this.style.removeProperty("--scb-options-menu-spacing-inline-end")}__mapSpacingToken(t){if(!t)return;const i=String(t).trim();if(i)return/^\d+$/.test(i)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(i,10)))})`:i}};r.styles=f`
8
+ `}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.__onDocumentClick,!1),document.addEventListener("keydown",this.__onDocumentKeydown,!0),window.addEventListener("resize",this.__onViewportChange,{passive:!0}),window.addEventListener("scroll",this.__onViewportChange,{passive:!0,capture:!0})}disconnectedCallback(){document.removeEventListener("click",this.__onDocumentClick,!1),document.removeEventListener("keydown",this.__onDocumentKeydown,!0),window.removeEventListener("resize",this.__onViewportChange),window.removeEventListener("scroll",this.__onViewportChange,!0),super.disconnectedCallback()}__setOpen(t){this.open=t}__getActionFromEvent(t){if(!this.id)return null;const i=t.composedPath();for(const e of i)if(e instanceof Element){if(e.getAttribute("data-menu-open")===this.id)return this.__lastTriggerEl=e,"open";if(e.getAttribute("data-menu-close")===this.id)return this.__lastTriggerEl=e,"close";if(e.getAttribute("data-menu-toggle")===this.id)return this.__lastTriggerEl=e,"toggle";if(e.getAttribute("aria-controls")===this.id)return this.__lastTriggerEl=e,"toggle"}return null}isClickInScbMenu(t){return t.composedPath().some(e=>e instanceof Element&&(e.tagName==="SCB-OPTIONS-MENU"||e.tagName==="SCB-OPTIONS-SUB-MENU"))}updated(t){t.has("open")&&(this.__applyOpenSideEffects(),this.open?this.dispatchEvent(new CustomEvent("open",{bubbles:!0,composed:!0})):this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&this.__applySpacing()}__applyOpenSideEffects(){this.__updateTriggersExpanded(),this.open?this.__positionToTrigger():this.__restoreFocusToTrigger()}__positionToTrigger(){if(!this.open||!this.__lastTriggerEl)return;const t=this.__lastTriggerEl,i=this.shadowRoot?.querySelector(".scb-options-menu-panel");i&&requestAnimationFrame(()=>{if(!this.open)return;const e=t.getBoundingClientRect(),s=i.getBoundingClientRect(),n=window.innerWidth,p=window.innerHeight,o=8,g=4;let l=e.left,u=e.bottom+g;const m=s.width,h=s.height;l+m>n-o&&(l=Math.max(o,n-o-m)),l<o&&(l=o);let d="top";if(u+h>p-o){const b=e.top-g-h;b>=o&&(u=b,d="bottom")}this.style.position="fixed",this.style.left=`${Math.round(l)}px`,this.style.top=`${Math.round(u)}px`,this.style.setProperty("--scb-options-menu-transform-origin",d)})}__restoreFocusToTrigger(){this.__lastTriggerEl&&requestAnimationFrame(()=>{this.__lastTriggerEl?.focus?.()})}__updateTriggersExpanded(){if(!this.id)return;const t=String(this.open),i=s=>{s.getAttribute("aria-controls")===this.id&&s.setAttribute("aria-expanded",t)};this.__lastTriggerEl&&i(this.__lastTriggerEl),document.querySelectorAll(`[aria-controls="${this.id}"], [data-menu-open="${this.id}"], [data-menu-close="${this.id}"], [data-menu-toggle="${this.id}"]`).forEach(i)}__applySpacing(){const t=this.__mapSpacingToken(this.spacing),i=this.__mapSpacingToken(this.spacingTop)??t,e=this.__mapSpacingToken(this.spacingBottom)??t,s=this.__mapSpacingToken(this.spacingLeft),n=this.__mapSpacingToken(this.spacingRight);i?this.style.setProperty("--scb-options-menu-spacing-block-start",i):this.style.removeProperty("--scb-options-menu-spacing-block-start"),e?this.style.setProperty("--scb-options-menu-spacing-block-end",e):this.style.removeProperty("--scb-options-menu-spacing-block-end"),s?this.style.setProperty("--scb-options-menu-spacing-inline-start",s):this.style.removeProperty("--scb-options-menu-spacing-inline-start"),n?this.style.setProperty("--scb-options-menu-spacing-inline-end",n):this.style.removeProperty("--scb-options-menu-spacing-inline-end")}__mapSpacingToken(t){if(!t)return;const i=String(t).trim();if(i)return/^\d+$/.test(i)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(i,10)))})`:i}};r.styles=_`
9
9
  :host {
10
10
  position: absolute;
11
11
  display: block;
@@ -13,6 +13,16 @@ import{a as f,n as c,i as b,x as v,t as y}from"../../vendor/vendor.js";import"./
13
13
  font-family: var(--brand-font);
14
14
  --scb-options-menu-max-width: 300px;
15
15
  --scb-options-menu-max-height: 600px;
16
+ --scb-options-menu-panel-padding-block: var(--spacing-3, 8px);
17
+ --scb-options-menu-item-padding-inline: var(--spacing-5, 16px);
18
+ --scb-options-menu-item-padding-block: var(--spacing-3, 8px);
19
+ --scb-options-menu-item-gap: var(--spacing-4, 12px);
20
+ --scb-options-menu-item-min-height: 56px;
21
+ --scb-options-menu-label-font-size: var(--md-sys-typescale-body-large-size);
22
+ --scb-options-menu-label-line-height: var(--md-sys-typescale-body-large-line-height);
23
+ --scb-options-menu-label-letter-spacing: var(--md-sys-typescale-body-large-tracking);
24
+ --scb-options-menu-icon-size: 24px;
25
+ --scb-options-sub-menu-offset-top: -44px;
16
26
  z-index: 1000;
17
27
 
18
28
  margin-block-start: var(--scb-options-menu-spacing-block-start, 0);
@@ -20,8 +30,35 @@ import{a as f,n as c,i as b,x as v,t as y}from"../../vendor/vendor.js";import"./
20
30
  margin-inline-start: var(--scb-options-menu-spacing-inline-start, 0);
21
31
  margin-inline-end: var(--scb-options-menu-spacing-inline-end, 0);
22
32
  }
33
+
34
+ :host([size='medium']) {
35
+ --scb-options-menu-panel-padding-block: var(--spacing-2, 4px);
36
+ --scb-options-menu-item-padding-inline: var(--spacing-5, 16px);
37
+ --scb-options-menu-item-padding-block: var(--spacing-2, 4px);
38
+ --scb-options-menu-item-gap: var(--spacing-3, 8px);
39
+ --scb-options-menu-item-min-height: 48px;
40
+ --scb-options-menu-label-font-size: var(--md-sys-typescale-body-medium-size);
41
+ --scb-options-menu-label-line-height: var(--md-sys-typescale-body-medium-line-height);
42
+ --scb-options-menu-label-letter-spacing: var(--md-sys-typescale-body-medium-tracking);
43
+ --scb-options-menu-icon-size: 20px;
44
+ --scb-options-sub-menu-offset-top: -40px;
45
+ }
46
+
47
+ :host([size='small']) {
48
+ --scb-options-menu-panel-padding-block: var(--spacing-1, 2px);
49
+ --scb-options-menu-item-padding-inline: var(--spacing-4, 12px);
50
+ --scb-options-menu-item-padding-block: var(--spacing-2, 4px);
51
+ --scb-options-menu-item-gap: var(--spacing-3, 8px);
52
+ --scb-options-menu-item-min-height: 40px;
53
+ --scb-options-menu-label-font-size: var(--md-sys-typescale-body-small-size);
54
+ --scb-options-menu-label-line-height: var(--md-sys-typescale-body-small-line-height);
55
+ --scb-options-menu-label-letter-spacing: var(--md-sys-typescale-body-small-tracking);
56
+ --scb-options-menu-icon-size: 18px;
57
+ --scb-options-sub-menu-offset-top: -32px;
58
+ }
59
+
23
60
  :host > .scb-options-menu-panel {
24
- padding: var(--spacing-3) 0;
61
+ padding: var(--scb-options-menu-panel-padding-block) 0;
25
62
  color: var(--md-sys-color-on-surface);
26
63
  border-radius: var(--md-sys-shape-corner-extra-small);
27
64
  background: var(--md-sys-color-surface, #FFF);
@@ -48,4 +85,4 @@ import{a as f,n as c,i as b,x as v,t as y}from"../../vendor/vendor.js";import"./
48
85
  opacity 0.25s cubic-bezier(0.23, 1, 0.32, 1),
49
86
  transform 0.32s cubic-bezier(0.23, 1, 0.32, 1);
50
87
  }
51
- `;p([c({type:Boolean,reflect:!0})],r.prototype,"open",2);p([c({type:Boolean,attribute:!1})],r.prototype,"inSb",2);p([c({type:String,reflect:!0})],r.prototype,"spacing",2);p([c({type:String,attribute:"spacing-top",reflect:!0})],r.prototype,"spacingTop",2);p([c({type:String,attribute:"spacing-bottom",reflect:!0})],r.prototype,"spacingBottom",2);p([c({type:String,attribute:"spacing-left",reflect:!0})],r.prototype,"spacingLeft",2);p([c({type:String,attribute:"spacing-right",reflect:!0})],r.prototype,"spacingRight",2);r=p([y("scb-options-menu")],r);
88
+ `;a([c({type:Boolean,reflect:!0})],r.prototype,"open",2);a([c({type:String,reflect:!0})],r.prototype,"size",2);a([c({type:Boolean,attribute:!1})],r.prototype,"inSb",2);a([c({type:String,reflect:!0})],r.prototype,"spacing",2);a([c({type:String,attribute:"spacing-top",reflect:!0})],r.prototype,"spacingTop",2);a([c({type:String,attribute:"spacing-bottom",reflect:!0})],r.prototype,"spacingBottom",2);a([c({type:String,attribute:"spacing-left",reflect:!0})],r.prototype,"spacingLeft",2);a([c({type:String,attribute:"spacing-right",reflect:!0})],r.prototype,"spacingRight",2);r=a([v("scb-options-menu")],r);
@@ -1,8 +1,8 @@
1
- import{a,n as p,i as d,x as l,t as b}from"../../vendor/vendor.js";(function(){try{var e=typeof globalThis<"u"?globalThis:window;if(!e.__scb_ce_guard_installed__){e.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(i,n,s){try{customElements.get(i)||t(i,n,s)}catch(r){var o=String(r||"");if(o.indexOf("already been used")===-1&&o.indexOf("NotSupportedError")===-1)throw r}}}}catch{}})();var m=Object.defineProperty,c=Object.getOwnPropertyDescriptor,h=(e,t,i,n)=>{for(var s=n>1?void 0:n?c(t,i):t,o=e.length-1,r;o>=0;o--)(r=e[o])&&(s=(n?r(t,i,s):r(s))||s);return n&&s&&m(t,i,s),s};let u=class extends d{constructor(){super(...arguments),this.open=!1,this._show=()=>{this.setAttribute("open",""),this.open=!0},this._hide=e=>{this.removeAttribute("open"),this.open=!1,e&&e.stopPropagation()}}connectedCallback(){super.connectedCallback(),this.addEventListener("show-submenu",this._show),this.addEventListener("showsubmenu",this._show),this.addEventListener("hide-submenu",this._hide),this.addEventListener("hidesubmenu",this._hide)}disconnectedCallback(){this.removeEventListener("show-submenu",this._show),this.removeEventListener("showsubmenu",this._show),this.removeEventListener("hide-submenu",this._hide),this.removeEventListener("hidesubmenu",this._hide),super.disconnectedCallback()}firstUpdated(){let e=0,t=this.parentElement;for(;t;)t.tagName==="SCB-OPTIONS-SUB-MENU"&&e++,t=t.parentElement;e%2===1?this.setAttribute("open-left",""):this.removeAttribute("open-left")}render(){return l`
1
+ import{a as h,n as p,i as d,x as l,t as b}from"../../vendor/vendor.js";(function(){try{var e=typeof globalThis<"u"?globalThis:window;if(!e.__scb_ce_guard_installed__){e.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(n,i,s){try{customElements.get(n)||t(n,i,s)}catch(r){var o=String(r||"");if(o.indexOf("already been used")===-1&&o.indexOf("NotSupportedError")===-1)throw r}}}}catch{}})();var c=Object.defineProperty,m=Object.getOwnPropertyDescriptor,u=(e,t,n,i)=>{for(var s=i>1?void 0:i?m(t,n):t,o=e.length-1,r;o>=0;o--)(r=e[o])&&(s=(i?r(t,n,s):r(s))||s);return i&&s&&c(t,n,s),s};let a=class extends d{constructor(){super(...arguments),this.open=!1,this._show=()=>{this.setAttribute("open",""),this.open=!0},this._hide=e=>{this.removeAttribute("open"),this.open=!1,e&&e.stopPropagation()}}connectedCallback(){super.connectedCallback(),this.addEventListener("show-submenu",this._show),this.addEventListener("showsubmenu",this._show),this.addEventListener("hide-submenu",this._hide),this.addEventListener("hidesubmenu",this._hide)}disconnectedCallback(){this.removeEventListener("show-submenu",this._show),this.removeEventListener("showsubmenu",this._show),this.removeEventListener("hide-submenu",this._hide),this.removeEventListener("hidesubmenu",this._hide),super.disconnectedCallback()}firstUpdated(){let e=0,t=this.parentElement;for(;t;)t.tagName==="SCB-OPTIONS-SUB-MENU"&&e++,t=t.parentElement;e%2===1?this.setAttribute("open-left",""):this.removeAttribute("open-left")}render(){return l`
2
2
  <div role="menu" class="submenu${this.open?" open":""}">
3
3
  <slot></slot>
4
4
  </div>
5
- `}};u.styles=a`
5
+ `}};a.styles=h`
6
6
  :host {
7
7
  display: block;
8
8
  position: relative;
@@ -16,8 +16,9 @@ import{a,n as p,i as d,x as l,t as b}from"../../vendor/vendor.js";(function(){tr
16
16
  display: none;
17
17
  position: absolute;
18
18
  left: 100%;
19
- top: -44px;
19
+ top: var(--scb-options-sub-menu-offset-top, -44px);
20
20
  z-index: 100;
21
+ padding: var(--scb-options-menu-panel-padding-block, var(--spacing-3, 8px)) 0;
21
22
  border-radius: var(--md-sys-shape-corner-extra-small);
22
23
  background: var(--md-sys-color-surface, #FFF);
23
24
  box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.20), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 4px 5px 0 rgba(0, 0, 0, 0.14);
@@ -30,4 +31,4 @@ import{a,n as p,i as d,x as l,t as b}from"../../vendor/vendor.js";(function(){tr
30
31
  .submenu.open {
31
32
  display: block;
32
33
  }
33
- `;h([p({type:Boolean,reflect:!0})],u.prototype,"open",2);u=h([b("scb-options-sub-menu")],u);
34
+ `;u([p({type:Boolean,reflect:!0})],a.prototype,"open",2);a=u([b("scb-options-sub-menu")],a);