1import{K as C,W as r,O as f,Q as l,P as S,R as x,T as P}from"./signal.CNCfU7Hw.js";import{n as u}from"./ref.D1KjxGgY.js";import{o as $}from"./query-assigned-elements.CQyLtMBT.js";import{b as c,f as w,C as b}from"./dom.CLWNH6N5.js";import{e as g,r as F,c as d,a as z,f as H,h as T,F as v}from"./floating-ui.D380OemT.js";import{g as B}from"./guid.LcV_DAvu.js";import{i as L}from"./key.Cyh_1epf.js";import{c as y,u as D}from"./observers.CL7pjy4z.js";import{t as A}from"./openCloseComponent.BXiQysAo.js";import{g as U}from"./dynamicClasses.6uzzLOUQ.js";import{u as _}from"./useSetFocus.DmdLAgUP.js";import{u as M}from"./useInteractive.DKrGT6nQ.js";import{u as R}from"./useTopLayer.BjrLSrdV.js";const E={trigger:"trigger"},m={content:"content",wrapper:"wrapper",triggerContainer:"trigger-container"},I="calcite-dropdown",p={menuButton:a=>`${I}-${a}-menubutton`,menu:a=>`${I}-${a}-menu`},G=x`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:inline-block}.wrapper{inline-size:max-content;display:none;max-inline-size:100vw;max-block-size:100vh;inset-block-start:0;left:0;z-index:var(--calcite-floating-ui-z-index)}@starting-style{.wrapper{opacity:0;inset-block-start:0;left:0}}:host([top-layer-disabled]) .wrapper{--calcite-floating-ui-z-index: var(--calcite-z-index-dropdown)}.wrapper[popover]{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;display:none}.wrapper:popover-open{display:block}.wrapper .calcite-floating-ui-anim{position:relative;transition-duration:var(--calcite-floating-ui-transition);transition-property:inset-block-start,left,opacity,display;transition-behavior:allow-discrete;opacity:0;box-shadow:0 0 16px #00000029;z-index:var(--calcite-z-index);border-radius:.25rem}.wrapper[data-placement^=bottom] .calcite-floating-ui-anim{inset-block-start:-5px}.wrapper[data-placement^=top] .calcite-floating-ui-anim{inset-block-start:5px}.wrapper[data-placement^=left] .calcite-floating-ui-anim{left:5px}.wrapper[data-placement^=right] .calcite-floating-ui-anim{left:-5px}.wrapper[data-placement] .calcite-floating-ui-anim--active{opacity:1;inset-block-start:0;left:0}@starting-style{.wrapper[data-placement] .calcite-floating-ui-anim--active{opacity:0}}.content{max-height:45vh;width:auto;overflow-y:auto;overflow-x:hidden;inline-size:var(--calcite-dropdown-width, var(--calcite-internal-dropdown-width));background-color:var(--calcite-dropdown-background-color, var(--calcite-color-foreground-1))}.trigger-container{position:relative;display:flex;height:100%;flex:1 1 auto;word-wrap:break-word;word-break:break-word}.width-s{--calcite-internal-dropdown-width: 12rem}.width-m{--calcite-internal-dropdown-width: 14rem}.width-l{--calcite-internal-dropdown-width: 16rem}@media(forced-colors:active){:host([open]) .wrapper{border:var(--calcite-border-width-sm) solid canvasText}}:host([hidden]){display:none}[hidden]{display:none}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}`;var K=Object.defineProperty,j=(a,e,t,i)=>{for(var s=void 0,o=a.length-1,n;o>=0;o--)(n=a[o])&&(s=n(e,t,s)||s);return s&&K(e,t,s),s};class h extends C{constructor(){super(),this.focusLastDropdownItem=!1,this.groups=[],this.guid=B(),this.items=[],this.mutationObserver=y("mutation",()=>this.updateItems()),this.transitionProp="opacity",this.resizeObserver=y("resize",e=>this.resizeObserverCallback(e)),this.focusSetter=_()(this),this.interactiveContainer=M(this),this.topLayer=R({target:()=>this.floatingEl})(this),this.closeOnSelectDisabled=!1,this.disabled=!1,this.maxItems=0,this.offsetDistance=0,this.offsetSkidding=0,this.open=!1,this.overlayPositioning="absolute",this.placement=g,this.scale="m",this.selectedItems=[],this.topLayerDisabled=!1,this.type="click",this.calciteDropdownBeforeClose=r({cancelable:!1}),this.calciteDropdownBeforeOpen=r({cancelable:!1}),this.calciteDropdownClose=r({cancelable:!1}),this.calciteDropdownOpen=r({cancelable:!1}),this.calciteDropdownSelect=r({cancelable:!1}),this.listenOn(window,"click",this.closeCalciteDropdownOnClick),this.listen("calciteInternalDropdownCloseRequest",this.closeCalciteDropdownOnEvent),this.listenOn(window,"calciteDropdownOpen",this.closeCalciteDropdownOnOpenEvent),this.listen("pointerenter",this.pointerEnterHandler),this.listen("pointerleave",this.pointerLeaveHandler),this.listen("calciteInternalDropdownItemKeyEvent",this.calciteInternalDropdownItemKeyEvent),this.listen("calciteInternalDropdownItemSelect",this.handleItemSelect)}
1static{this.properties={closeOnSelectDisabled:[7,{},{reflect:!0,type:Boolean}],disabled:[7,{},{reflect:!0,type:Boolean}],flipPlacements:[0,{},{attribute:!1}],maxItems:[11,{},{reflect:!0,type:Number}],offsetDistance:[11,{},{type:Number,reflect:!0}],offsetSkidding:[11,{},{reflect:!0,type:Number}],open:[7,{},{reflect:!0,type:Boolean}],overlayPositioning:[3,{},{reflect:!0}],placement:[3,{},{reflect:!0}],scale:[3,{},{reflect:!0}],selectedItems:[0,{},{attribute:!1}],topLayerDisabled:[7,{},{reflect:!0,type:Boolean}],type:[3,{},{reflect:!0}],widthScale:[3,{},{reflect:!0}],width:[3,{},{reflect:!0}]}}static{this.shadowRootOptions={mode:"open",delegatesFocus:!0}}static{this.styles=G}async reposition(e=!1){const{filteredFlipPlacements:t,floatingEl:i,offsetDistance:s,offsetSkidding:o,overlayPositioning:n,placement:O,referenceEl:k}=this;return F(this,{floatingEl:i,referenceEl:k,offsetDistance:s,offsetSkidding:o,overlayPositioning:n,placement:O,flipPlacements:t,type:"menu"},e)}async setFocus(e){return this.focusSetter(()=>this.referenceEl,e)}connectedCallback(){super.connectedCallback(),this.mutationObserver?.observe(this.el,{childList:!0,subtree:!0}),this.setFilteredPlacements(),this.updateItems(),d(this)}willUpdate(e){e.has("open")&&(this.hasUpdated||this.open!==!1)&&this.openHandler(),e.has("disabled")&&(this.hasUpdated||this.disabled!==!1)&&this.handleDisabledChange(this.disabled),e.has("flipPlacements")&&this.flipPlacementsHandler(),e.has("maxItems")&&this.hasUpdated&&this.setMaxScrollerHeight(),this.hasUpdated&&(e.has("offsetDistance")&&this.offsetDistance!==0||e.has("offsetSkidding")&&this.offsetSkidding!==0||e.has("overlayPositioning")&&this.overlayPositioning!=="absolute"||e.has("placement")&&this.placement!==g)&&this.reposition(!0),e.has("scale")&&(this.hasUpdated||this.scale!=="m")&&this.handlePropsChange()}loaded(){this.updateSelectedItems(),d(this)}disconnectedCallback(){super.disconnectedCallback(),this.mutationObserver?.disconnect(),this.resizeObserver?.disconnect(),z(this)}openHandler(){this.disabled||(A(this),this.reposition(!0))}handleDisabledChange(e){e||(this.open=!1)}flipPlacementsHandler(){this.setFilteredPlacements(),this.reposition(!0)}handlePropsChange(){this.updateItems(),this.updateGroupProps()}closeCalciteDropdownOnClick(e){this.disabled||!this.open||e.composedPath().includes(this.el)||this.closeCalciteDropdown(!1)}closeCalciteDropdownOnEvent(e){this.closeCalciteDropdown(),e.stopPropagation()}closeCalciteDropdownOnOpenEvent(e){e.composedPath().includes(this.el)||(this.open=!1)}pointerEnterHandler(){this.disabled||this.type!=="hover"||this.toggleDropdown()}pointerLeaveHandler(){this.disabled||this.type!=="hover"||this.closeCalciteDropdown()}getTraversableItems(){return this.items.filter(e=>!e.disabled&&!e.hidden)}calciteInternalDropdownItemKeyEvent(e){const{keyboardEvent:t}=e.detail,i=t.target,s=this.getTraversableItems();switch(t.key){case"Tab":this.open=!1,this.updateTabIndexOfItems(i);break;case"ArrowDown":c(s,i,"next");break;case"ArrowUp":c(s,i,"previous");break;case"Home":c(s,i,"first");break;case"End":c(s,i,"last");break}e.stopPropagation()}handleItemSelect(e){this.updateSelectedItems(),e.stopPropagation(),this.calciteDropdownSelect.emit(),this.closeOnSelectDisabled||this.closeCalciteDropdown()}setFilteredPlacements(){const{el:e,flipPlacements:t}=this;this.filteredFlipPlacements=t?H(t,e):null}updateItems(){this.items=this.groups.map(e=>Array.from(e?.querySelectorAll("calcite-dropdown-item"))).reduce((e,t)=>[...e,...t],[]),this.updateSelectedItems(),this.reposition(!0),this.items.forEach(e=>e.scale=this.scale)}updateGroups(e){const t=e.target.assignedElements({flatten:!0}).filter(i=>i?.matches("calcite-dropdown-group"));this.groups=t,this.updateItems(),this.updateGroupProps()}updateGroupProps(){this.groups.forEach((e,t)=>{e.scale=this.scale,e.position=t})}resizeObserverCallback(e){e.forEach(({target:t})=>{t===this.referenceEl?this.setDropdownWidth():t===this.scrollerEl&&this.setMaxScrollerHeight()})}setDropdownWidth(){const{referenceEl:e,scrollerEl:t}=this;!t||!e||(t.style.minWidth=`${e.clientWidth}px`)}setMaxScrollerHeight(){const{maxItems:e,items:t,scrollerEl:i}=this;if(!i)return;const s=t.length>=e&&e>0?this.getYDistanceFromScroller(t.at(e-1)):0;i.style.maxBlockSize=s>0?`${s}px`:"",this.reposition(!0)}setScrollerAndTransitionEl(e){D(this.resizeObserver,this.scrollerEl,e),this.scrollerEl=e,this.transitionEl=e}onBeforeOpen(){this.focusOnFirstActiveOrDefaultItem(),this.calciteDropdownBeforeOpen.emit(),this.topLayer.show()}onOpen(){this.calciteDropdownOpen.emit()}onBeforeClose(){this.calciteDropdownBeforeClose.emit()}onClose(){this.calciteDropdownClose.emit(),T(this),this.topLayer.hide()}setReferenceEl(e){D(this.resizeObserver,this.referenceEl,e),this.referenceEl=e,d(this)}setFloatingEl(e){this.floatingEl=e,d(this)}
1keyDownHandler(e){if(!e.composedPath().includes(this.referenceEl))return;const{defaultPrevented:t,key:i}=e;if(!t){if(i==="Escape"){this.closeCalciteDropdown(),e.preventDefault();return}if(this.open&&e.shiftKey&&i==="Tab"){this.closeCalciteDropdown(),e.preventDefault();return}L(i)?(this.toggleDropdown(),e.preventDefault()):(i==="ArrowDown"||i==="ArrowUp")&&(e.preventDefault(),this.focusLastDropdownItem=i==="ArrowUp",this.open=!0)}}updateSelectedItems(){this.selectedItems=this.items.filter(e=>e.selected)}getYDistanceFromScroller(e){const t=e.getBoundingClientRect();return e.offsetTop+t.height}closeCalciteDropdown(e=!0){this.open=!1,e&&w(this.triggerEls[0])}async focusOnFirstActiveOrDefaultItem(){const t=this.getTraversableItems().find(i=>i.selected)||(this.focusLastDropdownItem?this.items.at(-1):this.items[0]);this.focusLastDropdownItem=!1,t&&(await this.updateComplete,await b(),await b(),await w(t),t.scrollIntoView({block:"nearest"}))}toggleDropdown(){this.open=!this.open}updateTabIndexOfItems(e){this.items.forEach(t=>{t.tabIndex=e!==t?-1:0})}render(){const{open:e,guid:t}=this;return this.interactiveContainer({disabled:this.disabled,children:S`<div class=${f(m.triggerContainer)} id=${p.menuButton(t)??l} @click=${this.toggleDropdown} @keydown=${this.keyDownHandler} ${u(this.setReferenceEl)}><slot aria-controls=${p.menu(t)??l} .ariaExpanded=${e} aria-haspopup=menu name=${E.trigger}></slot></div><div .ariaHidden=${!e} class=${f({[m.wrapper]:!0,[U("width",this.width,this.widthScale)]:!!(this.width||this.widthScale)})} popover=manual ${u(this.setFloatingEl)}><div aria-labelledby=${p.menuButton(t)??l} class=${f({[m.content]:!0,[v.animation]:!0,[v.animationActive]:e})} id=${p.menu(t)??l} role=menu ${u(this.setScrollerAndTransitionEl)}><slot @slotchange=${this.updateGroups}></slot></div></div>`})}}j([$({slot:E.trigger})],h.prototype,"triggerEls");P("calcite-dropdown",h);const ae=Object.freeze(Object.defineProperty({__proto__:null,Dropdown:h},Symbol.toStringTag,{value:"Module"})),oe=Object.freeze(Object.defineProperty({__proto__:null,Dropdown:h},Symbol.toStringTag,{value:"Module"}));export{ae as c,oe as i};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.