{"version":3,"file":"Carousel.mjs","sources":["../../../../../../packages/components/carousel/src/Carousel.tsx"],"sourcesContent":["import type { CSSProperties } from 'vue';\nimport type { CarouselRef } from './interface';\nimport { classNames, devWarning } from '@antdv/utils';\nimport { VCSlick } from '@antdv/vue-components';\nimport { computed, defineComponent, ref, watchEffect } from 'vue';\nimport useConfigInject from '../../config-provider/src/hooks/useConfigInject';\nimport useStyle from '../style';\nimport { carouselProps } from './props';\n\n// Carousel\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'ACarousel',\n  inheritAttrs: false,\n  props: carouselProps(),\n  setup(props, { slots, attrs, expose }) {\n    const slickRef = ref();\n\n    const goTo = (slide: number, dotAnimate = false) => {\n      slickRef.value?.slickGoTo(slide, dotAnimate);\n    };\n\n    expose({\n      goTo,\n      autoplay: (palyType) => {\n        slickRef.value?.innerSlider?.handleAutoPlay(palyType);\n      },\n      prev: () => {\n        slickRef.value?.slickPrev();\n      },\n      next: () => {\n        slickRef.value?.slickNext();\n      },\n      innerSlider: computed(() => {\n        return slickRef.value?.innerSlider;\n      }),\n    } as CarouselRef);\n    watchEffect(() => {\n      devWarning(\n        props.vertical === undefined,\n        'Carousel',\n        '`vertical` is deprecated, please use `dotPosition` instead.',\n      );\n    });\n    const { prefixCls, direction } = useConfigInject('carousel', props);\n\n    // style\n    const [wrapSSR, hashId] = useStyle(prefixCls);\n\n    const dotPosition = computed(() => {\n      if (props.dotPosition) return props.dotPosition;\n      if (props.vertical !== undefined) return props.vertical ? 'right' : 'bottom';\n      return 'bottom';\n    });\n    const vertical = computed(() => dotPosition.value === 'left' || dotPosition.value === 'right');\n    const dsClass = computed(() => {\n      const dotsClass = 'slick-dots';\n      return classNames({\n        [dotsClass]: true,\n        [`${dotsClass}-${dotPosition.value}`]: true,\n        [`${props.dotsClass}`]: !!props.dotsClass,\n      });\n    });\n    return () => {\n      const { dots, arrows, draggable, effect } = props;\n      const { class: cls, style, ...restAttrs } = attrs;\n      const fade = effect === 'fade' ? true : props.fade;\n      const className = classNames(\n        prefixCls.value,\n        {\n          [`${prefixCls.value}-rtl`]: direction.value === 'rtl',\n          [`${prefixCls.value}-vertical`]: vertical.value,\n          [`${cls}`]: !!cls,\n        },\n        hashId.value,\n      );\n      return wrapSSR(\n        <div class={className} style={style as CSSProperties}>\n          <VCSlick\n            ref={slickRef}\n            {...props}\n            {...restAttrs}\n            dots={!!dots}\n            dotsClass={dsClass.value}\n            arrows={arrows}\n            draggable={draggable}\n            fade={fade}\n            vertical={vertical.value}\n            v-slots={slots}\n          />\n        </div>,\n      );\n    };\n  },\n});\n"],"names":["compatConfig","MODE","name","inheritAttrs","props","carouselProps","setup","slots","attrs","expose","slickRef","ref","goTo","slide","dotAnimate","value","slickGoTo","autoplay","palyType","innerSlider","handleAutoPlay","prev","slickPrev","next","slickNext","computed","watchEffect","devWarning","vertical","undefined","prefixCls","direction","useConfigInject","wrapSSR","hashId","useStyle","dotPosition","dsClass","dotsClass","classNames","dots","arrows","draggable","effect","class","cls","style","restAttrs","fade","className","_createVNode","VCSlick"],"mappings":";;;;;;;;;;AAUA,gCAA+B,eAAA,CAAA;AAAA,EAC7BA,YAAc,EAAA;AAAA,IAAEC,IAAM,EAAA,CAAA;AAAA,GAAE;AAAA,EACxBC,IAAM,EAAA,WAAA;AAAA,EACNC,YAAc,EAAA,KAAA;AAAA,EACdC,OAAOC,aAAc,EAAA;AAAA,EACrBC,MAAMF,KAAO,EAAA;AAAA,IAAEG,KAAAA;AAAAA,IAAOC,KAAAA;AAAAA,IAAOC,MAAAA;AAAAA,GAAU,EAAA;AACrC,IAAA,MAAMC,WAAWC,GAAI,EAAA,CAAA;AAErB,IAAA,MAAMC,IAAOA,GAAAA,CAACC,KAAeC,EAAAA,UAAAA,GAAa,KAAU,KAAA;;AAClDJ,MAASK,CAAAA,EAAAA,GAAAA,QAAAA,CAAAA,KAAAA,KAATL,IAAgBM,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,SAAAA,CAAUH,KAAOC,EAAAA,UAAAA,CAAAA,CAAAA;AAAAA,KACnC,CAAA;AAEAL,IAAO,MAAA,CAAA;AAAA,MACLG,IAAAA;AAAAA,MACAK,UAAWC,CAAa,QAAA,KAAA;;AACtBR,QAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,QAAAA,CAASK,KAATL,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAgBS,WAAhBT,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAA6BU,cAAeF,CAAAA,QAAAA,CAAAA,CAAAA;AAAAA,OAC9C;AAAA,MACAG,MAAMA,MAAM;;AACVX,QAAAA,CAAAA,EAAAA,GAAAA,QAAAA,CAASK,UAATL,IAAgBY,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,SAAAA,EAAAA,CAAAA;AAAAA,OAClB;AAAA,MACAC,MAAMA,MAAM;;AACVb,QAAAA,CAAAA,EAAAA,GAAAA,QAAAA,CAASK,UAATL,IAAgBc,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,SAAAA,EAAAA,CAAAA;AAAAA,OAClB;AAAA,MACAL,WAAAA,EAAaM,SAAS,MAAM;;AAC1B,QAAOf,OAAAA,CAAAA,EAAAA,GAAAA,QAAAA,CAASK,UAATL,IAAgBS,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,WAAAA,CAAAA;AAAAA,OACxB,CAAA;AAAA,KACa,CAAA,CAAA;AAChBO,IAAAA,WAAAA,CAAY,MAAM;AAChBC,MAAAA,UAAAA,CACEvB,KAAMwB,CAAAA,QAAAA,KAAaC,KACnB,CAAA,EAAA,UAAA,EACA,6DACF,CAAA,CAAA;AAAA,KACD,CAAA,CAAA;AACD,IAAM,MAAA;AAAA,MAAEC,SAAAA;AAAAA,MAAWC,SAAAA;AAAAA,KAAU,GAAIC,eAAgB,CAAA,UAAA,EAAY5B,KAAK,CAAA,CAAA;AAGlE,IAAA,MAAM,CAAC6B,OAAAA,EAASC,MAAM,CAAA,GAAIC,SAASL,SAAS,CAAA,CAAA;AAE5C,IAAMM,MAAAA,WAAAA,GAAcX,SAAS,MAAM;AACjC,MAAA,IAAIrB,KAAMgC,CAAAA,WAAAA;AAAa,QAAA,OAAOhC,KAAMgC,CAAAA,WAAAA,CAAAA;AACpC,MAAA,IAAIhC,MAAMwB,QAAaC,KAAAA,KAAAA,CAAAA;AAAW,QAAOzB,OAAAA,KAAAA,CAAMwB,WAAW,OAAU,GAAA,QAAA,CAAA;AACpE,MAAO,OAAA,QAAA,CAAA;AAAA,KACR,CAAA,CAAA;AACD,IAAMA,MAAAA,QAAAA,GAAWH,SAAS,MAAMW,WAAAA,CAAYrB,UAAU,MAAUqB,IAAAA,WAAAA,CAAYrB,UAAU,OAAO,CAAA,CAAA;AAC7F,IAAMsB,MAAAA,OAAAA,GAAUZ,SAAS,MAAM;AAC7B,MAAA,MAAMa,SAAY,GAAA,YAAA,CAAA;AAClB,MAAA,OAAOC,UAAW,CAAA;AAAA,QAChB,CAACD,SAAS,GAAG,IAAA;AAAA,QACb,CAAE,CAAEA,EAAAA,SAAU,IAAGF,WAAYrB,CAAAA,KAAM,EAAC,GAAG,IAAA;AAAA,QACvC,CAAE,GAAEX,KAAMkC,CAAAA,SAAU,EAAC,GAAG,CAAC,CAAClC,KAAMkC,CAAAA,SAAAA;AAAAA,OACjC,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AACD,IAAA,OAAO,MAAM;AACX,MAAM,MAAA;AAAA,QAAEE,IAAAA;AAAAA,QAAMC,MAAAA;AAAAA,QAAQC,SAAAA;AAAAA,QAAWC,MAAAA;AAAAA,OAAWvC,GAAAA,KAAAA,CAAAA;AAC5C,MAAM,MAAA;AAAA,QAAEwC,KAAOC,EAAAA,GAAAA;AAAAA,QAAKC,KAAAA;AAAAA,QAAO,GAAGC,SAAAA;AAAAA,OAAcvC,GAAAA,KAAAA,CAAAA;AAC5C,MAAA,MAAMwC,IAAOL,GAAAA,MAAAA,KAAW,MAAS,GAAA,IAAA,GAAOvC,KAAM4C,CAAAA,IAAAA,CAAAA;AAC9C,MAAMC,MAAAA,SAAAA,GAAYV,UAChBT,CAAAA,SAAAA,CAAUf,KACV,EAAA;AAAA,QACE,CAAE,CAAEe,EAAAA,SAAAA,CAAUf,KAAM,CAAK,IAAA,CAAA,GAAGgB,UAAUhB,KAAU,KAAA,KAAA;AAAA,QAChD,CAAE,CAAEe,EAAAA,SAAAA,CAAUf,KAAM,CAAA,SAAA,CAAU,GAAGa,QAASb,CAAAA,KAAAA;AAAAA,QAC1C,CAAE,CAAE8B,EAAAA,GAAI,CAAC,CAAA,GAAG,CAAC,CAACA,GAAAA;AAAAA,OAChB,EACAX,OAAOnB,KACT,CAAA,CAAA;AACA,MAAOkB,OAAAA,OAAAA,CAAOiB,YAAA,KAAA,EAAA;AAAA,QAAA,OACAD,EAAAA,SAAAA;AAAAA,QAAS,OAASH,EAAAA,KAAAA;AAAAA,OAAK,EAAAI,CAAAA,WAAAA,CAAAC,OAAA,EAAA;AAAA,QAAA,KAE1BzC,EAAAA,QAAAA;AAAAA,QAAQ,GACTN,KAAAA;AAAAA,QAAK,GACL2C,SAAAA;AAAAA,QAAS,MAAA,EACP,CAAC,CAACP,IAAAA;AAAAA,QAAI,aACDH,OAAQtB,CAAAA,KAAAA;AAAAA,QAAK,QAChB0B,EAAAA,MAAAA;AAAAA,QAAM,WACHC,EAAAA,SAAAA;AAAAA,QAAS,MACdM,EAAAA,IAAAA;AAAAA,QAAI,YACApB,QAASb,CAAAA,KAAAA;AAAAA,OACVR,EAAAA,KAAK,GAGpB,CAAA,CAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}