@esri/calcite-components
Version:
Web Components for Esri's Calcite Design System.
6 lines • 1.44 kB
JavaScript
/*!
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
* See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
* v1.5.0-next.4
*/
import{e as t}from"./p-8789682d.js";const n=new WeakMap;function i(t){t.propertyName===this.openTransitionProp&&t.target===this.transitionEl&&(this.open?this.onBeforeOpen():this.onBeforeClose())}function s(t){t.propertyName===this.openTransitionProp&&t.target===this.transitionEl&&(this.open?this.onOpen():this.onClose())}function o(n,i=!1){t((()=>{if(n.transitionEl){const t=getComputedStyle(n.transitionEl).transition.split(" "),s=t.findIndex((t=>t===n.openTransitionProp));"0s"===t[s+1]?((i?n[n.transitionProp]:n.open)?n.onBeforeOpen():n.onBeforeClose(),(i?n[n.transitionProp]:n.open)?n.onOpen():n.onClose()):(n.transitionEl.addEventListener("transitionstart",(()=>{(i?n[n.transitionProp]:n.open)?n.onBeforeOpen():n.onBeforeClose()}),{once:!0}),n.transitionEl.addEventListener("transitionend",(()=>{(i?n[n.transitionProp]:n.open)?n.onOpen():n.onClose()}),{once:!0}))}}))}function a(t){if(r(t),t.transitionEl){const o=i.bind(t),a=s.bind(t);n.set(t,[t.transitionEl,o,a]),t.transitionEl.addEventListener("transitionstart",o),t.transitionEl.addEventListener("transitionend",a)}}function r(t){if(!n.has(t))return;const[i,s,o]=n.get(t);i.removeEventListener("transitionstart",s),i.removeEventListener("transitionend",o),n.delete(t)}export{a as c,r as d,o}