diff --git a/packages/documentation/pages/usage/components/pagination.vue b/packages/documentation/pages/usage/components/pagination.vue index 2e36cd6b29..588bc146bb 100644 --- a/packages/documentation/pages/usage/components/pagination.vue +++ b/packages/documentation/pages/usage/components/pagination.vue @@ -93,17 +93,6 @@ ## Usage -### Props - -| Attribute | Description | Type | Accepted Values | Default | -| :--------------- | :------------------------------------------- | :-------- | :--------------------------- | :--------- | -| `adjacentAmount` | number of pairs of adjacent pages to display | `Number` | -- | `1` | -| `fixedWidth` | set width based on max number of elements | `Boolean` | `True`, `False` | `False` | -| `page` | the default page to show | `Number` | -- | -- | -| `pageSize` | amount of items each page | `Number` | -- | `10` | -| `pagingStyle` | style of the pagination | `String` | `expand`, `flex`, `fraction` | `expand` | -| `total` | total amount of items | `Number` | -- | `Required` | - ### Events | Event Name | Description | Parameters | diff --git a/packages/kotti-ui/source/kotti-pagination/KtPagination.vue b/packages/kotti-ui/source/kotti-pagination/KtPagination.vue index 51f04f778e..7f2b8cb3d6 100644 --- a/packages/kotti-ui/source/kotti-pagination/KtPagination.vue +++ b/packages/kotti-ui/source/kotti-pagination/KtPagination.vue @@ -1,163 +1,139 @@ - + + diff --git a/packages/kotti-ui/source/kotti-pagination/components/PaginationExpanded.vue b/packages/kotti-ui/source/kotti-pagination/components/PaginationExpanded.vue index ea7ea47569..ecfa73cebf 100644 --- a/packages/kotti-ui/source/kotti-pagination/components/PaginationExpanded.vue +++ b/packages/kotti-ui/source/kotti-pagination/components/PaginationExpanded.vue @@ -1,47 +1,46 @@ - diff --git a/packages/kotti-ui/source/kotti-pagination/components/PaginationFlexible.vue b/packages/kotti-ui/source/kotti-pagination/components/PaginationFlexible.vue index e3bf782eb6..1172b37281 100644 --- a/packages/kotti-ui/source/kotti-pagination/components/PaginationFlexible.vue +++ b/packages/kotti-ui/source/kotti-pagination/components/PaginationFlexible.vue @@ -1,41 +1,52 @@ - diff --git a/packages/kotti-ui/source/kotti-pagination/index.ts b/packages/kotti-ui/source/kotti-pagination/index.ts index 57ab2cd6e0..4ad4b3858c 100644 --- a/packages/kotti-ui/source/kotti-pagination/index.ts +++ b/packages/kotti-ui/source/kotti-pagination/index.ts @@ -2,6 +2,7 @@ import { MetaDesignType } from '../types/kotti' import { attachMeta, makeInstallable } from '../utilities' import KtPaginationVue from './KtPagination.vue' +import { KottiPagination } from './types' export const KtPagination = attachMeta(makeInstallable(KtPaginationVue), { addedVersion: '0.0.6', @@ -11,5 +12,8 @@ export const KtPagination = attachMeta(makeInstallable(KtPaginationVue), { url: 'https://www.figma.com/file/0yFVivSWXgFf2ddEF92zkf/Kotti-Design-System?node-id=101%3A1106', }, slots: {}, - typeScript: null, + typeScript: { + namespace: 'KottiPagination', + schema: KottiPagination.propsSchema, + }, }) diff --git a/packages/kotti-ui/source/kotti-pagination/types.ts b/packages/kotti-ui/source/kotti-pagination/types.ts new file mode 100644 index 0000000000..bc2f8040b9 --- /dev/null +++ b/packages/kotti-ui/source/kotti-pagination/types.ts @@ -0,0 +1,21 @@ +import { z } from 'zod' + +export namespace KottiPagination { + export enum PagingStyle { + EXPAND = 'expand', + FLEX = 'flex', + FRACTION = 'fraction', + } + + export const propsSchema = z.object({ + adjacentAmount: z.number().default(1), + fixedWidth: z.boolean().default(false), + page: z.number().default(1), + pageSize: z.number().default(10), + pagingStyle: z.nativeEnum(PagingStyle).default(PagingStyle.EXPAND), + total: z.number(), + }) + + export type PropsInternal = z.output + export type Props = z.input +} diff --git a/packages/kotti-ui/source/types/kotti.ts b/packages/kotti-ui/source/types/kotti.ts index f7878d7e00..2998b87399 100644 --- a/packages/kotti-ui/source/types/kotti.ts +++ b/packages/kotti-ui/source/types/kotti.ts @@ -46,6 +46,7 @@ export { KottiI18n as I18n } from '../kotti-i18n/types' export { KottiLine as Line } from '../kotti-line/types' export { KottiModal as Modal } from '../kotti-modal/types' export { KottiNavbar as Navbar } from '../kotti-navbar/types' +export { KottiPagination as Pagination } from '../kotti-pagination/types' export { KottiPopover as Popover } from '../kotti-popover/types' export { KottiRow as Row } from '../kotti-row/types' export { KottiUserMenu as UserMenu } from '../kotti-user-menu/types'