Sha256: fa4e3f3ffe54690d696e5a461c4e8c5f32a39f70faf3e0fef805617911a441dd
Contents?: true
Size: 1.08 KB
Versions: 26
Compression:
Stored size: 1.08 KB
Contents
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.usePagination = usePagination; const use_ref_mjs_1 = require('../use-ref.js'); const utils_mjs_1 = require('../utils.js'); const lines_mjs_1 = require('./lines.js'); const position_mjs_1 = require('./position.js'); function usePagination({ items, active, renderItem, pageSize, loop = true, }) { const state = (0, use_ref_mjs_1.useRef)({ position: 0, lastActive: 0 }); const position = loop ? (0, position_mjs_1.infinite)({ active, lastActive: state.current.lastActive, total: items.length, pageSize, pointer: state.current.position, }) : (0, position_mjs_1.finite)({ active, total: items.length, pageSize, }); state.current.position = position; state.current.lastActive = active; return (0, lines_mjs_1.lines)({ items, width: (0, utils_mjs_1.readlineWidth)(), renderItem, active, position, pageSize, }).join('\n'); }
Version data entries
26 entries across 26 versions & 1 rubygems