Sha256: a86235022cd2c8f11fb3c7be30a8d09a4de450e3281cca4dca750c5f674090ef

Contents?: true

Size: 891 Bytes

Versions: 26

Compression:

Stored size: 891 Bytes

Contents

import { useRef } from '../use-ref.mjs';
import { readlineWidth } from '../utils.mjs';
import { lines } from './lines.mjs';
import { finite, infinite } from './position.mjs';
export function usePagination({ items, active, renderItem, pageSize, loop = true, }) {
    const state = useRef({ position: 0, lastActive: 0 });
    const position = loop
        ? infinite({
            active,
            lastActive: state.current.lastActive,
            total: items.length,
            pageSize,
            pointer: state.current.position,
        })
        : finite({
            active,
            total: items.length,
            pageSize,
        });
    state.current.position = position;
    state.current.lastActive = active;
    return lines({
        items,
        width: readlineWidth(),
        renderItem,
        active,
        position,
        pageSize,
    }).join('\n');
}

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
clapton-0.0.26 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.25 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.24 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.23 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.22 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.21 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.20 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.19 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.18 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.17 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.16 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.15 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.14 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.13 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.12 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.11 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.10 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.9 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.8 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs
clapton-0.0.7 lib/clapton/javascripts/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.mjs