11import { createVNode } from 'vue' ;
22import classnames from '../_util/classNames' ;
3- import { cloneElement } from '../_util/vnode' ;
43import { flattenChildren } from '../_util/props-util' ;
54import { lazyStartIndex , lazyEndIndex , getPreClones } from './utils/innerSliderUtils' ;
5+ import { deepCloneElement } from '../_util/vnode' ;
66
77// given specifications/props for a slide, fetch all the classes that need to be applied to the slide
88const getSlideClasses = spec => {
@@ -84,7 +84,6 @@ const renderSlides = function (spec, children) {
8484 const childrenCount = children . length ;
8585 const startIndex = lazyStartIndex ( spec ) ;
8686 const endIndex = lazyEndIndex ( spec ) ;
87-
8887 children . forEach ( ( elem , index ) => {
8988 let child ;
9089 const childOnClickOptions = {
@@ -105,7 +104,7 @@ const renderSlides = function (spec, children) {
105104 let slideClasses = getSlideClasses ( { ...spec , index } ) ;
106105 // push a cloned element of the desired slide
107106 slides . push (
108- cloneElement ( child , {
107+ deepCloneElement ( child , {
109108 key : 'original' + getKey ( child , index ) ,
110109 tabindex : '-1' ,
111110 'data-index' : index ,
@@ -131,7 +130,7 @@ const renderSlides = function (spec, children) {
131130 }
132131 slideClasses = getSlideClasses ( { ...spec , index : key } ) ;
133132 preCloneSlides . push (
134- cloneElement ( child , {
133+ deepCloneElement ( child , {
135134 key : 'precloned' + getKey ( child , key ) ,
136135 class : classnames ( slideClasses , slideClass ) ,
137136 tabindex : '-1' ,
@@ -155,7 +154,7 @@ const renderSlides = function (spec, children) {
155154 }
156155 slideClasses = getSlideClasses ( { ...spec , index : key } ) ;
157156 postCloneSlides . push (
158- cloneElement ( child , {
157+ deepCloneElement ( child , {
159158 key : 'postcloned' + getKey ( child , key ) ,
160159 tabindex : '-1' ,
161160 'data-index' : key ,
@@ -182,6 +181,7 @@ const renderSlides = function (spec, children) {
182181
183182const Track = ( _ , { attrs, slots } ) => {
184183 const slides = renderSlides ( attrs , flattenChildren ( slots ?. default ( ) ) ) ;
184+ // const slides = renderSlides(attrs, slots?.default);
185185 const { onMouseenter, onMouseover, onMouseleave } = attrs ;
186186 const mouseEvents = { onMouseenter, onMouseover, onMouseleave } ;
187187 const trackProps = {
0 commit comments