44 lines
		
	
	
		
			1019 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1019 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import { watch, unref, nextTick } from 'vue';
 | |
| 
 | |
| const useDelayedRender = ({
 | |
|   indicator,
 | |
|   intermediateIndicator,
 | |
|   shouldSetIntermediate = () => true,
 | |
|   beforeShow,
 | |
|   afterShow,
 | |
|   afterHide,
 | |
|   beforeHide
 | |
| }) => {
 | |
|   watch(() => unref(indicator), (val) => {
 | |
|     if (val) {
 | |
|       beforeShow == null ? void 0 : beforeShow();
 | |
|       nextTick(() => {
 | |
|         if (!unref(indicator))
 | |
|           return;
 | |
|         if (shouldSetIntermediate("show")) {
 | |
|           intermediateIndicator.value = true;
 | |
|         }
 | |
|       });
 | |
|     } else {
 | |
|       beforeHide == null ? void 0 : beforeHide();
 | |
|       nextTick(() => {
 | |
|         if (unref(indicator))
 | |
|           return;
 | |
|         if (shouldSetIntermediate("hide")) {
 | |
|           intermediateIndicator.value = false;
 | |
|         }
 | |
|       });
 | |
|     }
 | |
|   });
 | |
|   watch(() => intermediateIndicator.value, (val) => {
 | |
|     if (val) {
 | |
|       afterShow == null ? void 0 : afterShow();
 | |
|     } else {
 | |
|       afterHide == null ? void 0 : afterHide();
 | |
|     }
 | |
|   });
 | |
| };
 | |
| 
 | |
| export { useDelayedRender };
 | |
| //# sourceMappingURL=index.mjs.map
 |