1import{R as w,K as v,W as r,O as m,Q as l,P as i,T}from"./signal.CNCfU7Hw.js";import{n as I}from"./ref.D1KjxGgY.js";import{i as n}from"./keyed.T4FYrR1V.js";import{e as y}from"./floating-ui.D380OemT.js";import{u as D}from"./useT9n.DgHKBKed.js";import{u as P}from"./useSetFocus.DmdLAgUP.js";import{u as H}from"./useInteractive.DKrGT6nQ.js";import"./directive-helpers.DS6Yk2X1.js";import"./dom.CLWNH6N5.js";import"./guid.LcV_DAvu.js";import"./debounce.D0Dr7phT.js";import"./index.B3LrT0DQ.js";import"./proxyExports-CXEnG2Az.Ci2qtAtz.js";import"./index.DV2a7jmW.js";import"./index.Lhiybazs.js";import"./component.DaY1qw_V.js";const u={handle:"handle",dropdown:"dropdown"},f={drag:"drag",blank:"blank"},p={label:"{label}",position:"{position}",total:"{total}"},b=["top","up","down","bottom"],B={trigger:"trigger"},h={add:"add",move:"move",reorder:"reorder"},O=w`: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:flex}.dropdown{block-size:100%}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}:host([hidden]){display:none}[hidden]{display:none}`;class C extends v{constructor(){super(...arguments),this.focusSetter=P()(this),this.interactiveContainer=H(this),this.disabled=!1,this.messages=D({blocking:!0}),this.addToItems=[],this.moveToItems=[],this.open=!1,this.overlayPositioning="absolute",this.placement=y,this.scale="m",this.sortDisabled=!1,this.topLayerDisabled=!1,this.calciteSortHandleAdd=r({cancelable:!0}),this.calciteSortHandleBeforeClose=r({cancelable:!1}),this.calciteSortHandleBeforeOpen=r({cancelable:!1}),this.calciteSortHandleClose=r({cancelable:!1}),this.calciteSortHandleMove=r({cancelable:!0}),this.calciteSortHandleOpen=r({cancelable:!1}),this.calciteSortHandleReorder=r({cancelable:!0})}static{this.properties={disabled:[7,{},{reflect:!0,type:Boolean}],flipPlacements:[0,{},{attribute:!1}],label:1,messageOverrides:[0,{},{attribute:!1}],messages:[0,{},{attribute:!1}],addToItems:[0,{},{attribute:!1}],moveToItems:[0,{},{attribute:!1}],open:[7,{},{reflect:!0,type:Boolean}],overlayPositioning:[3,{},{reflect:!0}],placement:[3,{},{reflect:!0}],scale:[3,{},{reflect:!0}],setPosition:[9,{},{type:Number}],setSize:[9,{},{type:Number}],sortDisabled:[7,{},{reflect:!0,type:Boolean}],topLayerDisabled:[7,{},{reflect:!0,type:Boolean}],widthScale:[3,{},{reflect:!0}]}}static{this.styles=O}get hasSetInfo(){return typeof this.setPosition=="number"&&typeof this.setSize=="number"}get hasValidSetInfo(){return this.hasSetInfo?this.setPosition>0&&this.setSize>1:!0}get hasReorderItems(){return!this.sortDisabled&&this.hasValidSetInfo}get hasNoItems(){return!this.hasReorderItems&&this.moveToItems.length<1&&this.addToItems.length<1}async setFocus(e){return this.focusSetter(()=>this.dropdownEl,e)}willUpdate(e){e.has("open")&&(this.hasUpdated||this.open!==!1)&&this.openHandler()}openHandler(){if(this.disabled){this.open=!1;return}this.dropdownEl&&(this.dropdownEl.open=this.open)}setDropdownEl(e){e&&(this.dropdownEl=e,this.openHandler())}getLabel(){const{label:e,messages:t,setPosition:o,setSize:s,hasSetInfo:d}=this;if(!d)return e??"";let a=e?t.repositionLabel.replace(p.label,e):t.reposition;return a=a.replace(p.position,o?o.toString():""),a.replace(p.total,s?s.toString():"")}handleBeforeOpen(e){e.stopPropagation(),this.calciteSortHandleBeforeOpen.emit()}handleOpen(e){e.stopPropagation(),this.calciteSortHandleOpen.emit(),this.open=!0}handleBeforeClose(e){e.stopPropagation(),this.calciteSortHandleBeforeClose.emit()}handleClose(e){e.stopPropagation(),this.calciteSortHandleClose.emit(),this.open=!1}handleReorder(e){this.calciteSortHandleReorder.emit({reorder:e.target.dataset.value})}handleMoveTo(e){const t=e.target.dataset.id,o=this.moveToItems.find(s=>s.id===t);this.calciteSortHandleMove.emit({moveTo:o})}handleAddTo(e){const t=e.target.dataset.id,o=this.addToItems.find(s=>s.id===t);this.calciteSortHandleAdd.emit({addTo:o})}render(){const{disabled:e,flipPlacements:t,open:o,overlayPositioning:s,placement:d,scale:a,widthScale:$,hasNoItems:g}=this,c=this.getLabel(),S=e||g;return this.interactiveContainer({disabled:e,children:i`<calcite-dropdown class=${m(u.dropdown)} .disabled=${S} .flipPlacements=${t} @calciteDropdownBeforeClose=${this.handleBeforeClose} @calciteDropdownBeforeOpen=${this.handleBeforeOpen} @calciteDropdownClose=${this.handleClose} @calciteDropdownOpen=${this.handleOpen} .overlayPositioning=${s} .placement=${d} .scale=${a} .topLayerDisabled=${this.topLayerDisabled} .widthScale=${$} ${I(this.setDropdownEl)}><calcite-action .active=${o} .aria=${{expanded:o}} class=${m(u.handle)} .dragHandle=${!0} .icon=${e?f.blank:f.drag} .label=${c} .scale=${a} slot=${B.trigger} .text=${c} title=${c??l}></calcite-action>${this.renderReorderGroup()}${this.renderMoveToGroup()}${this.renderAddToGroup()}</calcite-dropdown>`})}renderAddToItem(e){return n(e.id,i`<calcite-dropdown-item data-id=${e.id??l} .label=${e.label} @calciteDropdownItemSelect=${this.handleAddTo}>${e.label}</calcite-dropdown-item>`)}renderMoveToItem(e){return n(e.id,i`<calcite-dropdown-item data-id=${e.id??l} .label=${e.label} @calciteDropdownItemSelect=${this.handleMoveTo}>${e.label}</calcite-dropdown-item>`)}renderReorderGroup(){return this.hasReorderItems?n("reorder",i`<calcite-dropdown-group .groupTitle=${this.messages.reorder} id=${h.reorder} .scale=${this.scale} selection-mode=none>${this.renderTop()}${this.renderUp()}${this.renderDown()}${this.renderBottom()}</calcite-dropdown-group>`):null}renderAddToGroup(){const{messages:e,addToItems:t,scale:o}=this;return t.length?n("add-to-items",i`<calcite-dropdown-group .groupTitle=${e.addTo} id=${h.add} .scale=${o} selection-mode=none>${t.map(s=>this.renderAddToItem(s))}</calcite-dropdown-group>`):null}renderMoveToGroup(){const{messages:e,moveToItems:t,scale:o}=this;return t.length?n("move-to-items",i`<calcite-dropdown-group .groupTitle=${e.moveTo} id=${h.move} .scale=${o} selection-mode=none>${t.map(s=>this.renderMoveToItem(s))}</calcite-dropdown-group>`):null}renderDropdownItem(e,t){return n(b[e],i`<calcite-dropdown-item data-value=${b[e]??l} .label=${t} @calciteDropdownItemSelect=${this.handleReorder}>${t}</calcite-dropdown-item>`)}renderTop(){const{setPosition:e}=this;return e!==1&&e!==2?this.renderDropdownItem(0,this.messages.moveToTop):null}renderUp(){return this.setPosition!==1?this.renderDropdownItem(1,this.messages.moveUp):null}renderDown(){return this.setPosition!==this.setSize?this.renderDropdownItem(2,this.messages.moveDown):null}renderBottom(){const{setPosition:e,setSize:t}=this;return e!==t&&e!==t-1?this.renderDropdownItem(3,this.messages.moveToBottom):null}}T("calcite-sort-handle",C);export{C as SortHandle};
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.