libreria-astro-lefebvre
Version:
Librería de componentes Astro, React y Vue para Lefebvre
72 lines (70 loc) • 2.39 kB
text/typescript
import type { ComponentMetadata } from '../interfaces/types';
export const metadata: ComponentMetadata = {
component_name: 'Paginacion_2025_Paris',
category: 'Contenido de Texto',
name: 'Paginación con modo URL path o query y trailing slash configurable 2025',
description: 'Componente de paginación con dos modos de URL alternables: "path" (/page/2/) o "query" (/?page=2). Incluye control de trailing slash, página actual, total de páginas, total de elementos y elementos por página. Se puede definir una URL base (p. ej. /blog) como raíz del paginado. En modo "query" el trailing slash determina si queda /?page=2 o ?page=2',
framework: 'Astro',
priority: 1,
tags: ['paginacion', 'navegacion', 'paginado', 'listado'],
fields: [
{
name: 'urlMode',
type: 'select',
help: 'Formato de las URLs de paginación: "path" para /page/2/ o "query" para /?page=2',
label: 'Modo de URL',
mandatory: false,
options: ['path', 'query'],
options_labels: ['Path (/page/2)', 'Query string (?page=2)'],
example_value: 'path'
},
{
name: 'currentPage',
type: 'text',
help: 'Introduce el número de la página actual',
label: 'Página actual',
mandatory: false,
example_value: '1'
},
{
name: 'totalPages',
type: 'text',
help: 'Introduce el número total de páginas',
label: 'Total de páginas',
mandatory: false,
example_value: '10'
},
{
name: 'totalItems',
type: 'text',
help: 'Introduce el número total de elementos',
label: 'Total de elementos',
mandatory: false,
example_value: '100'
},
{
name: 'itemsPerPage',
type: 'text',
help: 'Introduce el número de elementos por página',
label: 'Elementos por página',
mandatory: false,
example_value: '10'
},
{
name: 'baseUrl',
type: 'text',
help: 'Introduce la URL base para la paginación',
label: 'URL base',
mandatory: false,
example_value: '/blog'
},
{
name: 'trailingSlash',
type: 'boolean',
help: 'Indica si las URLs de paginación deben incluir / al final del path. En modo "query" determina si queda url.es/?page=2 o url.es?page=2',
label: 'Trailing slash',
mandatory: false,
example_value: 'false'
}
]
};