UNPKG

@empathyco/x-components

Version:
79 lines (76 loc) 3.14 kB
import _sfc_main from './page-selector.vue2.js'; import { openBlock, createElementBlock, createElementVNode, normalizeClass, renderSlot, createTextVNode, Fragment, renderList, toDisplayString, createCommentVNode } from 'vue'; import './page-selector.vue3.js'; import _export_sfc from '../_virtual/_plugin-vue_export-helper.js'; const _hoisted_1 = { key: 0, class: "x-page-selector", "aria-label": "Pagination" }; const _hoisted_2 = ["disabled", "aria-disabled"]; const _hoisted_3 = ["data-test", "aria-label", "aria-current", "onClick"]; const _hoisted_4 = ["disabled", "aria-disabled"]; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return _ctx.visiblePages?.length > 1 ? (openBlock(), createElementBlock("nav", _hoisted_1, [ createElementVNode("button", { class: normalizeClass(["x-button", _ctx.buttonClasses]), disabled: _ctx.currentPage === 1, "data-test": "previous-page-button", "aria-label": "Previous page", "aria-disabled": _ctx.currentPage === 1, onClick: _cache[0] || (_cache[0] = ($event) => _ctx.selectPage(_ctx.currentPage - 1)) }, [ renderSlot(_ctx.$slots, "previous-page-button", {}, () => [ createTextVNode("Prev") ], true) ], 10, _hoisted_2), (openBlock(true), createElementBlock( Fragment, null, renderList(_ctx.visiblePages, (page) => { return openBlock(), createElementBlock("button", { key: page.value, class: normalizeClass(["x-button x-page-selector__page", [ _ctx.itemClasses(page.isSelected), { "x-page-selector__page--current": page.isSelected, "x-page-selector__page--hidden": page.value === _ctx.hiddenPage } ]]), "data-test": `page-button-${page.value}`, "aria-label": `Page ${page.value}`, "aria-current": page.isSelected ? "page" : void 0, onClick: ($event) => _ctx.selectPage(page.value) }, [ renderSlot(_ctx.$slots, "page-button", { page: page.value, isSelected: page.isSelected }, () => [ createTextVNode( toDisplayString(page.value), 1 /* TEXT */ ) ], true) ], 10, _hoisted_3); }), 128 /* KEYED_FRAGMENT */ )), createElementVNode("button", { class: normalizeClass(["x-button", _ctx.buttonClasses]), disabled: _ctx.currentPage === _ctx.totalPages, "data-test": "next-page-button", "aria-label": "Next page", "aria-disabled": _ctx.currentPage === _ctx.totalPages, onClick: _cache[1] || (_cache[1] = ($event) => _ctx.selectPage(_ctx.currentPage + 1)) }, [ renderSlot(_ctx.$slots, "next-page-button", {}, () => [ createTextVNode("Next") ], true) ], 10, _hoisted_4) ])) : createCommentVNode("v-if", true); } var pageSelector = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-b08cf95a"]]); export { pageSelector as default }; //# sourceMappingURL=page-selector.vue.js.map