UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

1 lines 8.45 kB
var __awaiter=this&&this.__awaiter||function(e,t,a,i){function r(e){return e instanceof a?e:new a((function(t){t(e)}))}return new(a||(a=Promise))((function(a,n){function s(e){try{l(i.next(e))}catch(t){n(t)}}function o(e){try{l(i["throw"](e))}catch(t){n(t)}}function l(e){e.done?a(e.value):r(e.value).then(s,o)}l((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var a={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},i,r,n,s;return s={next:o(0),throw:o(1),return:o(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function o(e){return function(t){return l([e,t])}}function l(s){if(i)throw new TypeError("Generator is already executing.");while(a)try{if(i=1,r&&(n=s[0]&2?r["return"]:s[0]?r["throw"]||((n=r["return"])&&n.call(r),0):r.next)&&!(n=n.call(r,s[1])).done)return n;if(r=0,n)s=[s[0]&2,n.value];switch(s[0]){case 0:case 1:n=s;break;case 4:a.label++;return{value:s[1],done:false};case 5:a.label++;r=s[1];s=[0];continue;case 7:s=a.ops.pop();a.trys.pop();continue;default:if(!(n=a.trys,n=n.length>0&&n[n.length-1])&&(s[0]===6||s[0]===2)){a=0;continue}if(s[0]===3&&(!n||s[1]>n[0]&&s[1]<n[3])){a.label=s[1];break}if(s[0]===6&&a.label<n[1]){a.label=n[1];n=s;break}if(n&&a.label<n[2]){a.label=n[2];a.ops.push(s);break}if(n[2])a.ops.pop();a.trys.pop();continue}s=t.call(e,a)}catch(o){s=[6,o];r=0}finally{i=n=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};import{r as registerInstance,c as createEvent,h,g as getElement}from"./index-8fd57462.js";import"./dom-d9ba1da4.js";import"./debounce-4dee3b1c.js";import{g as getRoundRobinIndex}from"./array-af19adb2.js";import"./resources-e06851d2.js";import{m as mutationObserverCallback,d as deselectSiblingItems,s as selectSiblings,h as handleFilter,g as getItemData,k as keyDownHandler,i as initialize,a as initializeObserver,c as cleanUpObserver,r as removeItem,b as calciteListItemChangeHandler,e as calciteListItemValueChangeHandler,f as setUpItems,j as setFocus,L as List}from"./shared-list-render-e4a67a06.js";import{S as Sortable}from"./sortable.esm-98c2e482.js";var CSS={container:"container",handle:"handle"};var ICON_TYPES;(function(e){e["grip"]="grip"})(ICON_TYPES||(ICON_TYPES={}));var calciteValueListCss="@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:host{-webkit-box-sizing:border-box;box-sizing:border-box;background-color:var(--calcite-ui-foreground-1);color:var(--calcite-ui-text-2);font-size:var(--calcite-font-size--1)}:host *{-webkit-box-sizing:border-box;box-sizing:border-box}:host{--calcite-icon-size:1rem;--calcite-spacing-quarter:0.25rem;--calcite-spacing-half:0.5rem;--calcite-spacing-three-quarters:0.75rem;--calcite-spacing:1rem;--calcite-spacing-plus-quarter:1.25rem;--calcite-spacing-plus-half:1.5rem;--calcite-spacing-double:2rem;--calcite-menu-min-width:10rem;--calcite-header-min-height:3rem;--calcite-footer-min-height:3rem}:root{--calcite-popper-transition:150ms ease-in-out}:host([hidden]){display:none}:host{-ms-flex-align:stretch;align-items:stretch;background-color:transparent;display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:column;flex-flow:column;position:relative}calcite-value-list-item:last-of-type{-webkit-box-shadow:none;box-shadow:none}header{background-color:var(--calcite-ui-foreground-1);display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:center;align-items:center;margin-bottom:var(--calcite-spacing-quarter);-webkit-box-shadow:0 1px 0 var(--calcite-ui-border-3);box-shadow:0 1px 0 var(--calcite-ui-border-3)}header.sticky{position:-webkit-sticky;position:sticky;top:0;z-index:1}calcite-filter{margin-bottom:1px}calcite-scrim{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:column;flex-flow:column;pointer-events:none}";var CalciteValueList=function(){function e(e){var t=this;registerInstance(this,e);this.calciteListChange=createEvent(this,"calciteListChange",7);this.calciteListOrderChange=createEvent(this,"calciteListOrderChange",7);this.disabled=false;this.dragEnabled=false;this.filterEnabled=false;this.loading=false;this.multiple=false;this.selectedValues=new Map;this.dataForFilter=[];this.lastSelectedItem=null;this.observer=new MutationObserver(mutationObserverCallback.bind(this));this.deselectSiblingItems=deselectSiblingItems.bind(this);this.selectSiblings=selectSiblings.bind(this);this.handleFilter=handleFilter.bind(this);this.getItemData=getItemData.bind(this);this.keyDownHandler=function(e){var a=e.composedPath().find((function(e){var t;return((t=e.dataset)===null||t===void 0?void 0:t.jsHandle)!==undefined}));var i=e.composedPath().find((function(e){var t;return((t=e.tagName)===null||t===void 0?void 0:t.toLowerCase())==="calcite-value-list-item"}));if(!a||!i.handleActivated){keyDownHandler.call(t,e);return}if(e.key!=="ArrowUp"&&e.key!=="ArrowDown"){return}e.preventDefault();var r=t,n=r.el,s=r.items;var o=e.key==="ArrowDown"?1:-1;var l=s.indexOf(i);var c=getRoundRobinIndex(l+o,s.length);if(c===s.length-1){n.appendChild(i)}else{var u=n.children[c];var f=u===i.nextElementSibling?u.nextElementSibling:u;n.insertBefore(i,f)}requestAnimationFrame((function(){return a.focus()}));i.handleActivated=true}}e.prototype.connectedCallback=function(){initialize.call(this);initializeObserver.call(this)};e.prototype.componentDidLoad=function(){this.setUpDragAndDrop()};e.prototype.disconnectedCallback=function(){cleanUpObserver.call(this);this.cleanUpDragAndDrop()};e.prototype.calciteListItemRemoveHandler=function(e){removeItem.call(this,e)};e.prototype.calciteListItemChangeHandler=function(e){calciteListItemChangeHandler.call(this,e)};e.prototype.calciteListItemPropsChangeHandler=function(e){e.stopPropagation();this.setUpFilter()};e.prototype.calciteListItemValueChangeHandler=function(e){calciteListItemValueChangeHandler.call(this,e)};e.prototype.setUpItems=function(){setUpItems.call(this,"calcite-value-list-item")};e.prototype.setUpFilter=function(){if(this.filterEnabled){this.dataForFilter=this.getItemData()}};e.prototype.setUpDragAndDrop=function(){var e=this;if(!this.dragEnabled){return}this.sortable=Sortable.create(this.el,{handle:"."+CSS.handle,draggable:"calcite-value-list-item",group:this.group,onSort:function(){e.items=Array.from(e.el.querySelectorAll("calcite-value-list-item"));var t=e.items.map((function(e){return e.value}));e.calciteListOrderChange.emit(t)}})};e.prototype.cleanUpDragAndDrop=function(){if(!this.dragEnabled){return}this.sortable.destroy()};e.prototype.getSelectedItems=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,this.selectedValues]}))}))};e.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,setFocus.call(this)]}))}))};e.prototype.getIconType=function(){var e=null;if(this.dragEnabled){e=ICON_TYPES.grip}return e};e.prototype.render=function(){return h(List,{onKeyDown:this.keyDownHandler,props:this})};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();CalciteValueList.style=calciteValueListCss;export{CalciteValueList as calcite_value_list};