@laerdal/life-react-components 5.1.0 → 5.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -35,7 +35,7 @@ const Step = _ref => {
|
|
|
35
35
|
} = _ref;
|
|
36
36
|
const navigateHook = (0, _reactRouter.useNavigate)();
|
|
37
37
|
const handleButtonClick = () => {
|
|
38
|
-
onPageChange && !onPageChange(page)
|
|
38
|
+
if (!onPageChange || onPageChange && !onPageChange(page)) navigateHook(target);
|
|
39
39
|
};
|
|
40
40
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
|
|
41
41
|
id: id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paginator.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_reactRouterDom","_styles","_icons","_reactRouter","_Button","_jsxRuntime","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Container","styled","nav","_taggedTemplateLiteral2","BREAKPOINTS","MEDIUM","Items","ul","Item","li","props","ComponentMStyling","ComponentTextStyle","Regular","COLORS","getColor","theme","focusStyles","Z_INDEXES","hover","active","Dots","ItemContent","Step","_ref","up","target","disabled","page","onPageChange","id","navigateHook","useNavigate","handleButtonClick","jsx","IconButton","action","event","variant","shape","children","SystemIcons","ChevronRight","ChevronLeft","Paginator","_ref2","pageCount","currentPage","baseUrl","pages","from","to","push","jsxs","concat","findIndex","item","NavLink","onClick","preventDefault","className","map","propTypes","_propTypes","number","isRequired","string","func","_default","exports"],"sources":["../../src/Paginator/Paginator.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {NavLink} from 'react-router-dom';\r\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\nimport {SystemIcons} from '../icons';\r\nimport {ComponentMStyling} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport { useNavigate } from 'react-router';\r\nimport {IconButton} from '../Button';\r\n\r\nconst Container = styled.nav`\r\n margin: 20px 0;\r\n display: flex;\r\n justify-content: center;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 75%;\r\n }\r\n`;\r\n\r\nconst Items = styled.ul`\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n display: flex;\r\n`;\r\n\r\nconst Item = styled.li`\r\n width: 48px;\r\n height: 48px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n & > * {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n text-decoration: none;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_600', props.theme))}\r\n\r\n &:focus,\r\n &:focus-within {\r\n ${focusStyles}\r\n }\r\n }\r\n & > a:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n & > a:active {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n & > a.active {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.getColor('neutral_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n cursor: default;\r\n &:hover {\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n &:active {\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nconst Dots = styled(Item)`\r\n cursor: not-allowed;\r\n &:after{\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_600', props.theme))}\r\n content: '...';\r\n }\r\n`;\r\n\r\nconst ItemContent = styled('div')`\r\n text-align:center;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n \r\n &.active:after{\r\n content: '';\r\n position: absolute;\r\n bottom: 4px;\r\n width: 32px;\r\n border-radius: 4px;\r\n height: 4px;\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)}\r\n }\r\n &.active:hover:after{\r\n background-color: ${props => COLORS.getColor('primary_700', props.theme)}\r\n }\r\n &.active:active:after{\r\n background-color: ${props => COLORS.getColor('primary_800', props.theme)}\r\n }\r\n`\r\n\r\nexport interface PaginatorProps {\r\n /**\r\n * Required. The total number of pages.\r\n */\r\n pageCount: number;\r\n\r\n /**\r\n * Required. The current active page.\r\n */\r\n currentPage: number;\r\n\r\n /**\r\n * Required. The base URL to which the page number will be appended.\r\n */\r\n baseUrl: string;\r\n\r\n /**\r\n * Optional. A callback function that will be called when the page changes.\r\n * It receives the new page number as its argument.\r\n * If the function returns false, the page change will be prevented.\r\n */\r\n onPageChange?: (page: number) => boolean | void;\r\n};\r\n\r\nconst Step = ({\r\n up = true,\r\n target = '',\r\n disabled = false,\r\n page,\r\n onPageChange,\r\n id,\r\n}: {\r\n up: boolean;\r\n target: string;\r\n disabled: boolean;\r\n page: number;\r\n onPageChange?: (page: number) => void | boolean;\r\n id?: string;\r\n}) => {\r\n const navigateHook = useNavigate();\r\n\r\n const handleButtonClick = () => {\r\n onPageChange && !onPageChange(page) && navigateHook(target);\r\n }\r\n\r\n return (\r\n <IconButton id={id}\r\n action={event => handleButtonClick()}\r\n variant={'secondary'}\r\n shape={'circular'}\r\n disabled={disabled}>\r\n {up ? <SystemIcons.ChevronRight/> : <SystemIcons.ChevronLeft/>}\r\n </IconButton>\r\n )\r\n};\r\n\r\nconst Paginator = ({ pageCount = 1, currentPage = 1, baseUrl = '', onPageChange }: PaginatorProps) => {\r\n const pages = [];\r\n let from = 2;\r\n let to = 4;\r\n if (pageCount === 0) return null;\r\n\r\n if (pageCount > 1) {\r\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\r\n from = currentPage - 1;\r\n to = currentPage + 1;\r\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\r\n from = pageCount - 3;\r\n to = pageCount - 1;\r\n }\r\n if (to > pageCount) {\r\n to = pageCount;\r\n }\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n }\r\n\r\n return (\r\n <Container>\r\n <Items>\r\n <Step up={false}\r\n target={`${baseUrl}/${currentPage - 1}`}\r\n page={currentPage - 1}\r\n disabled={currentPage === 1}\r\n onPageChange={onPageChange}\r\n id=\"paginator-left\"/>\r\n {pages.findIndex(item => item === 1) === -1 && (\r\n <Item>\r\n <NavLink\r\n to={`${baseUrl}/1`}\r\n onClick={(e) => {\r\n onPageChange && onPageChange(1) && e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === 1 ? 'active' : ''}>\r\n <span>1</span>\r\n </ItemContent>\r\n </NavLink>\r\n </Item>\r\n )}\r\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\r\n <Dots/>\r\n )}\r\n {pages.map(page => (\r\n <Item key={page}>\r\n <NavLink\r\n to={`${baseUrl}/${page}`}\r\n onClick={(e) => {\r\n onPageChange && onPageChange(page) && e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === page ? 'active' : ''}>\r\n <span>{page}</span>\r\n </ItemContent>\r\n </NavLink>\r\n </Item>\r\n ))}\r\n {pageCount > 5 && currentPage <= pageCount - 3 && (\r\n <Dots/>\r\n )}\r\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\r\n <Item>\r\n <NavLink\r\n to={`${baseUrl}/${pageCount}`}\r\n onClick={(e) => {\r\n onPageChange && onPageChange(pageCount) && e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === pageCount ? 'active' : ''}>\r\n <span>{pageCount}</span>\r\n </ItemContent>\r\n </NavLink>\r\n </Item>\r\n )}\r\n <Step up\r\n target={`${baseUrl}/${currentPage + 1}`}\r\n page={currentPage + 1}\r\n disabled={currentPage === pageCount}\r\n onPageChange={onPageChange}\r\n id=\"paginator-right\"/>\r\n </Items>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default Paginator;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Paginator.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_reactRouterDom","_styles","_icons","_reactRouter","_Button","_jsxRuntime","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Container","styled","nav","_taggedTemplateLiteral2","BREAKPOINTS","MEDIUM","Items","ul","Item","li","props","ComponentMStyling","ComponentTextStyle","Regular","COLORS","getColor","theme","focusStyles","Z_INDEXES","hover","active","Dots","ItemContent","Step","_ref","up","target","disabled","page","onPageChange","id","navigateHook","useNavigate","handleButtonClick","jsx","IconButton","action","event","variant","shape","children","SystemIcons","ChevronRight","ChevronLeft","Paginator","_ref2","pageCount","currentPage","baseUrl","pages","from","to","push","jsxs","concat","findIndex","item","NavLink","onClick","preventDefault","className","map","propTypes","_propTypes","number","isRequired","string","func","_default","exports"],"sources":["../../src/Paginator/Paginator.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {NavLink} from 'react-router-dom';\r\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\nimport {SystemIcons} from '../icons';\r\nimport {ComponentMStyling} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport { useNavigate } from 'react-router';\r\nimport {IconButton} from '../Button';\r\n\r\nconst Container = styled.nav`\r\n margin: 20px 0;\r\n display: flex;\r\n justify-content: center;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 75%;\r\n }\r\n`;\r\n\r\nconst Items = styled.ul`\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n display: flex;\r\n`;\r\n\r\nconst Item = styled.li`\r\n width: 48px;\r\n height: 48px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n & > * {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n text-decoration: none;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_600', props.theme))}\r\n\r\n &:focus,\r\n &:focus-within {\r\n ${focusStyles}\r\n }\r\n }\r\n & > a:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n & > a:active {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n & > a.active {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.getColor('neutral_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n cursor: default;\r\n &:hover {\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n &:active {\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nconst Dots = styled(Item)`\r\n cursor: not-allowed;\r\n &:after{\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_600', props.theme))}\r\n content: '...';\r\n }\r\n`;\r\n\r\nconst ItemContent = styled('div')`\r\n text-align:center;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n \r\n &.active:after{\r\n content: '';\r\n position: absolute;\r\n bottom: 4px;\r\n width: 32px;\r\n border-radius: 4px;\r\n height: 4px;\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)}\r\n }\r\n &.active:hover:after{\r\n background-color: ${props => COLORS.getColor('primary_700', props.theme)}\r\n }\r\n &.active:active:after{\r\n background-color: ${props => COLORS.getColor('primary_800', props.theme)}\r\n }\r\n`\r\n\r\nexport interface PaginatorProps {\r\n /**\r\n * Required. The total number of pages.\r\n */\r\n pageCount: number;\r\n\r\n /**\r\n * Required. The current active page.\r\n */\r\n currentPage: number;\r\n\r\n /**\r\n * Required. The base URL to which the page number will be appended.\r\n */\r\n baseUrl: string;\r\n\r\n /**\r\n * Optional. A callback function that will be called when the page changes.\r\n * It receives the new page number as its argument.\r\n * If the function returns false, the page change will be prevented.\r\n */\r\n onPageChange?: (page: number) => boolean | void;\r\n};\r\n\r\nconst Step = ({\r\n up = true,\r\n target = '',\r\n disabled = false,\r\n page,\r\n onPageChange,\r\n id,\r\n}: {\r\n up: boolean;\r\n target: string;\r\n disabled: boolean;\r\n page: number;\r\n onPageChange?: (page: number) => void | boolean;\r\n id?: string;\r\n}) => {\r\n const navigateHook = useNavigate();\r\n\r\n const handleButtonClick = () => {\r\n if(!onPageChange || (onPageChange && !onPageChange(page)))\r\n navigateHook(target);\r\n }\r\n\r\n return (\r\n <IconButton id={id}\r\n action={event => handleButtonClick()}\r\n variant={'secondary'}\r\n shape={'circular'}\r\n disabled={disabled}>\r\n {up ? <SystemIcons.ChevronRight/> : <SystemIcons.ChevronLeft/>}\r\n </IconButton>\r\n )\r\n};\r\n\r\nconst Paginator = ({ pageCount = 1, currentPage = 1, baseUrl = '', onPageChange }: PaginatorProps) => {\r\n const pages = [];\r\n let from = 2;\r\n let to = 4;\r\n if (pageCount === 0) return null;\r\n\r\n if (pageCount > 1) {\r\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\r\n from = currentPage - 1;\r\n to = currentPage + 1;\r\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\r\n from = pageCount - 3;\r\n to = pageCount - 1;\r\n }\r\n if (to > pageCount) {\r\n to = pageCount;\r\n }\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n }\r\n\r\n return (\r\n <Container>\r\n <Items>\r\n <Step up={false}\r\n target={`${baseUrl}/${currentPage - 1}`}\r\n page={currentPage - 1}\r\n disabled={currentPage === 1}\r\n onPageChange={onPageChange}\r\n id=\"paginator-left\"/>\r\n {pages.findIndex(item => item === 1) === -1 && (\r\n <Item>\r\n <NavLink\r\n to={`${baseUrl}/1`}\r\n onClick={(e) => {\r\n onPageChange && onPageChange(1) && e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === 1 ? 'active' : ''}>\r\n <span>1</span>\r\n </ItemContent>\r\n </NavLink>\r\n </Item>\r\n )}\r\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\r\n <Dots/>\r\n )}\r\n {pages.map(page => (\r\n <Item key={page}>\r\n <NavLink\r\n to={`${baseUrl}/${page}`}\r\n onClick={(e) => {\r\n onPageChange && onPageChange(page) && e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === page ? 'active' : ''}>\r\n <span>{page}</span>\r\n </ItemContent>\r\n </NavLink>\r\n </Item>\r\n ))}\r\n {pageCount > 5 && currentPage <= pageCount - 3 && (\r\n <Dots/>\r\n )}\r\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\r\n <Item>\r\n <NavLink\r\n to={`${baseUrl}/${pageCount}`}\r\n onClick={(e) => {\r\n onPageChange && onPageChange(pageCount) && e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === pageCount ? 'active' : ''}>\r\n <span>{pageCount}</span>\r\n </ItemContent>\r\n </NavLink>\r\n </Item>\r\n )}\r\n <Step up\r\n target={`${baseUrl}/${currentPage + 1}`}\r\n page={currentPage + 1}\r\n disabled={currentPage === pageCount}\r\n onPageChange={onPageChange}\r\n id=\"paginator-right\"/>\r\n </Items>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default Paginator;\r\n"],"mappings":";;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAGA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AAAqC,IAAAQ,WAAA,GAAAR,OAAA;AAAA,IAAAS,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAhB,wBAAAgB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAErC,MAAMW,SAAS,GAAGC,yBAAM,CAACC,GAAG,CAAA3B,eAAA,KAAAA,eAAA,OAAA4B,uBAAA,CAAAjB,OAAA,+GAKxBkB,mBAAW,CAACC,MAAM,CAGrB;AAED,MAAMC,KAAK,GAAGL,yBAAM,CAACM,EAAE,CAAA/B,gBAAA,KAAAA,gBAAA,OAAA2B,uBAAA,CAAAjB,OAAA,+EAKtB;AAED,MAAMsB,IAAI,GAAGP,yBAAM,CAACQ,EAAE,CAAAhC,gBAAA,KAAAA,gBAAA,OAAA0B,uBAAA,CAAAjB,OAAA,6wBAehBwB,KAAK,IAAI,IAAAC,yBAAiB,EAACC,0BAAkB,CAACC,OAAO,EAAEC,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEL,KAAK,CAACM,KAAK,CAAC,CAAC,EAIjGC,mBAAW,EAIJC,iBAAS,CAACC,KAAK,EACjBT,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEL,KAAK,CAACM,KAAK,CAAC,EACzCN,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,YAAY,EAAEL,KAAK,CAACM,KAAK,CAAC,EAG5DE,iBAAS,CAACE,MAAM,EAClBV,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEL,KAAK,CAACM,KAAK,CAAC,EACzCN,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEL,KAAK,CAACM,KAAK,CAAC,EAG7DE,iBAAS,CAACE,MAAM,EAClBV,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEL,KAAK,CAACM,KAAK,CAAC,EACzCN,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,YAAY,EAAEL,KAAK,CAACM,KAAK,CAAC,EAG5DN,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEL,KAAK,CAACM,KAAK,CAAC,EACzCN,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,YAAY,EAAEL,KAAK,CAACM,KAAK,CAAC,EAG9DN,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEL,KAAK,CAACM,KAAK,CAAC,EACzCN,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEL,KAAK,CAACM,KAAK,CAAC,CAG7E;AAED,MAAMK,IAAI,GAAG,IAAApB,yBAAM,EAACO,IAAI,CAAC,CAAA9B,gBAAA,KAAAA,gBAAA,OAAAyB,uBAAA,CAAAjB,OAAA,oFAGnBwB,KAAK,IAAI,IAAAC,yBAAiB,EAACC,0BAAkB,CAACC,OAAO,EAAEC,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEL,KAAK,CAACM,KAAK,CAAC,CAAC,CAGxG;AAED,MAAMM,WAAW,GAAG,IAAArB,yBAAM,EAAC,KAAK,CAAC,CAAAtB,gBAAA,KAAAA,gBAAA,OAAAwB,uBAAA,CAAAjB,OAAA,ucAgBTwB,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEL,KAAK,CAACM,KAAK,CAAC,EAGpDN,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEL,KAAK,CAACM,KAAK,CAAC,EAGpDN,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEL,KAAK,CAACM,KAAK,CAAC,CAE3E;AAwBA;AAED,MAAMO,IAAI,GAAGC,IAAA,IAcP;EAAA,IAdQ;IACZC,EAAE,GAAG,IAAI;IACTC,MAAM,GAAG,EAAE;IACXC,QAAQ,GAAG,KAAK;IAChBC,IAAI;IACJC,YAAY;IACZC;EAQF,CAAC,GAAAN,IAAA;EACC,MAAMO,YAAY,GAAG,IAAAC,wBAAW,EAAC,CAAC;EAElC,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;IAC9B,IAAG,CAACJ,YAAY,IAAKA,YAAY,IAAI,CAACA,YAAY,CAACD,IAAI,CAAE,EACvDG,YAAY,CAACL,MAAM,CAAC;EACxB,CAAC;EAED,oBACE,IAAApD,WAAA,CAAA4D,GAAA,EAAC7D,OAAA,CAAA8D,UAAU;IAACL,EAAE,EAAEA,EAAG;IACPM,MAAM,EAAEC,KAAK,IAAIJ,iBAAiB,CAAC,CAAE;IACrCK,OAAO,EAAE,WAAY;IACrBC,KAAK,EAAE,UAAW;IAClBZ,QAAQ,EAAEA,QAAS;IAAAa,QAAA,EAC5Bf,EAAE,gBAAG,IAAAnD,WAAA,CAAA4D,GAAA,EAAC/D,MAAA,CAAAsE,WAAW,CAACC,YAAY,IAAC,CAAC,gBAAG,IAAApE,WAAA,CAAA4D,GAAA,EAAC/D,MAAA,CAAAsE,WAAW,CAACE,WAAW,IAAC;EAAC,CACpD,CAAC;AAEjB,CAAC;AAED,MAAMC,SAAS,GAAGC,KAAA,IAAoF;EAAA,IAAnF;IAAEC,SAAS,GAAG,CAAC;IAAEC,WAAW,GAAG,CAAC;IAAEC,OAAO,GAAG,EAAE;IAAEnB;EAA6B,CAAC,GAAAgB,KAAA;EAC/F,MAAMI,KAAK,GAAG,EAAE;EAChB,IAAIC,IAAI,GAAG,CAAC;EACZ,IAAIC,EAAE,GAAG,CAAC;EACV,IAAIL,SAAS,KAAK,CAAC,EAAE,OAAO,IAAI;EAEhC,IAAIA,SAAS,GAAG,CAAC,EAAE;IACjB,IAAIC,WAAW,IAAI,CAAC,IAAIA,WAAW,IAAID,SAAS,GAAG,CAAC,EAAE;MACpDI,IAAI,GAAGH,WAAW,GAAG,CAAC;MACtBI,EAAE,GAAGJ,WAAW,GAAG,CAAC;IACtB,CAAC,MAAM,IAAID,SAAS,GAAG,CAAC,GAAG,CAAC,IAAIC,WAAW,GAAGD,SAAS,GAAG,CAAC,EAAE;MAC3DI,IAAI,GAAGJ,SAAS,GAAG,CAAC;MACpBK,EAAE,GAAGL,SAAS,GAAG,CAAC;IACpB;IACA,IAAIK,EAAE,GAAGL,SAAS,EAAE;MAClBK,EAAE,GAAGL,SAAS;IAChB;IACA,KAAK,IAAIhD,CAAC,GAAGoD,IAAI,EAAEpD,CAAC,IAAIqD,EAAE,EAAErD,CAAC,IAAI,CAAC,EAAE;MAClCmD,KAAK,CAACG,IAAI,CAACtD,CAAC,CAAC;IACf;EACF;EAEA,oBACE,IAAAxB,WAAA,CAAA4D,GAAA,EAAClC,SAAS;IAAAwC,QAAA,eACR,IAAAlE,WAAA,CAAA+E,IAAA,EAAC/C,KAAK;MAAAkC,QAAA,gBACJ,IAAAlE,WAAA,CAAA4D,GAAA,EAACX,IAAI;QAACE,EAAE,EAAE,KAAM;QACVC,MAAM,KAAA4B,MAAA,CAAKN,OAAO,OAAAM,MAAA,CAAIP,WAAW,GAAG,CAAC,CAAG;QACxCnB,IAAI,EAAEmB,WAAW,GAAG,CAAE;QACtBpB,QAAQ,EAAEoB,WAAW,KAAK,CAAE;QAC5BlB,YAAY,EAAEA,YAAa;QAC3BC,EAAE,EAAC;MAAgB,CAAC,CAAC,EAC1BmB,KAAK,CAACM,SAAS,CAACC,IAAI,IAAIA,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,iBACzC,IAAAlF,WAAA,CAAA4D,GAAA,EAAC1B,IAAI;QAAAgC,QAAA,eACH,IAAAlE,WAAA,CAAA4D,GAAA,EAACjE,eAAA,CAAAwF,OAAO;UACNN,EAAE,KAAAG,MAAA,CAAKN,OAAO,OAAK;UACnBU,OAAO,EAAG7E,CAAC,IAAK;YACdgD,YAAY,IAAIA,YAAY,CAAC,CAAC,CAAC,IAAIhD,CAAC,CAAC8E,cAAc,CAAC,CAAC;UACvD,CAAE;UAAAnB,QAAA,eACA,IAAAlE,WAAA,CAAA4D,GAAA,EAACZ,WAAW;YAACsC,SAAS,EAAEb,WAAW,KAAK,CAAC,GAAG,QAAQ,GAAG,EAAG;YAAAP,QAAA,eACzD,IAAAlE,WAAA,CAAA4D,GAAA;cAAAM,QAAA,EAAM;YAAC,CAAM;UAAC,CACF;QAAC,CACT;MAAC,CACN,CACP,EACAO,WAAW,IAAI,CAAC,IAAID,SAAS,GAAG,CAAC,IAAIA,SAAS,IAAIG,KAAK,CAACM,SAAS,CAACC,IAAI,IAAIA,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,iBAC3F,IAAAlF,WAAA,CAAA4D,GAAA,EAACb,IAAI,IAAC,CACP,EACA4B,KAAK,CAACY,GAAG,CAACjC,IAAI,iBACb,IAAAtD,WAAA,CAAA4D,GAAA,EAAC1B,IAAI;QAAAgC,QAAA,eACH,IAAAlE,WAAA,CAAA4D,GAAA,EAACjE,eAAA,CAAAwF,OAAO;UACNN,EAAE,KAAAG,MAAA,CAAKN,OAAO,OAAAM,MAAA,CAAI1B,IAAI,CAAG;UACzB8B,OAAO,EAAG7E,CAAC,IAAK;YACdgD,YAAY,IAAIA,YAAY,CAACD,IAAI,CAAC,IAAI/C,CAAC,CAAC8E,cAAc,CAAC,CAAC;UAC1D,CAAE;UAAAnB,QAAA,eACA,IAAAlE,WAAA,CAAA4D,GAAA,EAACZ,WAAW;YAACsC,SAAS,EAAEb,WAAW,KAAKnB,IAAI,GAAG,QAAQ,GAAG,EAAG;YAAAY,QAAA,eAC5D,IAAAlE,WAAA,CAAA4D,GAAA;cAAAM,QAAA,EAAOZ;YAAI,CAAO;UAAC,CACP;QAAC,CACT;MAAC,GATDA,IAUL,CACP,CAAC,EACDkB,SAAS,GAAG,CAAC,IAAIC,WAAW,IAAID,SAAS,GAAG,CAAC,iBAC5C,IAAAxE,WAAA,CAAA4D,GAAA,EAACb,IAAI,IAAC,CACP,EACA4B,KAAK,CAACM,SAAS,CAACC,IAAI,IAAIA,IAAI,KAAKV,SAAS,CAAC,KAAK,CAAC,CAAC,IAAIA,SAAS,KAAK,CAAC,iBACpE,IAAAxE,WAAA,CAAA4D,GAAA,EAAC1B,IAAI;QAAAgC,QAAA,eACH,IAAAlE,WAAA,CAAA4D,GAAA,EAACjE,eAAA,CAAAwF,OAAO;UACNN,EAAE,KAAAG,MAAA,CAAKN,OAAO,OAAAM,MAAA,CAAIR,SAAS,CAAG;UAC9BY,OAAO,EAAG7E,CAAC,IAAK;YACdgD,YAAY,IAAIA,YAAY,CAACiB,SAAS,CAAC,IAAIjE,CAAC,CAAC8E,cAAc,CAAC,CAAC;UAC/D,CAAE;UAAAnB,QAAA,eACA,IAAAlE,WAAA,CAAA4D,GAAA,EAACZ,WAAW;YAACsC,SAAS,EAAEb,WAAW,KAAKD,SAAS,GAAG,QAAQ,GAAG,EAAG;YAAAN,QAAA,eACjE,IAAAlE,WAAA,CAAA4D,GAAA;cAAAM,QAAA,EAAOM;YAAS,CAAO;UAAC,CACZ;QAAC,CACT;MAAC,CACN,CACP,eACD,IAAAxE,WAAA,CAAA4D,GAAA,EAACX,IAAI;QAACE,EAAE;QACFC,MAAM,KAAA4B,MAAA,CAAKN,OAAO,OAAAM,MAAA,CAAIP,WAAW,GAAG,CAAC,CAAG;QACxCnB,IAAI,EAAEmB,WAAW,GAAG,CAAE;QACtBpB,QAAQ,EAAEoB,WAAW,KAAKD,SAAU;QACpCjB,YAAY,EAAEA,YAAa;QAC3BC,EAAE,EAAC;MAAiB,CAAC,CAAC;IAAA,CACvB;EAAC,CACC,CAAC;AAEhB,CAAC;AAACc,SAAA,CAAAkB,SAAA;EA1IAhB,SAAS,EAAAiB,UAAA,CAAA7E,OAAA,CAAA8E,MAAA,CAAAC,UAAA;EAKTlB,WAAW,EAAAgB,UAAA,CAAA7E,OAAA,CAAA8E,MAAA,CAAAC,UAAA;EAKXjB,OAAO,EAAAe,UAAA,CAAA7E,OAAA,CAAAgF,MAAA,CAAAD,UAAA;EAOPpC,YAAY,EAAAkC,UAAA,CAAA7E,OAAA,CAAAiF;AAAA;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAnF,OAAA,GA2HC0D,SAAS","ignoreList":[]}
|
|
@@ -28,7 +28,7 @@ const Step = _ref => {
|
|
|
28
28
|
} = _ref;
|
|
29
29
|
const navigateHook = useNavigate();
|
|
30
30
|
const handleButtonClick = () => {
|
|
31
|
-
onPageChange && !onPageChange(page)
|
|
31
|
+
if (!onPageChange || onPageChange && !onPageChange(page)) navigateHook(target);
|
|
32
32
|
};
|
|
33
33
|
return /*#__PURE__*/_jsx(IconButton, {
|
|
34
34
|
id: id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paginator.js","names":["React","styled","NavLink","BREAKPOINTS","COLORS","ComponentTextStyle","focusStyles","SystemIcons","ComponentMStyling","Z_INDEXES","useNavigate","IconButton","jsx","_jsx","jsxs","_jsxs","Container","nav","_templateObject","_taggedTemplateLiteral","MEDIUM","Items","ul","_templateObject2","Item","li","_templateObject3","props","Regular","getColor","theme","hover","active","Dots","_templateObject4","ItemContent","_templateObject5","Step","_ref","up","target","disabled","page","onPageChange","id","navigateHook","handleButtonClick","action","event","variant","shape","children","ChevronRight","ChevronLeft","Paginator","_ref2","pageCount","currentPage","baseUrl","pages","from","to","i","push","concat","findIndex","item","onClick","e","preventDefault","className","map","propTypes","_pt","number","isRequired","string","func"],"sources":["../../src/Paginator/Paginator.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {NavLink} from 'react-router-dom';\r\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\nimport {SystemIcons} from '../icons';\r\nimport {ComponentMStyling} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport { useNavigate } from 'react-router';\r\nimport {IconButton} from '../Button';\r\n\r\nconst Container = styled.nav`\r\n margin: 20px 0;\r\n display: flex;\r\n justify-content: center;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 75%;\r\n }\r\n`;\r\n\r\nconst Items = styled.ul`\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n display: flex;\r\n`;\r\n\r\nconst Item = styled.li`\r\n width: 48px;\r\n height: 48px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n & > * {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n text-decoration: none;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_600', props.theme))}\r\n\r\n &:focus,\r\n &:focus-within {\r\n ${focusStyles}\r\n }\r\n }\r\n & > a:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n & > a:active {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n & > a.active {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.getColor('neutral_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n cursor: default;\r\n &:hover {\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n &:active {\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nconst Dots = styled(Item)`\r\n cursor: not-allowed;\r\n &:after{\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_600', props.theme))}\r\n content: '...';\r\n }\r\n`;\r\n\r\nconst ItemContent = styled('div')`\r\n text-align:center;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n \r\n &.active:after{\r\n content: '';\r\n position: absolute;\r\n bottom: 4px;\r\n width: 32px;\r\n border-radius: 4px;\r\n height: 4px;\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)}\r\n }\r\n &.active:hover:after{\r\n background-color: ${props => COLORS.getColor('primary_700', props.theme)}\r\n }\r\n &.active:active:after{\r\n background-color: ${props => COLORS.getColor('primary_800', props.theme)}\r\n }\r\n`\r\n\r\nexport interface PaginatorProps {\r\n /**\r\n * Required. The total number of pages.\r\n */\r\n pageCount: number;\r\n\r\n /**\r\n * Required. The current active page.\r\n */\r\n currentPage: number;\r\n\r\n /**\r\n * Required. The base URL to which the page number will be appended.\r\n */\r\n baseUrl: string;\r\n\r\n /**\r\n * Optional. A callback function that will be called when the page changes.\r\n * It receives the new page number as its argument.\r\n * If the function returns false, the page change will be prevented.\r\n */\r\n onPageChange?: (page: number) => boolean | void;\r\n};\r\n\r\nconst Step = ({\r\n up = true,\r\n target = '',\r\n disabled = false,\r\n page,\r\n onPageChange,\r\n id,\r\n}: {\r\n up: boolean;\r\n target: string;\r\n disabled: boolean;\r\n page: number;\r\n onPageChange?: (page: number) => void | boolean;\r\n id?: string;\r\n}) => {\r\n const navigateHook = useNavigate();\r\n\r\n const handleButtonClick = () => {\r\n onPageChange && !onPageChange(page) && navigateHook(target);\r\n }\r\n\r\n return (\r\n <IconButton id={id}\r\n action={event => handleButtonClick()}\r\n variant={'secondary'}\r\n shape={'circular'}\r\n disabled={disabled}>\r\n {up ? <SystemIcons.ChevronRight/> : <SystemIcons.ChevronLeft/>}\r\n </IconButton>\r\n )\r\n};\r\n\r\nconst Paginator = ({ pageCount = 1, currentPage = 1, baseUrl = '', onPageChange }: PaginatorProps) => {\r\n const pages = [];\r\n let from = 2;\r\n let to = 4;\r\n if (pageCount === 0) return null;\r\n\r\n if (pageCount > 1) {\r\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\r\n from = currentPage - 1;\r\n to = currentPage + 1;\r\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\r\n from = pageCount - 3;\r\n to = pageCount - 1;\r\n }\r\n if (to > pageCount) {\r\n to = pageCount;\r\n }\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n }\r\n\r\n return (\r\n <Container>\r\n <Items>\r\n <Step up={false}\r\n target={`${baseUrl}/${currentPage - 1}`}\r\n page={currentPage - 1}\r\n disabled={currentPage === 1}\r\n onPageChange={onPageChange}\r\n id=\"paginator-left\"/>\r\n {pages.findIndex(item => item === 1) === -1 && (\r\n <Item>\r\n <NavLink\r\n to={`${baseUrl}/1`}\r\n onClick={(e) => {\r\n onPageChange && onPageChange(1) && e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === 1 ? 'active' : ''}>\r\n <span>1</span>\r\n </ItemContent>\r\n </NavLink>\r\n </Item>\r\n )}\r\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\r\n <Dots/>\r\n )}\r\n {pages.map(page => (\r\n <Item key={page}>\r\n <NavLink\r\n to={`${baseUrl}/${page}`}\r\n onClick={(e) => {\r\n onPageChange && onPageChange(page) && e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === page ? 'active' : ''}>\r\n <span>{page}</span>\r\n </ItemContent>\r\n </NavLink>\r\n </Item>\r\n ))}\r\n {pageCount > 5 && currentPage <= pageCount - 3 && (\r\n <Dots/>\r\n )}\r\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\r\n <Item>\r\n <NavLink\r\n to={`${baseUrl}/${pageCount}`}\r\n onClick={(e) => {\r\n onPageChange && onPageChange(pageCount) && e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === pageCount ? 'active' : ''}>\r\n <span>{pageCount}</span>\r\n </ItemContent>\r\n </NavLink>\r\n </Item>\r\n )}\r\n <Step up\r\n target={`${baseUrl}/${currentPage + 1}`}\r\n page={currentPage + 1}\r\n disabled={currentPage === pageCount}\r\n onPageChange={onPageChange}\r\n id=\"paginator-right\"/>\r\n </Items>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default Paginator;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Paginator.js","names":["React","styled","NavLink","BREAKPOINTS","COLORS","ComponentTextStyle","focusStyles","SystemIcons","ComponentMStyling","Z_INDEXES","useNavigate","IconButton","jsx","_jsx","jsxs","_jsxs","Container","nav","_templateObject","_taggedTemplateLiteral","MEDIUM","Items","ul","_templateObject2","Item","li","_templateObject3","props","Regular","getColor","theme","hover","active","Dots","_templateObject4","ItemContent","_templateObject5","Step","_ref","up","target","disabled","page","onPageChange","id","navigateHook","handleButtonClick","action","event","variant","shape","children","ChevronRight","ChevronLeft","Paginator","_ref2","pageCount","currentPage","baseUrl","pages","from","to","i","push","concat","findIndex","item","onClick","e","preventDefault","className","map","propTypes","_pt","number","isRequired","string","func"],"sources":["../../src/Paginator/Paginator.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {NavLink} from 'react-router-dom';\r\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\nimport {SystemIcons} from '../icons';\r\nimport {ComponentMStyling} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport { useNavigate } from 'react-router';\r\nimport {IconButton} from '../Button';\r\n\r\nconst Container = styled.nav`\r\n margin: 20px 0;\r\n display: flex;\r\n justify-content: center;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 75%;\r\n }\r\n`;\r\n\r\nconst Items = styled.ul`\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n display: flex;\r\n`;\r\n\r\nconst Item = styled.li`\r\n width: 48px;\r\n height: 48px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n & > * {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n text-decoration: none;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_600', props.theme))}\r\n\r\n &:focus,\r\n &:focus-within {\r\n ${focusStyles}\r\n }\r\n }\r\n & > a:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n & > a:active {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n & > a.active {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.getColor('neutral_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n cursor: default;\r\n &:hover {\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n &:active {\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nconst Dots = styled(Item)`\r\n cursor: not-allowed;\r\n &:after{\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_600', props.theme))}\r\n content: '...';\r\n }\r\n`;\r\n\r\nconst ItemContent = styled('div')`\r\n text-align:center;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n \r\n &.active:after{\r\n content: '';\r\n position: absolute;\r\n bottom: 4px;\r\n width: 32px;\r\n border-radius: 4px;\r\n height: 4px;\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)}\r\n }\r\n &.active:hover:after{\r\n background-color: ${props => COLORS.getColor('primary_700', props.theme)}\r\n }\r\n &.active:active:after{\r\n background-color: ${props => COLORS.getColor('primary_800', props.theme)}\r\n }\r\n`\r\n\r\nexport interface PaginatorProps {\r\n /**\r\n * Required. The total number of pages.\r\n */\r\n pageCount: number;\r\n\r\n /**\r\n * Required. The current active page.\r\n */\r\n currentPage: number;\r\n\r\n /**\r\n * Required. The base URL to which the page number will be appended.\r\n */\r\n baseUrl: string;\r\n\r\n /**\r\n * Optional. A callback function that will be called when the page changes.\r\n * It receives the new page number as its argument.\r\n * If the function returns false, the page change will be prevented.\r\n */\r\n onPageChange?: (page: number) => boolean | void;\r\n};\r\n\r\nconst Step = ({\r\n up = true,\r\n target = '',\r\n disabled = false,\r\n page,\r\n onPageChange,\r\n id,\r\n}: {\r\n up: boolean;\r\n target: string;\r\n disabled: boolean;\r\n page: number;\r\n onPageChange?: (page: number) => void | boolean;\r\n id?: string;\r\n}) => {\r\n const navigateHook = useNavigate();\r\n\r\n const handleButtonClick = () => {\r\n if(!onPageChange || (onPageChange && !onPageChange(page)))\r\n navigateHook(target);\r\n }\r\n\r\n return (\r\n <IconButton id={id}\r\n action={event => handleButtonClick()}\r\n variant={'secondary'}\r\n shape={'circular'}\r\n disabled={disabled}>\r\n {up ? <SystemIcons.ChevronRight/> : <SystemIcons.ChevronLeft/>}\r\n </IconButton>\r\n )\r\n};\r\n\r\nconst Paginator = ({ pageCount = 1, currentPage = 1, baseUrl = '', onPageChange }: PaginatorProps) => {\r\n const pages = [];\r\n let from = 2;\r\n let to = 4;\r\n if (pageCount === 0) return null;\r\n\r\n if (pageCount > 1) {\r\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\r\n from = currentPage - 1;\r\n to = currentPage + 1;\r\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\r\n from = pageCount - 3;\r\n to = pageCount - 1;\r\n }\r\n if (to > pageCount) {\r\n to = pageCount;\r\n }\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n }\r\n\r\n return (\r\n <Container>\r\n <Items>\r\n <Step up={false}\r\n target={`${baseUrl}/${currentPage - 1}`}\r\n page={currentPage - 1}\r\n disabled={currentPage === 1}\r\n onPageChange={onPageChange}\r\n id=\"paginator-left\"/>\r\n {pages.findIndex(item => item === 1) === -1 && (\r\n <Item>\r\n <NavLink\r\n to={`${baseUrl}/1`}\r\n onClick={(e) => {\r\n onPageChange && onPageChange(1) && e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === 1 ? 'active' : ''}>\r\n <span>1</span>\r\n </ItemContent>\r\n </NavLink>\r\n </Item>\r\n )}\r\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\r\n <Dots/>\r\n )}\r\n {pages.map(page => (\r\n <Item key={page}>\r\n <NavLink\r\n to={`${baseUrl}/${page}`}\r\n onClick={(e) => {\r\n onPageChange && onPageChange(page) && e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === page ? 'active' : ''}>\r\n <span>{page}</span>\r\n </ItemContent>\r\n </NavLink>\r\n </Item>\r\n ))}\r\n {pageCount > 5 && currentPage <= pageCount - 3 && (\r\n <Dots/>\r\n )}\r\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\r\n <Item>\r\n <NavLink\r\n to={`${baseUrl}/${pageCount}`}\r\n onClick={(e) => {\r\n onPageChange && onPageChange(pageCount) && e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === pageCount ? 'active' : ''}>\r\n <span>{pageCount}</span>\r\n </ItemContent>\r\n </NavLink>\r\n </Item>\r\n )}\r\n <Step up\r\n target={`${baseUrl}/${currentPage + 1}`}\r\n page={currentPage + 1}\r\n disabled={currentPage === pageCount}\r\n onPageChange={onPageChange}\r\n id=\"paginator-right\"/>\r\n </Items>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default Paginator;\r\n"],"mappings":"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","ignoreList":[]}
|