keep-vue
Version:
Keep Vue is an open-source component library built on top of Vue3 and Tailwind CSS. It offers a collection of pre-designed UI components and styles that you can easily integrate into your web applications.
75 lines (74 loc) • 2.95 kB
JavaScript
/// <reference types=".vue-global-types/vue_3.5_false.d.ts" />
import {} from "vue";
import { cn } from "../../utils/cn";
import { carouselTheme } from "./carouselTheme";
import DotButton from "./DotButton.vue";
import { useCarousel } from "./useCarousel";
const { defineProps, defineSlots, defineEmits, defineExpose, defineModel, defineOptions, withDefaults, } = await import('vue');
let __VLS_typeProps;
const props = defineProps();
const { selectedIndex, scrollSnaps, onDotButtonClick } = useCarousel();
const __VLS_fnComponent = (await import('vue')).defineComponent({});
;
let __VLS_functionalComponentProps;
function __VLS_template() {
const __VLS_ctx = {};
const __VLS_localComponents = {
...{},
...{},
...__VLS_ctx,
};
let __VLS_components;
const __VLS_localDirectives = {
...{},
...__VLS_ctx,
};
let __VLS_directives;
let __VLS_styleScopedClasses;
let __VLS_resolvedLocalAndGlobalComponents;
__VLS_elementAsFunction(__VLS_intrinsicElements.div, __VLS_intrinsicElements.div)({ ...{ class: ((__VLS_ctx.cn(__VLS_ctx.carouselTheme.controls.indicators.container, props.class))) }, });
for (const [number, index] of __VLS_getVForSourceType((__VLS_ctx.scrollSnaps))) {
// @ts-ignore
[DotButton,];
// @ts-ignore
const __VLS_0 = __VLS_asFunctionalComponent(DotButton, new DotButton({ ...{ 'onClick': {} }, key: ((number)), dataActive: ((index === __VLS_ctx.selectedIndex)), ...{ class: ((__VLS_ctx.cn(__VLS_ctx.carouselTheme.controls.indicators.dot, 'data-[active=true]:border-metal-900 dark:data-[active=true]:border-metal-100', props.dotButtonStyle))) }, }));
const __VLS_1 = __VLS_0({ ...{ 'onClick': {} }, key: ((number)), dataActive: ((index === __VLS_ctx.selectedIndex)), ...{ class: ((__VLS_ctx.cn(__VLS_ctx.carouselTheme.controls.indicators.dot, 'data-[active=true]:border-metal-900 dark:data-[active=true]:border-metal-100', props.dotButtonStyle))) }, }, ...__VLS_functionalComponentArgsRest(__VLS_0));
let __VLS_5;
const __VLS_6 = {
onClick: (() => __VLS_ctx.onDotButtonClick(index))
};
let __VLS_2;
let __VLS_3;
const __VLS_4 = __VLS_pickFunctionalComponentCtx(DotButton, __VLS_1);
}
var __VLS_slots;
var __VLS_inheritedAttrs;
const __VLS_refs = {};
var $refs;
return {
slots: __VLS_slots,
refs: $refs,
attrs: {},
};
}
;
const __VLS_self = (await import('vue')).defineComponent({
setup() {
return {
cn: cn,
carouselTheme: carouselTheme,
DotButton: DotButton,
selectedIndex: selectedIndex,
scrollSnaps: scrollSnaps,
onDotButtonClick: onDotButtonClick,
};
},
__typeProps: {},
});
export default (await import('vue')).defineComponent({
setup() {
return {};
},
__typeProps: {},
});
;