p-698bfe4a.js 5.5 KB

123456
  1. /*!
  2. * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
  3. * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
  4. * v1.0.0-beta.97
  5. */
  6. import{f as t,g as i,t as s}from"./p-96bf42e5.js";import{g as n}from"./p-146b4fe4.js";import{d as e}from"./p-622f8ecb.js";import{h as a,H as o}from"./p-91755387.js";const r={heading:"heading",container:"container",indented:"container--indented"},c={parentItem:"parent-item"},l=3;function h(){this.setUpItems(),this.setUpFilter(),this.deselectRemovedItems()}const u=["ArrowUp","ArrowDown"];function d(){this.setUpItems(),this.setUpFilter(),this.emitCalciteListChange=e(x.bind(this),0)}function f(){var t;null===(t=this.mutationObserver)||void 0===t||t.observe(this.el,{childList:!0,subtree:!0})}function m(){var t;null===(t=this.mutationObserver)||void 0===t||t.disconnect()}function p(i){const{selectedValues:s}=this,{item:n,value:e,selected:a,shiftPressed:o}=i.detail;a?(this.multiple&&o&&this.selectSiblings(n),this.multiple||this.deselectSiblingItems(n),s.set(e,n)):(s.delete(e),this.multiple&&o&&this.selectSiblings(n,!0)),this.multiple||(C(n,a),a&&t(n)),this.lastSelectedItem=n,this.emitCalciteListChange()}function v(t){const i=t.detail.oldValue,s=this.selectedValues;if(s.has(i)){const n=s.get(i);s.delete(i),s.set(t.detail.newValue,n)}t.stopPropagation()}function g(t){const{el:i,items:s,multiple:n,selectedValues:e}=this;n||i.contains(t.relatedTarget)||F(s).forEach((i=>{C(i,0===e.size?i.contains(t.target)||t.target===i:i.selected)}))}function b(i){const{key:s,target:n}=i;if(!function(t){return!!u.find((i=>i===t))}(s))return;const{items:e,multiple:a,selectionFollowsFocus:o}=this,{length:r}=e,c=e.indexOf(n);if(!r||-1===c)return;i.preventDefault();const l=e[w(this,n,"ArrowUp"===s?"up":"down")];e.forEach((t=>C(t,t===l))),!a&&o&&(l.selected=!0),t(l)}function w(t,i,s){const{items:e}=t,{length:a}=e,o=e.indexOf(i),r="up"===s?-1:1;let c=1,l=n(o+r*c++,a);const h=l;for(;e[l].disabled&&(l=n(o+r*c++,a),l!==h););return l}function A(t,i){const{items:s}=t;return s.indexOf(i)}function F(t){return t.filter((t=>!t.disabled))}function x(){this.calciteListChange.emit(this.selectedValues)}function y(t){if(t.defaultPrevented)return;const i=t.target,s=this.selectedValues;"CALCITE-PICK-LIST-GROUP"===i.parentElement.tagName&&i.slot===c.parentItem?(i.parentElement.remove(),Array.from(i.parentElement.children).forEach((t=>s.delete(t.value)))):(i.remove(),s.delete(i.value)),this.emitCalciteListChange()}function C(t,i){t.disabled||(i?t.removeAttribute("tabindex"):t.setAttribute("tabindex","-1"))}async function E(i){var s;if(this.filterEnabled&&"filter"===i)return void await t(this.filterEl);const{items:n,multiple:e,selectionFollowsFocus:a}=this;if(0===n.length)return;if(e)return null===(s=F(n)[0])||void 0===s?void 0:s.setFocus();const o=F(n),r=o.find((t=>t.selected))||o[0];return a&&r&&(r.selected=!0),r.setFocus()}function k(t){this.items=Array.from(this.el.querySelectorAll(t));let i=!1;const{items:s}=this;s.forEach((t=>{t.icon=this.getIconType(),this.multiple||(t.disableDeselect=!0,C(t,!1)),t.selected&&(i=!0,C(t,!0),this.selectedValues.set(t.value,t))}));const[n]=s;i||!n||n.disabled||C(n,!0)}function I(){const t=this.selectedValues,i=this.items.map((({value:t})=>t));t.forEach((t=>{i.includes(t.value)||this.selectedValues.delete(t.value)}))}function j(t){this.items.forEach((i=>{i.value!==t.value&&(i.toggleSelected(!1),this.selectedValues.has(i.value)&&this.selectedValues.delete(i.value))}))}function S(t,i=!1){if(!this.lastSelectedItem)return;const{items:s}=this,n=s.findIndex((t=>t.value===this.lastSelectedItem.value)),e=s.findIndex((i=>i.value===t.value));s.slice(Math.min(n,e),Math.max(n,e)).forEach((t=>{t.toggleSelected(!i),i?this.selectedValues.delete(t.value):this.selectedValues.set(t.value,t)}))}let L;function P(t){const{filteredItems:s}=t.currentTarget,n=s.map((t=>t.value));let e=!1;L||(L=new Set);const a=this.items.filter((t=>{const i=t.parentElement;i.matches("calcite-pick-list-group")&&L.add(i);const s=n.includes(t.value);return t.hidden=!s,e||(e=s&&t.selected),s}));L.forEach((t=>{const s=a.some((i=>t.contains(i)));if(t.hidden=!s,!s)return;const n=i(t,"parent-item");n&&(n.hidden=!1,a.includes(n)&&Array.from(t.children).forEach((t=>t.hidden=!1)))})),L.clear(),a.length>0&&!e&&!this.multiple&&C(a[0],!0)}function T(){return this.items.map((t=>({label:t.label,description:t.description,metadata:t.metadata,value:t.value})))}var U;!function(t){t.circle="circle",t.square="square",t.grip="grip"}(U||(U={}));const q=({props:{disabled:t,loading:i,filterEnabled:n,dataForFilter:e,handleFilter:r,filterPlaceholder:c,setFilterEl:l,dragEnabled:h,storeAssistiveEl:u},...d})=>{const f=a("slot",null);return a(o,{"aria-busy":s(i),role:"menu",...d},a("section",null,h?a("span",{"aria-live":"assertive",class:"assistive-text",ref:u}):null,a("header",{class:{"sticky-pos":!0}},n?a("calcite-filter",{"aria-label":c,disabled:i||t,items:e,onCalciteFilterChange:r,placeholder:c,ref:l}):null,a("slot",{name:"menu-actions"})),i?a("calcite-scrim",{loading:i}):null,f))},D={actions:"actions",actionsEnd:"actions--end",actionsStart:"actions--start",description:"description",handle:"handle",handleActivated:"handle--activated",highlight:"highlight",icon:"icon",iconDot:"icon-dot",label:"label",remove:"remove",title:"title",textContainer:"text-container"},H={checked:"check",remove:"x"},M={actionsEnd:"actions-end",actionsStart:"actions-start"},R={remove:"Remove"};export{D as C,l as H,U as I,q as L,M as S,R as T,j as a,T as b,w as c,I as d,f as e,m as f,A as g,P as h,d as i,g as j,b as k,p as l,h as m,v as n,k as o,E as p,c as q,y as r,S as s,r as t,H as u}