UNPKG

@rocketspark/domain-checker

Version:
13 lines 8.14 kB
/*! * * @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([[542],{2542:function(e,t,n){n.r(t),n.d(t,{rs_incrementer:function(){return s}});var i=n(6919);const s=class{constructor(e){(0,i.r)(this,e),this.rsChange=(0,i.c)(this,"rsChange",7),this.isDropdownVisible=!1,this.customOptionsArray=[],this.customOptionIndex=0,this.step=1,this.value=1,this.min=0,this.max=100,this.suffix="",this.dropdown=!1,this.decimalPlaces=0,this.dropdownStep=0,this.customOptions=!1,this.onDecrementHandler=e=>{if(e.stopPropagation(),this.customOptions){if(this.customOptionsArray.length>0){let e=this.customOptionIndex-1;this.handleOutOfRangeIndex(e),e=this.validateCustomOptionIndex(this.customOptionIndex-1),this.customOptionIndex=e,this.value=this.customOptionsArray[e]}}else this.value=Number.parseFloat(this.value),this.value=Number.parseFloat((this.value-this.step).toFixed(this.decimalPlaces))},this.onIncrementHandler=e=>{if(e.stopPropagation(),this.customOptions){if(this.customOptionsArray.length>0){let e=this.customOptionIndex+1;this.handleOutOfRangeIndex(e),e=this.validateCustomOptionIndex(this.customOptionIndex+1),this.customOptionIndex=e,this.value=this.customOptionsArray[e]}}else this.value=Number.parseFloat(this.value),this.value=Number.parseFloat((this.value+this.step).toFixed(this.decimalPlaces))},this.onClickHandler=()=>{this.dropdown&&!this.isDropdownVisible?this.showDropdown():this.hideDropdown()},this.onOptionClickHandler=e=>{const t=parseFloat(e.target.dataset.value);this.value=parseFloat(t.toFixed(this.decimalPlaces))}}valueChanged(e){if(this.value=e,this.dropdown&&this.customOptions&&(this.customOptionIndex=this.customOptionsArray.indexOf(this.value)),!this.customOptions){const e=s.validateMin(this.min),t=s.validateMax(this.max);this.value<e?this.value=e:this.value>t&&(this.value=t),this.value===e?this.decrementButton.classList.add("number-incrementer__control--disable"):this.value===t?this.incrementButton.classList.add("number-incrementer__control--disable"):(this.incrementButton.classList.remove("number-incrementer__control--disable"),this.decrementButton.classList.remove("number-incrementer__control--disable"))}this.rsChange.emit({value:this.value})}async showDropdown(){this.dropdown&&(this.setDropdownHeight(),this.isDropdownVisible=!0)}async hideDropdown(){this.dropdown&&(this.isDropdownVisible=!1)}async toggleDropdown(){this.onClickHandler()}rsOptionClickHandler(e){this.value=e.detail.value}validateCustomOptionIndex(e){return e<0&&(e=0),e>this.customOptionsArray.length-1&&(e=this.customOptionsArray.length-1),e}static validateMin(e){return isNaN(e)?0:Number(e)}static validateMax(e){return isNaN(e)?100:Number(e)}handleOutOfRangeIndex(e){e<=0?this.decrementButton.classList.add("number-incrementer__control--disable"):this.decrementButton.classList.remove("number-incrementer__control--disable"),e>=this.customOptionsArray.length-1?this.incrementButton.classList.add("number-incrementer__control--disable"):this.incrementButton.classList.remove("number-incrementer__control--disable")}setDropdownHeight(){if(this.dropdown){const e=this.el.getBoundingClientRect(),t=e.top+e.height;let n=window.innerHeight-t-5;n<50&&(n=50),n<300&&(this.dropdownList.style.height=n+"px")}}componentDidLoad(){if(document.addEventListener("click",(e=>{null==e.target.closest(".number-incrementer")&&this.isDropdownVisible&&this.hideDropdown()})),this.dropdown&&this.customOptions){this.el.querySelectorAll("rs-incrementer-option").forEach((e=>{this.customOptionsArray.push(e.dataset.value)})),this.customOptionsArray.length>0&&(this.customOptionIndex=this.customOptionsArray.indexOf(this.value),this.handleOutOfRangeIndex(this.customOptionIndex))}}componentWillRender(){const e=this.step%1;if(0===this.decimalPlaces&&0!==e&&(this.decimalPlaces=1),this.dropdownStep=0===this.dropdownStep?this.step:this.dropdownStep,this.dropdown){let e=[];const t=s.validateMin(this.min),n=s.validateMax(this.max);for(let i=t;i<=n;i+=this.dropdownStep)i=Number(i.toFixed(this.decimalPlaces)),e.push(i);e=e.filter(((t,n)=>e.indexOf(t)===n));let r=e.map((e=>(0,i.h)("span",{class:"number-incrementer__dropdown-item",onClick:this.onOptionClickHandler,"data-value":e},e+this.suffix)));this.customOptions&&(r=(0,i.h)("slot",null)),this.dropdownHtml=(0,i.h)("div",{class:{"number-incrementer__dropdown-container":!0,"number-incrementer__dropdown-container--active":this.isDropdownVisible},style:{display:this.isDropdownVisible?"block":"none",opacity:this.isDropdownVisible?"1":"0","pointer-events":this.isDropdownVisible?"auto":"none"}},(0,i.h)("div",{class:"number-incrementer__dropdown-list",ref:e=>this.dropdownList=e},r))}}render(){return(0,i.h)(i.H,{key:"f76f5fd75e8436a91530c1d1ae9a5f0dc78a894a",class:{"number-incrementer":!0,"number-incrementer--dropdown":this.dropdown},onClick:this.onClickHandler},(0,i.h)("div",{key:"90c14bb727c9a4ab0d9b0b00877c0572c9e04746",class:"number-incrementer__container"},(0,i.h)("span",{key:"a2bea57699bcb276f5cc707a08e29eacc14c17d1",class:"number-incrementer__control number-incrementer__control--decrement",ref:e=>this.decrementButton=e,onClick:this.onDecrementHandler},(0,i.h)("rs-icon",{key:"480808c0b61b3c06a55258f52dab4583327d0f51",name:"minus",color:"secondary"})),(0,i.h)("span",{key:"2effde38d53505e28ad7ac03fd74d2e45fcbb8a5",class:"number-incrementer__value"},this.value+this.suffix),(0,i.h)("span",{key:"64147f7a4ee119337cfb8b60f337f22653a62b64",class:"number-incrementer__control number-incrementer__control--increment",ref:e=>this.incrementButton=e,onClick:this.onIncrementHandler},(0,i.h)("rs-icon",{key:"70625e43bad8d2e62dda28d16e5567eaacfade84",name:"plus",color:"secondary"}))),this.dropdownHtml)}get el(){return(0,i.g)(this)}static get watchers(){return{value:["valueChanged"]}}};s.style=".sc-rs-incrementer-h{display:block;width:100%;height:32px;min-width:114px;box-sizing:border-box;font-family:Soleil, sans-serif;color:var(--rs-color-secondary);position:relative}.number-incrementer--dropdown.sc-rs-incrementer-h{cursor:pointer}.number-incrementer__container.sc-rs-incrementer{border:1px solid var(--rs-color-select-border);border-radius:4px;background-color:rgba(216, 216, 216, 0);padding:5px;display:flex;align-items:center;justify-content:space-between;user-select:none}.number-incrementer__control.sc-rs-incrementer{width:20px;height:20px;background-color:var(--rs-color-select-secondary);border-radius:50%;font-size:16px;font-weight:500;line-height:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.number-incrementer__control--disable.sc-rs-incrementer{opacity:0.5;cursor:not-allowed}.number-incrementer__control.sc-rs-incrementer rs-icon.sc-rs-incrementer{font-size:8px}.number-incrementer__value.sc-rs-incrementer{font-size:14px;font-family:'Soleil', sans-serif;color:var(--rs-color-black);flex-grow:1;text-align:center}.number-incrementer--dropdown.sc-rs-incrementer-h .number-incrementer__value.sc-rs-incrementer{cursor:pointer}.number-incrementer__dropdown-container.sc-rs-incrementer{z-index:9;position:absolute;width:100%;background-color:var(--rs-color-white);border:1px solid var(--rs-color-select-border);top:100%;margin-top:-3px;box-sizing:border-box;border-bottom-left-radius:3px;border-bottom-right-radius:3px;overflow:hidden;word-break:break-all;opacity:0;pointer-events:none;transition:opacity 0.15s ease-out 0.05s}.number-incrementer__dropdown-list.sc-rs-incrementer{position:relative;max-height:300px;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position}.number-incrementer__dropdown-item.sc-rs-incrementer{display:block;position:relative;padding:10px;font-family:'Soleil', sans-serif;cursor:pointer;font-size:12px}.number-incrementer__dropdown-item.sc-rs-incrementer:hover{background-color:var(--rs-color-select-background)}"}}]); //# sourceMappingURL=542.index.js.map