@vuesax-alpha/nightly
Version:
A Component Library for Vue 3
1 lines • 2.94 kB
Source Map (JSON)
{"version":3,"file":"card-group2.mjs","sources":["../../../../../../packages/components/card/src/card-group.vue"],"sourcesContent":["<template>\n <div :class=\"ns.e('group')\">\n <button :class=\"ns.em('group', 'prev')\" @click=\"handleClickPrevicon\">\n <icon-arrow />\n </button>\n\n <vs-scrollbar\n ref=\"scrollbarRef\"\n always\n :view-class=\"ns.em('group', 'cards')\"\n @scroll=\"handleScrollbar\"\n >\n <slot />\n </vs-scrollbar>\n <div :class=\"ns.em('group', 'space')\" />\n\n <button :class=\"ns.em('group', 'next')\" @click=\"handleClickNexticon\">\n <icon-arrow />\n </button>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref } from 'vue'\nimport { IconArrow } from '@vuesax-alpha/components/icon'\nimport { VsScrollbar } from '@vuesax-alpha/components/scrollbar'\nimport { useNamespace } from '@vuesax-alpha/hooks'\nimport type {\n ScrollEmitParams,\n ScrollbarInstance,\n} from '@vuesax-alpha/components/scrollbar'\n\ndefineOptions({\n name: 'VsCardGroup',\n})\n\nconst ns = useNamespace('card')\n\nconst scrollbarRef = ref<ScrollbarInstance>()\n\nconst scrollbar = ref<ScrollEmitParams>({\n scrollTop: 0,\n scrollLeft: 0,\n})\n\nconst handleScrollbar = ({ scrollTop, scrollLeft }: ScrollEmitParams) => {\n scrollbar.value = { scrollTop, scrollLeft }\n}\n\nconst handleClickNexticon = () => {\n const cards = scrollbarRef.value!\n cards.wrapRef!.style.scrollBehavior = 'smooth'\n cards.scrollTo(scrollbar.value.scrollLeft + cards.wrapRef!.clientWidth, 0)\n cards.wrapRef!.style.scrollBehavior = 'unset'\n}\nconst handleClickPrevicon = () => {\n const cards = scrollbarRef.value!\n cards.wrapRef!.style.scrollBehavior = 'smooth'\n cards.scrollTo(scrollbar.value.scrollLeft - cards.wrapRef!.clientWidth, 0)\n cards.wrapRef!.style.scrollBehavior = 'unset'\n}\n// init here\n</script>\n"],"names":[],"mappings":";;;;;;;mCAgCc,CAAA;AAAA,EACZ,IAAM,EAAA,aAAA;AACR,CAAA,CAAA,CAAA;;;;AAEM,IAAA,MAAA,EAAA,GAAK,aAAa,MAAM,CAAA,CAAA;AAE9B,IAAA,MAAM,eAAe,GAAuB,EAAA,CAAA;AAE5C,IAAA,MAAM,YAAY,GAAsB,CAAA;AAAA,MACtC,SAAW,EAAA,CAAA;AAAA,MACX,UAAY,EAAA,CAAA;AAAA,KACb,CAAA,CAAA;AAED,IAAA,MAAM,eAAkB,GAAA,CAAC,EAAE,SAAA,EAAW,YAAmC,KAAA;AAC7D,MAAA,SAAA,CAAA,KAAA,GAAQ,EAAE,SAAA,EAAW,UAAW,EAAA,CAAA;AAAA,KAC5C,CAAA;AAEA,IAAA,MAAM,sBAAsB,MAAM;AAChC,MAAA,MAAM,QAAQ,YAAa,CAAA,KAAA,CAAA;AACrB,MAAA,KAAA,CAAA,OAAA,CAAS,MAAM,cAAiB,GAAA,QAAA,CAAA;AACtC,MAAA,KAAA,CAAM,SAAS,SAAU,CAAA,KAAA,CAAM,aAAa,KAAM,CAAA,OAAA,CAAS,aAAa,CAAC,CAAA,CAAA;AACnE,MAAA,KAAA,CAAA,OAAA,CAAS,MAAM,cAAiB,GAAA,OAAA,CAAA;AAAA,KACxC,CAAA;AACA,IAAA,MAAM,sBAAsB,MAAM;AAChC,MAAA,MAAM,QAAQ,YAAa,CAAA,KAAA,CAAA;AACrB,MAAA,KAAA,CAAA,OAAA,CAAS,MAAM,cAAiB,GAAA,QAAA,CAAA;AACtC,MAAA,KAAA,CAAM,SAAS,SAAU,CAAA,KAAA,CAAM,aAAa,KAAM,CAAA,OAAA,CAAS,aAAa,CAAC,CAAA,CAAA;AACnE,MAAA,KAAA,CAAA,OAAA,CAAS,MAAM,cAAiB,GAAA,OAAA,CAAA;AAAA,KACxC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}