p-e575643a.js 5.7 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.82
  5. */
  6. import{f as t,g as i,t as s}from"./p-f383e414.js";import{g as n}from"./p-d6381f74.js";import{d as e}from"./p-70f33b3e.js";import{h as o,H as a}from"./p-f74193a3.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 f(){this.setUpItems(),this.setUpFilter(),this.emitCalciteListChange=e(F.bind(this),0)}function d(){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:o,shiftPressed:a}=i.detail;o?(this.multiple&&a&&this.selectSiblings(n),this.multiple||this.deselectSiblingItems(n),s.set(e,n)):(s.delete(e),this.multiple&&a&&this.selectSiblings(n,!0)),this.multiple||(A(n,o),o&&t(n)),this.lastSelectedItem=n,this.emitCalciteListChange()}function v(t){t.stopPropagation();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)}}function b(t){const{el:i,items:s,multiple:n,selectedValues:e}=this;n||i.contains(t.relatedTarget)||w(s).forEach((i=>{A(i,0===e.size?i.contains(t.target)||t.target===i:i.selected)}))}function g(i){const{key:s,target:n}=i;if(!function(t){return!!u.find((i=>i===t))}(s))return;const{items:e,multiple:o,selectionFollowsFocus:a}=this,{length:r}=e,c=e.indexOf(n);if(!r||-1===c)return;i.preventDefault();const l=e[j(this,n,"ArrowUp"===s?"up":"down")];e.forEach((t=>A(t,t===l))),!o&&a&&(l.selected=!0),t(l)}function j(t,i,s){const{items:e}=t,{length:o}=e,a=e.indexOf(i),r="up"===s?-1:1;let c=1,l=n(a+r*c++,o);const h=l;for(;e[l].disabled&&(l=n(a+r*c++,o),l!==h););return l}function w(t){return t.filter((t=>!t.disabled))}function F(){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 A(t,i){t.disabled||(i?t.removeAttribute("tabindex"):t.setAttribute("tabindex","-1"))}async function C(i){var s;if(this.filterEnabled&&"filter"===i)return void await t(this.filterEl);const{items:n,multiple:e,selectionFollowsFocus:o}=this;if(0===n.length)return;if(e)return null===(s=w(n)[0])||void 0===s?void 0:s.setFocus();const a=w(n),r=a.find((t=>t.selected))||a[0];return o&&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,A(t,!1)),t.selected&&(i=!0,A(t,!0),this.selectedValues.set(t.value,t))}));const[n]=s;i||!n||n.disabled||A(n,!0)}function x(){const t=this.selectedValues,i=this.items.map((({value:t})=>t));t.forEach((t=>{i.includes(t.value)||this.selectedValues.delete(t.value)}))}function I(t){this.items.forEach((i=>{i.value!==t.value&&(i.toggleSelected(!1),this.selectedValues.has(i.value)&&this.selectedValues.delete(i.value))}))}function O(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 E;function S(t){const{filteredItems:s}=t.currentTarget,n=s.map((t=>t.value));let e=!1;E||(E=new Set);const o=this.items.filter((t=>{const i=t.parentElement;i.matches("calcite-pick-list-group")&&E.add(i);const s=n.includes(t.value);return t.hidden=!s,e||(e=s&&t.selected),s}));E.forEach((t=>{const s=o.some((i=>t.contains(i)));if(t.hidden=!s,!s)return;const n=i(t,"parent-item");n&&(n.hidden=!1,o.includes(n)&&Array.from(t.children).forEach((t=>t.hidden=!1)))})),E.clear(),o.length>0&&!e&&!this.multiple&&A(o[0],!0)}function L(){return this.items.map((t=>({label:t.label,description:t.description,metadata:t.metadata,value:t.value})))}var P;!function(t){t.circle="circle",t.square="square",t.grip="grip"}(P||(P={}));const T=t=>{var{props:{disabled:i,loading:n,filterEnabled:e,dataForFilter:r,handleFilter:c,filterPlaceholder:l,setFilterEl:h}}=t,u=function(t,i){var s={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&i.indexOf(n)<0&&(s[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var e=0;for(n=Object.getOwnPropertySymbols(t);e<n.length;e++)i.indexOf(n[e])<0&&Object.prototype.propertyIsEnumerable.call(t,n[e])&&(s[n[e]]=t[n[e]])}return s}(t,["props"]);const f=o("slot",null);return o(a,Object.assign({"aria-busy":s(n),role:"menu"},u),o("section",null,o("header",{class:{"sticky-pos":!0}},e?o("calcite-filter",{"aria-label":l,disabled:n||i,items:r,onCalciteFilterChange:c,placeholder:l,ref:h}):null,o("slot",{name:"menu-actions"})),n?o("calcite-scrim",{loading:n}):null,f))},U={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"},q={checked:"check",remove:"x"},D={actionsEnd:"actions-end",actionsStart:"actions-start"},H={remove:"Remove"};export{U as C,l as H,P as I,T as L,D as S,H as T,I as a,j as b,d as c,x as d,m as e,b as f,L as g,S as h,f as i,p as j,g as k,v as l,h as m,k as n,C as o,c as p,r as q,y as r,O as s,q as t}