@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
1 lines • 2.46 kB
Source Map (JSON)
{"version":3,"file":"PaginationControl.cjs","names":["factory","useProps","usePaginationContext","UnstyledButton","classes"],"sources":["../../../../src/components/Pagination/PaginationControl/PaginationControl.tsx"],"sourcesContent":["import {\n BoxProps,\n CompoundStylesApiProps,\n ElementProps,\n factory,\n Factory,\n useProps,\n} from '../../../core';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport { usePaginationContext } from '../Pagination.context';\nimport classes from '../Pagination.module.css';\n\nexport type PaginationControlStylesNames = 'control';\n\nexport interface PaginationControlProps\n extends BoxProps, CompoundStylesApiProps<PaginationControlFactory>, ElementProps<'button'> {\n /** Applies active styles, adds `data-active` attribute */\n active?: boolean;\n\n /** Applies padding @default true */\n withPadding?: boolean;\n}\n\nexport type PaginationControlFactory = Factory<{\n props: PaginationControlProps;\n ref: HTMLButtonElement;\n stylesNames: PaginationControlStylesNames;\n compound: true;\n}>;\n\nconst defaultProps = {\n withPadding: true,\n} satisfies Partial<PaginationControlProps>;\n\nexport const PaginationControl = factory<PaginationControlFactory>((_props) => {\n const props = useProps('PaginationControl', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n vars,\n active,\n disabled,\n withPadding,\n mod,\n ...others\n } = props;\n\n const ctx = usePaginationContext();\n const _disabled = disabled || ctx.disabled;\n\n return (\n <UnstyledButton\n disabled={_disabled}\n mod={[{ active, disabled: _disabled, 'with-padding': withPadding }, mod]}\n {...ctx.getStyles('control', { className, style, classNames, styles, active: !_disabled })}\n {...others}\n />\n );\n});\n\nPaginationControl.classes = classes;\nPaginationControl.displayName = '@mantine/core/PaginationControl';\n"],"mappings":";;;;;;;;;AA8BA,MAAM,eAAe,EACnB,aAAa,MACd;AAED,MAAa,oBAAoBA,gBAAAA,SAAmC,WAAW;CAE7E,MAAM,EACJ,YACA,WACA,OACA,QACA,MACA,QACA,UACA,aACA,KACA,GAAG,WAXSC,kBAAAA,SAAS,qBAAqB,cAAc,OAAO;CAcjE,MAAM,MAAMC,2BAAAA,sBAAsB;CAClC,MAAM,YAAY,YAAY,IAAI;AAElC,QACE,iBAAA,GAAA,kBAAA,KAACC,uBAAAA,gBAAD;EACE,UAAU;EACV,KAAK,CAAC;GAAE;GAAQ,UAAU;GAAW,gBAAgB;GAAa,EAAE,IAAI;EACxE,GAAI,IAAI,UAAU,WAAW;GAAE;GAAW;GAAO;GAAY;GAAQ,QAAQ,CAAC;GAAW,CAAC;EAC1F,GAAI;EACJ,CAAA;EAEJ;AAEF,kBAAkB,UAAUC,0BAAAA;AAC5B,kBAAkB,cAAc"}