UNPKG

@spark-ui/components

Version:

Spark (Leboncoin design system) components.

1 lines 25 kB
{"version":3,"sources":["../../src/pagination/PaginationContext.tsx","../../src/pagination/utils.ts","../../src/pagination/Pagination.tsx","../../src/pagination/PaginationEllipsis.tsx","../../src/pagination/PaginationFirstPageTrigger.tsx","../../src/pagination/PaginationItem.tsx","../../src/pagination/PaginationLastPageTrigger.tsx","../../src/pagination/PaginationNextTrigger.tsx","../../src/pagination/PaginationPages.tsx","../../src/pagination/PaginationPrevTrigger.tsx","../../src/pagination/index.ts"],"sourcesContent":["import * as pagination from '@zag-js/pagination'\nimport { normalizeProps, type PropTypes, useMachine } from '@zag-js/react'\nimport { createContext, type ReactNode, useContext, useId } from 'react'\n\nimport { sliceArrayWithIndex } from './utils'\n\nexport interface PaginationContextState<T extends PropTypes = PropTypes> {\n type: pagination.Props['type']\n pagination: pagination.Api<T> & {\n getFirstPageTriggerProps: () => ReturnType<pagination.Api<T>['getPrevTriggerProps']> & {\n 'data-part': string\n onClick: () => void\n }\n getLastPageTriggerProps: () => ReturnType<pagination.Api<T>['getNextTriggerProps']> & {\n 'data-part': string\n onClick: () => void\n }\n }\n}\n\nconst PaginationContext = createContext<PaginationContextState | null>(null)\n\nexport interface PaginationProviderProps {\n children: ReactNode\n /**\n * Total number of data items available across all pages.\n */\n count: number\n /**\n * Maximum amount of items displayed on a single page.\n */\n pageSize: number\n /**\n * Number of visible pages (or ellipsis) between previous and next page triggers.\n */\n visiblePageItems?: number\n /**\n * The current page (active page)\n */\n page?: pagination.Props['page']\n /**\n * If your pagination contains buttons instead of links, set `type` to `button`, extra attributes will be applied on page items for a11y.\n */\n type?: pagination.Props['type']\n onPageChange?: pagination.Props['onPageChange']\n noEllipsis?: boolean\n}\n\nexport const PaginationProvider = ({\n children,\n count,\n visiblePageItems = 7,\n pageSize,\n page,\n onPageChange,\n noEllipsis,\n type = 'link',\n}: PaginationProviderProps) => {\n /**\n * Here `Infinity` is used because we apply a custom slice ourselves to manage the \"no ellipsis\" version.\n * It means Zag won't filter out any page item, allowing us to apply our own slicing logic.\n */\n const siblingCount = noEllipsis ? Infinity : Math.max(0, Math.floor((visiblePageItems - 5) / 2))\n\n const id = useId()\n\n const service = useMachine(pagination.machine, {\n id,\n count,\n siblingCount,\n pageSize,\n page,\n onPageChange,\n type,\n })\n\n const api = pagination.connect(service, normalizeProps)\n const pages = noEllipsis\n ? sliceArrayWithIndex(api.pages, api.page - 1, visiblePageItems)\n : api.pages\n\n return (\n <PaginationContext.Provider\n value={{\n type,\n pagination: {\n ...api,\n pages,\n // Extending ZagJS anatomy\n getFirstPageTriggerProps: () => {\n return {\n ...api.getPrevTriggerProps(),\n id: `${api.getRootProps().id}:first`,\n 'data-part': 'first-page-trigger',\n onClick: api.goToFirstPage,\n }\n },\n getLastPageTriggerProps: () => {\n return {\n ...api.getNextTriggerProps(),\n id: `${api.getRootProps().id}:last`,\n 'data-part': 'last-page-trigger',\n onClick: api.goToLastPage,\n }\n },\n },\n }}\n >\n {children}\n </PaginationContext.Provider>\n )\n}\n\nexport const usePagination = () => {\n const context = useContext(PaginationContext)\n\n if (!context) {\n throw Error('usePagination must be used within a Pagination provider')\n }\n\n return context\n}\n","export function sliceArrayWithIndex(arr: any[], index: number, length: number) {\n const relativeElements = (length - 1) / 2\n\n let start = Math.max(0, index - relativeElements)\n let end = Math.min(arr.length, index + relativeElements + 1)\n\n if (end - start < length) {\n start = Math.max(0, Math.min(start, arr.length - length))\n end = Math.min(arr.length, start + length)\n }\n\n return arr.slice(start, end)\n}\n","import { ReactNode } from 'react'\n\nimport {\n PaginationProvider,\n type PaginationProviderProps,\n usePagination,\n} from './PaginationContext'\n\nexport type PaginationProps = PaginationProviderProps & { className?: string }\n\nexport const Pagination = ({\n children,\n visiblePageItems = 5,\n type = 'link',\n noEllipsis = false,\n className,\n ...rest\n}: PaginationProps) => {\n return (\n <PaginationProvider\n visiblePageItems={visiblePageItems}\n noEllipsis={noEllipsis}\n type={type}\n {...rest}\n >\n <PaginationWrapper className={className}>{children}</PaginationWrapper>\n </PaginationProvider>\n )\n}\n\nconst PaginationWrapper = ({\n children,\n className,\n}: {\n children: ReactNode\n className?: string\n}) => {\n const { pagination } = usePagination()\n\n const props = pagination.getRootProps()\n\n return (\n <nav data-spark-component=\"pagination\" {...props} className={className}>\n <ul className=\"gap-md flex flex-wrap\">{children}</ul>\n </nav>\n )\n}\n\nPagination.displayName = 'Pagination'\n","import { mergeProps } from '@zag-js/react'\nimport { cx } from 'class-variance-authority'\nimport { type ComponentPropsWithRef } from 'react'\n\nimport { usePagination } from './PaginationContext'\n\ninterface EllipsisProps extends ComponentPropsWithRef<'span'> {\n index: number\n}\n\nexport const Ellipsis = ({ children, index, className, ref, ...rest }: EllipsisProps) => {\n const { pagination } = usePagination()\n const apiProps = pagination.getEllipsisProps({ index })\n const localProps = {\n className: cx('flex size-sz-44 items-center justify-center', className),\n ...rest,\n }\n\n const mergedProps = mergeProps(apiProps, localProps)\n\n return (\n <li>\n <span\n data-spark-component=\"pagination-ellipsis\"\n ref={ref}\n className={cx('size-sz-44 flex items-center justify-center')}\n {...mergedProps}\n >\n {children || '\\u2026'}\n </span>\n </li>\n )\n}\n\nEllipsis.displayName = 'Pagination.Ellipsis'\n","import { ArrowDoubleLeft } from '@spark-ui/icons/ArrowDoubleLeft'\nimport { mergeProps } from '@zag-js/react'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nimport { Icon } from '../icon'\nimport { IconButton } from '../icon-button'\nimport { usePagination } from './PaginationContext'\n\ninterface AnchorProps extends ComponentPropsWithoutRef<'a'> {\n href: string\n}\n\ninterface ButtonProps extends ComponentPropsWithoutRef<'button'> {\n href?: undefined\n}\nexport type FirstPageTriggerProps = Omit<AnchorProps | ButtonProps, 'aria-label'> & {\n 'aria-label': string\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const FirstPageTrigger = ({\n children,\n className,\n href,\n ref,\n ...props\n}: FirstPageTriggerProps) => {\n const { pagination, type } = usePagination()\n\n // ZagJS props\n const apiProps = pagination.getFirstPageTriggerProps()\n\n const shouldDisableLink =\n type === 'link' &&\n (apiProps as typeof apiProps & { 'data-disabled'?: string })['data-disabled'] === ''\n\n // Locally managed props\n const localProps = {\n 'data-spark-component': 'pagination-first-page-trigger',\n intent: 'support',\n design: 'ghost',\n ...props,\n className,\n ...(shouldDisableLink && {\n disabled: true,\n role: 'link',\n 'aria-disabled': true,\n }),\n }\n\n // We know 'aria-label' is included in props\n type WithAriaLabel = Omit<typeof apiProps, 'aria-label'> & { 'aria-label': string }\n\n const mergedProps = mergeProps(\n apiProps,\n localProps as unknown as typeof apiProps\n ) as WithAriaLabel\n\n const content = children || (\n <Icon>\n <ArrowDoubleLeft />\n </Icon>\n )\n\n return (\n <li>\n {href ? (\n <IconButton ref={ref} {...mergedProps} asChild>\n <a href={shouldDisableLink ? undefined : href}>{content}</a>\n </IconButton>\n ) : (\n <IconButton ref={ref} {...mergedProps}>\n {content}\n </IconButton>\n )}\n </li>\n )\n}\n\nFirstPageTrigger.displayName = 'Pagination.FirstPageTrigger'\n","import { mergeProps } from '@zag-js/react'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nimport { Button } from '../button'\nimport { usePagination } from './PaginationContext'\n\ninterface AnchorProps extends ComponentPropsWithoutRef<'a'> {\n href: string\n}\n\ninterface ButtonProps extends ComponentPropsWithoutRef<'button'> {\n href?: undefined\n}\nexport type ItemProps = Omit<AnchorProps | ButtonProps, 'aria-label'> & {\n 'aria-label': string\n value: number\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const Item = ({ children, value, className, href, ref, ...props }: ItemProps) => {\n const { pagination } = usePagination()\n\n // ZagJS props\n const apiProps = pagination.getItemProps({ type: 'page', value })\n\n // Locally managed props\n const localProps = {\n 'data-spark-component': 'pagination-item',\n intent: 'support',\n design: apiProps['aria-current'] === 'page' ? 'filled' : 'ghost',\n className,\n ...props,\n }\n\n const mergedProps = mergeProps(apiProps, localProps)\n\n return (\n <li>\n {href ? (\n <Button ref={ref} {...mergedProps} asChild>\n <a href={href}>{children || value}</a>\n </Button>\n ) : (\n <Button ref={ref} {...mergedProps}>\n {children || value}\n </Button>\n )}\n </li>\n )\n}\n\nItem.displayName = 'Pagination.Item'\n","import { ArrowDoubleRight } from '@spark-ui/icons/ArrowDoubleRight'\nimport { mergeProps } from '@zag-js/react'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nimport { Icon } from '../icon'\nimport { IconButton } from '../icon-button'\nimport { usePagination } from './PaginationContext'\n\ninterface AnchorProps extends ComponentPropsWithoutRef<'a'> {\n href: string\n}\n\ninterface ButtonProps extends ComponentPropsWithoutRef<'button'> {\n href?: undefined\n}\nexport type LastPageTriggerProps = Omit<AnchorProps | ButtonProps, 'aria-label'> & {\n 'aria-label': string\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const LastPageTrigger = ({\n children,\n className,\n href,\n ref,\n ...props\n}: LastPageTriggerProps) => {\n const { pagination, type } = usePagination()\n\n // ZagJS props\n const apiProps = pagination.getLastPageTriggerProps()\n\n const shouldDisableLink =\n type === 'link' &&\n (apiProps as typeof apiProps & { 'data-disabled'?: string })['data-disabled'] === ''\n\n // Locally managed props\n const localProps = {\n 'data-spark-component': 'pagination-last-page-trigger',\n intent: 'support',\n design: 'ghost',\n ...props,\n className,\n ...(shouldDisableLink && {\n disabled: true,\n role: 'link',\n 'aria-disabled': true,\n }),\n }\n\n // We know 'aria-label' is included in props\n type WithAriaLabel = Omit<typeof apiProps, 'aria-label'> & { 'aria-label': string }\n\n const mergedProps = mergeProps(\n apiProps,\n localProps as unknown as typeof apiProps\n ) as WithAriaLabel\n\n const content = children || (\n <Icon>\n <ArrowDoubleRight />\n </Icon>\n )\n\n return (\n <li>\n {href ? (\n <IconButton ref={ref} {...mergedProps} asChild>\n <a href={shouldDisableLink ? undefined : href}>{content}</a>\n </IconButton>\n ) : (\n <IconButton ref={ref} {...mergedProps}>\n {content}\n </IconButton>\n )}\n </li>\n )\n}\n\nLastPageTrigger.displayName = 'Pagination.LastPageTrigger'\n","import { ArrowVerticalRight } from '@spark-ui/icons/ArrowVerticalRight'\nimport { mergeProps } from '@zag-js/react'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nimport { Icon } from '../icon'\nimport { IconButton } from '../icon-button'\nimport { usePagination } from './PaginationContext'\n\ninterface AnchorProps extends ComponentPropsWithoutRef<'a'> {\n href: string\n}\n\ninterface ButtonProps extends ComponentPropsWithoutRef<'button'> {\n href?: undefined\n}\nexport type NextTriggerProps = Omit<AnchorProps | ButtonProps, 'aria-label'> & {\n 'aria-label': string\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const NextTrigger = ({ children, className, href, ref, ...props }: NextTriggerProps) => {\n const { pagination, type } = usePagination()\n\n // ZagJS props\n const apiProps = pagination.getNextTriggerProps()\n\n const shouldDisableLink =\n type === 'link' &&\n (apiProps as typeof apiProps & { 'data-disabled'?: string })['data-disabled'] === ''\n\n // Locally managed props\n const localProps = {\n 'data-spark-component': 'pagination-next-trigger',\n intent: 'support',\n design: 'ghost',\n ...props,\n className,\n ...(shouldDisableLink && {\n disabled: true,\n role: 'link',\n 'aria-disabled': true,\n }),\n }\n\n // We know 'aria-label' is included in props\n type WithAriaLabel = Omit<typeof apiProps, 'aria-label'> & { 'aria-label': string }\n\n const mergedProps = mergeProps(\n apiProps,\n localProps as unknown as typeof apiProps\n ) as WithAriaLabel\n\n const content = children || (\n <Icon>\n <ArrowVerticalRight />\n </Icon>\n )\n\n return (\n <li>\n {href ? (\n <IconButton ref={ref} {...mergedProps} asChild>\n <a href={shouldDisableLink ? undefined : href}>{content}</a>\n </IconButton>\n ) : (\n <IconButton ref={ref} {...mergedProps}>\n {content}\n </IconButton>\n )}\n </li>\n )\n}\n\nNextTrigger.displayName = 'Pagination.NextTrigger'\n","import * as pagination from '@zag-js/pagination'\nimport { ReactNode } from 'react'\n\nimport { usePagination } from './PaginationContext'\n\n// Extract the 'page' type element from the pagination API's 'pages' array.\ntype PageItem = Extract<pagination.Api['pages'][number], { type: 'page' }>\n\n// Define a type that conditionally tweaks the pagination API\n// based on the generic T parameter.\ntype TweakedPaginationApi<T extends 'noEllipsis' | ''> = Omit<pagination.Api, 'pages'> & {\n pages: T extends 'noEllipsis' ? PageItem[] : pagination.Api['pages']\n}\n\ninterface PagesProps<T extends 'noEllipsis' | ''> {\n children: (pagination: TweakedPaginationApi<T>) => ReactNode\n}\n\nexport const Pages = <T extends 'noEllipsis' | '' = ''>({ children }: PagesProps<T>) => {\n const { pagination } = usePagination()\n\n return children(pagination as TweakedPaginationApi<T>)\n}\n\nPages.displayName = 'Pagination.Pages'\n","import { ArrowVerticalLeft } from '@spark-ui/icons/ArrowVerticalLeft'\nimport { mergeProps } from '@zag-js/react'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nimport { Icon } from '../icon'\nimport { IconButton } from '../icon-button'\nimport { usePagination } from './PaginationContext'\n\ninterface AnchorProps extends ComponentPropsWithoutRef<'a'> {\n href: string\n}\n\ninterface ButtonProps extends ComponentPropsWithoutRef<'button'> {\n href?: undefined\n}\nexport type PrevTriggerProps = Omit<AnchorProps | ButtonProps, 'aria-label'> & {\n 'aria-label': string\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const PrevTrigger = ({ children, className, href, ref, ...props }: PrevTriggerProps) => {\n const { pagination, type } = usePagination()\n\n // ZagJS props\n const apiProps = pagination.getPrevTriggerProps()\n\n const shouldDisableLink =\n type === 'link' &&\n (apiProps as typeof apiProps & { 'data-disabled'?: string })['data-disabled'] === ''\n\n // Locally managed props\n const localProps = {\n 'data-spark-component': 'pagination-prev-trigger',\n intent: 'support',\n design: 'ghost',\n ...props,\n className,\n ...(shouldDisableLink && {\n disabled: true,\n role: 'link',\n 'aria-disabled': true,\n }),\n }\n\n // We know 'aria-label' is included in props\n type WithAriaLabel = Omit<typeof apiProps, 'aria-label'> & { 'aria-label': string }\n\n const mergedProps = mergeProps(\n apiProps,\n localProps as unknown as typeof apiProps\n ) as WithAriaLabel\n\n const content = children || (\n <Icon>\n <ArrowVerticalLeft />\n </Icon>\n )\n\n return (\n <li>\n {href ? (\n <IconButton ref={ref} {...mergedProps} asChild>\n <a href={shouldDisableLink ? undefined : href}>{content}</a>\n </IconButton>\n ) : (\n <IconButton ref={ref} {...mergedProps}>\n {content}\n </IconButton>\n )}\n </li>\n )\n}\n\nPrevTrigger.displayName = 'Pagination.PrevTrigger'\n","import type { FC } from 'react'\n\nimport { Pagination as Root, type PaginationProps } from './Pagination'\nimport { Ellipsis } from './PaginationEllipsis'\nimport { FirstPageTrigger } from './PaginationFirstPageTrigger'\nimport { Item } from './PaginationItem'\nimport { LastPageTrigger } from './PaginationLastPageTrigger'\nimport { NextTrigger } from './PaginationNextTrigger'\nimport { Pages } from './PaginationPages'\nimport { PrevTrigger } from './PaginationPrevTrigger'\n\nexport const Pagination: FC<PaginationProps> & {\n PrevTrigger: typeof PrevTrigger\n NextTrigger: typeof NextTrigger\n Pages: typeof Pages\n Item: typeof Item\n Ellipsis: typeof Ellipsis\n FirstPageTrigger: typeof FirstPageTrigger\n LastPageTrigger: typeof LastPageTrigger\n} = Object.assign(Root, {\n PrevTrigger,\n NextTrigger,\n Pages,\n Item,\n Ellipsis,\n FirstPageTrigger,\n LastPageTrigger,\n})\n\nPagination.displayName = 'Pagination'\n\nPrevTrigger.displayName = 'Pagination.PrevTrigger'\nNextTrigger.displayName = 'Pagination.NextTrigger'\nPages.displayName = 'Pagination.Pages'\nItem.displayName = 'Pagination.Item'\nEllipsis.displayName = 'Pagination.Ellipsis'\nFirstPageTrigger.displayName = 'Pagination.FirstPageTrigger'\nLastPageTrigger.displayName = 'Pagination.LastPageTrigger'\n"],"mappings":"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","names":["jsx","pagination","jsx","pagination","mergeProps","jsx","pagination","mergeProps","mergeProps","jsx","pagination","mergeProps","mergeProps","jsx","pagination","mergeProps","mergeProps","jsx","pagination","mergeProps","pagination","mergeProps","jsx","pagination","mergeProps","Pagination"]}