@@ -39,6 +39,7 @@ const props = withDefaults(defineProps<ProseImgProps>(), {
3939const   appConfig =  useAppConfig () as  ProseImg [' AppConfig'  ]
4040
4141const   [DefineImageTemplate, ReuseImageTemplate] =  createReusableTemplate ()
42+ const   [DefineZoomedImageTemplate, ReuseZoomedImageTemplate] =  createReusableTemplate ()
4243
4344const   open =  ref (false )
4445
@@ -79,9 +80,19 @@ if (props.zoom) {
7980    />
8081  </DefineImageTemplate >
8182
83+   <DefineZoomedImageTemplate >
84+     <component 
85+       :is =" ImageComponent" 
86+       :src =" refinedSrc" 
87+       :alt =" alt" 
88+       v-bind =" $attrs" 
89+       :class =" ui.zoomedImage({ class: [props.ui?.zoomedImage] })" 
90+     />
91+   </DefineZoomedImageTemplate >
92+ 
8293  <DialogRoot  v-if =" zoom"   v-slot =" { close }"   v-model:open =" open"   :modal =" false"  >
8394    <DialogTrigger  as-child >
84-       <Motion  :layout-id =" layoutId"   as-child  :transition =" { type: 'spring', bounce: 0.2 , duration: 0.4  }"  >
95+       <Motion  :layout-id =" layoutId"   as-child  :transition =" { type: 'spring', bounce: 0.15 , duration: 0.5, ease: 'easeInOut'  }"  >
8596        <ReuseImageTemplate  />
8697      </Motion >
8798    </DialogTrigger >
@@ -91,8 +102,8 @@ if (props.zoom) {
91102        <Motion  v-if =" open"   :initial =" { opacity: 0 }"   :animate =" { opacity: 1 }"   :exit =" { opacity: 0 }"   :class =" ui.overlay({ class: [props.ui?.overlay] })"   />
92103
93104        <div  v-if =" open"   :class =" ui.content({ class: [props.ui?.content] })"   @click =" close"  >
94-           <Motion  as-child  :layout-id =" layoutId"   :transition =" { type: 'spring', bounce: 0.2 , duration: 0.4  }"  >
95-             <ReuseImageTemplate  />
105+           <Motion  as-child  :layout-id =" layoutId"   :transition =" { type: 'spring', bounce: 0.15 , duration: 0.5, ease: 'easeInOut'  }"  >
106+             <ReuseZoomedImageTemplate  />
96107          </Motion >
97108        </div >
98109      </AnimatePresence >
0 commit comments