@esri/calcite-components
Version:
Web Components for Esri's Calcite Design System.
5 lines • 8.1 kB
JavaScript
var __awaiter=this&&this.__awaiter||function(e,t,i,n){function r(e){return e instanceof i?e:new i((function(t){t(e)}))}return new(i||(i=Promise))((function(i,a){function l(e){try{u(n.next(e))}catch(e){a(e)}}function s(e){try{u(n["throw"](e))}catch(e){a(e)}}function u(e){e.done?i(e.value):r(e.value).then(l,s)}u((n=n.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var i={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,r,a,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 u([e,t])}}function u(l){if(n)throw new TypeError("Generator is already executing.");while(i)try{if(n=1,r&&(a=l[0]&2?r["return"]:l[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,l[1])).done)return a;if(r=0,a)l=[l[0]&2,a.value];switch(l[0]){case 0:case 1:a=l;break;case 4:i.label++;return{value:l[1],done:false};case 5:i.label++;r=l[1];l=[0];continue;case 7:l=i.ops.pop();i.trys.pop();continue;default:if(!(a=i.trys,a=a.length>0&&a[a.length-1])&&(l[0]===6||l[0]===2)){i=0;continue}if(l[0]===3&&(!a||l[1]>a[0]&&l[1]<a[3])){i.label=l[1];break}if(l[0]===6&&i.label<a[1]){i.label=a[1];a=l;break}if(a&&i.label<a[2]){i.label=a[2];i.ops.push(l);break}if(a[2])i.ops.pop();i.trys.pop();continue}l=t.call(e,i)}catch(e){l=[6,e];r=0}finally{n=a=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.
*/System.register(["./p-ec9bab33.system.js","./p-4de6f4fd.system.js","./p-1d6404b5.system.js","./p-65dbbfb5.system.js"],(function(e){"use strict";var t,i,n,r,a,l;return{setters:[function(e){t=e.f;i=e.g},function(e){n=e.g},function(e){r=e.d},function(e){a=e.h;l=e.H}],execute:function(){e({I:void 0,a:O,b:b,c:o,d:I,e:f,f:m,g:k,h:_,i:c,j:d,k:p,l:h,m:s,n:x,o:S,r:w,s:C});function s(){this.setUpItems();this.setUpFilter();this.deselectRemovedItems()}var u=["ArrowUp","ArrowDown"];function c(){this.setUpItems();this.setUpFilter();this.emitCalciteListChange=r(y.bind(this),0)}function o(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.observe(this.el,{childList:true,subtree:true})}function f(){var e;(e=this.mutationObserver)===null||e===void 0?void 0:e.disconnect()}function d(e){var i=this.selectedValues;var n=e.detail,r=n.item,a=n.value,l=n.selected,s=n.shiftPressed;if(l){if(this.multiple&&s){this.selectSiblings(r)}if(!this.multiple){this.deselectSiblingItems(r)}i.set(a,r)}else{i.delete(a);if(this.multiple&&s){this.selectSiblings(r,true)}}if(!this.multiple){E(r,l);if(l){t(r)}}this.lastSelectedItem=r;this.emitCalciteListChange()}function h(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 v(e){return!!u.find((function(t){return t===e}))}function m(e){var t=this,i=t.el,n=t.items,r=t.multiple,a=t.selectedValues;if(r){return}var l=i.contains(e.relatedTarget);if(l){return}g(n).forEach((function(t){E(t,a.size===0?t.contains(e.target)||e.target===t:t.selected)}))}function p(e){var i=e.key,n=e.target;if(!v(i)){return}var r=this,a=r.items,l=r.multiple,s=r.selectionFollowsFocus;var u=a.length;var c=a.indexOf(n);if(!u||c===-1){return}e.preventDefault();var o=b(this,n,i==="ArrowUp"?"up":"down");var f=a[o];a.forEach((function(e){return E(e,e===f)}));if(!l&&s){f.selected=true}t(f)}function b(e,t,i){var r=e.items;var a=r.length;var l=r.indexOf(t);var s=i==="up"?-1:1;var u=1;var c=n(l+s*u++,a);var o=c;while(r[c].disabled){c=n(l+s*u++,a);if(c===o){break}}return c}function g(e){return e.filter((function(e){return!e.disabled}))}function y(){this.calciteListChange.emit(this.selectedValues)}function w(e){if(e.defaultPrevented){return}var t=e.target;var i=this.selectedValues;if(t.parentElement.tagName==="CALCITE-PICK-LIST-GROUP"){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 E(e,t){if(e.disabled){return}if(t){e.removeAttribute("tabindex")}else{e.setAttribute("tabindex","-1")}}function S(e){return __awaiter(this,void 0,void 0,(function(){var i,n,r,a,l,s,u;return __generator(this,(function(c){switch(c.label){case 0:if(!(this.filterEnabled&&e==="filter"))return[3,2];return[4,t(this.filterEl)];case 1:c.sent();return[2];case 2:n=this,r=n.items,a=n.multiple,l=n.selectionFollowsFocus;if(r.length===0){return[2]}if(a){return[2,(i=g(r)[0])===null||i===void 0?void 0:i.setFocus()]}s=g(r);u=s.find((function(e){return e.selected}))||s[0];if(l&&u){u.selected=true}return[2,u.setFocus()]}}))}))}function x(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;E(e,false)}if(e.selected){i=true;E(e,true);t.selectedValues.set(e.value,e)}}));var r=n[0];if(!i&&r&&!r.disabled){E(r,true)}}function I(){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 O(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 C(e,t){var i=this;if(t===void 0){t=false}if(!this.lastSelectedItem){return}var n=this.items;var r=n.findIndex((function(e){return e.value===i.lastSelectedItem.value}));var a=n.findIndex((function(t){return t.value===e.value}));n.slice(Math.min(r,a),Math.max(r,a)).forEach((function(e){e.toggleSelected(!t);if(!t){i.selectedValues.set(e.value,e)}else{i.selectedValues.delete(e.value)}}))}var V;function _(e){var t=e.currentTarget.filteredItems;var n=t.map((function(e){return e.value}));var r=false;if(!V){V=new Set}var a=this.items.filter((function(e){var t=e.parentElement;var i=t.matches("calcite-pick-list-group");if(i){V.add(t)}var a=n.includes(e.value);e.hidden=!a;if(!r){r=a&&e.selected}return a}));V.forEach((function(e){var t=a.some((function(t){return e.contains(t)}));e.hidden=!t;if(!t){return}var n=i(e,"parent-item");if(n){n.hidden=false;if(a.includes(n)){Array.from(e.children).forEach((function(e){return e.hidden=false}))}}}));V.clear();if(a.length>0&&!r&&!this.multiple){E(a[0],true)}}function k(){return this.items.map((function(e){return{label:e.label,description:e.description,metadata:e.metadata,value:e.value}}))}var A={sticky:"sticky-pos"};var F;(function(e){e["circle"]="circle";e["square"]="square";e["grip"]="grip"})(F||(F=e("I",{})));var j={menuActions:"menu-actions"};var P=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 r=0,n=Object.getOwnPropertySymbols(e);r<n.length;r++){if(t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r]))i[n[r]]=e[n[r]]}return i};var L=e("L",(function(e){var t;var i=e.props,n=i.disabled,r=i.loading,s=i.filterEnabled,u=i.dataForFilter,c=i.handleFilter,o=i.filterPlaceholder,f=i.setFilterEl,d=P(e,["props"]);var h=a("slot",null);return a(l,Object.assign({"aria-busy":r.toString(),role:"menu"},d),a("section",null,a("header",{class:(t={},t[A.sticky]=true,t)},s?a("calcite-filter",{"aria-label":o,disabled:r||n,items:u,onCalciteFilterChange:c,placeholder:o,ref:f}):null,a("slot",{name:j.menuActions})),r?a("calcite-scrim",{loading:r}):null,h))}));var T=e("C",{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 U=e("p",{checked:"check",remove:"x"});var D=e("S",{actionsEnd:"actions-end",actionsStart:"actions-start"});var q=e("T",{remove:"Remove"})}}}));