UNPKG

primevue

Version:

PrimeVue is a premium UI library for Vue featuring a rich set of 90+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBlock, wh

97 lines (91 loc) 3.53 kB
import { mergeProps, openBlock, createBlock, resolveDynamicComponent, withCtx, renderSlot, normalizeClass } from 'vue'; import BaseComponent from '@primevue/core/basecomponent'; import CarouselIndicatorStyle from 'primevue/carouselindicator/style'; var script$1 = { name: 'BaseCarouselIndicator', "extends": BaseComponent, props: { as: { type: [String, Object], "default": 'BUTTON' }, asChild: { type: Boolean, "default": false }, page: { type: Number, "default": null } }, style: CarouselIndicatorStyle, provide: function provide() { return { $pcCarouselIndicator: this, $parentInstance: this }; } }; var script = { name: 'CarouselIndicator', "extends": script$1, inheritAttrs: false, inject: ['$pcCarousel'], computed: { active: function active() { var _this$$pcCarousel; return ((_this$$pcCarousel = this.$pcCarousel) === null || _this$$pcCarousel === void 0 ? void 0 : _this$$pcCarousel.d_page) === this.page; }, attrs: function attrs() { return mergeProps(this.asAttrs, this.a11yAttrs, this.ptmi('root')); }, asAttrs: function asAttrs() { return this.as === 'BUTTON' ? { type: 'button' } : undefined; }, a11yAttrs: function a11yAttrs() { var _this$$pcCarousel2, _this$$pcCarousel2$ar, _this$$pcCarousel3, _this$$pcCarousel4, _this$$pcCarousel5, _this$$pcCarousel6; return { 'aria-label': (_this$$pcCarousel2 = this.$pcCarousel) === null || _this$$pcCarousel2 === void 0 || (_this$$pcCarousel2$ar = _this$$pcCarousel2.ariaPageLabel) === null || _this$$pcCarousel2$ar === void 0 ? void 0 : _this$$pcCarousel2$ar.call(_this$$pcCarousel2, this.page + 1), 'aria-current': this.active ? 'page' : undefined, 'data-pc-name': 'carouselindicator', 'data-pc-section': 'root', 'data-orientation': (_this$$pcCarousel3 = this.$pcCarousel) === null || _this$$pcCarousel3 === void 0 ? void 0 : _this$$pcCarousel3.orientation, 'data-align': (_this$$pcCarousel4 = this.$pcCarousel) === null || _this$$pcCarousel4 === void 0 ? void 0 : _this$$pcCarousel4.align, 'data-page': (_this$$pcCarousel5 = this.$pcCarousel) === null || _this$$pcCarousel5 === void 0 ? void 0 : _this$$pcCarousel5.d_page, 'data-active': this.active ? '' : undefined, 'data-swiping': (_this$$pcCarousel6 = this.$pcCarousel) !== null && _this$$pcCarousel6 !== void 0 && _this$$pcCarousel6.swiping ? '' : undefined, onClick: this.onClick }; } }, methods: { onClick: function onClick(event) { var _this$$pcCarousel7; (_this$$pcCarousel7 = this.$pcCarousel) === null || _this$$pcCarousel7 === void 0 || _this$$pcCarousel7.scrollToPage(this.page); if (event !== null && event !== void 0 && event.cancelable) { event.preventDefault(); } } } }; function render(_ctx, _cache, $props, $setup, $data, $options) { return !_ctx.asChild ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ key: 0, "class": _ctx.cx('root') }, $options.attrs), { "default": withCtx(function () { return [renderSlot(_ctx.$slots, "default")]; }), _: 3 }, 16, ["class"])) : renderSlot(_ctx.$slots, "default", { key: 1, a11yAttrs: $options.a11yAttrs, "class": normalizeClass(_ctx.cx('root')), active: $options.active, onClick: $options.onClick }); } script.render = render; export { script as default };