calcite-dropdown_3.entry.js 32 KB

123456
  1. var __awaiter=this&&this.__awaiter||function(t,e,i,n){function a(t){return t instanceof i?t:new i((function(e){e(t)}))}return new(i||(i=Promise))((function(i,o){function r(t){try{c(n.next(t))}catch(t){o(t)}}function s(t){try{c(n["throw"](t))}catch(t){o(t)}}function c(t){t.done?i(t.value):a(t.value).then(r,s)}c((n=n.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var i={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},n,a,o,r;return r={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(r[Symbol.iterator]=function(){return this}),r;function s(t){return function(e){return c([t,e])}}function c(r){if(n)throw new TypeError("Generator is already executing.");while(i)try{if(n=1,a&&(o=r[0]&2?a["return"]:r[0]?a["throw"]||((o=a["return"])&&o.call(a),0):a.next)&&!(o=o.call(a,r[1])).done)return o;if(a=0,o)r=[r[0]&2,o.value];switch(r[0]){case 0:case 1:o=r;break;case 4:i.label++;return{value:r[1],done:false};case 5:i.label++;a=r[1];r=[0];continue;case 7:r=i.ops.pop();i.trys.pop();continue;default:if(!(o=i.trys,o=o.length>0&&o[o.length-1])&&(r[0]===6||r[0]===2)){i=0;continue}if(r[0]===3&&(!o||r[1]>o[0]&&r[1]<o[3])){i.label=r[1];break}if(r[0]===6&&i.label<o[1]){i.label=o[1];o=r;break}if(o&&i.label<o[2]){i.label=o[2];i.ops.push(r);break}if(o[2])i.ops.pop();i.trys.pop();continue}r=e.call(t,i)}catch(t){r=[6,t];a=0}finally{n=o=0}if(r[0]&5)throw r[1];return{value:r[0]?r[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(t,e,i){if(i||arguments.length===2)for(var n=0,a=e.length,o;n<a;n++){if(o||!(n in e)){if(!o)o=Array.prototype.slice.call(e,0,n);o[n]=e[n]}}return t.concat(o||Array.prototype.slice.call(e))};
  2. /*!
  3. * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
  4. * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
  5. * v1.0.0-beta.82
  6. */import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-8ece2564.js";import{t as toAriaBoolean,f as focusElement,d as getElementProp}from"./dom-da697a3f.js";import{d as defaultMenuPlacement,f as filterComputedPlacements,C as CSS$2,u as updatePopper,c as createPopper,p as popperMenuComputedPlacements}from"./popper-0fd1fd89.js";import{c as createObserver}from"./observers-b198f831.js";import{u as updateHostInteraction}from"./interactive-cb5bf285.js";import"./guid-b4461004.js";var SLOTS={dropdownTrigger:"dropdown-trigger"};var dropdownCss="@-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)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:root{--calcite-popper-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host{display:-ms-inline-flexbox;display:inline-flex;-ms-flex:0 1 auto;flex:0 1 auto}:host([disabled]){pointer-events:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}:host .calcite-dropdown-wrapper{display:block;position:absolute;z-index:900;-webkit-transform:scale(0);transform:scale(0);visibility:hidden;pointer-events:none}.calcite-dropdown-wrapper .calcite-popper-anim{position:relative;z-index:1;-webkit-transition:var(--calcite-popper-transition);transition:var(--calcite-popper-transition);visibility:hidden;-webkit-transition-property:visibility, opacity, -webkit-transform;transition-property:visibility, opacity, -webkit-transform;transition-property:transform, visibility, opacity;transition-property:transform, visibility, opacity, -webkit-transform;opacity:0;-webkit-box-shadow:0 0 16px 0 rgba(0, 0, 0, 0.16);box-shadow:0 0 16px 0 rgba(0, 0, 0, 0.16);border-radius:0.25rem}.calcite-dropdown-wrapper[data-popper-placement^=bottom] .calcite-popper-anim{-webkit-transform:translateY(-5px);transform:translateY(-5px)}.calcite-dropdown-wrapper[data-popper-placement^=top] .calcite-popper-anim{-webkit-transform:translateY(5px);transform:translateY(5px)}.calcite-dropdown-wrapper[data-popper-placement^=left] .calcite-popper-anim{-webkit-transform:translateX(5px);transform:translateX(5px)}.calcite-dropdown-wrapper[data-popper-placement^=right] .calcite-popper-anim{-webkit-transform:translateX(-5px);transform:translateX(-5px)}.calcite-dropdown-wrapper[data-popper-placement] .calcite-popper-anim--active{opacity:1;visibility:visible;-webkit-transform:translate(0);transform:translate(0)}:host([active]) .calcite-dropdown-wrapper{pointer-events:initial;visibility:visible}:host .calcite-dropdown-content{width:auto;overflow-y:auto;overflow-x:hidden;background-color:var(--calcite-ui-foreground-1);max-height:90vh;width:var(--calcite-dropdown-width)}.calcite-dropdown-trigger-container{position:relative;display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto}:host([width=s]){--calcite-dropdown-width:12rem}:host([width=m]){--calcite-dropdown-width:14rem}:host([width=l]){--calcite-dropdown-width:16rem}";var Dropdown=function(){function t(t){var e=this;registerInstance(this,t);this.calciteDropdownSelect=createEvent(this,"calciteDropdownSelect",7);this.calciteDropdownOpen=createEvent(this,"calciteDropdownOpen",7);this.calciteDropdownClose=createEvent(this,"calciteDropdownClose",7);this.active=false;this.disableCloseOnSelect=false;this.disabled=false;this.maxItems=0;this.overlayPositioning="absolute";this.placement=defaultMenuPlacement;this.scale="m";this.selectedItems=[];this.type="click";this.width="m";this.items=[];this.groups=[];this.activeTransitionProp="visibility";this.mutationObserver=createObserver("mutation",(function(){return e.updateItems()}));this.resizeObserver=createObserver("resize",(function(){return e.setMaxScrollerHeight()}));this.setFilteredPlacements=function(){var t=e,i=t.el,n=t.flipPlacements;e.filteredFlipPlacements=n?filterComputedPlacements(n,i):null};this.updateTriggers=function(t){e.triggers=t.target.assignedElements({flatten:true});e.reposition()};this.updateItems=function(){e.items=e.groups.map((function(t){return Array.from(t===null||t===void 0?void 0:t.querySelectorAll("calcite-dropdown-item"))})).reduce((function(t,e){return __spreadArray(__spreadArray([],t,true),e,true)}),[]);e.updateSelectedItems();e.reposition()};this.updateGroups=function(t){var i=t.target.assignedElements({flatten:true}).filter((function(t){return t===null||t===void 0?void 0:t.matches("calcite-dropdown-group")}));e.groups=i;e.updateItems()};this.setMaxScrollerHeight=function(){var t=e,i=t.active,n=t.scrollerEl;if(!n||!i){return}e.reposition();var a=e.getMaxScrollerHeight();n.style.maxHeight=a>0?"".concat(a,"px"):"";e.reposition()};this.setScrollerEl=function(t){e.resizeObserver.observe(t);e.scrollerEl=t};this.transitionEnd=function(t){if(t.propertyName===e.activeTransitionProp){e.active?e.calciteDropdownOpen.emit():e.calciteDropdownClose.emit()}};this.setReferenceEl=function(t){e.referenceEl=t};this.setMenuEl=function(t){e.menuEl=t};this.keyDownHandler=function(t){var i=t.target;if(i!==e.referenceEl){return}var n=t.key;if(e.active&&(n==="Escape"||t.shiftKey&&n==="Tab")){e.closeCalciteDropdown();return}switch(n){case" ":case"Enter":e.openCalciteDropdown();break;case"Escape":e.closeCalciteDropdown();break}};this.focusOnFirstActiveOrFirstItem=function(){e.getFocusableElement(e.items.find((function(t){return t.active}))||e.items[0])};this.toggleOpenEnd=function(){e.focusOnFirstActiveOrFirstItem();e.el.removeEventListener("calciteDropdownOpen",e.toggleOpenEnd)};this.openCalciteDropdown=function(){e.active=!e.active;if(e.active){e.el.addEventListener("calciteDropdownOpen",e.toggleOpenEnd)}}}t.prototype.activeHandler=function(){if(!this.disabled){this.reposition();return}this.active=false};t.prototype.handleDisabledChange=function(t){if(!t){this.active=false}};t.prototype.flipPlacementsHandler=function(){this.setFilteredPlacements()};t.prototype.maxItemsHandler=function(){this.setMaxScrollerHeight()};t.prototype.placementHandler=function(){this.reposition()};t.prototype.connectedCallback=function(){var t;(t=this.mutationObserver)===null||t===void 0?void 0:t.observe(this.el,{childList:true,subtree:true});this.createPopper();this.setFilteredPlacements()};t.prototype.componentDidLoad=function(){this.reposition()};t.prototype.componentDidRender=function(){updateHostInteraction(this)};t.prototype.disconnectedCallback=function(){var t,e;(t=this.mutationObserver)===null||t===void 0?void 0:t.disconnect();(e=this.resizeObserver)===null||e===void 0?void 0:e.disconnect();this.destroyPopper()};t.prototype.render=function(){var t;var e=this.active;return h(Host,null,h("div",{class:"calcite-dropdown-trigger-container",onClick:this.openCalciteDropdown,onKeyDown:this.keyDownHandler,ref:this.setReferenceEl},h("slot",{"aria-expanded":toAriaBoolean(e),"aria-haspopup":"true",name:SLOTS.dropdownTrigger,onSlotchange:this.updateTriggers})),h("div",{"aria-hidden":toAriaBoolean(!e),class:"calcite-dropdown-wrapper",ref:this.setMenuEl},h("div",{class:(t={},t["calcite-dropdown-content"]=true,t[CSS$2.animation]=true,t[CSS$2.animationActive]=e,t),onTransitionEnd:this.transitionEnd,ref:this.setScrollerEl},h("div",{hidden:!this.active},h("slot",{onSlotchange:this.updateGroups})))))};t.prototype.reposition=function(){return __awaiter(this,void 0,void 0,(function(){var t,e,i,n,a,o;return __generator(this,(function(r){switch(r.label){case 0:t=this,e=t.popper,i=t.menuEl,n=t.placement;a=this.getModifiers();if(!e)return[3,2];return[4,updatePopper({el:i,modifiers:a,placement:n,popper:e})];case 1:o=r.sent();return[3,3];case 2:o=this.createPopper();r.label=3;case 3:o;return[2]}}))}))};t.prototype.closeCalciteDropdownOnClick=function(t){if(!this.active||t.composedPath().includes(this.el)){return}this.closeCalciteDropdown(false)};t.prototype.closeCalciteDropdownOnEvent=function(){this.closeCalciteDropdown()};t.prototype.closeCalciteDropdownOnOpenEvent=function(t){if(t.composedPath().includes(this.el)){return}this.active=false};t.prototype.mouseEnterHandler=function(){if(this.type==="hover"){this.openCalciteDropdown()}};t.prototype.mouseLeaveHandler=function(){if(this.type==="hover"){this.closeCalciteDropdown()}};t.prototype.calciteDropdownItemKeyEvent=function(t){var e=t.detail.keyboardEvent;var i=e.target;var n=i.nodeName!=="A"?i:i.parentNode;var a=this.itemIndex(n)===0;var o=this.itemIndex(n)===this.items.length-1;switch(e.key){case"Tab":if(o&&!e.shiftKey){this.closeCalciteDropdown()}else if(a&&e.shiftKey){this.closeCalciteDropdown()}else if(e.shiftKey){this.focusPrevItem(n)}else{this.focusNextItem(n)}break;case"ArrowDown":this.focusNextItem(n);break;case"ArrowUp":this.focusPrevItem(n);break;case"Home":this.focusFirstItem();break;case"End":this.focusLastItem();break}t.stopPropagation()};t.prototype.handleItemSelect=function(t){this.updateSelectedItems();t.stopPropagation();this.calciteDropdownSelect.emit();if(!this.disableCloseOnSelect||t.detail.requestedDropdownGroup.selectionMode==="none"){this.closeCalciteDropdown()}};t.prototype.getModifiers=function(){var t={name:"flip",enabled:true};t.options={fallbackPlacements:this.filteredFlipPlacements||popperMenuComputedPlacements};var e={name:"eventListeners",enabled:this.active};return[t,e]};t.prototype.createPopper=function(){this.destroyPopper();var t=this,e=t.menuEl,i=t.referenceEl,n=t.placement,a=t.overlayPositioning;var o=this.getModifiers();this.popper=createPopper({el:e,modifiers:o,overlayPositioning:a,placement:n,referenceEl:i})};t.prototype.destroyPopper=function(){var t=this.popper;if(t){t.destroy()}this.popper=null};t.prototype.updateSelectedItems=function(){this.selectedItems=this.items.filter((function(t){return t.active}))};t.prototype.getMaxScrollerHeight=function(){var t=this.maxItems;var e=0;var i=0;var n;this.groups.forEach((function(a){if(t>0&&e<t){Array.from(a.children).forEach((function(a,o){if(o===0){if(isNaN(n)){n=a.offsetTop}i+=n}if(e<t){i+=a.offsetHeight;e+=1}}))}}));return i};t.prototype.closeCalciteDropdown=function(t){if(t===void 0){t=true}this.active=false;if(t){focusElement(this.triggers[0])}};t.prototype.focusFirstItem=function(){var t=this.items[0];this.getFocusableElement(t)};t.prototype.focusLastItem=function(){var t=this.items[this.items.length-1];this.getFocusableElement(t)};t.prototype.focusNextItem=function(t){var e=this.itemIndex(t);var i=this.items[e+1]||this.items[0];this.getFocusableElement(i)};t.prototype.focusPrevItem=function(t){var e=this.itemIndex(t);var i=this.items[e-1]||this.items[this.items.length-1];this.getFocusableElement(i)};t.prototype.itemIndex=function(t){return this.items.indexOf(t)};t.prototype.getFocusableElement=function(t){if(!t){return}var e=t.attributes.isLink?t.shadowRoot.querySelector("a"):t;focusElement(e)};Object.defineProperty(t.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{active:["activeHandler"],disabled:["handleDisabledChange"],flipPlacements:["flipPlacementsHandler"],maxItems:["maxItemsHandler"],placement:["placementHandler"]}},enumerable:false,configurable:true});return t}();Dropdown.style=dropdownCss;var CSS$1={containerSmall:"container--s",containerMedium:"container--m",containerLarge:"container--l"};var dropdownGroupCss="@-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)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:root{--calcite-popper-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host{display:block}.container--s{font-size:var(--calcite-font-size--2);line-height:1rem}.container--s .dropdown-title{padding:0.5rem}.container--m{font-size:var(--calcite-font-size--1);line-height:1rem}.container--m .dropdown-title{padding:0.75rem}.container--l{font-size:var(--calcite-font-size-0);line-height:1.25rem}.container--l .dropdown-title{padding:1rem}.dropdown-title{margin-bottom:-1px;display:block;cursor:default;overflow-wrap:break-word;border-width:0px;border-bottom-width:1px;border-style:solid;border-color:var(--calcite-ui-border-3);font-weight:var(--calcite-font-weight-bold);color:var(--calcite-ui-text-2)}.dropdown-separator{display:block;height:1px;background-color:var(--calcite-ui-border-3)}";var DropdownGroup=function(){function t(t){registerInstance(this,t);this.calciteDropdownItemChange=createEvent(this,"calciteDropdownItemChange",7);this.selectionMode="single"}t.prototype.componentWillLoad=function(){this.groupPosition=this.getGroupPosition()};t.prototype.render=function(){var t;var e=this.scale||getElementProp(this.el,"scale","m");var i=this.groupTitle?h("span",{"aria-hidden":"true",class:"dropdown-title"},this.groupTitle):null;var n=this.groupPosition>0?h("div",{class:"dropdown-separator",role:"separator"}):null;return h(Host,{role:"menu"},h("div",{class:(t={container:true},t[CSS$1.containerSmall]=e==="s",t[CSS$1.containerMedium]=e==="m",t[CSS$1.containerLarge]=e==="l",t),title:this.groupTitle},n,i,h("slot",null)))};t.prototype.updateActiveItemOnChange=function(t){this.requestedDropdownGroup=t.detail.requestedDropdownGroup;this.requestedDropdownItem=t.detail.requestedDropdownItem;this.calciteDropdownItemChange.emit({requestedDropdownGroup:this.requestedDropdownGroup,requestedDropdownItem:this.requestedDropdownItem})};t.prototype.getGroupPosition=function(){return Array.prototype.indexOf.call(this.el.parentElement.querySelectorAll("calcite-dropdown-group"),this.el)};Object.defineProperty(t.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return t}();DropdownGroup.style=dropdownGroupCss;var CSS={containerLink:"container--link",containerSmall:"container--s",containerMedium:"container--m",containerLarge:"container--l",containerMulti:"container--multi-selection",containerSingle:"container--single-selection",containerNone:"container--none-selection"};var dropdownItemCss="@-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)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:root{--calcite-popper-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}.container--s{padding-top:0.25rem;padding-bottom:0.25rem;font-size:var(--calcite-font-size--2);line-height:1rem;-webkit-padding-end:0.5rem;padding-inline-end:0.5rem;-webkit-padding-start:1.5rem;padding-inline-start:1.5rem}.container--m{padding-top:0.5rem;padding-bottom:0.5rem;font-size:var(--calcite-font-size--1);line-height:1rem;-webkit-padding-end:0.75rem;padding-inline-end:0.75rem;-webkit-padding-start:2rem;padding-inline-start:2rem}.container--l{padding-top:0.75rem;padding-bottom:0.75rem;font-size:var(--calcite-font-size-0);line-height:1.25rem;-webkit-padding-end:1rem;padding-inline-end:1rem;-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.container--s.container--none-selection{-webkit-padding-start:0.25rem;padding-inline-start:0.25rem}.container--s.container--none-selection .dropdown-link{-webkit-padding-start:0px;padding-inline-start:0px}.container--m.container--none-selection{-webkit-padding-start:0.5rem;padding-inline-start:0.5rem}.container--m.container--none-selection .dropdown-link{-webkit-padding-start:0px;padding-inline-start:0px}.container--l.container--none-selection{-webkit-padding-start:0.75rem;padding-inline-start:0.75rem}.container--l.container--none-selection .dropdown-link{-webkit-padding-start:0px;padding-inline-start:0px}:host{position:relative;display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.container{position:relative;display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;cursor:pointer;-ms-flex-align:center;align-items:center;color:var(--calcite-ui-text-3);-webkit-text-decoration-line:none;text-decoration-line:none;outline:2px solid transparent;outline-offset:2px;-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.dropdown-item-content{-ms-flex:1 1 auto;flex:1 1 auto;-webkit-padding-end:auto;padding-inline-end:auto;-webkit-padding-start:0.25rem;padding-inline-start:0.25rem}:host,.container--link a{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}:host(:focus){outline:2px solid var(--calcite-ui-brand);outline-offset:-2px}.container--link{padding:0px}.container--link a{position:relative;display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;cursor:pointer;-ms-flex-align:center;align-items:center;color:var(--calcite-ui-text-3);-webkit-text-decoration-line:none;text-decoration-line:none;outline:2px solid transparent;outline-offset:2px;-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.container--s .dropdown-link{padding-top:0.25rem;padding-bottom:0.25rem;font-size:var(--calcite-font-size--2);line-height:1rem;-webkit-padding-end:0.5rem;padding-inline-end:0.5rem;-webkit-padding-start:1.5rem;padding-inline-start:1.5rem}.container--m .dropdown-link{padding-top:0.5rem;padding-bottom:0.5rem;font-size:var(--calcite-font-size--1);line-height:1rem;-webkit-padding-end:0.75rem;padding-inline-end:0.75rem;-webkit-padding-start:2rem;padding-inline-start:2rem}.container--l .dropdown-link{padding-top:0.75rem;padding-bottom:0.75rem;font-size:var(--calcite-font-size-0);line-height:1.25rem;-webkit-padding-end:1rem;padding-inline-end:1rem;-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}:host(:hover) .container,:host(:active) .container{background-color:var(--calcite-ui-foreground-2);color:var(--calcite-ui-text-1);-webkit-text-decoration-line:none;text-decoration-line:none}:host(:hover) .container--link .dropdown-link,:host(:active) .container--link .dropdown-link{color:var(--calcite-ui-text-1)}:host(:focus) .container{color:var(--calcite-ui-text-1);-webkit-text-decoration-line:none;text-decoration-line:none}:host(:active) .container{background-color:var(--calcite-ui-foreground-3)}:host(:hover) .container:before,:host(:active) .container:before,:host(:focus) .container:before{opacity:1}:host([active]) .container:not(.container--none-selection),:host([active]) .container--link .dropdown-link{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-ui-text-1)}:host([active]) .container:not(.container--none-selection):before,:host([active]) .container--link .dropdown-link:before{opacity:1;color:var(--calcite-ui-brand)}:host([active]) .container:not(.container--none-selection) calcite-icon,:host([active]) .container--link .dropdown-link calcite-icon{color:var(--calcite-ui-brand)}.container--multi-selection:before,.container--none-selection:before{display:none}.container--s:before{inset-inline-start:0.5rem}.container--m:before{inset-inline-start:0.75rem}.container--l:before{inset-inline-start:1rem}.dropdown-item-icon{position:absolute;opacity:0;-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transform:scale(0.9);transform:scale(0.9)}.container--s .dropdown-item-icon{inset-inline-start:0.25rem}.container--m .dropdown-item-icon{inset-inline-start:0.5rem}.container--l .dropdown-item-icon{inset-inline-start:0.75rem}:host(:hover) .dropdown-item-icon{color:var(--calcite-ui-border-1);opacity:1}:host([active]) .dropdown-item-icon{color:var(--calcite-ui-brand);opacity:1}.container--s .dropdown-item-icon-start{-webkit-margin-end:0.5rem;margin-inline-end:0.5rem;-webkit-margin-start:0.25rem;margin-inline-start:0.25rem}.container--s .dropdown-item-icon-end{-webkit-margin-start:0.5rem;margin-inline-start:0.5rem}.container--m .dropdown-item-icon-start{-webkit-margin-end:0.75rem;margin-inline-end:0.75rem;-webkit-margin-start:0.25rem;margin-inline-start:0.25rem}.container--m .dropdown-item-icon-end{-webkit-margin-start:0.75rem;margin-inline-start:0.75rem}.container--l .dropdown-item-icon-start{-webkit-margin-end:1rem;margin-inline-end:1rem;-webkit-margin-start:0.25rem;margin-inline-start:0.25rem}.container--l .dropdown-item-icon-end{-webkit-margin-start:1rem;margin-inline-start:1rem}";var DropdownItem=function(){function t(t){registerInstance(this,t);this.calciteDropdownItemSelect=createEvent(this,"calciteDropdownItemSelect",7);this.calciteDropdownItemKeyEvent=createEvent(this,"calciteDropdownItemKeyEvent",7);this.calciteDropdownCloseRequest=createEvent(this,"calciteDropdownCloseRequest",7);this.active=false}t.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.el.focus();return[2]}))}))};t.prototype.componentWillLoad=function(){this.initialize()};t.prototype.connectedCallback=function(){this.initialize()};t.prototype.render=function(){var t;var e=this;var i=getElementProp(this.el,"scale","m");var n=h("calcite-icon",{class:"dropdown-item-icon-start",flipRtl:this.iconFlipRtl==="start"||this.iconFlipRtl==="both",icon:this.iconStart,scale:"s"});var a=h("span",{class:"dropdown-item-content"},h("slot",null));var o=h("calcite-icon",{class:"dropdown-item-icon-end",flipRtl:this.iconFlipRtl==="end"||this.iconFlipRtl==="both",icon:this.iconEnd,scale:"s"});var r=this.iconStart&&this.iconEnd?[n,a,o]:this.iconStart?[n,h("slot",null)]:this.iconEnd?[a,o]:a;var s=!this.href?r:h("a",{"aria-label":this.label,class:"dropdown-link",href:this.href,ref:function(t){return e.childLink=t},rel:this.rel,target:this.target},r);var c=this.href?null:this.selectionMode==="single"?"menuitemradio":this.selectionMode==="multi"?"menuitemcheckbox":"menuitem";var l=this.selectionMode!=="none"?toAriaBoolean(this.active):null;return h(Host,{"aria-checked":l,role:c,tabindex:"0"},h("div",{class:(t={container:true},t[CSS.containerLink]=!!this.href,t[CSS.containerSmall]=i==="s",t[CSS.containerMedium]=i==="m",t[CSS.containerLarge]=i==="l",t[CSS.containerMulti]=this.selectionMode==="multi",t[CSS.containerSingle]=this.selectionMode==="single",t[CSS.containerNone]=this.selectionMode==="none",t)},this.selectionMode!=="none"?h("calcite-icon",{class:"dropdown-item-icon",icon:this.selectionMode==="multi"?"check":"bullet-point",scale:"s"}):null,s))};t.prototype.onClick=function(){this.emitRequestedItem()};t.prototype.keyDownHandler=function(t){switch(t.key){case" ":this.emitRequestedItem();if(this.href){t.preventDefault();this.childLink.click()}break;case"Enter":this.emitRequestedItem();if(this.href){this.childLink.click()}break;case"Escape":this.calciteDropdownCloseRequest.emit();break;case"Tab":case"ArrowUp":case"ArrowDown":case"Home":case"End":this.calciteDropdownItemKeyEvent.emit({keyboardEvent:t});break}t.preventDefault()};t.prototype.updateActiveItemOnChange=function(t){var e=t.composedPath().includes(this.parentDropdownGroupEl);if(e){this.requestedDropdownGroup=t.detail.requestedDropdownGroup;this.requestedDropdownItem=t.detail.requestedDropdownItem;this.determineActiveItem()}};t.prototype.initialize=function(){this.selectionMode=getElementProp(this.el,"selection-mode","single");this.parentDropdownGroupEl=this.el.closest("calcite-dropdown-group");if(this.selectionMode==="none"){this.active=false}};t.prototype.determineActiveItem=function(){switch(this.selectionMode){case"multi":if(this.el===this.requestedDropdownItem){this.active=!this.active}break;case"single":if(this.el===this.requestedDropdownItem){this.active=true}else if(this.requestedDropdownGroup===this.parentDropdownGroupEl){this.active=false}break;case"none":this.active=false;break}};t.prototype.emitRequestedItem=function(){this.calciteDropdownItemSelect.emit({requestedDropdownItem:this.el,requestedDropdownGroup:this.parentDropdownGroupEl})};Object.defineProperty(t.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return t}();DropdownItem.style=dropdownItemCss;export{Dropdown as calcite_dropdown,DropdownGroup as calcite_dropdown_group,DropdownItem as calcite_dropdown_item};