scb-wc 0.1.226 → 0.1.228

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{g as f,h as y,m,p as c,v as b,y as g}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as l}from"../../vendor/decorate.js";import{closeManualPopover as h,closeManualPopoverAfterAnimations as p,closeNestedPopupSurfaces as w,isManualPopoverOpen as E,openManualPopover as v}from"../shared/manual-popover.js";import"../scb-divider/scb-divider.js";(function(){try{var _=typeof globalThis<"u"?globalThis:window;if(!_.__scb_ce_guard_installed__){_.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(t,r,s){try{customElements.get(t)||e(t,r,s)}catch(n){var u=String(n||"");if(u.indexOf("already been used")===-1&&u.indexOf("NotSupportedError")===-1)throw n}}}}catch{}})();var i,o,d={fromAttribute(_){if(_===null)return!1;const e=_.trim().toLowerCase();return e!=="false"&&e!=="0"&&e!=="no"}},a=(i=class extends y{constructor(...e){super(...e),this.floating=!0,this.left=!0,this.right=!1,this.open=!1,this.overlay=!1,this.lockScroll=!1,this.closeOnOverlay=!0,this.modal=!1,this.ariaLabel="Sidopanel",this.__effectiveSide="left",this.__lastTriggerEl=null,this.__lastTriggerWasAriaControls=!1,this.__onDocumentClick=t=>{const r=this.__getActionFromEvent(t);if(r){r==="open"&&this.__setOpen(!0),r==="close"&&this.__setOpen(!1),r==="toggle"&&this.__setOpen(!this.open),t.stopPropagation();return}this.floating&&this.open&&!this.overlay&&(t.composedPath().includes(this)||this.__setOpen(!1))},this.__onDocumentKeydown=t=>{if(this.open){if(t.key==="Escape"){if(this.__hasOpenNestedOverlay(t))return;t.preventDefault(),t.stopPropagation(),this.__setOpen(!1);return}if(this.overlay&&t.key==="Tab"){const r=this.__getFocusable();if(r.length===0)return;const s=r[0],u=r[r.length-1],n=this.__currentFocusableFromEvent(t,r);t.shiftKey?(n===s||!n)&&(t.preventDefault(),u.focus()):(n===u||!n)&&(t.preventDefault(),s.focus())}}}}static __ensureOverlayStyles(){if(typeof document>"u"||document.getElementById("scb-drawer-overlay-styles"))return;const e=document.createElement("style");e.id="scb-drawer-overlay-styles",e.textContent=`
1
+ import{g as f,h as y,m as b,p as c,v as m,y as g}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as l}from"../../vendor/decorate.js";import{closeManualPopover as h,closeManualPopoverAfterAnimations as v,closeNestedPopupSurfaces as w,isManualPopoverOpen as E,openManualPopover as p}from"../shared/manual-popover.js";import"../scb-divider/scb-divider.js";(function(){try{var _=typeof globalThis<"u"?globalThis:window;if(!_.__scb_ce_guard_installed__){_.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(t,r,s){try{customElements.get(t)||e(t,r,s)}catch(a){var u=String(a||"");if(u.indexOf("already been used")===-1&&u.indexOf("NotSupportedError")===-1)throw a}}}}catch{}})();var n,o,d={fromAttribute(_){if(_===null)return!1;const e=_.trim().toLowerCase();return e!=="false"&&e!=="0"&&e!=="no"}},i=(n=class extends y{constructor(...e){super(...e),this.floating=!0,this.left=!0,this.right=!1,this.open=!1,this.overlay=!1,this.lockScroll=!1,this.closeOnOverlay=!0,this.modal=!1,this.ariaLabel="Sidopanel",this.__effectiveSide="left",this.__lastTriggerEl=null,this.__scrollLockHeld=!1,this.__lastTriggerWasAriaControls=!1,this.__onDocumentClick=t=>{const r=this.__getActionFromEvent(t);if(r){r==="open"&&this.__setOpen(!0),r==="close"&&this.__setOpen(!1),r==="toggle"&&this.__setOpen(!this.open),t.stopPropagation();return}this.floating&&this.open&&!this.overlay&&(t.composedPath().includes(this)||this.__setOpen(!1))},this.__onDocumentKeydown=t=>{if(this.open){if(t.key==="Escape"){if(this.__hasOpenNestedOverlay(t))return;t.preventDefault(),t.stopPropagation(),this.__setOpen(!1);return}if(this.overlay&&t.key==="Tab"){const r=this.__getFocusable();if(r.length===0)return;const s=r[0],u=r[r.length-1],a=this.__currentFocusableFromEvent(t,r);t.shiftKey?(a===s||!a)&&(t.preventDefault(),u.focus()):(a===u||!a)&&(t.preventDefault(),s.focus())}}}}static __ensureOverlayStyles(){if(typeof document>"u"||document.getElementById("scb-drawer-overlay-styles"))return;const e=document.createElement("style");e.id="scb-drawer-overlay-styles",e.textContent=`
2
2
  .scb-drawer-global-overlay {
3
3
  position: fixed;
4
4
  inset: 0;
@@ -27,7 +27,7 @@ import{g as f,h as y,m,p as c,v as b,y as g}from"../../vendor/vendor.js";import"
27
27
  @media (prefers-reduced-motion: reduce) {
28
28
  .scb-drawer-global-overlay { transition: none; }
29
29
  }
30
- `,document.head.appendChild(e)}static __ensureOverlay(){if(typeof document>"u"||o.__overlayEl)return;o.__ensureOverlayStyles();const e=document.createElement("div");e.className="scb-drawer-global-overlay",e.addEventListener("pointerdown",()=>{const t=o.__overlayStack[o.__overlayStack.length-1];t&&t.closeOnOverlay&&t.__setOpen(!1)},{passive:!0}),document.body.appendChild(e),o.__overlayEl=e}static __showOverlay(e){o.__ensureOverlay(),o.__overlayEl&&(o.__overlayStack.includes(e)||o.__overlayStack.push(e),o.__syncOverlayColors(e),v(o.__overlayEl),o.__overlayEl.classList.add("is-visible"))}static __hideOverlay(e){const t=o.__overlayStack.indexOf(e);t>=0&&o.__overlayStack.splice(t,1);const r=o.__overlayStack[o.__overlayStack.length-1];r&&o.__syncOverlayColors(r),o.__overlayStack.length===0&&o.__overlayEl&&(o.__overlayEl.classList.remove("is-visible"),p(o.__overlayEl),o.__overlayEl.style.removeProperty("--scb-drawer-overlay-color"),o.__overlayEl.style.removeProperty("--scb-drawer-scrim-color"))}static __syncOverlayColors(e){if(!o.__overlayEl||typeof getComputedStyle!="function")return;const t=getComputedStyle(e);for(const r of["--scb-drawer-overlay-color","--scb-drawer-scrim-color"]){const s=t.getPropertyValue(r).trim();s?o.__overlayEl.style.setProperty(r,s):o.__overlayEl.style.removeProperty(r)}}static __lockScrollEnable(){if(!(typeof document>"u")){if(o.__lockedCount===0){o.__prevDocOverflow=document.documentElement.style.overflow||"",o.__prevBodyOverflow=document.body.style.overflow||"",o.__prevDocPaddingRight=document.documentElement.style.paddingRight||"",o.__prevBodyPaddingRight=document.body.style.paddingRight||"";const e=Math.max(0,window.innerWidth-document.documentElement.clientWidth);if(e>0){const t=Number.parseFloat(getComputedStyle(document.documentElement).paddingRight||"0"),r=Number.parseFloat(getComputedStyle(document.body).paddingRight||"0");document.documentElement.style.paddingRight=`${t+e}px`,document.body.style.paddingRight=`${r+e}px`}document.documentElement.style.overflow="hidden",document.body.style.overflow="hidden"}o.__lockedCount++}}static __lockScrollDisable(){typeof document>"u"||(o.__lockedCount=Math.max(0,o.__lockedCount-1),o.__lockedCount===0&&(document.documentElement.style.overflow=o.__prevDocOverflow??"",document.body.style.overflow=o.__prevBodyOverflow??"",document.documentElement.style.paddingRight=o.__prevDocPaddingRight??"",document.body.style.paddingRight=o.__prevBodyPaddingRight??""))}render(){const e=this.modal&&this.overlay&&this.floating;return b`
30
+ `,document.head.appendChild(e)}static __ensureOverlay(){if(typeof document>"u"||o.__overlayEl)return;o.__ensureOverlayStyles();const e=document.createElement("div");e.className="scb-drawer-global-overlay",e.addEventListener("pointerdown",()=>{const t=o.__overlayStack[o.__overlayStack.length-1];t&&t.closeOnOverlay&&t.__setOpen(!1)},{passive:!0}),document.body.appendChild(e),o.__overlayEl=e}static __showOverlay(e){o.__ensureOverlay(),o.__overlayEl&&(o.__overlayStack.includes(e)||o.__overlayStack.push(e),o.__syncOverlayColors(e),p(o.__overlayEl),o.__overlayEl.classList.add("is-visible"))}static __hideOverlay(e){const t=o.__overlayStack.indexOf(e);t>=0&&o.__overlayStack.splice(t,1);const r=o.__overlayStack[o.__overlayStack.length-1];r&&o.__syncOverlayColors(r),o.__overlayStack.length===0&&o.__overlayEl&&(o.__overlayEl.classList.remove("is-visible"),v(o.__overlayEl),o.__overlayEl.style.removeProperty("--scb-drawer-overlay-color"),o.__overlayEl.style.removeProperty("--scb-drawer-scrim-color"))}static __syncOverlayColors(e){if(!o.__overlayEl||typeof getComputedStyle!="function")return;const t=getComputedStyle(e);for(const r of["--scb-drawer-overlay-color","--scb-drawer-scrim-color"]){const s=t.getPropertyValue(r).trim();s?o.__overlayEl.style.setProperty(r,s):o.__overlayEl.style.removeProperty(r)}}static __lockScrollEnable(){if(!(typeof document>"u")){if(o.__lockedCount===0){o.__prevDocOverflow=document.documentElement.style.overflow||"",o.__prevBodyOverflow=document.body.style.overflow||"",o.__prevBodyPaddingRight=document.body.style.paddingRight||"";const e=Math.max(0,window.innerWidth-document.documentElement.clientWidth);if(e>0){const t=Number.parseFloat(getComputedStyle(document.body).paddingRight||"0");document.body.style.paddingRight=`${t+e}px`}document.documentElement.style.overflow="hidden",document.body.style.overflow="hidden"}o.__lockedCount++}}static __lockScrollDisable(){typeof document>"u"||(o.__lockedCount=Math.max(0,o.__lockedCount-1),o.__lockedCount===0&&(document.documentElement.style.overflow=o.__prevDocOverflow??"",document.body.style.overflow=o.__prevBodyOverflow??"",document.body.style.paddingRight=o.__prevBodyPaddingRight??""))}render(){const e=this.modal&&this.overlay&&this.floating;return m`
31
31
  <div
32
32
  class="root"
33
33
  role=${e?"dialog":f}
@@ -36,6 +36,6 @@ import{g as f,h as y,m,p as c,v as b,y as g}from"../../vendor/vendor.js";import"
36
36
  >
37
37
  <div class="panel"><slot></slot></div>
38
38
  </div>
39
- `}connectedCallback(){super.connectedCallback(),this.__syncEffectiveSide(new Map),document.addEventListener("click",this.__onDocumentClick,!1)}disconnectedCallback(){document.removeEventListener("click",this.__onDocumentClick,!1),document.removeEventListener("keydown",this.__onDocumentKeydown,!0),this.overlay&&(o.__hideOverlay(this),this.lockScroll&&o.__lockScrollDisable()),h(this),super.disconnectedCallback()}__getActionFromEvent(e){if(!this.id)return null;const t=e.composedPath();for(const r of t)if(r instanceof Element){if(r.getAttribute("data-drawer-open")===this.id)return this.__lastTriggerEl=r,this.__lastTriggerWasAriaControls=!1,"open";if(r.getAttribute("data-drawer-close")===this.id)return this.contains(r)||(this.__lastTriggerEl=r,this.__lastTriggerWasAriaControls=!1),"close";if(r.getAttribute("data-drawer-toggle")===this.id)return this.__lastTriggerEl=r,this.__lastTriggerWasAriaControls=!1,"toggle";if(r.getAttribute("aria-controls")===this.id)return this.__lastTriggerEl=r,this.__lastTriggerWasAriaControls=!0,"toggle"}return null}__hasOpenNestedOverlay(e){const t="scb-options-menu, scb-dropdown, scb-select",r=s=>s instanceof Element&&s!==this&&s.matches(t)&&!!s.open;return e.composedPath().some(r)?!0:Array.from(this.querySelectorAll(t)).some(s=>!!s.open)}__getFocusable(){const e=["button","[href]","input","select","textarea",'[tabindex]:not([tabindex="-1"])',"scb-button","scb-icon-button","scb-textfield","scb-checkbox","scb-radio-button","scb-switch","scb-chip","scb-menu-item"].join(", "),t=new Set,r=s=>{s.querySelectorAll(e).forEach(u=>{const n=this.__resolveFocusable(u);n&&t.add(n)})};return r(this),r(this.renderRoot),Array.from(t).filter(s=>!this.__isDisabledOrHidden(s))}__resolveFocusable(e){return this.__isDisabledOrHidden(e)?null:e.tagName==="SCB-BUTTON"||e.tagName==="SCB-ICON-BUTTON"?e.shadowRoot?.querySelector(".native-button, button, a")??e:e.tagName==="SCB-MENU-ITEM"?e.shadowRoot?.querySelector(".scb-menu-label-text")??e:e}__isDisabledOrHidden(e){if(e.disabled||e.getAttribute("aria-hidden")==="true")return!0;const t=getComputedStyle(e);return t.display==="none"||t.visibility==="hidden"}__currentFocusableFromEvent(e,t){const r=e.composedPath();return t.find(s=>r.includes(s))??(this.shadowRoot?.activeElement instanceof HTMLElement?this.shadowRoot.activeElement:null)??(document.activeElement instanceof HTMLElement?document.activeElement:null)}__setOpen(e){this.open=e}async __focusFirstControl(){await this.updateComplete;for(let e=0;e<4;e+=1){await new Promise(r=>requestAnimationFrame(()=>r()));const t=this.__getFocusable()[0];if(t?.focus?.({preventScroll:!0}),t&&this.__isFocused(t))return}}__isFocused(e){if(document.activeElement===e)return!0;const t=e.getRootNode();return t instanceof ShadowRoot&&t.activeElement===e}__syncLastTriggerExpanded(e){this.__lastTriggerEl&&this.__lastTriggerWasAriaControls&&this.__lastTriggerEl.getAttribute("aria-controls")===this.id&&this.__lastTriggerEl.setAttribute("aria-expanded",String(e))}__syncEffectiveSide(e){const t=this.left&&this.right;let r;t?e.has("left")&&this.left&&!e.has("right")?r="left":r="right":this.right?r="right":r="left",this.__effectiveSide!==r&&(this.__effectiveSide=r),this.getAttribute("data-side")!==r&&this.setAttribute("data-side",r)}willUpdate(e){this.__syncEffectiveSide(e)}updated(e){if(this.open&&this.floating&&this.overlay&&o.__syncOverlayColors(this),e.has("open")){const t=!!e.get("open");this.__applyOpenSideEffects(t,this.open)}(e.has("open")||e.has("floating"))&&(this.open&&this.floating?v(this):(this.open||w(this),!this.open&&E(this)?p(this):h(this)))}__applyOpenSideEffects(e,t){if(t&&!e)this.__syncLastTriggerExpanded(!0),this.floating&&this.overlay&&(o.__showOverlay(this),this.lockScroll&&o.__lockScrollEnable()),document.addEventListener("keydown",this.__onDocumentKeydown,!0),this.__focusFirstControl(),this.dispatchEvent(new CustomEvent("scb-drawer-opened",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("scbdraweropened",{bubbles:!0,composed:!0}));else if(!t&&e){this.__syncLastTriggerExpanded(!1),this.floating&&this.overlay&&(o.__hideOverlay(this),this.lockScroll&&o.__lockScrollDisable()),document.removeEventListener("keydown",this.__onDocumentKeydown,!0);const r=this.__lastTriggerEl;requestAnimationFrame(()=>{this.open||r?.focus?.({preventScroll:!0})}),this.dispatchEvent(new CustomEvent("scb-drawer-closed",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("scbdrawerclosed",{bubbles:!0,composed:!0}))}}},o=i,i.__overlayEl=null,i.__overlayStack=[],i.__lockedCount=0,i.__prevDocOverflow=null,i.__prevBodyOverflow=null,i.__prevDocPaddingRight=null,i.__prevBodyPaddingRight=null,i.styles=g`:host{display:block;color:var(--scb-drawer-content-color, var(--md-sys-color-on-surface));padding:var(--scb-drawer-design-surface-padding-medium);background:var(--scb-drawer-background,
39
+ `}connectedCallback(){super.connectedCallback(),this.__syncEffectiveSide(new Map),document.addEventListener("click",this.__onDocumentClick,!1)}disconnectedCallback(){document.removeEventListener("click",this.__onDocumentClick,!1),document.removeEventListener("keydown",this.__onDocumentKeydown,!0),this.overlay&&(o.__hideOverlay(this),this.__releaseScrollLock()),h(this),super.disconnectedCallback()}__getActionFromEvent(e){if(!this.id)return null;const t=e.composedPath();for(const r of t)if(r instanceof Element){if(r.getAttribute("data-drawer-open")===this.id)return this.__lastTriggerEl=r,this.__lastTriggerWasAriaControls=!1,"open";if(r.getAttribute("data-drawer-close")===this.id)return this.contains(r)||(this.__lastTriggerEl=r,this.__lastTriggerWasAriaControls=!1),"close";if(r.getAttribute("data-drawer-toggle")===this.id)return this.__lastTriggerEl=r,this.__lastTriggerWasAriaControls=!1,"toggle";if(r.getAttribute("aria-controls")===this.id)return this.__lastTriggerEl=r,this.__lastTriggerWasAriaControls=!0,"toggle"}return null}__hasOpenNestedOverlay(e){const t="scb-options-menu, scb-dropdown, scb-select",r=s=>s instanceof Element&&s!==this&&s.matches(t)&&!!s.open;return e.composedPath().some(r)?!0:Array.from(this.querySelectorAll(t)).some(s=>!!s.open)}__getFocusable(){const e=["button","[href]","input","select","textarea",'[tabindex]:not([tabindex="-1"])',"scb-button","scb-icon-button","scb-textfield","scb-checkbox","scb-radio-button","scb-switch","scb-chip","scb-menu-item"].join(", "),t=new Set,r=s=>{s.querySelectorAll(e).forEach(u=>{const a=this.__resolveFocusable(u);a&&t.add(a)})};return r(this),r(this.renderRoot),Array.from(t).filter(s=>!this.__isDisabledOrHidden(s))}__resolveFocusable(e){return this.__isDisabledOrHidden(e)?null:e.tagName==="SCB-BUTTON"||e.tagName==="SCB-ICON-BUTTON"?e.shadowRoot?.querySelector(".native-button, button, a")??e:e.tagName==="SCB-MENU-ITEM"?e.shadowRoot?.querySelector(".scb-menu-label-text")??e:e}__isDisabledOrHidden(e){if(e.disabled||e.getAttribute("aria-hidden")==="true")return!0;const t=getComputedStyle(e);return t.display==="none"||t.visibility==="hidden"}__currentFocusableFromEvent(e,t){const r=e.composedPath();return t.find(s=>r.includes(s))??(this.shadowRoot?.activeElement instanceof HTMLElement?this.shadowRoot.activeElement:null)??(document.activeElement instanceof HTMLElement?document.activeElement:null)}__setOpen(e){this.open=e}async __focusFirstControl(){await this.updateComplete;for(let e=0;e<4;e+=1){await new Promise(r=>requestAnimationFrame(()=>r()));const t=this.__getFocusable()[0];if(t?.focus?.({preventScroll:!0}),t&&this.__isFocused(t))return}}__isFocused(e){if(document.activeElement===e)return!0;const t=e.getRootNode();return t instanceof ShadowRoot&&t.activeElement===e}__syncLastTriggerExpanded(e){this.__lastTriggerEl&&this.__lastTriggerWasAriaControls&&this.__lastTriggerEl.getAttribute("aria-controls")===this.id&&this.__lastTriggerEl.setAttribute("aria-expanded",String(e))}__syncEffectiveSide(e){const t=this.left&&this.right;let r;t?e.has("left")&&this.left&&!e.has("right")?r="left":r="right":this.right?r="right":r="left",this.__effectiveSide!==r&&(this.__effectiveSide=r),this.getAttribute("data-side")!==r&&this.setAttribute("data-side",r)}willUpdate(e){this.__syncEffectiveSide(e)}updated(e){if(this.open&&this.floating&&this.overlay&&o.__syncOverlayColors(this),e.has("open")){const t=!!e.get("open");this.__applyOpenSideEffects(t,this.open)}(e.has("open")||e.has("floating"))&&(this.open&&this.floating?p(this):(this.open||w(this),!this.open&&(E(this)||this.__scrollLockHeld)?v(this,this.__scrollLockHeld?()=>this.__releaseScrollLock():void 0):h(this)))}__applyOpenSideEffects(e,t){if(t&&!e)this.__syncLastTriggerExpanded(!0),this.floating&&this.overlay&&(o.__showOverlay(this),this.lockScroll&&this.__acquireScrollLock()),document.addEventListener("keydown",this.__onDocumentKeydown,!0),this.__focusFirstControl(),this.dispatchEvent(new CustomEvent("scb-drawer-opened",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("scbdraweropened",{bubbles:!0,composed:!0}));else if(!t&&e){this.__syncLastTriggerExpanded(!1),this.floating&&this.overlay&&o.__hideOverlay(this),document.removeEventListener("keydown",this.__onDocumentKeydown,!0);const r=this.__lastTriggerEl;requestAnimationFrame(()=>{this.open||r?.focus?.({preventScroll:!0})}),this.dispatchEvent(new CustomEvent("scb-drawer-closed",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("scbdrawerclosed",{bubbles:!0,composed:!0}))}}__acquireScrollLock(){this.__scrollLockHeld||(o.__lockScrollEnable(),this.__scrollLockHeld=!0)}__releaseScrollLock(){this.__scrollLockHeld&&(this.__scrollLockHeld=!1,o.__lockScrollDisable())}},o=n,n.__overlayEl=null,n.__overlayStack=[],n.__lockedCount=0,n.__prevDocOverflow=null,n.__prevBodyOverflow=null,n.__prevBodyPaddingRight=null,n.styles=g`:host{display:block;color:var(--scb-drawer-content-color, var(--md-sys-color-on-surface));padding:var(--scb-drawer-design-surface-padding-medium);background:var(--scb-drawer-background,
40
40
  var(--md-sys-color-surface-container)
41
- );font-family:var(--brand-font)}:host([popover]){inset:auto;margin:0;border:0}:host([floating]){box-sizing:border-box;position:fixed;top:0;height:100vh;height:100dvh;width:clamp(var(--scb-drawer-min-width, 280px),var(--scb-drawer-fluid-width, 70vw),var(--scb-drawer-max-width, 360px));--scb-drawer-background:var(--scb-drawer-surface-color, var(--md-sys-color-surface-container-lowest));box-shadow:var(--scb-drawer-elevation, var(--scb-shadow-drawer-start));border-radius:var(--scb-drawer-design-surface-radius-medium);z-index:var(--scb-drawer-z, var(--scb-layer-drawer, 1000));transition:transform .3s ease,opacity .3s ease,visibility .3s;opacity:0;visibility:hidden;pointer-events:none;will-change:transform;font-family:var(--brand-font);overflow:hidden}@media (prefers-reduced-motion:reduce){:host([floating]){transition:none}}:host([floating][data-side="left"]){left:0;transform:translateX(-100%)}:host([floating][data-side="left"][open]){transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto}:host([floating][data-side="right"]){right:0;transform:translateX(100%);box-shadow:var(--scb-drawer-elevation, var(--scb-shadow-drawer-end))}:host([floating][data-side="right"][open]){transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto}::slotted(scb-menu){background:var(--scb-drawer-surface-color, var(--md-sys-color-surface-container-lowest));--scb-menu-background:var(--scb-drawer-surface-color, var(--md-sys-color-surface-container-lowest))}.root{height:100%;display:flex;flex-direction:column;min-height:0}.panel{contain:layout paint style;flex:1 1 auto;min-height:0;overflow:auto;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}:host([floating]:not([open])) .panel{content-visibility:auto;contain-intrinsic-size:0 600px}@supports not (scrollbar-gutter:stable){.panel{overflow-y:scroll}}:host{--scb-drawer-design-surface-padding-medium:var(--scb-drawer-padding, var(--spacing-4, 12px));--scb-drawer-design-surface-radius-medium:var(--scb-drawer-surface-radius, var(--radius-none, 0px))}`,i);l([c({type:Boolean,reflect:!0,converter:d})],a.prototype,"floating",void 0);l([c({type:Boolean,reflect:!0,converter:d})],a.prototype,"left",void 0);l([c({type:Boolean,reflect:!0,converter:d})],a.prototype,"right",void 0);l([c({type:Boolean,reflect:!0,converter:d})],a.prototype,"open",void 0);l([c({type:Boolean,reflect:!0,converter:d})],a.prototype,"overlay",void 0);l([c({type:Boolean,reflect:!0,attribute:"lock-scroll",converter:d})],a.prototype,"lockScroll",void 0);l([c({type:Boolean,reflect:!0,attribute:"close-on-overlay",converter:d})],a.prototype,"closeOnOverlay",void 0);l([c({type:Boolean,reflect:!0,converter:d})],a.prototype,"modal",void 0);l([c({type:String,reflect:!0,attribute:"aria-label"})],a.prototype,"ariaLabel",void 0);a=o=l([m("scb-drawer")],a);export{a as ScbDrawer};
41
+ );font-family:var(--brand-font)}:host([popover]){inset:auto;margin:0;border:0}:host([floating]){box-sizing:border-box;position:fixed;top:0;height:100vh;height:100dvh;width:clamp(var(--scb-drawer-min-width, 280px),var(--scb-drawer-fluid-width, 70vw),var(--scb-drawer-max-width, 360px));--scb-drawer-background:var(--scb-drawer-surface-color, var(--md-sys-color-surface-container-lowest));box-shadow:var(--scb-drawer-elevation, var(--scb-shadow-drawer-start));border-radius:var(--scb-drawer-design-surface-radius-medium);z-index:var(--scb-drawer-z, var(--scb-layer-drawer, 1000));transition:transform .3s ease,opacity .3s ease,visibility .3s;opacity:0;visibility:hidden;pointer-events:none;will-change:transform;font-family:var(--brand-font);overflow:hidden}@media (prefers-reduced-motion:reduce){:host([floating]){transition:none}}:host([floating][data-side="left"]){left:0;transform:translateX(-100%)}:host([floating][data-side="left"][open]){transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto}:host([floating][data-side="right"]){right:0;transform:translateX(100%);box-shadow:var(--scb-drawer-elevation, var(--scb-shadow-drawer-end))}:host([floating][data-side="right"][open]){transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto}::slotted(scb-menu){background:var(--scb-drawer-surface-color, var(--md-sys-color-surface-container-lowest));--scb-menu-background:var(--scb-drawer-surface-color, var(--md-sys-color-surface-container-lowest))}.root{height:100%;display:flex;flex-direction:column;min-height:0}.panel{contain:layout paint style;flex:1 1 auto;min-height:0;overflow:auto;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}:host([floating]:not([open])) .panel{content-visibility:auto;contain-intrinsic-size:0 600px}@supports not (scrollbar-gutter:stable){.panel{overflow-y:scroll}}:host{--scb-drawer-design-surface-padding-medium:var(--scb-drawer-padding, var(--spacing-4, 12px));--scb-drawer-design-surface-radius-medium:var(--scb-drawer-surface-radius, var(--radius-none, 0px))}`,n);l([c({type:Boolean,reflect:!0,converter:d})],i.prototype,"floating",void 0);l([c({type:Boolean,reflect:!0,converter:d})],i.prototype,"left",void 0);l([c({type:Boolean,reflect:!0,converter:d})],i.prototype,"right",void 0);l([c({type:Boolean,reflect:!0,converter:d})],i.prototype,"open",void 0);l([c({type:Boolean,reflect:!0,converter:d})],i.prototype,"overlay",void 0);l([c({type:Boolean,reflect:!0,attribute:"lock-scroll",converter:d})],i.prototype,"lockScroll",void 0);l([c({type:Boolean,reflect:!0,attribute:"close-on-overlay",converter:d})],i.prototype,"closeOnOverlay",void 0);l([c({type:Boolean,reflect:!0,converter:d})],i.prototype,"modal",void 0);l([c({type:String,reflect:!0,attribute:"aria-label"})],i.prototype,"ariaLabel",void 0);i=o=l([b("scb-drawer")],i);export{i as ScbDrawer};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scb-wc",
3
- "version": "0.1.226",
3
+ "version": "0.1.228",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "module": "index.js",
@@ -454,5 +454,5 @@
454
454
  "./scb-viz/*": null,
455
455
  "./mvc/*": "./mvc/*"
456
456
  },
457
- "buildHash": "F3ADCC14611D92C520CC6ED238A009E2E623CA38B13CB23F00A7959B4692E008"
457
+ "buildHash": "4DFD9F130C5D6D4D340D0975119B41B896E27DCE80896FDE662847DABC591788"
458
458
  }
@@ -37,12 +37,12 @@ export declare class ScbDrawer extends LitElement {
37
37
  ariaLabel: string;
38
38
  private __effectiveSide;
39
39
  private __lastTriggerEl;
40
+ private __scrollLockHeld;
40
41
  private static __overlayEl;
41
42
  private static __overlayStack;
42
43
  private static __lockedCount;
43
44
  private static __prevDocOverflow;
44
45
  private static __prevBodyOverflow;
45
- private static __prevDocPaddingRight;
46
46
  private static __prevBodyPaddingRight;
47
47
  private __lastTriggerWasAriaControls;
48
48
  private static __ensureOverlayStyles;
@@ -72,6 +72,8 @@ export declare class ScbDrawer extends LitElement {
72
72
  protected willUpdate(changed: Map<string, unknown>): void;
73
73
  protected updated(changed: Map<string, unknown>): void;
74
74
  private __applyOpenSideEffects;
75
+ private __acquireScrollLock;
76
+ private __releaseScrollLock;
75
77
  }
76
78
  declare global {
77
79
  interface HTMLElementTagNameMap {
@@ -13,7 +13,7 @@ var f, p = { fromAttribute(e) {
13
13
  f = this;
14
14
  }
15
15
  constructor(...e) {
16
- super(...e), this.floating = !0, this.left = !0, this.right = !1, this.open = !1, this.overlay = !1, this.lockScroll = !1, this.closeOnOverlay = !0, this.modal = !1, this.ariaLabel = "Sidopanel", this.__effectiveSide = "left", this.__lastTriggerEl = null, this.__lastTriggerWasAriaControls = !1, this.__onDocumentClick = (e) => {
16
+ super(...e), this.floating = !0, this.left = !0, this.right = !1, this.open = !1, this.overlay = !1, this.lockScroll = !1, this.closeOnOverlay = !0, this.modal = !1, this.ariaLabel = "Sidopanel", this.__effectiveSide = "left", this.__lastTriggerEl = null, this.__scrollLockHeld = !1, this.__lastTriggerWasAriaControls = !1, this.__onDocumentClick = (e) => {
17
17
  let t = this.__getActionFromEvent(e);
18
18
  if (t) {
19
19
  t === "open" && this.__setOpen(!0), t === "close" && this.__setOpen(!1), t === "toggle" && this.__setOpen(!this.open), e.stopPropagation();
@@ -51,9 +51,6 @@ var f, p = { fromAttribute(e) {
51
51
  static {
52
52
  this.__prevBodyOverflow = null;
53
53
  }
54
- static {
55
- this.__prevDocPaddingRight = null;
56
- }
57
54
  static {
58
55
  this.__prevBodyPaddingRight = null;
59
56
  }
@@ -91,11 +88,11 @@ var f, p = { fromAttribute(e) {
91
88
  static __lockScrollEnable() {
92
89
  if (!(typeof document > "u")) {
93
90
  if (f.__lockedCount === 0) {
94
- f.__prevDocOverflow = document.documentElement.style.overflow || "", f.__prevBodyOverflow = document.body.style.overflow || "", f.__prevDocPaddingRight = document.documentElement.style.paddingRight || "", f.__prevBodyPaddingRight = document.body.style.paddingRight || "";
91
+ f.__prevDocOverflow = document.documentElement.style.overflow || "", f.__prevBodyOverflow = document.body.style.overflow || "", f.__prevBodyPaddingRight = document.body.style.paddingRight || "";
95
92
  let e = Math.max(0, window.innerWidth - document.documentElement.clientWidth);
96
93
  if (e > 0) {
97
- let t = Number.parseFloat(getComputedStyle(document.documentElement).paddingRight || "0"), n = Number.parseFloat(getComputedStyle(document.body).paddingRight || "0");
98
- document.documentElement.style.paddingRight = `${t + e}px`, document.body.style.paddingRight = `${n + e}px`;
94
+ let t = Number.parseFloat(getComputedStyle(document.body).paddingRight || "0");
95
+ document.body.style.paddingRight = `${t + e}px`;
99
96
  }
100
97
  document.documentElement.style.overflow = "hidden", document.body.style.overflow = "hidden";
101
98
  }
@@ -103,7 +100,7 @@ var f, p = { fromAttribute(e) {
103
100
  }
104
101
  }
105
102
  static __lockScrollDisable() {
106
- typeof document > "u" || (f.__lockedCount = Math.max(0, f.__lockedCount - 1), f.__lockedCount === 0 && (document.documentElement.style.overflow = f.__prevDocOverflow ?? "", document.body.style.overflow = f.__prevBodyOverflow ?? "", document.documentElement.style.paddingRight = f.__prevDocPaddingRight ?? "", document.body.style.paddingRight = f.__prevBodyPaddingRight ?? ""));
103
+ typeof document > "u" || (f.__lockedCount = Math.max(0, f.__lockedCount - 1), f.__lockedCount === 0 && (document.documentElement.style.overflow = f.__prevDocOverflow ?? "", document.body.style.overflow = f.__prevBodyOverflow ?? "", document.body.style.paddingRight = f.__prevBodyPaddingRight ?? ""));
107
104
  }
108
105
  static {
109
106
  this.styles = s`
@@ -237,7 +234,7 @@ var f, p = { fromAttribute(e) {
237
234
  super.connectedCallback(), this.__syncEffectiveSide(/* @__PURE__ */ new Map()), document.addEventListener("click", this.__onDocumentClick, !1);
238
235
  }
239
236
  disconnectedCallback() {
240
- document.removeEventListener("click", this.__onDocumentClick, !1), document.removeEventListener("keydown", this.__onDocumentKeydown, !0), this.overlay && (f.__hideOverlay(this), this.lockScroll && f.__lockScrollDisable()), t(this), super.disconnectedCallback();
237
+ document.removeEventListener("click", this.__onDocumentClick, !1), document.removeEventListener("keydown", this.__onDocumentKeydown, !0), this.overlay && (f.__hideOverlay(this), this.__releaseScrollLock()), t(this), super.disconnectedCallback();
241
238
  }
242
239
  __getActionFromEvent(e) {
243
240
  if (!this.id) return null;
@@ -321,10 +318,10 @@ var f, p = { fromAttribute(e) {
321
318
  let t = !!e.get("open");
322
319
  this.__applyOpenSideEffects(t, this.open);
323
320
  }
324
- (e.has("open") || e.has("floating")) && (this.open && this.floating ? a(this) : (this.open || r(this), !this.open && i(this) ? n(this) : t(this)));
321
+ (e.has("open") || e.has("floating")) && (this.open && this.floating ? a(this) : (this.open || r(this), !this.open && (i(this) || this.__scrollLockHeld) ? n(this, this.__scrollLockHeld ? () => this.__releaseScrollLock() : void 0) : t(this)));
325
322
  }
326
323
  __applyOpenSideEffects(e, t) {
327
- if (t && !e) this.__syncLastTriggerExpanded(!0), this.floating && this.overlay && (f.__showOverlay(this), this.lockScroll && f.__lockScrollEnable()), document.addEventListener("keydown", this.__onDocumentKeydown, !0), this.__focusFirstControl(), this.dispatchEvent(new CustomEvent("scb-drawer-opened", {
324
+ if (t && !e) this.__syncLastTriggerExpanded(!0), this.floating && this.overlay && (f.__showOverlay(this), this.lockScroll && this.__acquireScrollLock()), document.addEventListener("keydown", this.__onDocumentKeydown, !0), this.__focusFirstControl(), this.dispatchEvent(new CustomEvent("scb-drawer-opened", {
328
325
  bubbles: !0,
329
326
  composed: !0
330
327
  })), this.dispatchEvent(new CustomEvent("scbdraweropened", {
@@ -332,7 +329,7 @@ var f, p = { fromAttribute(e) {
332
329
  composed: !0
333
330
  }));
334
331
  else if (!t && e) {
335
- this.__syncLastTriggerExpanded(!1), this.floating && this.overlay && (f.__hideOverlay(this), this.lockScroll && f.__lockScrollDisable()), document.removeEventListener("keydown", this.__onDocumentKeydown, !0);
332
+ this.__syncLastTriggerExpanded(!1), this.floating && this.overlay && f.__hideOverlay(this), document.removeEventListener("keydown", this.__onDocumentKeydown, !0);
336
333
  let e = this.__lastTriggerEl;
337
334
  requestAnimationFrame(() => {
338
335
  this.open || e?.focus?.({ preventScroll: !0 });
@@ -345,6 +342,12 @@ var f, p = { fromAttribute(e) {
345
342
  }));
346
343
  }
347
344
  }
345
+ __acquireScrollLock() {
346
+ this.__scrollLockHeld ||= (f.__lockScrollEnable(), !0);
347
+ }
348
+ __releaseScrollLock() {
349
+ this.__scrollLockHeld && (this.__scrollLockHeld = !1, f.__lockScrollDisable());
350
+ }
348
351
  };
349
352
  e([d({
350
353
  type: Boolean,
package/scb-wc.bundle.js CHANGED
@@ -9771,7 +9771,7 @@
9771
9771
  <slot name="buttons" @slotchange=${this.__onButtonsSlotChange}></slot>
9772
9772
  </div>
9773
9773
  </div>
9774
- `:null}};N([_({type:Boolean,reflect:!0,converter:ad})],od.prototype,`open`,void 0),N([_({type:Boolean,attribute:`auto-remove`,reflect:!0,converter:ad})],od.prototype,`autoRemove`,void 0),N([_({type:String,reflect:!0})],od.prototype,`title`,void 0),N([_({type:String,attribute:`supporting-text`,reflect:!0})],od.prototype,`supportingText`,void 0),N([_({type:String,attribute:`aria-label`,reflect:!0})],od.prototype,`ariaLabel`,void 0),N([_({type:String,reflect:!0})],od.prototype,`spacing`,void 0),N([_({type:String,attribute:`spacing-top`,reflect:!0})],od.prototype,`spacingTop`,void 0),N([_({type:String,attribute:`spacing-bottom`,reflect:!0})],od.prototype,`spacingBottom`,void 0),N([_({type:String,attribute:`spacing-left`,reflect:!0})],od.prototype,`spacingLeft`,void 0),N([_({type:String,attribute:`spacing-right`,reflect:!0})],od.prototype,`spacingRight`,void 0),od=N([a(`scb-cookies-consent`)],od);var sd=n({ScbDrawer:()=>ld}),q,cd,ld,ud=t((()=>{w(),b(),Nu(),Cl(),P(),cd={fromAttribute(e){if(e===null)return!1;let t=e.trim().toLowerCase();return t!==`false`&&t!==`0`&&t!==`no`}},ld=class extends C{static{q=this}constructor(...e){super(...e),this.floating=!0,this.left=!0,this.right=!1,this.open=!1,this.overlay=!1,this.lockScroll=!1,this.closeOnOverlay=!0,this.modal=!1,this.ariaLabel=`Sidopanel`,this.__effectiveSide=`left`,this.__lastTriggerEl=null,this.__lastTriggerWasAriaControls=!1,this.__onDocumentClick=e=>{let t=this.__getActionFromEvent(e);if(t){t===`open`&&this.__setOpen(!0),t===`close`&&this.__setOpen(!1),t===`toggle`&&this.__setOpen(!this.open),e.stopPropagation();return}this.floating&&this.open&&!this.overlay&&(e.composedPath().includes(this)||this.__setOpen(!1))},this.__onDocumentKeydown=e=>{if(this.open){if(e.key===`Escape`){if(this.__hasOpenNestedOverlay(e))return;e.preventDefault(),e.stopPropagation(),this.__setOpen(!1);return}if(this.overlay&&e.key===`Tab`){let t=this.__getFocusable();if(t.length===0)return;let n=t[0],r=t[t.length-1],i=this.__currentFocusableFromEvent(e,t);e.shiftKey?(i===n||!i)&&(e.preventDefault(),r.focus()):(i===r||!i)&&(e.preventDefault(),n.focus())}}}}static{this.__overlayEl=null}static{this.__overlayStack=[]}static{this.__lockedCount=0}static{this.__prevDocOverflow=null}static{this.__prevBodyOverflow=null}static{this.__prevDocPaddingRight=null}static{this.__prevBodyPaddingRight=null}static __ensureOverlayStyles(){if(typeof document>`u`||document.getElementById(`scb-drawer-overlay-styles`))return;let e=document.createElement(`style`);e.id=`scb-drawer-overlay-styles`,e.textContent=`
9774
+ `:null}};N([_({type:Boolean,reflect:!0,converter:ad})],od.prototype,`open`,void 0),N([_({type:Boolean,attribute:`auto-remove`,reflect:!0,converter:ad})],od.prototype,`autoRemove`,void 0),N([_({type:String,reflect:!0})],od.prototype,`title`,void 0),N([_({type:String,attribute:`supporting-text`,reflect:!0})],od.prototype,`supportingText`,void 0),N([_({type:String,attribute:`aria-label`,reflect:!0})],od.prototype,`ariaLabel`,void 0),N([_({type:String,reflect:!0})],od.prototype,`spacing`,void 0),N([_({type:String,attribute:`spacing-top`,reflect:!0})],od.prototype,`spacingTop`,void 0),N([_({type:String,attribute:`spacing-bottom`,reflect:!0})],od.prototype,`spacingBottom`,void 0),N([_({type:String,attribute:`spacing-left`,reflect:!0})],od.prototype,`spacingLeft`,void 0),N([_({type:String,attribute:`spacing-right`,reflect:!0})],od.prototype,`spacingRight`,void 0),od=N([a(`scb-cookies-consent`)],od);var sd=n({ScbDrawer:()=>ld}),q,cd,ld,ud=t((()=>{w(),b(),Nu(),Cl(),P(),cd={fromAttribute(e){if(e===null)return!1;let t=e.trim().toLowerCase();return t!==`false`&&t!==`0`&&t!==`no`}},ld=class extends C{static{q=this}constructor(...e){super(...e),this.floating=!0,this.left=!0,this.right=!1,this.open=!1,this.overlay=!1,this.lockScroll=!1,this.closeOnOverlay=!0,this.modal=!1,this.ariaLabel=`Sidopanel`,this.__effectiveSide=`left`,this.__lastTriggerEl=null,this.__scrollLockHeld=!1,this.__lastTriggerWasAriaControls=!1,this.__onDocumentClick=e=>{let t=this.__getActionFromEvent(e);if(t){t===`open`&&this.__setOpen(!0),t===`close`&&this.__setOpen(!1),t===`toggle`&&this.__setOpen(!this.open),e.stopPropagation();return}this.floating&&this.open&&!this.overlay&&(e.composedPath().includes(this)||this.__setOpen(!1))},this.__onDocumentKeydown=e=>{if(this.open){if(e.key===`Escape`){if(this.__hasOpenNestedOverlay(e))return;e.preventDefault(),e.stopPropagation(),this.__setOpen(!1);return}if(this.overlay&&e.key===`Tab`){let t=this.__getFocusable();if(t.length===0)return;let n=t[0],r=t[t.length-1],i=this.__currentFocusableFromEvent(e,t);e.shiftKey?(i===n||!i)&&(e.preventDefault(),r.focus()):(i===r||!i)&&(e.preventDefault(),n.focus())}}}}static{this.__overlayEl=null}static{this.__overlayStack=[]}static{this.__lockedCount=0}static{this.__prevDocOverflow=null}static{this.__prevBodyOverflow=null}static{this.__prevBodyPaddingRight=null}static __ensureOverlayStyles(){if(typeof document>`u`||document.getElementById(`scb-drawer-overlay-styles`))return;let e=document.createElement(`style`);e.id=`scb-drawer-overlay-styles`,e.textContent=`
9775
9775
  .scb-drawer-global-overlay {
9776
9776
  position: fixed;
9777
9777
  inset: 0;
@@ -9800,7 +9800,7 @@
9800
9800
  @media (prefers-reduced-motion: reduce) {
9801
9801
  .scb-drawer-global-overlay { transition: none; }
9802
9802
  }
9803
- `,document.head.appendChild(e)}static __ensureOverlay(){if(typeof document>`u`||q.__overlayEl)return;q.__ensureOverlayStyles();let e=document.createElement(`div`);e.className=`scb-drawer-global-overlay`,e.addEventListener(`pointerdown`,()=>{let e=q.__overlayStack[q.__overlayStack.length-1];e&&e.closeOnOverlay&&e.__setOpen(!1)},{passive:!0}),document.body.appendChild(e),q.__overlayEl=e}static __showOverlay(e){q.__ensureOverlay(),q.__overlayEl&&(q.__overlayStack.includes(e)||q.__overlayStack.push(e),q.__syncOverlayColors(e),_l(q.__overlayEl),q.__overlayEl.classList.add(`is-visible`))}static __hideOverlay(e){let t=q.__overlayStack.indexOf(e);t>=0&&q.__overlayStack.splice(t,1);let n=q.__overlayStack[q.__overlayStack.length-1];n&&q.__syncOverlayColors(n),q.__overlayStack.length===0&&q.__overlayEl&&(q.__overlayEl.classList.remove(`is-visible`),vl(q.__overlayEl),q.__overlayEl.style.removeProperty(`--scb-drawer-overlay-color`),q.__overlayEl.style.removeProperty(`--scb-drawer-scrim-color`))}static __syncOverlayColors(e){if(!q.__overlayEl||typeof getComputedStyle!=`function`)return;let t=getComputedStyle(e);for(let e of[`--scb-drawer-overlay-color`,`--scb-drawer-scrim-color`]){let n=t.getPropertyValue(e).trim();n?q.__overlayEl.style.setProperty(e,n):q.__overlayEl.style.removeProperty(e)}}static __lockScrollEnable(){if(!(typeof document>`u`)){if(q.__lockedCount===0){q.__prevDocOverflow=document.documentElement.style.overflow||``,q.__prevBodyOverflow=document.body.style.overflow||``,q.__prevDocPaddingRight=document.documentElement.style.paddingRight||``,q.__prevBodyPaddingRight=document.body.style.paddingRight||``;let e=Math.max(0,window.innerWidth-document.documentElement.clientWidth);if(e>0){let t=Number.parseFloat(getComputedStyle(document.documentElement).paddingRight||`0`),n=Number.parseFloat(getComputedStyle(document.body).paddingRight||`0`);document.documentElement.style.paddingRight=`${t+e}px`,document.body.style.paddingRight=`${n+e}px`}document.documentElement.style.overflow=`hidden`,document.body.style.overflow=`hidden`}q.__lockedCount++}}static __lockScrollDisable(){typeof document>`u`||(q.__lockedCount=Math.max(0,q.__lockedCount-1),q.__lockedCount===0&&(document.documentElement.style.overflow=q.__prevDocOverflow??``,document.body.style.overflow=q.__prevBodyOverflow??``,document.documentElement.style.paddingRight=q.__prevDocPaddingRight??``,document.body.style.paddingRight=q.__prevBodyPaddingRight??``))}static{this.styles=p`
9803
+ `,document.head.appendChild(e)}static __ensureOverlay(){if(typeof document>`u`||q.__overlayEl)return;q.__ensureOverlayStyles();let e=document.createElement(`div`);e.className=`scb-drawer-global-overlay`,e.addEventListener(`pointerdown`,()=>{let e=q.__overlayStack[q.__overlayStack.length-1];e&&e.closeOnOverlay&&e.__setOpen(!1)},{passive:!0}),document.body.appendChild(e),q.__overlayEl=e}static __showOverlay(e){q.__ensureOverlay(),q.__overlayEl&&(q.__overlayStack.includes(e)||q.__overlayStack.push(e),q.__syncOverlayColors(e),_l(q.__overlayEl),q.__overlayEl.classList.add(`is-visible`))}static __hideOverlay(e){let t=q.__overlayStack.indexOf(e);t>=0&&q.__overlayStack.splice(t,1);let n=q.__overlayStack[q.__overlayStack.length-1];n&&q.__syncOverlayColors(n),q.__overlayStack.length===0&&q.__overlayEl&&(q.__overlayEl.classList.remove(`is-visible`),vl(q.__overlayEl),q.__overlayEl.style.removeProperty(`--scb-drawer-overlay-color`),q.__overlayEl.style.removeProperty(`--scb-drawer-scrim-color`))}static __syncOverlayColors(e){if(!q.__overlayEl||typeof getComputedStyle!=`function`)return;let t=getComputedStyle(e);for(let e of[`--scb-drawer-overlay-color`,`--scb-drawer-scrim-color`]){let n=t.getPropertyValue(e).trim();n?q.__overlayEl.style.setProperty(e,n):q.__overlayEl.style.removeProperty(e)}}static __lockScrollEnable(){if(!(typeof document>`u`)){if(q.__lockedCount===0){q.__prevDocOverflow=document.documentElement.style.overflow||``,q.__prevBodyOverflow=document.body.style.overflow||``,q.__prevBodyPaddingRight=document.body.style.paddingRight||``;let e=Math.max(0,window.innerWidth-document.documentElement.clientWidth);if(e>0){let t=Number.parseFloat(getComputedStyle(document.body).paddingRight||`0`);document.body.style.paddingRight=`${t+e}px`}document.documentElement.style.overflow=`hidden`,document.body.style.overflow=`hidden`}q.__lockedCount++}}static __lockScrollDisable(){typeof document>`u`||(q.__lockedCount=Math.max(0,q.__lockedCount-1),q.__lockedCount===0&&(document.documentElement.style.overflow=q.__prevDocOverflow??``,document.body.style.overflow=q.__prevBodyOverflow??``,document.body.style.paddingRight=q.__prevBodyPaddingRight??``))}static{this.styles=p`
9804
9804
  :host {
9805
9805
  display: block;
9806
9806
  color: var(--scb-drawer-content-color, var(--md-sys-color-on-surface));
@@ -9921,7 +9921,7 @@
9921
9921
  >
9922
9922
  <div class="panel"><slot></slot></div>
9923
9923
  </div>
9924
- `}connectedCallback(){super.connectedCallback(),this.__syncEffectiveSide(new Map),document.addEventListener(`click`,this.__onDocumentClick,!1)}disconnectedCallback(){document.removeEventListener(`click`,this.__onDocumentClick,!1),document.removeEventListener(`keydown`,this.__onDocumentKeydown,!0),this.overlay&&(q.__hideOverlay(this),this.lockScroll&&q.__lockScrollDisable()),z(this),super.disconnectedCallback()}__getActionFromEvent(e){if(!this.id)return null;let t=e.composedPath();for(let e of t)if(e instanceof Element){if(e.getAttribute(`data-drawer-open`)===this.id)return this.__lastTriggerEl=e,this.__lastTriggerWasAriaControls=!1,`open`;if(e.getAttribute(`data-drawer-close`)===this.id)return this.contains(e)||(this.__lastTriggerEl=e,this.__lastTriggerWasAriaControls=!1),`close`;if(e.getAttribute(`data-drawer-toggle`)===this.id)return this.__lastTriggerEl=e,this.__lastTriggerWasAriaControls=!1,`toggle`;if(e.getAttribute(`aria-controls`)===this.id)return this.__lastTriggerEl=e,this.__lastTriggerWasAriaControls=!0,`toggle`}return null}__hasOpenNestedOverlay(e){let t=`scb-options-menu, scb-dropdown, scb-select`;return e.composedPath().some(e=>e instanceof Element&&e!==this&&e.matches(t)&&!!e.open)?!0:Array.from(this.querySelectorAll(t)).some(e=>!!e.open)}__getFocusable(){let e=[`button`,`[href]`,`input`,`select`,`textarea`,`[tabindex]:not([tabindex="-1"])`,`scb-button`,`scb-icon-button`,`scb-textfield`,`scb-checkbox`,`scb-radio-button`,`scb-switch`,`scb-chip`,`scb-menu-item`].join(`, `),t=new Set,n=n=>{n.querySelectorAll(e).forEach(e=>{let n=this.__resolveFocusable(e);n&&t.add(n)})};return n(this),n(this.renderRoot),Array.from(t).filter(e=>!this.__isDisabledOrHidden(e))}__resolveFocusable(e){return this.__isDisabledOrHidden(e)?null:e.tagName===`SCB-BUTTON`||e.tagName===`SCB-ICON-BUTTON`?e.shadowRoot?.querySelector(`.native-button, button, a`)??e:e.tagName===`SCB-MENU-ITEM`?e.shadowRoot?.querySelector(`.scb-menu-label-text`)??e:e}__isDisabledOrHidden(e){if(e.disabled||e.getAttribute(`aria-hidden`)===`true`)return!0;let t=getComputedStyle(e);return t.display===`none`||t.visibility===`hidden`}__currentFocusableFromEvent(e,t){let n=e.composedPath();return t.find(e=>n.includes(e))??(this.shadowRoot?.activeElement instanceof HTMLElement?this.shadowRoot.activeElement:null)??(document.activeElement instanceof HTMLElement?document.activeElement:null)}__setOpen(e){this.open=e}async __focusFirstControl(){await this.updateComplete;for(let e=0;e<4;e+=1){await new Promise(e=>requestAnimationFrame(()=>e()));let e=this.__getFocusable()[0];if(e?.focus?.({preventScroll:!0}),e&&this.__isFocused(e))return}}__isFocused(e){if(document.activeElement===e)return!0;let t=e.getRootNode();return t instanceof ShadowRoot&&t.activeElement===e}__syncLastTriggerExpanded(e){this.__lastTriggerEl&&this.__lastTriggerWasAriaControls&&this.__lastTriggerEl.getAttribute(`aria-controls`)===this.id&&this.__lastTriggerEl.setAttribute(`aria-expanded`,String(e))}__syncEffectiveSide(e){let t=this.left&&this.right,n;n=t?e.has(`left`)&&this.left&&!e.has(`right`)?`left`:`right`:this.right?`right`:`left`,this.__effectiveSide!==n&&(this.__effectiveSide=n),this.getAttribute(`data-side`)!==n&&this.setAttribute(`data-side`,n)}willUpdate(e){this.__syncEffectiveSide(e)}updated(e){if(this.open&&this.floating&&this.overlay&&q.__syncOverlayColors(this),e.has(`open`)){let t=!!e.get(`open`);this.__applyOpenSideEffects(t,this.open)}(e.has(`open`)||e.has(`floating`))&&(this.open&&this.floating?_l(this):(this.open||bl(this),!this.open&&yl(this)?vl(this):z(this)))}__applyOpenSideEffects(e,t){if(t&&!e)this.__syncLastTriggerExpanded(!0),this.floating&&this.overlay&&(q.__showOverlay(this),this.lockScroll&&q.__lockScrollEnable()),document.addEventListener(`keydown`,this.__onDocumentKeydown,!0),this.__focusFirstControl(),this.dispatchEvent(new CustomEvent(`scb-drawer-opened`,{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`scbdraweropened`,{bubbles:!0,composed:!0}));else if(!t&&e){this.__syncLastTriggerExpanded(!1),this.floating&&this.overlay&&(q.__hideOverlay(this),this.lockScroll&&q.__lockScrollDisable()),document.removeEventListener(`keydown`,this.__onDocumentKeydown,!0);let e=this.__lastTriggerEl;requestAnimationFrame(()=>{this.open||e?.focus?.({preventScroll:!0})}),this.dispatchEvent(new CustomEvent(`scb-drawer-closed`,{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`scbdrawerclosed`,{bubbles:!0,composed:!0}))}}},N([_({type:Boolean,reflect:!0,converter:cd})],ld.prototype,`floating`,void 0),N([_({type:Boolean,reflect:!0,converter:cd})],ld.prototype,`left`,void 0),N([_({type:Boolean,reflect:!0,converter:cd})],ld.prototype,`right`,void 0),N([_({type:Boolean,reflect:!0,converter:cd})],ld.prototype,`open`,void 0),N([_({type:Boolean,reflect:!0,converter:cd})],ld.prototype,`overlay`,void 0),N([_({type:Boolean,reflect:!0,attribute:`lock-scroll`,converter:cd})],ld.prototype,`lockScroll`,void 0),N([_({type:Boolean,reflect:!0,attribute:`close-on-overlay`,converter:cd})],ld.prototype,`closeOnOverlay`,void 0),N([_({type:Boolean,reflect:!0,converter:cd})],ld.prototype,`modal`,void 0),N([_({type:String,reflect:!0,attribute:`aria-label`})],ld.prototype,`ariaLabel`,void 0),ld=q=N([a(`scb-drawer`)],ld)}));ud(),w(),b(),Oc(),cc(),P();var J=class extends C{static{this.formAssociated=!0}constructor(){super(),this._internals=null,this.type=`default`,this.name=``,this.multiple=!1,this.label=``,this.supportingText=``,this.metaText=``,this.buttonLabel=``,this.replaceButtonLabel=``,this.removeButtonLabel=``,this.removeSelectedFileLabel=``,this.selectedImagesLabel=``,this.selectedFilesLabel=``,this.imagePreviewLabel=``,this.filePreviewLabel=``,this.selectedImagesPreviewText=``,this.existingFileLabel=``,this.selectedFileLabel=``,this.previewEyebrow=``,this.emptyPreviewTitle=``,this.emptyPreviewMeta=``,this.accept=``,this.hidePreview=!1,this.showExistingPreview=!1,this.disabled=!1,this.required=!1,this.error=!1,this.errorText=``,this.previewSrc=``,this.previewAlt=``,this.previewTitle=``,this.previewMeta=``,this.existingValue=``,this.existingValueName=``,this.removeValueName=``,this._isDragOver=!1,this._selectedPreviewKind=`empty`,this._selectedPreviewSrc=``,this._selectedPreviewAlt=``,this._selectedPreviewTitle=``,this._selectedPreviewMeta=``,this._selectedPreviewItems=[],this._markedForRemoval=!1,this._dragDepth=0,this._previewSource=`external`,this._form=null,this._formDataHandler=null,this._formSubmitHandler=null,this._customValidationMessage=``,this._validationMessage=``,this._hasValidationBeenReported=!1,this._supportingTextId=`scb-drop-zone-supporting-${Math.random().toString(36).slice(2)}`,this._metaTextId=`scb-drop-zone-meta-${Math.random().toString(36).slice(2)}`,this._errorTextId=`scb-drop-zone-error-${Math.random().toString(36).slice(2)}`,`attachInternals`in this&&(this._internals=this.attachInternals())}static{this.styles=p`
9924
+ `}connectedCallback(){super.connectedCallback(),this.__syncEffectiveSide(new Map),document.addEventListener(`click`,this.__onDocumentClick,!1)}disconnectedCallback(){document.removeEventListener(`click`,this.__onDocumentClick,!1),document.removeEventListener(`keydown`,this.__onDocumentKeydown,!0),this.overlay&&(q.__hideOverlay(this),this.__releaseScrollLock()),z(this),super.disconnectedCallback()}__getActionFromEvent(e){if(!this.id)return null;let t=e.composedPath();for(let e of t)if(e instanceof Element){if(e.getAttribute(`data-drawer-open`)===this.id)return this.__lastTriggerEl=e,this.__lastTriggerWasAriaControls=!1,`open`;if(e.getAttribute(`data-drawer-close`)===this.id)return this.contains(e)||(this.__lastTriggerEl=e,this.__lastTriggerWasAriaControls=!1),`close`;if(e.getAttribute(`data-drawer-toggle`)===this.id)return this.__lastTriggerEl=e,this.__lastTriggerWasAriaControls=!1,`toggle`;if(e.getAttribute(`aria-controls`)===this.id)return this.__lastTriggerEl=e,this.__lastTriggerWasAriaControls=!0,`toggle`}return null}__hasOpenNestedOverlay(e){let t=`scb-options-menu, scb-dropdown, scb-select`;return e.composedPath().some(e=>e instanceof Element&&e!==this&&e.matches(t)&&!!e.open)?!0:Array.from(this.querySelectorAll(t)).some(e=>!!e.open)}__getFocusable(){let e=[`button`,`[href]`,`input`,`select`,`textarea`,`[tabindex]:not([tabindex="-1"])`,`scb-button`,`scb-icon-button`,`scb-textfield`,`scb-checkbox`,`scb-radio-button`,`scb-switch`,`scb-chip`,`scb-menu-item`].join(`, `),t=new Set,n=n=>{n.querySelectorAll(e).forEach(e=>{let n=this.__resolveFocusable(e);n&&t.add(n)})};return n(this),n(this.renderRoot),Array.from(t).filter(e=>!this.__isDisabledOrHidden(e))}__resolveFocusable(e){return this.__isDisabledOrHidden(e)?null:e.tagName===`SCB-BUTTON`||e.tagName===`SCB-ICON-BUTTON`?e.shadowRoot?.querySelector(`.native-button, button, a`)??e:e.tagName===`SCB-MENU-ITEM`?e.shadowRoot?.querySelector(`.scb-menu-label-text`)??e:e}__isDisabledOrHidden(e){if(e.disabled||e.getAttribute(`aria-hidden`)===`true`)return!0;let t=getComputedStyle(e);return t.display===`none`||t.visibility===`hidden`}__currentFocusableFromEvent(e,t){let n=e.composedPath();return t.find(e=>n.includes(e))??(this.shadowRoot?.activeElement instanceof HTMLElement?this.shadowRoot.activeElement:null)??(document.activeElement instanceof HTMLElement?document.activeElement:null)}__setOpen(e){this.open=e}async __focusFirstControl(){await this.updateComplete;for(let e=0;e<4;e+=1){await new Promise(e=>requestAnimationFrame(()=>e()));let e=this.__getFocusable()[0];if(e?.focus?.({preventScroll:!0}),e&&this.__isFocused(e))return}}__isFocused(e){if(document.activeElement===e)return!0;let t=e.getRootNode();return t instanceof ShadowRoot&&t.activeElement===e}__syncLastTriggerExpanded(e){this.__lastTriggerEl&&this.__lastTriggerWasAriaControls&&this.__lastTriggerEl.getAttribute(`aria-controls`)===this.id&&this.__lastTriggerEl.setAttribute(`aria-expanded`,String(e))}__syncEffectiveSide(e){let t=this.left&&this.right,n;n=t?e.has(`left`)&&this.left&&!e.has(`right`)?`left`:`right`:this.right?`right`:`left`,this.__effectiveSide!==n&&(this.__effectiveSide=n),this.getAttribute(`data-side`)!==n&&this.setAttribute(`data-side`,n)}willUpdate(e){this.__syncEffectiveSide(e)}updated(e){if(this.open&&this.floating&&this.overlay&&q.__syncOverlayColors(this),e.has(`open`)){let t=!!e.get(`open`);this.__applyOpenSideEffects(t,this.open)}(e.has(`open`)||e.has(`floating`))&&(this.open&&this.floating?_l(this):(this.open||bl(this),!this.open&&(yl(this)||this.__scrollLockHeld)?vl(this,this.__scrollLockHeld?()=>this.__releaseScrollLock():void 0):z(this)))}__applyOpenSideEffects(e,t){if(t&&!e)this.__syncLastTriggerExpanded(!0),this.floating&&this.overlay&&(q.__showOverlay(this),this.lockScroll&&this.__acquireScrollLock()),document.addEventListener(`keydown`,this.__onDocumentKeydown,!0),this.__focusFirstControl(),this.dispatchEvent(new CustomEvent(`scb-drawer-opened`,{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`scbdraweropened`,{bubbles:!0,composed:!0}));else if(!t&&e){this.__syncLastTriggerExpanded(!1),this.floating&&this.overlay&&q.__hideOverlay(this),document.removeEventListener(`keydown`,this.__onDocumentKeydown,!0);let e=this.__lastTriggerEl;requestAnimationFrame(()=>{this.open||e?.focus?.({preventScroll:!0})}),this.dispatchEvent(new CustomEvent(`scb-drawer-closed`,{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`scbdrawerclosed`,{bubbles:!0,composed:!0}))}}__acquireScrollLock(){this.__scrollLockHeld||=(q.__lockScrollEnable(),!0)}__releaseScrollLock(){this.__scrollLockHeld&&(this.__scrollLockHeld=!1,q.__lockScrollDisable())}},N([_({type:Boolean,reflect:!0,converter:cd})],ld.prototype,`floating`,void 0),N([_({type:Boolean,reflect:!0,converter:cd})],ld.prototype,`left`,void 0),N([_({type:Boolean,reflect:!0,converter:cd})],ld.prototype,`right`,void 0),N([_({type:Boolean,reflect:!0,converter:cd})],ld.prototype,`open`,void 0),N([_({type:Boolean,reflect:!0,converter:cd})],ld.prototype,`overlay`,void 0),N([_({type:Boolean,reflect:!0,attribute:`lock-scroll`,converter:cd})],ld.prototype,`lockScroll`,void 0),N([_({type:Boolean,reflect:!0,attribute:`close-on-overlay`,converter:cd})],ld.prototype,`closeOnOverlay`,void 0),N([_({type:Boolean,reflect:!0,converter:cd})],ld.prototype,`modal`,void 0),N([_({type:String,reflect:!0,attribute:`aria-label`})],ld.prototype,`ariaLabel`,void 0),ld=q=N([a(`scb-drawer`)],ld)}));ud(),w(),b(),Oc(),cc(),P();var J=class extends C{static{this.formAssociated=!0}constructor(){super(),this._internals=null,this.type=`default`,this.name=``,this.multiple=!1,this.label=``,this.supportingText=``,this.metaText=``,this.buttonLabel=``,this.replaceButtonLabel=``,this.removeButtonLabel=``,this.removeSelectedFileLabel=``,this.selectedImagesLabel=``,this.selectedFilesLabel=``,this.imagePreviewLabel=``,this.filePreviewLabel=``,this.selectedImagesPreviewText=``,this.existingFileLabel=``,this.selectedFileLabel=``,this.previewEyebrow=``,this.emptyPreviewTitle=``,this.emptyPreviewMeta=``,this.accept=``,this.hidePreview=!1,this.showExistingPreview=!1,this.disabled=!1,this.required=!1,this.error=!1,this.errorText=``,this.previewSrc=``,this.previewAlt=``,this.previewTitle=``,this.previewMeta=``,this.existingValue=``,this.existingValueName=``,this.removeValueName=``,this._isDragOver=!1,this._selectedPreviewKind=`empty`,this._selectedPreviewSrc=``,this._selectedPreviewAlt=``,this._selectedPreviewTitle=``,this._selectedPreviewMeta=``,this._selectedPreviewItems=[],this._markedForRemoval=!1,this._dragDepth=0,this._previewSource=`external`,this._form=null,this._formDataHandler=null,this._formSubmitHandler=null,this._customValidationMessage=``,this._validationMessage=``,this._hasValidationBeenReported=!1,this._supportingTextId=`scb-drop-zone-supporting-${Math.random().toString(36).slice(2)}`,this._metaTextId=`scb-drop-zone-meta-${Math.random().toString(36).slice(2)}`,this._errorTextId=`scb-drop-zone-error-${Math.random().toString(36).slice(2)}`,`attachInternals`in this&&(this._internals=this.attachInternals())}static{this.styles=p`
9925
9925
  :host {
9926
9926
  display: block;
9927
9927
  width: 100%;