123456 |
- var __awaiter=this&&this.__awaiter||function(e,t,i,n){function a(e){return e instanceof i?e:new i((function(t){t(e)}))}return new(i||(i=Promise))((function(i,r){function l(e){try{o(n.next(e))}catch(e){r(e)}}function s(e){try{o(n["throw"](e))}catch(e){r(e)}}function o(e){e.done?i(e.value):a(e.value).then(l,s)}o((n=n.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var i={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},n,a,r,l;return l={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(l[Symbol.iterator]=function(){return this}),l;function s(e){return function(t){return o([e,t])}}function o(l){if(n)throw new TypeError("Generator is already executing.");while(i)try{if(n=1,a&&(r=l[0]&2?a["return"]:l[0]?a["throw"]||((r=a["return"])&&r.call(a),0):a.next)&&!(r=r.call(a,l[1])).done)return r;if(a=0,r)l=[l[0]&2,r.value];switch(l[0]){case 0:case 1:r=l;break;case 4:i.label++;return{value:l[1],done:false};case 5:i.label++;a=l[1];l=[0];continue;case 7:l=i.ops.pop();i.trys.pop();continue;default:if(!(r=i.trys,r=r.length>0&&r[r.length-1])&&(l[0]===6||l[0]===2)){i=0;continue}if(l[0]===3&&(!r||l[1]>r[0]&&l[1]<r[3])){i.label=l[1];break}if(l[0]===6&&i.label<r[1]){i.label=r[1];r=l;break}if(r&&i.label<r[2]){i.label=r[2];i.ops.push(l);break}if(r[2])i.ops.pop();i.trys.pop();continue}l=t.call(e,i)}catch(e){l=[6,e];a=0}finally{n=r=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:true}}};
- /*!
- * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
- * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
- * v1.0.0-beta.82
- */import{f as focusElement,g as getSlotted,t as toAriaBoolean}from"./dom-da697a3f.js";import{g as getRoundRobinIndex}from"./array-1655bbf7.js";import{d as debounce}from"./debounce-c4df98cc.js";import{h,H as Host}from"./index-8ece2564.js";var CSS$2={heading:"heading",container:"container",indented:"container--indented"};var SLOTS$2={parentItem:"parent-item"};var HEADING_LEVEL=3;function mutationObserverCallback(){this.setUpItems();this.setUpFilter();this.deselectRemovedItems()}var SUPPORTED_ARROW_KEYS=["ArrowUp","ArrowDown"];function initialize(){this.setUpItems();this.setUpFilter();this.emitCalciteListChange=debounce(internalCalciteListChangeEvent.bind(this),0)}function initializeObserver(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.observe(this.el,{childList:true,subtree:true})}function cleanUpObserver(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.disconnect()}function calciteListItemChangeHandler(e){var t=this.selectedValues;var i=e.detail,n=i.item,a=i.value,r=i.selected,l=i.shiftPressed;if(r){if(this.multiple&&l){this.selectSiblings(n)}if(!this.multiple){this.deselectSiblingItems(n)}t.set(a,n)}else{t.delete(a);if(this.multiple&&l){this.selectSiblings(n,true)}}if(!this.multiple){toggleSingleSelectItemTabbing(n,r);if(r){focusElement(n)}}this.lastSelectedItem=n;this.emitCalciteListChange()}function calciteListItemValueChangeHandler(e){e.stopPropagation();var t=e.detail.oldValue;var i=this.selectedValues;if(i.has(t)){var n=i.get(t);i.delete(t);i.set(e.detail.newValue,n)}}function isValidNavigationKey(e){return!!SUPPORTED_ARROW_KEYS.find((function(t){return t===e}))}function calciteListFocusOutHandler(e){var t=this,i=t.el,n=t.items,a=t.multiple,r=t.selectedValues;if(a){return}var l=i.contains(e.relatedTarget);if(l){return}filterOutDisabled(n).forEach((function(t){toggleSingleSelectItemTabbing(t,r.size===0?t.contains(e.target)||e.target===t:t.selected)}))}function keyDownHandler(e){var t=e.key,i=e.target;if(!isValidNavigationKey(t)){return}var n=this,a=n.items,r=n.multiple,l=n.selectionFollowsFocus;var s=a.length;var o=a.indexOf(i);if(!s||o===-1){return}e.preventDefault();var c=moveItemIndex(this,i,t==="ArrowUp"?"up":"down");var u=a[c];a.forEach((function(e){return toggleSingleSelectItemTabbing(e,e===u)}));if(!r&&l){u.selected=true}focusElement(u)}function moveItemIndex(e,t,i){var n=e.items;var a=n.length;var r=n.indexOf(t);var l=i==="up"?-1:1;var s=1;var o=getRoundRobinIndex(r+l*s++,a);var c=o;while(n[o].disabled){o=getRoundRobinIndex(r+l*s++,a);if(o===c){break}}return o}function filterOutDisabled(e){return e.filter((function(e){return!e.disabled}))}function internalCalciteListChangeEvent(){this.calciteListChange.emit(this.selectedValues)}function removeItem(e){if(e.defaultPrevented){return}var t=e.target;var i=this.selectedValues;if(t.parentElement.tagName==="CALCITE-PICK-LIST-GROUP"&&t.slot===SLOTS$2.parentItem){t.parentElement.remove();Array.from(t.parentElement.children).forEach((function(e){return i.delete(e.value)}))}else{t.remove();i.delete(t.value)}this.emitCalciteListChange()}function toggleSingleSelectItemTabbing(e,t){if(e.disabled){return}if(t){e.removeAttribute("tabindex")}else{e.setAttribute("tabindex","-1")}}function setFocus(e){return __awaiter(this,void 0,void 0,(function(){var t,i,n,a,r,l,s;return __generator(this,(function(o){switch(o.label){case 0:if(!(this.filterEnabled&&e==="filter"))return[3,2];return[4,focusElement(this.filterEl)];case 1:o.sent();return[2];case 2:i=this,n=i.items,a=i.multiple,r=i.selectionFollowsFocus;if(n.length===0){return[2]}if(a){return[2,(t=filterOutDisabled(n)[0])===null||t===void 0?void 0:t.setFocus()]}l=filterOutDisabled(n);s=l.find((function(e){return e.selected}))||l[0];if(r&&s){s.selected=true}return[2,s.setFocus()]}}))}))}function setUpItems(e){var t=this;this.items=Array.from(this.el.querySelectorAll(e));var i=false;var n=this.items;n.forEach((function(e){e.icon=t.getIconType();if(!t.multiple){e.disableDeselect=true;toggleSingleSelectItemTabbing(e,false)}if(e.selected){i=true;toggleSingleSelectItemTabbing(e,true);t.selectedValues.set(e.value,e)}}));var a=n[0];if(!i&&a&&!a.disabled){toggleSingleSelectItemTabbing(a,true)}}function deselectRemovedItems(){var e=this;var t=this.selectedValues;var i=this.items.map((function(e){var t=e.value;return t}));t.forEach((function(t){if(!i.includes(t.value)){e.selectedValues.delete(t.value)}}))}function deselectSiblingItems(e){var t=this;this.items.forEach((function(i){if(i.value!==e.value){i.toggleSelected(false);if(t.selectedValues.has(i.value)){t.selectedValues.delete(i.value)}}}))}function selectSiblings(e,t){var i=this;if(t===void 0){t=false}if(!this.lastSelectedItem){return}var n=this.items;var a=n.findIndex((function(e){return e.value===i.lastSelectedItem.value}));var r=n.findIndex((function(t){return t.value===e.value}));n.slice(Math.min(a,r),Math.max(a,r)).forEach((function(e){e.toggleSelected(!t);if(!t){i.selectedValues.set(e.value,e)}else{i.selectedValues.delete(e.value)}}))}var groups;function handleFilter(e){var t=e.currentTarget.filteredItems;var i=t.map((function(e){return e.value}));var n=false;if(!groups){groups=new Set}var a=this.items.filter((function(e){var t=e.parentElement;var a=t.matches("calcite-pick-list-group");if(a){groups.add(t)}var r=i.includes(e.value);e.hidden=!r;if(!n){n=r&&e.selected}return r}));groups.forEach((function(e){var t=a.some((function(t){return e.contains(t)}));e.hidden=!t;if(!t){return}var i=getSlotted(e,"parent-item");if(i){i.hidden=false;if(a.includes(i)){Array.from(e.children).forEach((function(e){return e.hidden=false}))}}}));groups.clear();if(a.length>0&&!n&&!this.multiple){toggleSingleSelectItemTabbing(a[0],true)}}function getItemData(){return this.items.map((function(e){return{label:e.label,description:e.description,metadata:e.metadata,value:e.value}}))}var CSS$1={sticky:"sticky-pos"};var ICON_TYPES;(function(e){e["circle"]="circle";e["square"]="square";e["grip"]="grip"})(ICON_TYPES||(ICON_TYPES={}));var SLOTS$1={menuActions:"menu-actions"};var __rest=undefined&&undefined.__rest||function(e,t){var i={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0)i[n]=e[n];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var a=0,n=Object.getOwnPropertySymbols(e);a<n.length;a++){if(t.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(e,n[a]))i[n[a]]=e[n[a]]}return i};var List=function(e){var t;var i=e.props,n=i.disabled,a=i.loading,r=i.filterEnabled,l=i.dataForFilter,s=i.handleFilter,o=i.filterPlaceholder,c=i.setFilterEl,u=__rest(e,["props"]);var d=h("slot",null);return h(Host,Object.assign({"aria-busy":toAriaBoolean(a),role:"menu"},u),h("section",null,h("header",{class:(t={},t[CSS$1.sticky]=true,t)},r?h("calcite-filter",{"aria-label":o,disabled:a||n,items:l,onCalciteFilterChange:s,placeholder:o,ref:c}):null,h("slot",{name:SLOTS$1.menuActions})),a?h("calcite-scrim",{loading:a}):null,d))};var CSS={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"};var ICONS={checked:"check",remove:"x"};var SLOTS={actionsEnd:"actions-end",actionsStart:"actions-start"};var TEXT={remove:"Remove"};export{CSS as C,HEADING_LEVEL as H,ICON_TYPES as I,List as L,SLOTS as S,TEXT as T,deselectSiblingItems as a,moveItemIndex as b,initializeObserver as c,deselectRemovedItems as d,cleanUpObserver as e,calciteListFocusOutHandler as f,getItemData as g,handleFilter as h,initialize as i,calciteListItemChangeHandler as j,keyDownHandler as k,calciteListItemValueChangeHandler as l,mutationObserverCallback as m,setUpItems as n,setFocus as o,SLOTS$2 as p,CSS$2 as q,removeItem as r,selectSiblings as s,ICONS as t};
|