UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

1 lines • 18.4 kB
var __awaiter=this&&this.__awaiter||function(e,t,a,i){function n(e){return e instanceof a?e:new a((function(t){t(e)}))}return new(a||(a=Promise))((function(a,r){function o(e){try{l(i.next(e))}catch(t){r(t)}}function s(e){try{l(i["throw"](e))}catch(t){r(t)}}function l(e){e.done?a(e.value):n(e.value).then(o,s)}l((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var a={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,n,r,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return l([e,t])}}function l(o){if(i)throw new TypeError("Generator is already executing.");while(a)try{if(i=1,n&&(r=o[0]&2?n["return"]:o[0]?n["throw"]||((r=n["return"])&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;if(n=0,r)o=[o[0]&2,r.value];switch(o[0]){case 0:case 1:r=o;break;case 4:a.label++;return{value:o[1],done:false};case 5:a.label++;n=o[1];o=[0];continue;case 7:o=a.ops.pop();a.trys.pop();continue;default:if(!(r=a.trys,r=r.length>0&&r[r.length-1])&&(o[0]===6||o[0]===2)){a=0;continue}if(o[0]===3&&(!r||o[1]>r[0]&&o[1]<r[3])){a.label=o[1];break}if(o[0]===6&&a.label<r[1]){a.label=r[1];r=o;break}if(r&&a.label<r[2]){a.label=r[2];a.ops.push(o);break}if(r[2])a.ops.pop();a.trys.pop();continue}o=t.call(e,a)}catch(s){o=[6,s];n=0}finally{i=r=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}};import{r as registerInstance,c as createEvent,h,F as Fragment,g as getElement}from"./index-aa8afca4.js";import{b as getSlotted,g as getElementDir}from"./dom-466af3c7.js";import{C as CalciteHeading,c as constrainHeadingLevel}from"./CalciteHeading-63c82bed.js";import"./guid-09142681.js";var CSS$1={header:"header",heading:"heading",close:"close",container:"container",tipContainer:"tip-container",tipContainerAdvancing:"tip-container--advancing",tipContainerRetreating:"tip-container--retreating",pagination:"pagination",pagePosition:"page-position",pageNext:"page-next",pagePrevious:"page-previous"};var ICONS$1={chevronLeft:"chevron-left",chevronRight:"chevron-right",close:"x"};var TEXT$1={defaultGroupTitle:"Tips",defaultPaginationLabel:"Tip",close:"Close",previous:"Previous",next:"Next"};var HEADING_LEVEL$1=2;var CSS={container:"container",header:"header",heading:"heading",close:"close",imageFrame:"image-frame",content:"content",info:"info"};var ICONS={close:"x"};var SLOTS={thumbnail:"thumbnail"};var TEXT={close:"Close"};var HEADING_LEVEL=HEADING_LEVEL$1+1;var calciteTipCss="@-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{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;margin:1rem;border-width:1px;border-style:solid;border-color:var(--calcite-ui-border-2)}.container{padding:1rem}:host([dismissed]),:host([dismissed]) .container{display:none}:host([selected]) .container{border-style:none;margin:0;padding: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)}.header{margin-bottom:0.5rem}.header .heading{color:var(--calcite-ui-text-2);padding:0}.container[hidden]{display:none}.content{display:-ms-flexbox;display:flex}.info{padding-top:0;padding-bottom:0;padding-left:1rem;padding-right:1rem;width:70%}.info:only-child{width:100%;padding-left:0;padding-right:0}::slotted(p){margin-top:0}::slotted(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;color:var(--calcite-ui-brand)}::slotted(a:focus){outline:2px solid var(--calcite-ui-brand);outline-offset:2px}.image-frame{width:25%}.image-frame img{max-width:100%}::slotted(img){max-width:100%}";var CalciteTip=function(){function e(e){var t=this;registerInstance(this,e);this.calciteTipDismiss=createEvent(this,"calciteTipDismiss",7);this.dismissed=false;this.nonDismissible=false;this.hideTip=function(){t.dismissed=true;t.calciteTipDismiss.emit()}}e.prototype.renderHeader=function(){var e;var t=this,a=t.heading,i=t.headingLevel,n=t.el;var r=(e=n.closest("calcite-tip-manager"))===null||e===void 0?void 0:e.headingLevel;var o=r?constrainHeadingLevel(r+1):null;var s=i||o||HEADING_LEVEL;return a?h("header",{class:CSS.header},h(CalciteHeading,{class:CSS.heading,level:s},a)):null};e.prototype.renderDismissButton=function(){var e=this,t=e.nonDismissible,a=e.hideTip,i=e.intlClose;var n=i||TEXT.close;return!t?h("calcite-action",{class:CSS.close,icon:ICONS.close,onClick:a,scale:"l",text:n}):null};e.prototype.renderImageFrame=function(){var e=this.el;return getSlotted(e,SLOTS.thumbnail)?h("div",{class:CSS.imageFrame},h("slot",{name:SLOTS.thumbnail})):null};e.prototype.renderInfoNode=function(){return h("div",{class:CSS.info},h("slot",null))};e.prototype.renderContent=function(){return h("div",{class:CSS.content},this.renderImageFrame(),this.renderInfoNode())};e.prototype.render=function(){return h(Fragment,null,h("article",{class:CSS.container},this.renderHeader(),this.renderContent()),this.renderDismissButton())};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();CalciteTip.style=calciteTipCss;var calciteTipGroupCss="@-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}::slotted(calcite-tip){border-style:none;max-width:34rem}";var CalciteTipGroup=function(){function e(e){registerInstance(this,e)}e.prototype.render=function(){return h("slot",null)};return e}();CalciteTipGroup.style=calciteTipGroupCss;var calciteTipManagerCss="@-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{display:block;--calcite-tip-manager-height:18vh;--calcite-tip-max-width:540px}:host([closed]){display:none}.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)}.header .heading{padding-left:0.5rem;padding-right:0.5rem}.container{overflow:hidden;position:relative;padding-top:0.5rem;padding-left:0.5rem;padding-right:0.5rem;padding-bottom:0;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;min-height:150px}.container:focus{outline:2px solid var(--calcite-ui-brand);outline-offset:2px}.tip-container{margin-top:0.25rem;overflow:auto;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:start;align-items:flex-start;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;-webkit-animation-name:none;animation-name:none;-webkit-animation-duration:150ms;animation-duration:150ms;-webkit-animation-timing-function:cubic-bezier(0.215, 0.44, 0.42, 0.88);animation-timing-function:cubic-bezier(0.215, 0.44, 0.42, 0.88);height:var(--calcite-tip-manager-height)}.tip-container:focus{outline:2px solid var(--calcite-ui-brand);outline-offset:2px}::slotted(calcite-tip){border-style:none;max-width:var(--calcite-tip-max-width)}.tip-container--advancing{-webkit-animation-name:tip-advance;animation-name:tip-advance}.tip-container--retreating{-webkit-animation-name:tip-retreat;animation-name:tip-retreat}.pagination{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding-top:0.25rem;padding-bottom:0.25rem;padding-left:0;padding-right:0}.page-position{font-size:var(--calcite-font-size--2);line-height:1rem;margin-top:0;margin-bottom:0;margin-left:0.5rem;margin-right:0.5rem}@-webkit-keyframes tip-advance{0%{opacity:0;-webkit-transform:translate3d(50px, 0, 0) scale(0.99);transform:translate3d(50px, 0, 0) scale(0.99)}100%{opacity:1;-webkit-transform:translate3d(0, 0, 0) scale(1);transform:translate3d(0, 0, 0) scale(1)}}@keyframes tip-advance{0%{opacity:0;-webkit-transform:translate3d(50px, 0, 0) scale(0.99);transform:translate3d(50px, 0, 0) scale(0.99)}100%{opacity:1;-webkit-transform:translate3d(0, 0, 0) scale(1);transform:translate3d(0, 0, 0) scale(1)}}@-webkit-keyframes tip-retreat{0%{opacity:0;-webkit-transform:translate3d(-50px, 0, 0) scale(0.99);transform:translate3d(-50px, 0, 0) scale(0.99)}100%{opacity:1;-webkit-transform:translate3d(0, 0, 0) scale(1);transform:translate3d(0, 0, 0) scale(1)}}@keyframes tip-retreat{0%{opacity:0;-webkit-transform:translate3d(-50px, 0, 0) scale(0.99);transform:translate3d(-50px, 0, 0) scale(0.99)}100%{opacity:1;-webkit-transform:translate3d(0, 0, 0) scale(1);transform:translate3d(0, 0, 0) scale(1)}}";var CalciteTipManager=function(){function e(e){var t=this;registerInstance(this,e);this.calciteTipManagerToggle=createEvent(this,"calciteTipManagerToggle",7);this.closed=false;this.observer=new MutationObserver((function(){return t.setUpTips()}));this.hideTipManager=function(){t.closed=true;t.calciteTipManagerToggle.emit()};this.previousClicked=function(){t.previousTip()};this.nextClicked=function(){t.nextTip()};this.tipManagerKeyUpHandler=function(e){if(e.target!==t.container){return}switch(e.key){case"ArrowRight":e.preventDefault();t.nextTip();break;case"ArrowLeft":e.preventDefault();t.previousTip();break;case"Home":e.preventDefault();t.selectedIndex=0;break;case"End":e.preventDefault();t.selectedIndex=t.total-1;break}};this.storeContainerRef=function(e){t.container=e}}e.prototype.closedChangeHandler=function(){this.direction=null;this.calciteTipManagerToggle.emit()};e.prototype.selectedChangeHandler=function(){this.showSelectedTip();this.updateGroupTitle()};e.prototype.connectedCallback=function(){this.setUpTips();this.observer.observe(this.el,{childList:true,subtree:true})};e.prototype.disconnectedCallback=function(){this.observer.disconnect()};e.prototype.nextTip=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){this.direction="advancing";e=this.selectedIndex+1;this.selectedIndex=(e+this.total)%this.total;return[2]}))}))};e.prototype.previousTip=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){this.direction="retreating";e=this.selectedIndex-1;this.selectedIndex=(e+this.total)%this.total;return[2]}))}))};e.prototype.setUpTips=function(){var e=Array.from(this.el.querySelectorAll("calcite-tip"));this.total=e.length;if(this.total===0){return}var t=this.el.querySelector("calcite-tip[selected]");this.tips=e;this.selectedIndex=t?e.indexOf(t):0;e.forEach((function(e){e.nonDismissible=true}));this.showSelectedTip();this.updateGroupTitle()};e.prototype.showSelectedTip=function(){var e=this;this.tips.forEach((function(t,a){var i=e.selectedIndex===a;t.selected=i;t.hidden=!i}))};e.prototype.updateGroupTitle=function(){var e=this.tips[this.selectedIndex];var t=e.closest("calcite-tip-group");this.groupTitle=(t===null||t===void 0?void 0:t.groupTitle)||this.intlDefaultTitle||TEXT$1.defaultGroupTitle};e.prototype.renderPagination=function(){var e=getElementDir(this.el);var t=this,a=t.selectedIndex,i=t.tips,n=t.total,r=t.intlNext,o=t.intlPrevious,s=t.intlPaginationLabel;var l=r||TEXT$1.next;var c=o||TEXT$1.previous;var p=s||TEXT$1.defaultPaginationLabel;return i.length>1?h("footer",{class:CSS$1.pagination},h("calcite-action",{class:CSS$1.pagePrevious,icon:e==="ltr"?ICONS$1.chevronLeft:ICONS$1.chevronRight,onClick:this.previousClicked,text:c}),h("span",{class:CSS$1.pagePosition},p+" "+(a+1)+"/"+n),h("calcite-action",{class:CSS$1.pageNext,icon:e==="ltr"?ICONS$1.chevronRight:ICONS$1.chevronLeft,onClick:this.nextClicked,text:l})):null};e.prototype.render=function(){var e;var t=this,a=t.closed,i=t.direction,n=t.headingLevel,r=t.groupTitle,o=t.selectedIndex,s=t.intlClose,l=t.total;var c=s||TEXT$1.close;if(l===0){return null}return h("section",{"aria-hidden":a.toString(),class:CSS$1.container,hidden:a,onKeyUp:this.tipManagerKeyUpHandler,ref:this.storeContainerRef,tabIndex:0},h("header",{class:CSS$1.header},h(CalciteHeading,{class:CSS$1.heading,level:n||HEADING_LEVEL$1},r),h("calcite-action",{class:CSS$1.close,icon:ICONS$1.close,onClick:this.hideTipManager,text:c})),h("div",{class:(e={},e[CSS$1.tipContainer]=true,e[CSS$1.tipContainerAdvancing]=!a&&i==="advancing",e[CSS$1.tipContainerRetreating]=!a&&i==="retreating",e),key:o,tabIndex:0},h("slot",null)),this.renderPagination())};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{closed:["closedChangeHandler"],selectedIndex:["selectedChangeHandler"]}},enumerable:false,configurable:true});return e}();CalciteTipManager.style=calciteTipManagerCss;export{CalciteTip as calcite_tip,CalciteTipGroup as calcite_tip_group,CalciteTipManager as calcite_tip_manager};