UNPKG

@kubit-ui-web/react-components

Version:

Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience

20 lines 2.97 kB
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime"; import React from 'react'; import { ArrowControlStandAlone } from './components/arrowControlStandAlone'; import { ButtonControlStandAlone } from './components/buttonControlStandAlone'; import { isIElementOrIcon } from './helper/controlType'; import { DotsWrapper, LeftArrowControlWrapperStyled, PageControlContainer, PageControlDot, RightArrowControlWrapperStyled, } from './pageControl.styled'; import { PageControlState } from './types/pageControlStates'; const PageControlStandAloneComponent = ({ dataTestId = 'page-control', ...props }, ref) => { return (_jsx(PageControlContainer, { ref: ref, "data-testid": dataTestId, styles: props.styles, children: props.dots > 0 && (_jsxs(_Fragment, { children: [props.leftControl && !isIElementOrIcon(props.leftControl) && (_jsx(ButtonControlStandAlone, { ...props.leftControl, buttonControlStyles: props.styles.leftButtonControl, dataTestId: `${dataTestId}-left-control` })), ((props.arrowsControlStyles && isIElementOrIcon(props.leftControl)) || (props.arrowsControlStyles && props.leftArrowControl)) && (_jsx(LeftArrowControlWrapperStyled, { arrowsControlStyles: props.arrowsControlStyles, children: _jsx(ArrowControlStandAlone, { arrowsControlStyles: props.arrowsControlStyles, ...props.leftControl, ...props.leftArrowControl }) })), _jsxs(DotsWrapper, { styles: props.styles, children: [props.styles.isBullet && props.firstVisiblePosition > 0 ? (_jsx(PageControlDot, { state: PageControlState.LAST, styles: props.styles })) : null, [...Array(props.dots)].map((_, _index) => { const index = _index + props.firstVisiblePosition; const state = index === props.currentPosition ? PageControlState.CURRENT : PageControlState.DEFAULT; return (_jsx(PageControlDot, { state: state, styles: props.styles }, `Dot-middle--${index}`)); }), props.styles.isBullet && props.lastVisiblePosition < props.pages - 1 && (_jsx(PageControlDot, { state: PageControlState.LAST, styles: props.styles }))] }), props.rightControl && !isIElementOrIcon(props.rightControl) && (_jsx(ButtonControlStandAlone, { ...props.rightControl, buttonControlStyles: props.styles.rightButtonControl, dataTestId: `${dataTestId}-right-control` })), ((props.arrowsControlStyles && isIElementOrIcon(props.rightControl)) || (props.arrowsControlStyles && props.rightArrowControl)) && (_jsx(RightArrowControlWrapperStyled, { arrowsControlStyles: props.arrowsControlStyles, children: _jsx(ArrowControlStandAlone, { arrowsControlStyles: props.arrowsControlStyles, ...props.rightControl, ...props.rightArrowControl }) }))] })) })); }; export const PageControlStandAlone = React.forwardRef(PageControlStandAloneComponent); //# sourceMappingURL=pageControlStandAlone.js.map