@esri/calcite-components
Version:
Web Components for Esri's Calcite Design System.
3 lines (2 loc) • 25.6 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
import{a as F,e as U,g as G}from"./LUZE3BNW.js";import{a,b as x,d as m,e as y}from"./WVJFCKOF.js";import{a as P}from"./DXO7R7JP.js";import{a as O}from"./77EQHO2G.js";import{a as h}from"./HXIMHC6U.js";import{a as T}from"./DPU3UW4H.js";import{a as z}from"./SQ6RHDDF.js";import{a as M}from"./3XLPUKLV.js";import{a as S}from"./3YEM2IPT.js";import"./QUTTHRH3.js";import"./MNIRD7Q7.js";import{e as D,m as R,t as C}from"./ZQBZ5QPB.js";import"./CIYXQ5G6.js";import{C as b,D as v,E as B,F as i,Q as A,g as k,h as l,l as w,p as o}from"./G7AHLVJ5.js";var q=k`: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;flex-direction:column}:host([scale=s]){--calcite-internal-list-action-spacing: var(--calcite-spacing-xxs)}:host([scale=m]){--calcite-internal-list-action-spacing: var(--calcite-spacing-xxs)}:host([scale=l]){--calcite-internal-list-action-spacing: var(--calcite-spacing-xs)}:host([filter-hidden]),:host([closed]){display:none}.wrapper--bordered{border-block-end:1px solid var(--calcite-list-border-color, var(--calcite-color-border-3))}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}.container{box-sizing:border-box;display:flex;flex:1 1 0%;overflow:hidden;background-color:var(--calcite-list-background-color, var(--calcite-color-foreground-1))}.container *{box-sizing:border-box}.container--hover:hover{cursor:pointer;background-color:var(--calcite-list-background-color-hover, var(--calcite-color-foreground-2))}.container:active{background-color:var(--calcite-list-background-color-press, var(--calcite-color-foreground-3))}.container--border{position:relative}.container--border:before{position:absolute;inline-size:var(--calcite-border-width-lg);inset-block:0;inset-inline-start:0;background-color:transparent;content:""}.container--border-selected:before{background-color:var(--calcite-list-selection-border-color, var(--calcite-color-brand))}.container--border-selected:focus{box-shadow:inset var(--calcite-border-width-lg) 0 0 0 var(--calcite-list-selection-border-color, var(--calcite-color-brand))}.container--highlight-selected{background-color:var(--calcite-color-surface-highlight)}.nested-container{display:none;flex-direction:column;border-width:0px;border-style:solid;border-color:1px solid var(--calcite-list-border-color, var(--calcite-color-border-3));margin-inline-start:var(--calcite-list-spacing-indent, 1.5rem)}.nested-container--expanded{display:flex}.selection-container{display:flex;padding-block:0px;color:var(--calcite-list-icon-color, var(--calcite-color-border-input))}:host(:not([disabled]):not([selected])) .container:hover .selection-container--single{color:var(--calcite-list-icon-color, var(--calcite-color-border-input))}:host([selected]:hover) .selection-container,:host([selected]:hover) .selection-container--single,:host([selected]) .selection-container{color:var(--calcite-list-icon-color, var(--calcite-color-brand))}.content-container-wrapper{display:flex;flex:1 1 auto}.content-container-wrapper--bordered{border-block-end:1px solid var(--calcite-list-border-color, var(--calcite-color-border-3))}.content-container{display:flex;flex:1 1 auto;-webkit-user-select:none;user-select:none;align-items:stretch;font-weight:var(--calcite-font-weight-normal);color:var(--calcite-list-content-text-color, var(--calcite-color-text-2))}.content-container--unavailable{opacity:var(--calcite-opacity-disabled)}.row,.grid-cell{outline-color:transparent}.row{position:relative}.row:focus,.grid-cell:focus{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}.content,.custom-content{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;line-height:var(--calcite-font-line-height-relative-snug)}.label{color:var(--calcite-list-label-text-color, var(--calcite-color-text-1))}.description{color:var(--calcite-list-description-text-color, var(--calcite-color-text-3))}.icon{align-self:center;color:var(--calcite-list-icon-color, var(--calcite-color-text-3))}.icon:hover,.icon:active{color:var(--calcite-color-text-1)}.actions-start,.actions-end{margin-inline-end:var(--calcite-internal-list-action-spacing);gap:var(--calcite-internal-list-action-spacing)}:host([scale=s]) .content-container{gap:var(--calcite-spacing-sm);min-block-size:32px;padding-block:var(--calcite-spacing-xxs);padding-inline-end:var(--calcite-spacing-sm)}:host([scale=s]) .content,:host([scale=s]) .custom-content,:host([scale=s]) .label{font-size:var(--calcite-font-size--2)}:host([scale=s]) .description{font-size:var(--calcite-font-size--3)}:host([scale=s][display-mode=flat]:not([drag-handle])) .container{padding-inline-start:var(--calcite-spacing-sm)}:host([scale=s][display-mode=flat]:not([drag-handle])) .selection-container{padding-inline-end:var(--calcite-spacing-sm)}:host([scale=s][display-mode=flat][drag-handle]) .selection-container{padding-inline:var(--calcite-spacing-xxs) var(--calcite-spacing-sm)}:host([scale=s][display-mode=nested]) .selection-container{padding-inline-end:var(--calcite-spacing-xxs)}:host([scale=s][display-mode=nested][selection-appearance=icon]:not([selection-mode=none]):not([drag-handle])) .container{padding-inline-start:var(--calcite-spacing-sm)}:host([scale=s][display-mode=nested][selection-appearance=icon]:not([selection-mode=none]):not([drag-handle])) .selection-container{padding-inline-end:var(--calcite-spacing-xxs)}:host([scale=s][display-mode=nested][drag-handle]) .selection-container{padding-inline:var(--calcite-spacing-xxs)}:host([scale=m]) .content-container{gap:var(--calcite-spacing-sm);min-block-size:40px;padding-block:var(--calcite-spacing-sm);padding-inline-end:var(--calcite-spacing-md)}:host([scale=m]) .content,:host([scale=m]) .custom-content{font-size:var(--calcite-font-size--2)}:host([scale=m]) .label{font-size:var(--calcite-font-size--1)}:host([scale=m]) .description{font-size:var(--calcite-font-size--2)}:host([scale=m][display-mode=flat]) .container{padding-inline-start:var(--calcite-spacing-md)}:host([scale=m][display-mode=flat]) .selection-container{padding-inline-end:var(--calcite-spacing-sm)}:host([scale=m][display-mode=flat][drag-handle]) .container{padding-inline-start:0}:host([scale=m][display-mode=flat][drag-handle]) .selection-container{padding-inline:var(--calcite-spacing-xxs) var(--calcite-spacing-sm)}:host([scale=m][display-mode=nested]) .container{padding-inline-start:var(--calcite-spacing-xxs)}:host([scale=m][display-mode=nested]) .selection-container{padding-inline-end:var(--calcite-spacing-xxs)}:host([scale=m][display-mode=nested][selection-appearance=icon]:not([selection-mode=none]):not([drag-handle])) .container{padding-inline-start:var(--calcite-spacing-md)}:host([scale=m][display-mode=nested][drag-handle]) .container{padding-inline-start:0}:host([scale=m][display-mode=nested][drag-handle]) .selection-container{padding-inline:var(--calcite-spacing-xxs)}:host([scale=l]) .content-container{gap:var(--calcite-spacing-md);min-block-size:56px;padding-block:.625rem;padding-inline-end:var(--calcite-spacing-lg)}:host([scale=l]) .content,:host([scale=l]) .custom-content,:host([scale=l]) .label{font-size:var(--calcite-font-size-0)}:host([scale=l]) .description{font-size:var(--calcite-font-size--1)}:host([scale=l]) .nested-container{margin-inline-start:1.75rem}:host([scale=l][display-mode=flat]) .container{padding-inline-start:var(--calcite-spacing-lg)}:host([scale=l][display-mode=flat]) .selection-container{padding-inline-end:var(--calcite-spacing-md)}:host([scale=l][display-mode=flat][drag-handle]) .container{padding-inline-start:0}:host([scale=l][display-mode=flat][drag-handle]) .selection-container{padding-inline-end:var(--calcite-spacing-md)}:host([scale=l][display-mode=nested]) .container{padding-inline-start:var(--calcite-spacing-xxs)}:host([scale=l][display-mode=nested][drag-handle]) .container{padding-inline-start:0}:host([scale=l][display-mode=nested][selection-appearance=icon]:not([selection-mode=none]):not([drag-handle])) .container{padding-inline-start:var(--calcite-spacing-lg)}.label,.description,.content-bottom{font-weight:var(--calcite-font-weight-normal);word-wrap:break-word;word-break:break-word}:host([selected]) .label{font-weight:var(--calcite-font-weight-medium)}:host([selected]) .icon{color:var(--calcite-list-icon-color, var(--calcite-color-text-1))}:host([selected]) .description{color:var(--calcite-list-description-text-color, var(--calcite-color-text-2))}.content-start{justify-content:flex-start}.content-end{justify-content:flex-end}.content-start,.content-end{flex:1 1 auto}.content-start ::slotted(calcite-icon),.content-end ::slotted(calcite-icon){align-self:center}.content-bottom{display:flex;flex-direction:column}.content-container--has-center-content .content-start,.content-container--has-center-content .content-end{flex:0 1 auto}.expanded-container{color:var(--calcite-list-icon-color, var(--calcite-color-text-3));padding-inline:var(--calcite-spacing-xxs)}:host(:not([disabled])) .expanded-container:hover{color:var(--calcite-list-icon-color, var(--calcite-color-text-1))}.actions-start,.actions-end,.content-start,.content-end,.selection-container,.drag-container,.expanded-container,.close{display:flex;align-items:center}.drag-container,.selection-container,.expanded-container{padding-block-end:var(--calcite-spacing-px)}.expanded-container,.selection-container{cursor:pointer}.actions-start,.actions-end{position:relative;padding:0}.actions-start ::slotted(calcite-action),.actions-start ::slotted(calcite-action-menu),.actions-start ::slotted(calcite-sort-handle),.actions-start ::slotted(calcite-dropdown),.actions-end ::slotted(calcite-action),.actions-end ::slotted(calcite-action-menu),.actions-end ::slotted(calcite-sort-handle),.actions-end ::slotted(calcite-dropdown){color:inherit}.row:focus:after,.row:focus:before{position:absolute;content:"";inline-size:.125rem;z-index:var(--calcite-z-index-header);background-color:var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));inset-block:0}.row:focus:before{inset-inline-start:0}.row:focus:after{inset-inline-end:0}.container--border:focus:before{display:none}::slotted(calcite-list:empty){border-block-start-width:0px}.drag-container calcite-action,.drag-container ::slotted(calcite-action),.actions-start calcite-action,.actions-start ::slotted(calcite-action),.actions-end calcite-action,.actions-end ::slotted(calcite-action),.close calcite-action,.close ::slotted(calcite-action){align-items:center}.drag-container{margin-inline:var(--calcite-spacing-xxs)}:host([display-mode=nested]) .drag-container,:host([selection-appearance=icon]:not([selection-mode=none])) .drag-container{margin-inline:var(--calcite-spacing-xxs) 0}:host([hidden]){display:none}[hidden]{display:none}`,$=new Map,I=class extends B{constructor(){super(),this.actionsEndRef=b(),this.actionsStartRef=b(),this.containerRef=b(),this.contentRef=b(),this.defaultSlotRef=b(),this.handleGridRef=b(),this.messages=z(),this.focusSetter=M()(this),this.interactiveContainer=O(this),this.hasActionsEnd=!1,this.hasActionsStart=!1,this.hasContentBottom=!1,this.hasContentEnd=!1,this.hasContentStart=!1,this.hasCustomContent=!1,this.level=null,this.expandable=!1,this.active=!1,this.bordered=!1,this.sortDisabled=!1,this.closable=!1,this.closed=!1,this.disabled=!1,this.dragDisabled=!1,this.dragHandle=!1,this.expanded=!1,this.filterHidden=!1,this.interactionMode=null,this.displayMode="flat",this.addToItems=[],this.moveToItems=[],this.scale="m",this.selected=!1,this.selectionMode=null,this.sortHandleOpen=!1,this.unavailable=!1,this.topLayerDisabled=!1,this.calciteInternalFocusPreviousItem=o({cancelable:!1}),this.calciteInternalListItemActive=o({cancelable:!1}),this.calciteInternalListItemChange=o({cancelable:!1}),this.calciteInternalListItemSelect=o({cancelable:!1}),this.calciteInternalListItemSelectMultiple=o({cancelable:!1}),this.calciteInternalListItemToggle=o({cancelable:!1}),this.calciteListItemClose=o({cancelable:!1}),this.calciteListItemCollapse=o({cancelable:!1}),this.calciteListItemExpand=o({cancelable:!1}),this.calciteListItemSelect=o({cancelable:!1}),this.calciteListItemSortHandleBeforeClose=o({cancelable:!1}),this.calciteListItemSortHandleBeforeOpen=o({cancelable:!1}),this.calciteListItemSortHandleClose=o({cancelable:!1}),this.calciteListItemSortHandleOpen=o({cancelable:!1}),this.calciteListItemToggle=o({cancelable:!1}),this.listen("calciteInternalListItemGroupDefaultSlotChange",this.handleCalciteInternalListDefaultSlotChanges),this.listen("calciteInternalListDefaultSlotChange",this.handleCalciteInternalListDefaultSlotChanges)}static{this.properties={hasActionsEnd:[16,{},{state:!0}],hasActionsStart:[16,{},{state:!0}],hasContentBottom:[16,{},{state:!0}],hasContentEnd:[16,{},{state:!0}],hasContentStart:[16,{},{state:!0}],hasCustomContent:[16,{},{state:!0}],level:[16,{},{state:!0}],expandable:[16,{},{state:!0}],parentListEl:[16,{},{state:!0}],active:[5,{},{type:Boolean}],bordered:[5,{},{type:Boolean}],sortDisabled:[5,{},{type:Boolean}],closable:[7,{},{reflect:!0,type:Boolean}],closed:[7,{},{reflect:!0,type:Boolean}],description:1,disabled:[7,{},{reflect:!0,type:Boolean}],dragDisabled:[7,{},{reflect:!0,type:Boolean}],dragHandle:[7,{},{reflect:!0,type:Boolean}],expanded:[7,{},{reflect:!0,type:Boolean}],filterHidden:[7,{},{reflect:!0,type:Boolean}],interactionMode:1,label:1,messageOverrides:[0,{},{attribute:!1}],metadata:[0,{},{attribute:!1}],displayMode:[3,{},{reflect:!0}],addToItems:[0,{},{attribute:!1}],moveToItems:[0,{},{attribute:!1}],open:[7,{},{reflect:!0,type:Boolean}],scale:[3,{},{reflect:!0}],selected:[7,{},{reflect:!0,type:Boolean}],selectionAppearance:[3,{},{reflect:!0}],selectionMode:[3,{},{reflect:!0}],setPosition:[9,{},{type:Number}],setSize:[9,{},{type:Number}],sortHandleOpen:[7,{},{reflect:!0,type:Boolean}],unavailable:[7,{},{reflect:!0,type:Boolean}],value:1,iconStart:[3,{type:String},{reflect:!0}],iconEnd:[3,{type:String},{reflect:!0}],iconFlipRtl:[3,{},{reflect:!0}],topLayerDisabled:[7,{},{reflect:!0,type:Boolean}]}}static{this.styles=[q,P]}get open(){return this.expanded}set open(e){T.deprecated("property",{component:this,name:"open",removalVersion:5,suggested:"expanded"}),this.expanded=e}async setFocus(e){return this.focusSetter(()=>{let{containerRef:t,parentListEl:n}=this,s=$.get(n);if(typeof s=="number"){let c=this.getGridCells()[s];if(c){this.focusCell(c);return}}return{target:t.value,includeContainer:!0,strategy:"focusable"}},e)}connectedCallback(){super.connectedCallback();let{el:e}=this;this.parentListEl=e.closest(F),this.level=G(e)+1,this.setSelectionDefaults()}willUpdate(e){e.has("active")&&(this.hasUpdated||this.active!==!1)&&this.activeHandler(this.active),e.has("closed")&&(this.hasUpdated||this.closed!==!1)&&this.handleClosedChange(),e.has("disabled")&&(this.hasUpdated||this.disabled!==!1)&&this.handleDisabledChange(),e.has("selected")&&(this.hasUpdated||this.selected!==!1)&&this.handleSelectedChange(),e.has("sortHandleOpen")&&(this.hasUpdated||this.sortHandleOpen!==!1)&&this.sortHandleOpenHandler(),e.has("displayMode")&&this.hasUpdated&&this.handleExpandableChange(this.defaultSlotRef.value),e.has("expanded")&&this.hasUpdated&&(this.expanded?(this.handleExpandedChange(),this.calciteListItemExpand.emit()):this.calciteListItemCollapse.emit())}disconnectedCallback(){super.disconnectedCallback(),$.clear()}activeHandler(e){e||this.focusCell(null,!1)}handleClosedChange(){this.emitCalciteInternalListItemChange()}handleDisabledChange(){this.emitCalciteInternalListItemChange()}handleExpandedChange(){this.emitCalciteInternalListItemToggle()}handleSelectedChange(){this.calciteInternalListItemSelect.emit()}sortHandleOpenHandler(){this.sortHandleEl&&(this.sortHandleEl.open=this.sortHandleOpen)}handleCalciteInternalListDefaultSlotChanges(e){e.stopPropagation(),this.handleExpandableChange(this.defaultSlotRef.value)}setSortHandleEl(e){this.sortHandleEl=e,this.sortHandleOpenHandler()}handleSortHandleBeforeOpen(e){e.stopPropagation(),this.calciteListItemSortHandleBeforeOpen.emit()}handleSortHandleBeforeClose(e){e.stopPropagation(),this.calciteListItemSortHandleBeforeClose.emit()}handleSortHandleClose(e){e.stopPropagation(),this.sortHandleOpen=!1,this.calciteListItemSortHandleClose.emit()}handleSortHandleOpen(e){e.stopPropagation(),this.sortHandleOpen=!0,this.calciteListItemSortHandleOpen.emit()}emitInternalListItemActive(){this.calciteInternalListItemActive.emit()}emitCalciteInternalListItemToggle(){this.calciteInternalListItemToggle.emit()}emitCalciteInternalListItemChange(){this.calciteInternalListItemChange.emit()}handleCloseClick(){this.closed=!0,this.calciteListItemClose.emit()}handleContentSlotChange(e){this.hasCustomContent=C(e)}handleActionsStartSlotChange(e){this.hasActionsStart=C(e)}handleActionsEndSlotChange(e){this.hasActionsEnd=C(e)}handleContentStartSlotChange(e){this.hasContentStart=C(e)}handleContentEndSlotChange(e){this.hasContentEnd=C(e)}handleContentBottomSlotChange(e){this.hasContentBottom=C(e)}setSelectionDefaults(){let{parentListEl:e,selectionMode:t,selectionAppearance:n}=this;e&&(t||(this.selectionMode=e.selectionMode),n||(this.selectionAppearance=e.selectionAppearance))}handleExpandableChange(e){if(!e)return;let t=U(e);t.lists.forEach(n=>{n.displayMode=this.displayMode}),this.expandable=this.displayMode==="nested"&&(t.lists.length>0||t.items.length>0)}handleDefaultSlotChange(e){this.handleExpandableChange(e.target)}handleToggleClick(){this.toggle()}toggle(e=!this.expanded){this.expanded=e,this.calciteListItemToggle.emit()}handleItemClick(e){e.defaultPrevented||this.toggleSelected(e.shiftKey)}async toggleSelected(e){let{selectionMode:t,selected:n}=this;this.disabled||(t==="multiple"||t==="single"?this.selected=!n:t==="single-persist"&&(this.selected=!0),this.calciteInternalListItemSelectMultiple.emit({selectMultiple:e&&t==="multiple"}),await this.updateComplete,this.calciteListItemSelect.emit())}getGridCells(){return[this.handleGridRef.value,this.actionsStartRef.value,this.contentRef.value,this.actionsEndRef.value].filter(e=>e&&!e.hidden)}handleItemKeyDown(e){if(e.defaultPrevented)return;let{key:t}=e,n=e.composedPath(),{containerRef:s,actionsStartRef:{value:c},actionsEndRef:{value:r},expanded:p,expandable:f}=this,d=this.getGridCells(),g=d.findIndex(u=>n.includes(u));if(t==="Enter"&&!n.includes(c)&&!n.includes(r))e.preventDefault(),this.toggleSelected(e.shiftKey);else if(t==="ArrowRight"){e.preventDefault();let u=g+1;g===-1?!p&&f?(this.toggle(!0),this.focusCell(null)):d[0]&&this.focusCell(d[0]):d[g]&&d[u]&&this.focusCell(d[u])}else if(t==="ArrowLeft"){e.preventDefault();let u=g-1;g===-1?(this.focusCell(null),p&&f?this.toggle(!1):this.calciteInternalFocusPreviousItem.emit()):g===0?(this.focusCell(null),s.value.focus()):d[g]&&d[u]&&this.focusCell(d[u])}}focusCellNull(){this.focusCell(null)}setFocusCell(e,t,n){let{parentListEl:s}=this;n&&$.set(s,null);let c=this.getGridCells();c.forEach(r=>{r.removeAttribute("tabindex"),r.removeAttribute(y)}),e&&(e===t?e.tabIndex=0:e.removeAttribute("tabindex"),e.setAttribute(y,""),n&&$.set(s,c.indexOf(e)))}focusCell(e,t=!0){let n=R(e);this.setFocusCell(e,n,t),n?.focus()}renderSelected(){let{selected:e,selectionMode:t,selectionAppearance:n}=this;return t==="none"||n!=="icon"?null:h("selection-container",l`<div class=${i({[a.selectionContainer]:!0,[a.selectionContainerSingle]:t==="single"||t==="single-persist"})} =${this.handleItemClick}><calcite-icon .icon=${e?t==="multiple"?m.selectedMultiple:m.selectedSingle:t==="multiple"?m.unselectedMultiple:m.unselectedSingle} .scale=${S(this.scale)}></calcite-icon></div>`)}renderDragHandle(){let{label:e,dragHandle:t,dragDisabled:n,setPosition:s,setSize:c,moveToItems:r,sortDisabled:p,addToItems:f}=this;return t?h("drag-handle-container",l`<div .ariaLabel=${e} class=${i({[a.dragContainer]:!0,[a.gridCell]:!0})} role=gridcell ${v(this.handleGridRef)}><calcite-sort-handle .addToItems=${f} .disabled=${n} .label=${e} .moveToItems=${r} =${this.handleSortHandleBeforeClose} =${this.handleSortHandleBeforeOpen} =${this.handleSortHandleClose} =${this.handleSortHandleOpen} overlay-positioning=fixed .scale=${this.scale} .setPosition=${s} .setSize=${c} .sortDisabled=${p} .topLayerDisabled=${this.topLayerDisabled} ${v(this.setSortHandleEl)}></calcite-sort-handle></div>`):null}renderExpanded(){let{el:e,expanded:t,expandable:n,messages:s,displayMode:c,scale:r}=this;if(c!=="nested")return null;let p=D(e),f=n?t?m.open:p==="rtl"?m.collapsedRTL:m.collapsedLTR:m.blank,d=S(r),g=n?t?s.collapse:s.expand:void 0,u=n?this.handleToggleClick:void 0;return h("expanded-container",l`<div class=${i(a.expandedContainer)} =${u} title=${g??w}>${h(f,l`<calcite-icon .icon=${f} .scale=${d}></calcite-icon>`)}</div>`)}renderActionsStart(){let{label:e,hasActionsStart:t}=this;return h("actions-start-container",l`<div .ariaLabel=${e} class=${i({[a.actionsStart]:!0,[a.gridCell]:!0})} .hidden=${!t} role=gridcell ${v(this.actionsStartRef)}><slot name=${x.actionsStart} =${this.handleActionsStartSlotChange}></slot></div>`)}renderActionsEnd(){let{label:e,hasActionsEnd:t,closable:n,messages:s}=this;return h("actions-end-container",l`<div .ariaLabel=${e} class=${i({[a.actionsEnd]:!0,[a.gridCell]:!0})} .hidden=${!(t||n)} role=gridcell ${v(this.actionsEndRef)}><slot name=${x.actionsEnd} =${this.handleActionsEndSlotChange}></slot>${n?h("close-action",l`<calcite-action class=${i(a.close)} .icon=${m.close} .label=${s.close} =${this.handleCloseClick} .scale=${this.scale} .text=${s.close}></calcite-action>`):null}</div>`)}renderContentStart(){let{hasContentStart:e}=this;return l`<div class=${i(a.contentStart)} .hidden=${!e}><slot name=${x.contentStart} =${this.handleContentStartSlotChange}></slot></div>`}renderCustomContent(){let{hasCustomContent:e}=this;return l`<div class=${i(a.customContent)} .hidden=${!e}><slot name=${x.content} =${this.handleContentSlotChange}></slot></div>`}renderIconStart(){let{iconStart:e,iconFlipRtl:t,scale:n}=this;return e?h("icon-start",l`<calcite-icon class=${i(a.icon)} .flipRtl=${t==="both"||t==="start"} .icon=${e} .scale=${S(n)}></calcite-icon>`):null}renderIconEnd(){let{iconEnd:e,iconFlipRtl:t,scale:n}=this;return e?h("icon-end",l`<calcite-icon class=${i(a.icon)} .flipRtl=${t==="both"||t==="end"} .icon=${e} .scale=${S(n)}></calcite-icon>`):null}renderContentEnd(){let{hasContentEnd:e}=this;return l`<div class=${i(a.contentEnd)} .hidden=${!e}><slot name=${x.contentEnd} =${this.handleContentEndSlotChange}></slot></div>`}renderContentBottom(){let{hasContentBottom:e}=this;return l`<div class=${i(a.contentBottom)} .hidden=${!e}><slot name=${x.contentBottom} =${this.handleContentBottomSlotChange}></slot></div>`}renderDefaultContainer(){return l`<div class=${i({[a.nestedContainer]:!0,[a.nestedContainerExpanded]:this.expandable&&this.expanded})}><slot =${this.handleDefaultSlotChange} ${v(this.defaultSlotRef)}></slot></div>`}renderContentProperties(){let{label:e,description:t,hasCustomContent:n}=this;return!n&&(e||t)?h("content",l`<div class=${i(a.content)}>${e?h("label",l`<div class=${i(a.label)}>${e}</div>`):null}${t?h("description",l`<div class=${i(a.description)}>${t}</div>`):null}</div>`):null}renderContentContainer(){let{description:e,label:t,selectionMode:n,hasCustomContent:s,unavailable:c}=this,r=s||!!t||!!e,p=[this.renderContentStart(),this.renderIconStart(),this.renderCustomContent(),this.renderContentProperties(),this.renderIconEnd(),this.renderContentEnd()];return h("content-container",l`<div .ariaLabel=${t} class=${i({[a.gridCell]:!0,[a.contentContainer]:!0,[a.contentContainerUnavailable]:c,[a.contentContainerSelectable]:n!=="none",[a.contentContainerHasCenterContent]:r})} =${this.handleItemClick} role=gridcell ${v(this.contentRef)}>${p}</div>`)}render(){let{expandable:e,expanded:t,level:n,active:s,label:c,selected:r,selectionAppearance:p,selectionMode:f,interactionMode:d,closed:g,filterHidden:u,bordered:L,disabled:N,hasContentBottom:E}=this,K=L&&E,j=L&&!E,H=f!=="none"&&p==="border",W=f!=="none"&&p==="highlight",V=d==="interactive"||d==="static"&&f!=="none"&&p==="border";return this.interactiveContainer({disabled:N,children:l`<div class=${i({[a.wrapper]:!0,[a.wrapperBordered]:K})}><div .ariaExpanded=${e?t:null} .ariaLabel=${c} .ariaLevel=${n} .ariaSelected=${r} class=${i({[a.row]:!0,[a.container]:!0,[a.containerHover]:V,[a.containerBorder]:H,[a.containerBorderSelected]:H&&r,[a.containerHighlightSelected]:W&&r})} .hidden=${g||u} =${this.focusCellNull} =${this.emitInternalListItemActive} =${this.handleItemKeyDown} role=row .tabIndex=${s?0:-1} ${v(this.containerRef)}>${this.renderDragHandle()}${this.renderSelected()}${this.renderExpanded()}<div class=${i({[a.contentContainerWrapper]:!0,[a.contentContainerWrapperBordered]:j})}>${this.renderActionsStart()}${this.renderContentContainer()}${this.renderActionsEnd()}</div></div>${this.renderContentBottom()}</div>${this.renderDefaultContainer()}`})}};A("calcite-list-item",I);export{I as ListItem};