UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

6 lines • 14.7 kB
/*! * All material copyright ESRI, All Rights Reserved, unless otherwise specified. * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details. * v1.5.0-next.4 */ import{r as t,c as i,h as a,a as e,H as s}from"./p-8789682d.js";import{c as n,u as o,d as r}from"./p-0d8324b6.js";import{s as c,a as l,c as h}from"./p-deebcc06.js";import{c as d,d as m}from"./p-743ed09c.js";import{c as p}from"./p-c8e46b02.js";import{u,c as f,s as g,d as v}from"./p-9dd9a26d.js";import{g as w,m as b,d as y,a as x,s as k,h as D,b as _,c as L,k as j,e as I,i as C,f as z,j as A,l as H,n as F,r as R,o as S,p as U,q as B,t as $,L as E,I as M,C as O,S as V}from"./p-18f22efc.js";import{d as q,c as K,o as T,a as W}from"./p-6fe1a7ee.js";import{f as P,g as G}from"./p-68f223ec.js";import{c as J,d as N}from"./p-ce102a61.js";import{g as Q}from"./p-d2aa9245.js";import"./p-7fb6664e.js";import"./p-4929e834.js";import"./p-3f126932.js";import"./p-81620376.js";import"./p-9280476e.js";var X;function Y(t,i,a){const{items:e,messages:s}=a,n=e.length,o=w(a,t)+1;return function(t,i,a,e){return t.replace("${position}",a.toString()).replace("${itemLabel}",i).replace("${total}",e.toString())}("idle"===i?s.dragHandleIdle:"active"===i?s.dragHandleActive:"change"===i?s.dragHandleChange:s.dragHandleCommit,t.label,o,n)}function Z(t){return{handle:t.composedPath().find((t=>void 0!==t.dataset?.jsHandle)),item:t.composedPath().find((t=>"calcite-value-list-item"===t.tagName?.toLowerCase()))}}!function(t){t.grip="grip"}(X||(X={}));const tt=class{constructor(a){t(this,a),this.calciteListChange=i(this,"calciteListChange",6),this.calciteListOrderChange=i(this,"calciteListOrderChange",6),this.calciteListFilter=i(this,"calciteListFilter",6),this.lastSelectedItem=null,this.mutationObserver=p("mutation",b.bind(this)),this.setFilterEl=t=>{this.filterEl=t},this.setFilteredItems=t=>{this.filteredItems=t},this.deselectRemovedItems=y.bind(this),this.deselectSiblingItems=x.bind(this),this.selectSiblings=k.bind(this),this.handleFilter=D.bind(this),this.handleFilterEvent=_.bind(this),this.getItemData=L.bind(this),this.keyDownHandler=t=>{if(t.defaultPrevented)return;const{handle:i,item:a}=Z(t);if(i&&!a.handleActivated&&" "===t.key&&this.updateScreenReaderText(Y(a,"commit",this)),!i||!a.handleActivated)return void j.call(this,t);t.preventDefault();const{items:e}=this;if(" "===t.key&&this.updateScreenReaderText(Y(a,"active",this)),"ArrowUp"!==t.key&&"ArrowDown"!==t.key||e.length<=1)return;const{el:s}=this,n=I(this,a,"ArrowUp"===t.key?"up":"down");if(n===e.length-1)s.appendChild(a);else{const t=s.children[n];s.insertBefore(a,t===a.nextElementSibling?t.nextElementSibling:t)}this.items=this.getItems(),this.calciteListOrderChange.emit(this.items.map((({value:t})=>t))),requestAnimationFrame((()=>P(i))),a.handleActivated=!0,this.updateHandleAriaLabel(i,Y(a,"change",this))},this.storeAssistiveEl=t=>{this.assistiveTextEl=t},this.handleFocusIn=t=>{const{handle:i,item:a}=Z(t);!a?.handleActivated&&a&&i&&this.updateHandleAriaLabel(i,Y(a,"idle",this))},this.disabled=!1,this.dragEnabled=!1,this.filteredItems=[],this.filteredData=[],this.filterEnabled=!1,this.filterPlaceholder=void 0,this.filterText=void 0,this.group=void 0,this.loading=!1,this.multiple=!1,this.selectionFollowsFocus=!1,this.messageOverrides=void 0,this.messages=void 0,this.dataForFilter=[],this.defaultMessages=void 0,this.effectiveLocale="",this.selectedValues=new Map}onMessagesChange(){}effectiveLocaleChange(){u(this,this.effectiveLocale)}connectedCallback(){n(this),d(this),f(this),C.call(this),z.call(this),this.setUpSorting()}async componentWillLoad(){c(this),await g(this)}componentDidLoad(){l(this),A.call(this)}componentDidRender(){o(this)}disconnectedCallback(){r(this),q(this),m(this),v(this),H.call(this)}calciteListFocusOutHandler(t){F.call(this,t)}calciteListItemRemoveHandler(t){R.call(this,t)}calciteListItemChangeHandler(t){S.call(this,t)}calciteInternalListItemPropsChangeHandler(t){t.stopPropagation(),this.setUpFilter()}calciteInternalListItemValueChangeHandler(t){U.call(this,t),t.stopPropagation()}getItems(){return Array.from(this.el.querySelectorAll("calcite-value-list-item"))}setUpItems(){B.call(this,"calcite-value-list-item"),this.setUpSorting()}setUpFilter(){this.filterEnabled&&(this.dataForFilter=this.getItemData())}setUpSorting(){const{dragEnabled:t,group:i}=this;t&&K(this,{dataIdAttr:"id",group:i,handle:".handle",draggable:"calcite-value-list-item",onStart:()=>{H.call(this),T(this)},onEnd:()=>{W(this),z.call(this)},onUpdate:()=>{this.items=Array.from(this.el.querySelectorAll("calcite-value-list-item"));const t=this.items.map((t=>t.value));this.calciteListOrderChange.emit(t)}})}handleBlur(){this.dragEnabled&&this.updateScreenReaderText("")}async getSelectedItems(){return this.selectedValues}async setFocus(t){return await h(this),$.call(this,t)}getIconType(){let t=null;return this.dragEnabled&&(t=X.grip),t}updateScreenReaderText(t){this.assistiveTextEl.textContent=t}updateHandleAriaLabel(t,i){t.ariaLabel=i}handleValueListItemBlur(t){const{item:i,handle:a}=t.detail;!i?.handleActivated&&i&&this.updateHandleAriaLabel(a,Y(i,"idle",this)),t.stopPropagation()}render(){return a(E,{onBlur:this.handleBlur,onFocusin:this.handleFocusIn,onKeyDown:this.keyDownHandler,props:this})}static get assetsDirs(){return["assets"]}get el(){return e(this)}static get watchers(){return{messageOverrides:["onMessagesChange"],effectiveLocale:["effectiveLocaleChange"]}}};tt.style="@keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in-down{0%{opacity:0;transform:translate3D(0, -5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;transform:translate3D(0, 5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-right{0%{opacity:0;transform:translate3D(-5px, 0, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-left{0%{opacity:0;transform:translate3D(5px, 0, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-scale{0%{opacity:0;transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;animation-fill-mode:both;animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{animation-name:in}.calcite-animate__in-down{animation-name:in-down}.calcite-animate__in-up{animation-name:in-up}.calcite-animate__in-right{animation-name:in-right}.calcite-animate__in-left{animation-name:in-left}.calcite-animate__in-scale{animation-name:in-scale}@media (prefers-reduced-motion: reduce){:root{--calcite-internal-duration-factor:0.01}}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing);--calcite-floating-ui-z-index:var(--calcite-app-z-index-dropdown)}:host([hidden]){display:none}:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{position:relative;box-sizing:border-box;display:flex;flex-shrink:0;flex-grow:0;flex-direction:column;align-items:stretch;background-color:transparent;font-size:var(--calcite-font-size--1);color:var(--calcite-ui-text-2)}:host *{box-sizing:border-box}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}calcite-value-list-item:last-of-type{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}:host([filter-enabled]) header{margin-block-end:0.25rem;display:flex;align-items:center;justify-content:flex-end;background-color:var(--calcite-ui-foreground-1);--tw-shadow:0 1px 0 var(--calcite-ui-border-3);--tw-shadow-colored:0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}:host([filter-enabled]) header.sticky-pos{position:sticky;inset-block-start:0px;z-index:var(--calcite-app-z-index-sticky)}calcite-filter{margin-block-end:1px}.assistive-text{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}";const it="actions-end",at="actions-start",et=class{constructor(a){t(this,a),this.calciteListItemChange=i(this,"calciteListItemChange",6),this.calciteListItemRemove=i(this,"calciteListItemRemove",7),this.calciteValueListItemDragHandleBlur=i(this,"calciteValueListItemDragHandleBlur",6),this.pickListItem=null,this.guid=`calcite-value-list-item-${Q()}`,this.getPickListRef=t=>this.pickListItem=t,this.handleKeyDown=t=>{" "===t.key&&(this.handleActivated=!this.handleActivated)},this.handleBlur=()=>{this.handleActivated=!1,this.calciteValueListItemDragHandleBlur.emit({item:this.el,handle:this.handleEl})},this.handleSelectChange=t=>{this.selected=t.detail.selected},this.description=void 0,this.disabled=!1,this.deselectDisabled=!1,this.nonInteractive=!1,this.handleActivated=!1,this.icon=null,this.iconFlipRtl=!1,this.label=void 0,this.metadata=void 0,this.removable=!1,this.selected=!1,this.value=void 0}connectedCallback(){J(this),n(this)}disconnectedCallback(){N(this),r(this)}componentWillLoad(){c(this)}componentDidLoad(){l(this)}componentDidRender(){o(this,!!this.el.closest("calcite-value-list")&&"managed")}async toggleSelected(t){this.pickListItem.toggleSelected(t)}async setFocus(){await h(this),this.pickListItem?.setFocus()}calciteListItemChangeHandler(t){t.detail.item=this.el}renderActionsEnd(){const{el:t}=this;return G(t,it)?a("slot",{name:it,slot:V.actionsEnd}):null}renderActionsStart(){const{el:t}=this;return G(t,at)?a("slot",{name:at,slot:V.actionsStart}):null}renderHandle(){const{icon:t,iconFlipRtl:i}=this;if(t===M.grip)return a("span",{class:{[O.handle]:!0,[O.handleActivated]:this.handleActivated},"data-js-handle":!0,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,ref:t=>this.handleEl=t,role:"button",tabindex:"0"},a("calcite-icon",{flipRtl:i,icon:"drag",scale:"s"}))}render(){return a(s,{id:this.el.id||this.guid},this.renderHandle(),a("calcite-pick-list-item",{description:this.description,deselectDisabled:this.deselectDisabled,disabled:this.disabled,label:this.label,metadata:this.metadata,nonInteractive:this.nonInteractive,onCalciteListItemChange:this.handleSelectChange,removable:this.removable,selected:this.selected,value:this.value,ref:this.getPickListRef},this.renderActionsStart(),this.renderActionsEnd()))}get el(){return e(this)}};et.style="@keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in-down{0%{opacity:0;transform:translate3D(0, -5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;transform:translate3D(0, 5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-right{0%{opacity:0;transform:translate3D(-5px, 0, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-left{0%{opacity:0;transform:translate3D(5px, 0, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-scale{0%{opacity:0;transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;animation-fill-mode:both;animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{animation-name:in}.calcite-animate__in-down{animation-name:in-down}.calcite-animate__in-up{animation-name:in-up}.calcite-animate__in-right{animation-name:in-right}.calcite-animate__in-left{animation-name:in-left}.calcite-animate__in-scale{animation-name:in-scale}@media (prefers-reduced-motion: reduce){:root{--calcite-internal-duration-factor:0.01}}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing);--calcite-floating-ui-z-index:var(--calcite-app-z-index-dropdown)}:host([hidden]){display:none}:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{margin-block-end:1px;box-sizing:border-box;display:flex;background-color:var(--calcite-ui-foreground-1);font-size:var(--calcite-font-size--1);color:var(--calcite-ui-text-2);--tw-shadow:0 1px 0 var(--calcite-ui-border-3);--tw-shadow-colored:0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);transition:background-color var(--calcite-animation-timing), box-shadow var(--calcite-animation-timing)}:host *{box-sizing:border-box}calcite-pick-list-item{position:relative;margin:0px;flex-grow:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}:host([active]),:host([selected]){--tw-shadow:0 0 0 1px var(--calcite-ui-brand);--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.handle{display:flex;cursor:move;align-items:center;justify-content:center;border-style:none;background-color:transparent;padding-block:0px;padding-inline:0.25rem;color:var(--calcite-ui-border-input);outline-color:transparent}.handle:hover{background-color:var(--calcite-ui-foreground-2);color:var(--calcite-ui-text-1)}.handle:focus{outline:2px solid var(--calcite-ui-focus-color, var(--calcite-ui-brand));outline-offset:calc(\n -2px *\n calc(\n 1 -\n 2 * clamp(\n 0,\n var(--calcite-ui-focus-offset-invert),\n 1\n )\n )\n )}.handle--activated{background-color:var(--calcite-ui-foreground-3);color:var(--calcite-ui-text-1)}.handle calcite-icon{color:inherit}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}";export{tt as calcite_value_list,et as calcite_value_list_item}