/*! * (C) Ionic http://ionicframework.com - MIT License */ import{r as t,h as s,H as e,f as r,d as i}from"./p-f419feca.js";import{j as o,k as n}from"./p-831269de.js";import{b as a}from"./p-2389b3f9.js";import{f as c,g as h}from"./p-12a8643e.js";import{r as d}from"./p-1b3ffb2f.js";import{a as l,b as f,h as p}from"./p-42f189f4.js";import"./p-06fee233.js";import"./p-c61cc894.js";import"./p-7b30edcc.js";const b=class{constructor(s){t(this,s)}onClick(t){const s=this.el.closest("ion-reorder-group");t.preventDefault(),s&&s.disabled||t.stopImmediatePropagation()}render(){const t=a(this);return s(e,{key:"811f71aa6f4b45ee8a597f504af6c43d34cc8c53",class:t},s("slot",{key:"78e1898b412b322053fe924db7934d5840184bfc"},s("ion-icon",{key:"171f86c625d64ce3c5b5ebc54372a6573fc437ef",icon:"ios"===t?o:n,lazy:!1,class:"reorder-icon",part:"icon","aria-hidden":"true"})))}get el(){return r(this)}};b.style={ios:":host([slot]){display:none;line-height:0;z-index:100}.reorder-icon{display:block}::slotted(ion-icon){font-size:dynamic-font(16px)}.reorder-icon{font-size:2.125rem;opacity:0.4}",md:":host([slot]){display:none;line-height:0;z-index:100}.reorder-icon{display:block}::slotted(ion-icon){font-size:dynamic-font(16px)}.reorder-icon{font-size:1.9375rem;opacity:0.3}"};const m=class{constructor(s){t(this,s),this.ionItemReorder=i(this,"ionItemReorder",7),this.lastToIndex=-1,this.cachedHeights=[],this.scrollElTop=0,this.scrollElBottom=0,this.scrollElInitial=0,this.containerTop=0,this.containerBottom=0,this.state=0,this.disabled=!0}disabledChanged(){this.gesture&&this.gesture.enable(!this.disabled)}async connectedCallback(){const t=c(this.el);t&&(this.scrollEl=await h(t)),this.gesture=(await import("./p-f5d2dc9b.js")).createGesture({el:this.el,gestureName:"reorder",gesturePriority:110,threshold:0,direction:"y",passive:!1,canStart:t=>this.canStart(t),onStart:t=>this.onStart(t),onMove:t=>this.onMove(t),onEnd:()=>this.onEnd()}),this.disabledChanged()}disconnectedCallback(){this.onEnd(),this.gesture&&(this.gesture.destroy(),this.gesture=void 0)}complete(t){return Promise.resolve(this.completeReorder(t))}canStart(t){if(this.selectedItemEl||0!==this.state)return!1;const s=t.event.target.closest("ion-reorder");if(!s)return!1;const e=k(s,this.el);return!!e&&(t.data=e,!0)}onStart(t){t.event.preventDefault();const s=this.selectedItemEl=t.data,e=this.cachedHeights;e.length=0;const r=this.el,i=r.children;if(!i||0===i.length)return;let o=0;for(let t=0;t{i===o||void 0!==t&&!0!==t||this.el.insertBefore(s,ot)return e;return s.length-1}reorderMove(t,s){const e=this.selectedItemHeight,r=this.el.children;for(let i=0;it&&i<=s?o=`translateY(${-e}px)`:i=s&&(o=`translateY(${e}px)`),r[i].style.transform=o}}autoscroll(t){if(!this.scrollEl)return 0;let s=0;return tthis.scrollElBottom&&(s=y),0!==s&&this.scrollEl.scrollBy(0,s),this.scrollEl.scrollTop-this.scrollElInitial}render(){const t=a(this);return s(e,{key:"5a8c5c11fa48ff2cec319a1a07ba74427c2a42e5",class:{[t]:!0,"reorder-enabled":!this.disabled,"reorder-list-active":0!==this.state}})}get el(){return r(this)}static get watchers(){return{disabled:["disabledChanged"]}}},u=t=>t.$ionIndex,k=(t,s)=>{let e;for(;t;){if(e=t.parentElement,e===s)return t;t=e}},g=60,y=10,w="reorder-selected",x=(t,s,e)=>{const r=t[s];return t.splice(s,1),t.splice(e,0,r),t.slice()};m.style=".reorder-list-active>*{display:block;-webkit-transition:-webkit-transform 300ms;transition:-webkit-transform 300ms;transition:transform 300ms;transition:transform 300ms, -webkit-transform 300ms;will-change:transform}.reorder-enabled{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-enabled ion-reorder{display:block;cursor:-webkit-grab;cursor:grab;pointer-events:all;-ms-touch-action:none;touch-action:none}.reorder-selected,.reorder-selected ion-reorder{cursor:-webkit-grabbing;cursor:grabbing}.reorder-selected{position:relative;-webkit-transition:none !important;transition:none !important;-webkit-box-shadow:0 0 10px rgba(0, 0, 0, 0.4);box-shadow:0 0 10px rgba(0, 0, 0, 0.4);opacity:0.8;z-index:100}.reorder-visible ion-reorder .reorder-icon{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}";export{b as ion_reorder,m as ion_reorder_group}