@rocketspark/domain-checker
Version:
Embeddable Domain Checker for Rocketspark
13 lines • 6.54 kB
JavaScript
/*!
*
* @rocketspark/domain-checker v1.0.12
* git+https://github.com/rocketspark/domain-checker.git
*
* Copyright (c) Lee Reichardt and project contributors.
*
* This source code is licensed under the no license license found in the
* LICENSE file in the root directory of this source tree.
*
*/
"use strict";(self.webpackChunkDomainChecker=self.webpackChunkDomainChecker||[]).push([[890],{1890:function(t,s,e){e.r(s),e.d(s,{rs_popup:function(){return o}});var i=e(6919);const o=class{constructor(t){(0,i.r)(this,t),this.rsClose=(0,i.c)(this,"rsClose",7),this.rsOpen=(0,i.c)(this,"rsOpen",7),this.scrolledToBottom=(0,i.c)(this,"scrolledToBottom",7),this.isDragging=!1,this.initialX=0,this.initialY=0,this.offsetX=0,this.offsetY=0,this.closeButton=!0,this.isDraggable=!1,this.helpLink=!1,this.heading="",this.headingAlignment="left",this.backdrop=!0,this.backdropClose=!0,this.zIndex=1,this.width="724px",this.height="auto",this.top="50%",this.left="50%",this.right="unset",this.bottom="unset",this.transform="translate(-50%, -50%)",this.position="fixed",this.showHeader=!0,this.showAdminBar=!1,this.backDropCloseHandler=()=>{this.backdropClose&&this.closeHandler()},this.doClosePopup=()=>{this.el.style.opacity="0",setTimeout((()=>{this.el.style.display="none"}),150)},this.closeHandler=()=>{this.doClosePopup(),this.rsClose.emit()},this.renderCloseButton=()=>{let t=null;return this.closeButton&&(t=(0,i.h)("rs-icon",{class:"rs-popup__close",name:"fine-x",color:"secondary",size:20,onClick:this.closeHandler})),t},this.renderHelpButton=()=>{let t=null;return this.helpLink&&"string"==typeof this.helpLink&&(t=(0,i.h)("a",{href:this.helpLink,target:"_blank",class:"rs-popup__help"},(0,i.h)("rs-icon",{class:"rs-popup__help-icon",name:"help",color:"secondary",size:22}))),t},this.renderDragHandle=()=>this.isDraggable?(0,i.h)("div",{class:"rs-popup__drag-handle",ref:t=>this.rsPopupDragHandle=t,onMouseDown:this.handleDragStart},(0,i.h)("div",{class:"rs-popup__drag-handle-line"})):null,this.hasScrolledToTheBottom=()=>{this.rsPopupBody.scrollHeight-this.rsPopupBody.scrollTop-this.rsPopupBody.clientHeight<2&&this.scrolledToBottom.emit()},this.handleDragStart=t=>{if(!this.isDraggable||null===this.rsPopupDragHandle||void 0===this.rsPopupDragHandle)return;t.preventDefault(),this.isDragging=!0;const s=window.getComputedStyle(this.rsPopupInner),e=new DOMMatrix(s.transform);this.initialX=t.clientX-e.m41,this.initialY=t.clientY-e.m42,this.rsPopupInner.style.willChange="transform",this.rsPopupDragHandle.classList.add("is-dragging"),document.addEventListener("mousemove",this.handleDragMove),document.addEventListener("mouseup",this.handleDragEnd),document.addEventListener("mouseleave",this.handleDragEnd)},this.handleDragMove=t=>{if(!this.isDragging)return;t.preventDefault();const s=this.rsPopupInner.getBoundingClientRect(),e=parseFloat(this.left.replace("px",""))||0,i=parseFloat(this.top.replace("px",""))||0,o=t.clientX-this.initialX,r=t.clientY-this.initialY,n={minX:-e,maxX:window.innerWidth-s.width-e,minY:-i,maxY:window.innerHeight-s.height-i};this.offsetX=Math.max(n.minX,Math.min(n.maxX,o)),this.offsetY=Math.max(n.minY,Math.min(n.maxY,r)),this.rsPopupInner.style.transform=`translate3d(${this.offsetX}px, ${this.offsetY}px, 0)`},this.handleDragEnd=()=>{var t;this.isDragging&&(this.isDragging=!1,this.rsPopupInner.style.willChange="",null===(t=this.rsPopupDragHandle)||void 0===t||t.classList.remove("is-dragging"),this.removeEventListeners())},this.removeEventListeners=()=>{document.removeEventListener("mousemove",this.handleDragMove),document.removeEventListener("mouseup",this.handleDragEnd),document.removeEventListener("mouseleave",this.handleDragEnd)}}async close(){this.doClosePopup()}async open(){this.isDraggable&&(this.rsPopupInner.style.transform=this.transform,this.offsetX=0,this.offsetY=0),this.el.style.display="block",setTimeout((()=>{this.el.style.opacity="1"})),this.rsOpen.emit()}disconnectedCallback(){this.removeEventListeners()}render(){return(0,i.h)(i.H,{key:"64a9baa49391a16480560f3be867172f3ac147b1",style:{"z-index":this.zIndex.toString()}},this.backdrop?(0,i.h)("div",{class:"rs-popup__backdrop",onClick:this.backDropCloseHandler,style:{top:this.showAdminBar?"50px":""}}):"",(0,i.h)("div",{key:"383dcf205f8ead78cba3bfa5f6999eb3547b7f37",class:"rs-popup__inner rs-component-shadow--popup",ref:t=>this.rsPopupInner=t,style:{position:this.position,top:this.top,right:this.right,bottom:this.bottom,left:this.left,transform:this.transform,width:this.width,height:this.height}},this.renderDragHandle(),this.showHeader?(0,i.h)("div",{class:{"rs-popup__header":!0,"rs-popup--draggable":this.isDraggable}},(0,i.h)("rs-header",{heading:"4",color:"heading",style:{width:"center"===this.headingAlignment?"100%":null,textAlign:this.headingAlignment}},this.heading),(0,i.h)("slot",{name:"header"}),(0,i.h)("rs-item",{class:"rs-popup__controls","align-items":"center"},this.renderHelpButton(),this.renderCloseButton())):null,(0,i.h)("div",{key:"ae597f5d42d5f88624e551e7c7731e0343141c4b",class:"rs-popup__body",ref:t=>this.rsPopupBody=t,onScroll:this.hasScrolledToTheBottom},(0,i.h)("slot",{key:"891764e76d53b3af640f70793ea537a52255f60f"}))))}get el(){return(0,i.g)(this)}};o.style=":host{display:none;opacity:0;transition:opacity 0.15s cubic-bezier(0, 0.55, 0.45, 1);z-index:1;position:fixed;top:0;left:0;bottom:0;right:0}:host .rs-popup__backdrop{display:block;width:100%;height:100%;position:fixed;top:0;left:0;background:var(--rs-color-grey-light);opacity:0.8}:host .rs-popup__inner{display:flex;flex-direction:column;width:724px;position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);background-color:var(--rs-color-white);border-radius:10px;box-shadow:var(--rs-shadow-popup);box-sizing:border-box;overflow:hidden}:host .rs-popup__header{display:flex;align-items:center;justify-content:space-between;padding:25px;box-sizing:border-box;border-bottom:1px solid var(--rs-color-light);position:relative}:host .rs-popup__header.rs-popup--draggable{padding-top:48px}:host .rs-popup__drag-handle{position:absolute;top:0;left:50%;transform:translateX(-50%);width:30px;padding:11px 15px;cursor:grab;z-index:1}:host .rs-popup__drag-handle-line{height:3px;background-color:var(--rs-color-secondary-300);border-radius:2px}:host .rs-popup__drag-handle.is-dragging{cursor:grabbing}:host .rs-popup__close{cursor:pointer;margin-left:17px}:host .rs-popup__help{cursor:pointer}:host .rs-popup__body{position:relative;padding:25px;overflow-y:auto}"}}]);
//# sourceMappingURL=890.index.js.map