mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 13:02:56 +00:00
1 line
26 KiB
JavaScript
1 line
26 KiB
JavaScript
|
|
(self.webpackChunkgabinete_digital=self.webpackChunkgabinete_digital||[]).push([[6164],{76164:function(t,e,o){"use strict";o.r(e),o.d(e,{ion_segment:function(){return s},ion_segment_button:function(){return c}});var n=o(31667),i=o(36177),r=o(13772),a=o(61269);const s=class{constructor(t){(0,n.r)(this,t),this.ionChange=(0,n.e)(this,"ionChange",7),this.ionSelect=(0,n.e)(this,"ionSelect",7),this.ionStyle=(0,n.e)(this,"ionStyle",7),this.didInit=!1,this.activated=!1,this.disabled=!1,this.scrollable=!1,this.swipeGesture=!0,this.onClick=t=>{const e=t.target,o=this.checked;"ION-SEGMENT"!==e.tagName&&(this.value=e.value,!this.scrollable&&this.swipeGesture||(o?this.checkButton(o,e):this.setCheckedClasses()),this.checked=e)}}colorChanged(t,e){(void 0===e&&void 0!==t||void 0!==e&&void 0===t)&&this.emitStyle()}swipeGestureChanged(){this.gestureChanged()}valueChanged(t,e){this.ionSelect.emit({value:t}),(""!==e||this.didInit)&&(this.activated?this.valueAfterGesture=t:this.ionChange.emit({value:t}))}disabledChanged(){this.gestureChanged();const t=this.getButtons();for(const e of t)e.disabled=this.disabled}gestureChanged(){this.gesture&&this.gesture.enable(!this.scrollable&&!this.disabled&&this.swipeGesture)}connectedCallback(){this.emitStyle()}componentWillLoad(){this.emitStyle()}async componentDidLoad(){this.setCheckedClasses(),this.gesture=(await Promise.resolve().then(o.bind(o,97279))).createGesture({el:this.el,gestureName:"segment",gesturePriority:100,threshold:0,passive:!1,onStart:t=>this.onStart(t),onMove:t=>this.onMove(t),onEnd:t=>this.onEnd(t)}),this.gestureChanged(),this.disabled&&this.disabledChanged(),this.didInit=!0}onStart(t){this.activate(t)}onMove(t){this.setNextIndex(t)}onEnd(t){this.setActivated(!1);const e=this.setNextIndex(t,!0);t.event.stopImmediatePropagation(),e&&this.addRipple(t);const o=this.valueAfterGesture;void 0!==o&&(this.ionChange.emit({value:o}),this.valueAfterGesture=void 0)}getButtons(){return Array.from(this.el.querySelectorAll("ion-segment-button"))}addRipple(t){if(!i.c.getBoolean("animated",!0)||!i.c.getBoolean("rippleEffect",!0))return;const e=this.getButtons().find(t=>t.value===this.value),o=(e.shadowRoot||e).querySelector("ion-ripple-effect");if(!o)return;const{x:n,y:a}=(0,r.p)(t.event);o.addRipple(n,a).then(t=>t())}setActivated(t){this.getButtons().forEach(e=>{t?e.classList.add("segment-button-activated"):e.classList.remove("segment-button-activated")}),this.activated=t}activate(t){const e=t.event.target,o=this.getButtons().find(t=>t.value===this.value);"ION-SEGMENT-BUTTON"===e.tagName&&(o||(this.value=e.value,this.setCheckedClasses()),this.value===e.value&&this.setActivated(!0))}getIndicator(t){return(t.shadowRoot||t).querySelector(".segment-button-indicator")}checkButton(t,e){const o=this.getIndicator(t),i=this.getIndicator(e);if(null===o||null===i)return;const r=o.getBoundingClientRect(),a=i.getBoundingClientRect(),s=`translate3d(${r.left-a.left}px, 0, 0) scaleX(${r.width/a.width})`;(0,n.c)(()=>{i.classList.remove("segment-button-indicator-animated"),i.style.setProperty("transform",s),i.getBoundingClientRect(),i.classList.add("segment-button-indicator-animated"),i.style.setProperty("transform","")}),this.value=e.value,this.setCheckedClasses()}setCheckedClasses(){const t=this.getButtons(),e=t.findIndex(t=>t.value===this.value)+1;this.checked=t.find(t=>t.value===this.value);for(const o of t)o.classList.remove("segment-button-after-checked");e<t.length&&t[e].classList.add("segment-button-after-checked")}setNextIndex(t,e=!1){const o="rtl"===document.dir,n=this.activated,i=this.getButtons(),r=i.findIndex(t=>t.value===this.value),a=i[r];let s,l;if(-1===r)return;const c=a.getBoundingClientRect(),d=c.left,g=c.width,h=t.currentX,b=document.elementFromPoint(h,c.top+c.height/2);if(n&&!e){if(o?h>d+g:h<d){const t=r-1;t>=0&&(l=t)}else if((o?h<d:h>d+g)&&n&&!e){const t=r+1;t<i.length&&(l=t)}void 0===l||i[l].disabled||(s=i[l])}if(!n&&e&&(s=b),null!=s){if("ION-SEGMENT"===s.tagName)return!1;a!==s&&this.checkButton(a,s)}return!0}emitStyle(){this.ionStyle.emit({segment:!0})}render(){const t=(0,i.b)(this);return(0,
|