diff --git a/index.html b/index.html index 3c460b4..f329f61 100644 --- a/index.html +++ b/index.html @@ -304,7 +304,7 @@
Rupee Balance

0

- + refresh balance @@ -2090,8 +2090,8 @@ slot[name="tab"]::slotted(.active){ }) // sm-select - const smStripSelect = document.createElement('template') - smStripSelect.innerHTML = ` + const smStripSelect = document.createElement('template') + smStripSelect.innerHTML = `
`; - customElements.define('sm-strip-select', class extends HTMLElement { - constructor() { - super() - this.attachShadow({ mode: 'open' }).append(smStripSelect.content.cloneNode(true)) - } - static get observedAttributes() { - return ['value'] - } - get value() { - return this.getAttribute('value') - } - set value(val) { - this.setAttribute('value', val) - } - connectedCallback() { - let previousOption, - slot = this.shadowRoot.querySelector('slot'); - this.addEventListener('optionSelected', e => { - if (previousOption === e.target) return; - if (previousOption) - previousOption.classList.remove('active') - e.target.classList.add('active') - e.target.scrollIntoView({ behavior: 'smooth', inline: 'center', block: 'nearest' }) - this.setAttribute('value', e.detail.value) - this.dispatchEvent(new CustomEvent('change', { - bubbles: true, - composed: true - })) - previousOption = e.target; - }) - slot.addEventListener('slotchange', e => { - if (slot.assignedElements()[0]) { - let firstElement = slot.assignedElements()[0]; - this.setAttribute('value', firstElement.getAttribute('value')) - firstElement.classList.add('active') - previousOption = firstElement; - } - }); - } - }) + customElements.define('sm-strip-select', class extends HTMLElement { + constructor() { + super() + this.attachShadow({ mode: 'open' }).append(smStripSelect.content.cloneNode(true)) + } + static get observedAttributes() { + return ['value'] + } + get value() { + return this.getAttribute('value') + } + set value(val) { + this.setAttribute('value', val) + } + connectedCallback() { + let previousOption, + slot = this.shadowRoot.querySelector('slot'); + this.addEventListener('optionSelected', e => { + if (previousOption === e.target) return; + if (previousOption) + previousOption.classList.remove('active') + e.target.classList.add('active') + e.target.scrollIntoView({ behavior: 'smooth', inline: 'center', block: 'nearest' }) + this.setAttribute('value', e.detail.value) + this.dispatchEvent(new CustomEvent('change', { + bubbles: true, + composed: true + })) + previousOption = e.target; + }) + slot.addEventListener('slotchange', e => { + if (slot.assignedElements()[0]) { + let firstElement = slot.assignedElements()[0]; + this.setAttribute('value', firstElement.getAttribute('value')) + firstElement.classList.add('active') + previousOption = firstElement; + } + }); + } + }) - // sm-option - const smStripOption = document.createElement('template') - smStripOption.innerHTML = ` + // sm-option + const smStripOption = document.createElement('template') + smStripOption.innerHTML = `