@esri/calcite-components
Version:
Web Components for Esri's Calcite Design System.
1 lines • 18 kB
JavaScript
var __awaiter=this&&this.__awaiter||function(t,e,i,a){function r(t){return t instanceof i?t:new i((function(e){e(t)}))}return new(i||(i=Promise))((function(i,n){function s(t){try{l(a.next(t))}catch(e){n(e)}}function o(t){try{l(a["throw"](t))}catch(e){n(e)}}function l(t){t.done?i(t.value):r(t.value).then(s,o)}l((a=a.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var i={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},a,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(t){return function(e){return l([t,e])}}function l(s){if(a)throw new TypeError("Generator is already executing.");while(i)try{if(a=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:i.label++;return{value:s[1],done:false};case 5:i.label++;r=s[1];s=[0];continue;case 7:s=i.ops.pop();i.trys.pop();continue;default:if(!(n=i.trys,n=n.length>0&&n[n.length-1])&&(s[0]===6||s[0]===2)){i=0;continue}if(s[0]===3&&(!n||s[1]>n[0]&&s[1]<n[3])){i.label=s[1];break}if(s[0]===6&&i.label<n[1]){i.label=n[1];n=s;break}if(n&&i.label<n[2]){i.label=n[2];i.ops.push(s);break}if(n[2])i.ops.pop();i.trys.pop();continue}s=e.call(t,i)}catch(o){s=[6,o];r=0}finally{a=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,F as Fragment}from"./index-aa8afca4.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,l as calciteListFocusOutHandler,f as setUpItems,j as setFocus,I as ICON_TYPES,L as List,T as TEXT,n as ICONS,C as CSS$1,S as SLOTS$1}from"./resources-1ee857fb.js";import{g as getElementDir,b as getSlotted,C as CSS_UTILITY}from"./dom-466af3c7.js";import{C as CalciteHeading,c as constrainHeadingLevel}from"./CalciteHeading-63c82bed.js";import"./array-af19adb2.js";import"./debounce-047e09f4.js";import"./guid-09142681.js";var calcitePickListCss="@-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}: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-direction:column;flex-direction:column;position:relative;padding-bottom:0;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:0;flex-shrink:0}:host([filter-enabled]) header{background-color:var(--calcite-ui-foreground-1);display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:stretch;align-items:stretch;margin-bottom:0.25rem;-webkit-box-shadow:0 1px 0 var(--calcite-ui-border-3);box-shadow:0 1px 0 var(--calcite-ui-border-3)}:host([filter-enabled]) header.sticky{position:-webkit-sticky;position:sticky;top:0;z-index:1}calcite-filter{margin-bottom:1px}:host([loading][disabled]){min-height:2rem}";var CalcitePickList=function(){function t(t){var e=this;registerInstance(this,t);this.calciteListChange=createEvent(this,"calciteListChange",7);this.disabled=false;this.filterEnabled=false;this.loading=false;this.multiple=false;this.selectionFollowsFocus=false;this.selectedValues=new Map;this.dataForFilter=[];this.lastSelectedItem=null;this.observer=new MutationObserver(mutationObserverCallback.bind(this));this.setFilterEl=function(t){e.filterEl=t};this.deselectSiblingItems=deselectSiblingItems.bind(this);this.selectSiblings=selectSiblings.bind(this);this.handleFilter=handleFilter.bind(this);this.getItemData=getItemData.bind(this);this.keyDownHandler=keyDownHandler.bind(this)}t.prototype.connectedCallback=function(){initialize.call(this);initializeObserver.call(this)};t.prototype.disconnectedCallback=function(){cleanUpObserver.call(this)};t.prototype.calciteListItemRemoveHandler=function(t){removeItem.call(this,t)};t.prototype.calciteListItemChangeHandler=function(t){calciteListItemChangeHandler.call(this,t)};t.prototype.calciteListItemPropsChangeHandler=function(t){t.stopPropagation();this.setUpFilter()};t.prototype.calciteListItemValueChangeHandler=function(t){calciteListItemValueChangeHandler.call(this,t)};t.prototype.calciteListFocusOutHandler=function(t){calciteListFocusOutHandler.call(this,t)};t.prototype.setUpItems=function(){setUpItems.call(this,"calcite-pick-list-item")};t.prototype.setUpFilter=function(){if(this.filterEnabled){this.dataForFilter=this.getItemData()}};t.prototype.getSelectedItems=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,this.selectedValues]}))}))};t.prototype.setFocus=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){return[2,setFocus.call(this,t)]}))}))};t.prototype.getIconType=function(){return this.multiple?ICON_TYPES.square:ICON_TYPES.circle};t.prototype.render=function(){return h(List,{onKeyDown:this.keyDownHandler,props:this})};Object.defineProperty(t.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return t}();CalcitePickList.style=calcitePickListCss;var CSS={heading:"heading",container:"container",indented:"container--indented"};var SLOTS={parentItem:"parent-item"};var HEADING_LEVEL=3;var calcitePickListGroupCss="@-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}:root{--calcite-popper-transition:150ms ease-in-out}:host([hidden]){display:none}:host{background-color:transparent;display:block;margin-bottom:0.25rem}:host(:last-child){margin-bottom:0}.header{margin:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;color:var(--calcite-ui-text-2);fill:var(--calcite-ui-text-2)}.heading{padding:0;margin:0;font-weight:var(--calcite-font-weight-medium);line-height:1.5}.header .heading{-ms-flex:1 0 auto;flex:1 0 auto;padding:var(--calcite-spacing-half) var(--calcite-spacing-half)}h1.heading{font-size:var(--calcite-font-size-2)}h2.heading{font-size:var(--calcite-font-size-1)}h3.heading{font-size:var(--calcite-font-size-0)}h4.heading,h5.heading{font-size:var(--calcite-font-size--1)}h3.heading{font-size:var(--calcite-font-size--1);line-height:1.375;color:var(--calcite-ui-text-3);margin:0.5rem 1rem}.container--indented{margin-left:1.5rem}.calcite--rtl.container--indented{margin-left:0;margin-right:1.5rem}";var CalcitePickListGroup=function(){function t(t){registerInstance(this,t)}t.prototype.render=function(){var t;var e;var i=this,a=i.el,r=i.groupTitle,n=i.headingLevel;var s=getElementDir(a)==="rtl";var o=getSlotted(a,SLOTS.parentItem)!==null;var l=(t={},t[CSS.container]=true,t[CSS.indented]=o,t[CSS_UTILITY.rtl]=s,t);var c=r;var f=(e=a.closest("calcite-pick-list"))===null||e===void 0?void 0:e.headingLevel;var m=f?constrainHeadingLevel(f+1):null;var d=n||m||HEADING_LEVEL;return h(Fragment,null,c?h(CalciteHeading,{class:CSS.heading,level:d},c):null,h("slot",{name:SLOTS.parentItem}),h("section",{class:l},h("slot",null)))};Object.defineProperty(t.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return t}();CalcitePickListGroup.style=calcitePickListGroupCss;var calcitePickListItemCss='@charset "UTF-8";@-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}:root{--calcite-popper-transition:150ms ease-in-out}:host([hidden]){display:none}:host{-ms-flex-align:stretch;align-items:stretch;display:-ms-flexbox;display:flex;color:var(--calcite-ui-text-1);-webkit-box-shadow:0 1px 0 var(--calcite-ui-border-3);box-shadow:0 1px 0 var(--calcite-ui-border-3);margin:0;margin-bottom:1px;-webkit-transition:background-color 150ms ease-in-out;transition:background-color 150ms ease-in-out;-webkit-animation:calcite-fade-in 150ms ease-in-out;animation:calcite-fade-in 150ms ease-in-out}:host(:hover){background-color:var(--calcite-ui-foreground-2)}.icon{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;margin-top:0;margin-bottom:0;margin-left:0.5rem;margin-right:0.5rem;opacity:0;cursor:pointer;color:var(--calcite-ui-brand);-ms-flex:0 0 auto;flex:0 0 auto;line-height:0}.icon-dot{width:0.5rem;margin:0.5rem}.icon-dot:before{content:"•"}:host([selected]) .icon{-webkit-transition:opacity 150ms ease-in-out;transition:opacity 150ms ease-in-out;opacity:1}.label{background-color:transparent;display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;padding-left:0.75rem;padding-right:0.75rem;padding-top:0.5rem;padding-bottom:0.5rem;-ms-flex-align:center;align-items:center;cursor:pointer;outline-offset:0;outline-color:transparent;-webkit-transition:outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;transition:outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out}.label:focus{outline:2px solid var(--calcite-ui-brand);outline-offset:-2px}.text-container{display:-ms-flexbox;display:flex;overflow:hidden;pointer-events:none;padding-top:0;padding-bottom:0;padding-left:0.25rem;padding-right:0.25rem;font-size:var(--calcite-font-size--2);line-height:1.375;word-wrap:break-word;word-break:break-word;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.title{color:var(--calcite-ui-text-1)}.description{margin-top:0.125rem;color:var(--calcite-ui-text-3)}.actions{-ms-flex-align:stretch;align-items:stretch;display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;margin:0;-ms-flex:0 0 auto;flex:0 0 auto}.actions--start~.label{padding-left:0.25rem}.calcite--rtl .actions--start~.label{padding-left:unset;padding-right:0.25rem}';var CalcitePickListItem=function(){function t(t){var e=this;registerInstance(this,t);this.calciteListItemChange=createEvent(this,"calciteListItemChange",7);this.calciteListItemRemove=createEvent(this,"calciteListItemRemove",7);this.calciteListItemPropsChange=createEvent(this,"calciteListItemPropsChange",7);this.calciteListItemValueChange=createEvent(this,"calciteListItemValueChange",7);this.disabled=false;this.disableDeselect=false;this.icon=null;this.removable=false;this.selected=false;this.intlRemove=TEXT.remove;this.pickListClickHandler=function(t){if(e.disabled||e.disableDeselect&&e.selected){return}e.shiftPressed=t.shiftKey;e.selected=!e.selected};this.pickListKeyDownHandler=function(t){if(t.key===" "){t.preventDefault();if(e.disableDeselect&&e.selected){return}e.selected=!e.selected}};this.removeClickHandler=function(){e.calciteListItemRemove.emit()}}t.prototype.descriptionWatchHandler=function(){this.calciteListItemPropsChange.emit()};t.prototype.labelWatchHandler=function(){this.calciteListItemPropsChange.emit()};t.prototype.metadataWatchHandler=function(){this.calciteListItemPropsChange.emit()};t.prototype.selectedWatchHandler=function(){this.calciteListItemChange.emit({item:this.el,value:this.value,selected:this.selected,shiftPressed:this.shiftPressed});this.shiftPressed=false};t.prototype.valueWatchHandler=function(t,e){this.calciteListItemValueChange.emit({oldValue:e,newValue:t})};t.prototype.toggleSelected=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(this.disabled){return[2]}this.selected=typeof t==="boolean"?t:!this.selected;return[2]}))}))};t.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(e){(t=this.focusEl)===null||t===void 0?void 0:t.focus();return[2]}))}))};t.prototype.renderIcon=function(){var t;var e=this.icon;if(!e){return null}return h("span",{class:(t={},t[CSS$1.icon]=true,t[CSS$1.iconDot]=e===ICON_TYPES.circle,t),onClick:this.pickListClickHandler},e===ICON_TYPES.square?h("calcite-icon",{icon:ICONS.checked,scale:"s"}):null)};t.prototype.renderRemoveAction=function(){return this.removable?h("calcite-action",{class:CSS$1.remove,icon:ICONS.remove,onCalciteActionClick:this.removeClickHandler,slot:SLOTS$1.actionsEnd,text:this.intlRemove}):null};t.prototype.renderActionsStart=function(){var t;var e=this.el;var i=getSlotted(e,SLOTS$1.actionsStart);return i?h("div",{class:(t={},t[CSS$1.actions]=true,t[CSS$1.actionsStart]=true,t)},h("slot",{name:SLOTS$1.actionsStart})):null};t.prototype.renderActionsEnd=function(){var t;var e=this,i=e.el,a=e.removable;var r=getSlotted(i,SLOTS$1.actionsEnd);return r||a?h("div",{class:(t={},t[CSS$1.actions]=true,t[CSS$1.actionsEnd]=true,t)},h("slot",{name:SLOTS$1.actionsEnd}),this.renderRemoveAction()):null};t.prototype.render=function(){var t=this;var e=this,i=e.description,a=e.label;return h(Fragment,null,this.renderIcon(),this.renderActionsStart(),h("label",{"aria-label":a,class:CSS$1.label,onClick:this.pickListClickHandler,onKeyDown:this.pickListKeyDownHandler,ref:function(e){return t.focusEl=e},tabIndex:0},h("div",{"aria-checked":this.selected.toString(),class:CSS$1.textContainer,role:"menuitemcheckbox"},h("span",{class:CSS$1.title},a),i?h("span",{class:CSS$1.description},i):null)),this.renderActionsEnd())};Object.defineProperty(t.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{description:["descriptionWatchHandler"],label:["labelWatchHandler"],metadata:["metadataWatchHandler"],selected:["selectedWatchHandler"],value:["valueWatchHandler"]}},enumerable:false,configurable:true});return t}();CalcitePickListItem.style=calcitePickListItemCss;export{CalcitePickList as calcite_pick_list,CalcitePickListGroup as calcite_pick_list_group,CalcitePickListItem as calcite_pick_list_item};