28 lines
		
	
	
		
			597 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			597 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import { provide } from 'vue';
 | 
						|
 | 
						|
const FORWARD_REF_INJECTION_KEY = Symbol("elForwardRef");
 | 
						|
const useForwardRef = (forwardRef) => {
 | 
						|
  const setForwardRef = (el) => {
 | 
						|
    forwardRef.value = el;
 | 
						|
  };
 | 
						|
  provide(FORWARD_REF_INJECTION_KEY, {
 | 
						|
    setForwardRef
 | 
						|
  });
 | 
						|
};
 | 
						|
const useForwardRefDirective = (setForwardRef) => {
 | 
						|
  return {
 | 
						|
    mounted(el) {
 | 
						|
      setForwardRef(el);
 | 
						|
    },
 | 
						|
    updated(el) {
 | 
						|
      setForwardRef(el);
 | 
						|
    },
 | 
						|
    unmounted() {
 | 
						|
      setForwardRef(null);
 | 
						|
    }
 | 
						|
  };
 | 
						|
};
 | 
						|
 | 
						|
export { FORWARD_REF_INJECTION_KEY, useForwardRef, useForwardRefDirective };
 | 
						|
//# sourceMappingURL=index.mjs.map
 |