@elliemae/ds-pagination 1.61.12 → 1.61.13

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../src/Pagination.tsx"],"sourcesContent":["import React from 'react';\nimport { useMemoMergePropsWithDefault, useValidateTypescriptPropTypes } from '@elliemae/ds-props-helpers';\nimport { describe } from 'react-desc';\nimport { PaginationContent } from './parts/PaginationContent';\nimport { DSPaginationSchema, defaultProps } from './props';\nimport { DSPaginationProps } from './index.d';\n\nconst DSPagination: React.ComponentType<DSPaginationProps> = (props) => {\n const propsWithDefault = useMemoMergePropsWithDefault(props, defaultProps);\n useValidateTypescriptPropTypes(propsWithDefault, DSPaginationWithSchema.toTypescript());\n\n return <PaginationContent {...propsWithDefault} />;\n};\n\nDSPagination.propTypes = DSPaginationSchema;\nconst DSPaginationWithSchema = describe(DSPagination).description('DSPagination');\nDSPaginationWithSchema.propTypes = DSPaginationSchema;\n\nexport { DSPagination, DSPaginationSchema };\n"],"names":["DSPagination","props","propsWithDefault","useMemoMergePropsWithDefault","defaultProps","useValidateTypescriptPropTypes","DSPaginationWithSchema","toTypescript","React","PaginationContent","propTypes","DSPaginationSchema","describe","description"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOMA,YAAoD,GAAG,SAAvDA,YAAuD,CAACC,OAAD,EAAW;AACtE,MAAMC,gBAAgB,GAAGC,2CAA4B,CAACF,OAAD,EAAQG,kBAAR,CAArD;AACAC,EAAAA,6CAA8B,CAACH,gBAAD,EAAmBI,sBAAsB,CAACC,YAAvB,EAAnB,CAA9B;AAEA,sBAAOC,wCAACC,yCAAD,EAAuBP,gBAAvB,CAAP;AACD;;AAEDF,YAAY,CAACU,SAAb,GAAyBC,wBAAzB;AACA,IAAML,sBAAsB,GAAGM,kBAAQ,CAACZ,YAAD,CAAR,CAAuBa,WAAvB,CAAmC,cAAnC,CAA/B;AACAP,sBAAsB,CAACI,SAAvB,GAAmCC,wBAAnC;;;;;"}
1
+ {"version":3,"file":"Pagination.js","sources":["../../src/Pagination.tsx"],"sourcesContent":["import React from 'react';\nimport { useMemoMergePropsWithDefault, useValidateTypescriptPropTypes } from '@elliemae/ds-props-helpers';\nimport { describe } from 'react-desc';\nimport { PaginationContent } from './parts/PaginationContent';\nimport { DSPaginationSchema, defaultProps } from './props';\nimport { DSPaginationProps } from './index.d';\n\nconst DSPagination: React.ComponentType<DSPaginationProps> = (props) => {\n const propsWithDefault = useMemoMergePropsWithDefault(props, defaultProps);\n useValidateTypescriptPropTypes(propsWithDefault, DSPaginationWithSchema.toTypescript());\n\n return <PaginationContent {...propsWithDefault} />;\n};\n\nDSPagination.propTypes = DSPaginationSchema;\nconst DSPaginationWithSchema = describe(DSPagination).description('DSPagination');\nDSPaginationWithSchema.propTypes = DSPaginationSchema;\n\nexport { DSPagination, DSPaginationSchema };\n"],"names":["DSPagination","props","propsWithDefault","useMemoMergePropsWithDefault","defaultProps","useValidateTypescriptPropTypes","DSPaginationWithSchema","toTypescript","React","PaginationContent","propTypes","DSPaginationSchema","describe","description"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOMA,YAAoD,GAAG,SAAvDA,YAAuD,CAACC,OAAD,EAAW;EACtE,IAAMC,gBAAgB,GAAGC,2CAA4B,CAACF,OAAD,EAAQG,kBAAR,CAArD;EACAC,6CAA8B,CAACH,gBAAD,EAAmBI,sBAAsB,CAACC,YAAvB,EAAnB,CAA9B;EAEA,oBAAOC,wCAACC,yCAAD,EAAuBP,gBAAvB,CAAP;AACD;;AAEDF,YAAY,CAACU,SAAb,GAAyBC,wBAAzB;AACA,IAAML,sBAAsB,GAAGM,kBAAQ,CAACZ,YAAD,CAAR,CAAuBa,WAAvB,CAAmC,cAAnC,CAA/B;AACAP,sBAAsB,CAACI,SAAvB,GAAmCC,wBAAnC;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationDataTestID.js","sources":["../../src/PaginationDataTestID.tsx"],"sourcesContent":["export const PAGINATION_DATA_TESTID = {\n PREVIOUS_BUTTON: 'data-table-pagination-prev-button',\n NEXT_BUTTON: 'data-table-pagination-next-button',\n CONTAINER: 'data-table-pagination-container',\n};\n"],"names":["PAGINATION_DATA_TESTID","PREVIOUS_BUTTON","NEXT_BUTTON","CONTAINER"],"mappings":";;;;IAAaA,sBAAsB,GAAG;AACpCC,EAAAA,eAAe,EAAE,mCADmB;AAEpCC,EAAAA,WAAW,EAAE,mCAFuB;AAGpCC,EAAAA,SAAS,EAAE;AAHyB;;;;"}
1
+ {"version":3,"file":"PaginationDataTestID.js","sources":["../../src/PaginationDataTestID.tsx"],"sourcesContent":["export const PAGINATION_DATA_TESTID = {\n PREVIOUS_BUTTON: 'data-table-pagination-prev-button',\n NEXT_BUTTON: 'data-table-pagination-next-button',\n CONTAINER: 'data-table-pagination-container',\n};\n"],"names":["PAGINATION_DATA_TESTID","PREVIOUS_BUTTON","NEXT_BUTTON","CONTAINER"],"mappings":";;;;IAAaA,sBAAsB,GAAG;EACpCC,eAAe,EAAE,mCADmB;EAEpCC,WAAW,EAAE,mCAFuB;EAGpCC,SAAS,EAAE;AAHyB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePaginationSearch.js","sources":["../../../src/hooks/usePaginationSearch.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nexport const usePaginationSearch = (\n pageCount: number,\n actionRef: React.MutableRefObject<any>,\n): React.KeyboardEventHandler => {\n const [searchValue, setSearchValue] = useState('');\n const [shouldResetSearchValue, setShouldResetSearchValue] = useState(true);\n\n const timeoutRef = useRef<NodeJS.Timeout>(null);\n\n useEffect(() => {\n if (searchValue !== '' && Number.parseInt(searchValue, 10) <= pageCount) {\n actionRef.current.setActiveDescendant(searchValue);\n actionRef.current.scrollOptionIntoView(searchValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [searchValue]);\n\n const onKeyDown = useCallback(\n (e) => {\n if (e.code.startsWith('Digit')) {\n if (shouldResetSearchValue) setSearchValue(e.key);\n else setSearchValue((prevValue) => prevValue + e.key);\n\n setShouldResetSearchValue(false);\n clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => {\n setShouldResetSearchValue(true);\n }, 1000);\n }\n },\n [shouldResetSearchValue],\n );\n\n return onKeyDown;\n};\n"],"names":["usePaginationSearch","pageCount","actionRef","useState","searchValue","setSearchValue","shouldResetSearchValue","setShouldResetSearchValue","timeoutRef","useRef","useEffect","Number","parseInt","current","setActiveDescendant","scrollOptionIntoView","onKeyDown","useCallback","e","code","startsWith","key","prevValue","clearTimeout","setTimeout"],"mappings":";;;;;;;;;;;IAEaA,mBAAmB,GAAG,SAAtBA,mBAAsB,CACjCC,SADiC,EAEjCC,SAFiC,EAGF;AAC/B,kBAAsCC,cAAQ,CAAC,EAAD,CAA9C;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AACA,mBAA4DF,cAAQ,CAAC,IAAD,CAApE;AAAA;AAAA,MAAOG,sBAAP;AAAA,MAA+BC,yBAA/B;;AAEA,MAAMC,UAAU,GAAGC,YAAM,CAAiB,IAAjB,CAAzB;AAEAC,EAAAA,eAAS,CAAC,YAAM;AACd,QAAIN,WAAW,KAAK,EAAhB,IAAsBO,MAAM,CAACC,QAAP,CAAgBR,WAAhB,EAA6B,EAA7B,KAAoCH,SAA9D,EAAyE;AACvEC,MAAAA,SAAS,CAACW,OAAV,CAAkBC,mBAAlB,CAAsCV,WAAtC;AACAF,MAAAA,SAAS,CAACW,OAAV,CAAkBE,oBAAlB,CAAuCX,WAAvC;AACD,KAJa;;AAMf,GANQ,EAMN,CAACA,WAAD,CANM,CAAT;AAQA,MAAMY,SAAS,GAAGC,iBAAW,CAC3B,UAACC,CAAD,EAAO;AACL,QAAIA,CAAC,CAACC,IAAF,CAAOC,UAAP,CAAkB,OAAlB,CAAJ,EAAgC;AAC9B,UAAId,sBAAJ,EAA4BD,cAAc,CAACa,CAAC,CAACG,GAAH,CAAd,CAA5B,KACKhB,cAAc,CAAC,UAACiB,SAAD;AAAA,eAAeA,SAAS,GAAGJ,CAAC,CAACG,GAA7B;AAAA,OAAD,CAAd;AAELd,MAAAA,yBAAyB,CAAC,KAAD,CAAzB;AACAgB,MAAAA,YAAY,CAACf,UAAU,CAACK,OAAZ,CAAZ;AACAL,MAAAA,UAAU,CAACK,OAAX,GAAqBW,UAAU,CAAC,YAAM;AACpCjB,QAAAA,yBAAyB,CAAC,IAAD,CAAzB;AACD,OAF8B,EAE5B,IAF4B,CAA/B;AAGD;AACF,GAZ0B,EAa3B,CAACD,sBAAD,CAb2B,CAA7B;AAgBA,SAAOU,SAAP;AACD;;;;"}
1
+ {"version":3,"file":"usePaginationSearch.js","sources":["../../../src/hooks/usePaginationSearch.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nexport const usePaginationSearch = (\n pageCount: number,\n actionRef: React.MutableRefObject<any>,\n): React.KeyboardEventHandler => {\n const [searchValue, setSearchValue] = useState('');\n const [shouldResetSearchValue, setShouldResetSearchValue] = useState(true);\n\n const timeoutRef = useRef<NodeJS.Timeout>(null);\n\n useEffect(() => {\n if (searchValue !== '' && Number.parseInt(searchValue, 10) <= pageCount) {\n actionRef.current.setActiveDescendant(searchValue);\n actionRef.current.scrollOptionIntoView(searchValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [searchValue]);\n\n const onKeyDown = useCallback(\n (e) => {\n if (e.code.startsWith('Digit')) {\n if (shouldResetSearchValue) setSearchValue(e.key);\n else setSearchValue((prevValue) => prevValue + e.key);\n\n setShouldResetSearchValue(false);\n clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => {\n setShouldResetSearchValue(true);\n }, 1000);\n }\n },\n [shouldResetSearchValue],\n );\n\n return onKeyDown;\n};\n"],"names":["usePaginationSearch","pageCount","actionRef","useState","searchValue","setSearchValue","shouldResetSearchValue","setShouldResetSearchValue","timeoutRef","useRef","useEffect","Number","parseInt","current","setActiveDescendant","scrollOptionIntoView","onKeyDown","useCallback","e","code","startsWith","key","prevValue","clearTimeout","setTimeout"],"mappings":";;;;;;;;;;;IAEaA,mBAAmB,GAAG,SAAtBA,mBAAsB,CACjCC,SADiC,EAEjCC,SAFiC,EAGF;EAC/B,gBAAsCC,cAAQ,CAAC,EAAD,CAA9C;;MAAOC,WAAP;MAAoBC,cAApB;;EACA,iBAA4DF,cAAQ,CAAC,IAAD,CAApE;;MAAOG,sBAAP;MAA+BC,yBAA/B;;EAEA,IAAMC,UAAU,GAAGC,YAAM,CAAiB,IAAjB,CAAzB;EAEAC,eAAS,CAAC,YAAM;IACd,IAAIN,WAAW,KAAK,EAAhB,IAAsBO,MAAM,CAACC,QAAP,CAAgBR,WAAhB,EAA6B,EAA7B,KAAoCH,SAA9D,EAAyE;MACvEC,SAAS,CAACW,OAAV,CAAkBC,mBAAlB,CAAsCV,WAAtC;MACAF,SAAS,CAACW,OAAV,CAAkBE,oBAAlB,CAAuCX,WAAvC;KAHY;;GAAP,EAMN,CAACA,WAAD,CANM,CAAT;EAQA,IAAMY,SAAS,GAAGC,iBAAW,CAC3B,UAACC,CAAD,EAAO;IACL,IAAIA,CAAC,CAACC,IAAF,CAAOC,UAAP,CAAkB,OAAlB,CAAJ,EAAgC;MAC9B,IAAId,sBAAJ,EAA4BD,cAAc,CAACa,CAAC,CAACG,GAAH,CAAd,CAA5B,KACKhB,cAAc,CAAC,UAACiB,SAAD;QAAA,OAAeA,SAAS,GAAGJ,CAAC,CAACG,GAA7B;OAAD,CAAd;MAELd,yBAAyB,CAAC,KAAD,CAAzB;MACAgB,YAAY,CAACf,UAAU,CAACK,OAAZ,CAAZ;MACAL,UAAU,CAACK,OAAX,GAAqBW,UAAU,CAAC,YAAM;QACpCjB,yBAAyB,CAAC,IAAD,CAAzB;OAD6B,EAE5B,IAF4B,CAA/B;;GARuB,EAa3B,CAACD,sBAAD,CAb2B,CAA7B;EAgBA,OAAOU,SAAP;AACD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PageNextButton.js","sources":["../../../src/parts/PageNextButton.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { ChevronRight } from '@elliemae/ds-icons';\nimport { PAGINATION_DATA_TESTID } from '../PaginationDataTestID';\nimport { PreviousNextPageButton } from '../styled';\nimport { DSPaginationProps } from '../index.d';\n\nexport const PageNextButton: React.ComponentType<Pick<DSPaginationProps, 'onNextPage' | 'canNextPage'>> = ({\n onNextPage,\n canNextPage,\n}) => (\n <PreviousNextPageButton\n onClick={() => {\n if (canNextPage) onNextPage();\n }}\n disabled={!canNextPage}\n buttonType=\"raw\"\n data-testid={PAGINATION_DATA_TESTID.NEXT_BUTTON}\n HeaderComp={() => 'Page'}\n >\n <ChevronRight color={canNextPage ? ['brand-primary', '700'] : ['neutral', '500']} />\n </PreviousNextPageButton>\n);\n"],"names":["PageNextButton","onNextPage","canNextPage","React","PreviousNextPageButton","PAGINATION_DATA_TESTID","NEXT_BUTTON","ChevronRight"],"mappings":";;;;;;;;;;;;;;;;;AAAA;IAOaA,cAA0F,GAAG,SAA7FA,cAA6F;AAAA,MACxGC,UADwG,QACxGA,UADwG;AAAA,MAExGC,WAFwG,QAExGA,WAFwG;AAAA,sBAIxGC,wCAACC,6BAAD;AACE,IAAA,OAAO,EAAE,mBAAM;AACb,UAAIF,WAAJ,EAAiBD,UAAU;AAC5B,KAHH;AAIE,IAAA,QAAQ,EAAE,CAACC,WAJb;AAKE,IAAA,UAAU,EAAC,KALb;AAME,mBAAaG,2CAAsB,CAACC,WANtC;AAOE,IAAA,UAAU,EAAE;AAAA,aAAM,MAAN;AAAA;AAPd,kBASEH,wCAACI,oBAAD;AAAc,IAAA,KAAK,EAAEL,WAAW,GAAG,CAAC,eAAD,EAAkB,KAAlB,CAAH,GAA8B,CAAC,SAAD,EAAY,KAAZ;AAA9D,IATF,CAJwG;AAAA;;;;"}
1
+ {"version":3,"file":"PageNextButton.js","sources":["../../../src/parts/PageNextButton.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { ChevronRight } from '@elliemae/ds-icons';\nimport { PAGINATION_DATA_TESTID } from '../PaginationDataTestID';\nimport { PreviousNextPageButton } from '../styled';\nimport { DSPaginationProps } from '../index.d';\n\nexport const PageNextButton: React.ComponentType<Pick<DSPaginationProps, 'onNextPage' | 'canNextPage'>> = ({\n onNextPage,\n canNextPage,\n}) => (\n <PreviousNextPageButton\n onClick={() => {\n if (canNextPage) onNextPage();\n }}\n disabled={!canNextPage}\n buttonType=\"raw\"\n data-testid={PAGINATION_DATA_TESTID.NEXT_BUTTON}\n HeaderComp={() => 'Page'}\n >\n <ChevronRight color={canNextPage ? ['brand-primary', '700'] : ['neutral', '500']} />\n </PreviousNextPageButton>\n);\n"],"names":["PageNextButton","onNextPage","canNextPage","React","PreviousNextPageButton","PAGINATION_DATA_TESTID","NEXT_BUTTON","ChevronRight"],"mappings":";;;;;;;;;;;;;;;;;AAAA;IAOaA,cAA0F,GAAG,SAA7FA,cAA6F;EAAA,IACxGC,UADwG,QACxGA,UADwG;MAExGC,WAFwG,QAExGA,WAFwG;EAAA,oBAIxGC,wCAACC,6BAAD;IACE,OAAO,EAAE,mBAAM;MACb,IAAIF,WAAJ,EAAiBD,UAAU;KAF/B;IAIE,QAAQ,EAAE,CAACC,WAJb;IAKE,UAAU,EAAC,KALb;IAME,eAAaG,2CAAsB,CAACC,WANtC;IAOE,UAAU,EAAE;MAAA,OAAM,MAAN;;kBAEZH,wCAACI,oBAAD;IAAc,KAAK,EAAEL,WAAW,GAAG,CAAC,eAAD,EAAkB,KAAlB,CAAH,GAA8B,CAAC,SAAD,EAAY,KAAZ;IAThE,CAJwG;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PagePrevButton.js","sources":["../../../src/parts/PagePrevButton.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { ChevronLeft } from '@elliemae/ds-icons';\nimport { PAGINATION_DATA_TESTID } from '../PaginationDataTestID';\nimport { PreviousNextPageButton } from '../styled';\nimport { DSPaginationProps } from '../index.d';\n\nexport const PagePrevButton: React.ComponentType<Pick<DSPaginationProps, 'onPreviousPage' | 'canPreviousPage'>> = ({\n onPreviousPage,\n canPreviousPage,\n}) => (\n <PreviousNextPageButton\n onClick={() => {\n if (canPreviousPage) onPreviousPage();\n }}\n disabled={!canPreviousPage}\n buttonType=\"raw\"\n data-testid={PAGINATION_DATA_TESTID.PREVIOUS_BUTTON}\n >\n <ChevronLeft color={canPreviousPage ? ['brand-primary', '700'] : ['neutral', '500']} />\n </PreviousNextPageButton>\n);\n"],"names":["PagePrevButton","onPreviousPage","canPreviousPage","React","PreviousNextPageButton","PAGINATION_DATA_TESTID","PREVIOUS_BUTTON","ChevronLeft"],"mappings":";;;;;;;;;;;;;;;;;AAAA;IAOaA,cAAkG,GAAG,SAArGA,cAAqG;AAAA,MAChHC,cADgH,QAChHA,cADgH;AAAA,MAEhHC,eAFgH,QAEhHA,eAFgH;AAAA,sBAIhHC,wCAACC,6BAAD;AACE,IAAA,OAAO,EAAE,mBAAM;AACb,UAAIF,eAAJ,EAAqBD,cAAc;AACpC,KAHH;AAIE,IAAA,QAAQ,EAAE,CAACC,eAJb;AAKE,IAAA,UAAU,EAAC,KALb;AAME,mBAAaG,2CAAsB,CAACC;AANtC,kBAQEH,wCAACI,mBAAD;AAAa,IAAA,KAAK,EAAEL,eAAe,GAAG,CAAC,eAAD,EAAkB,KAAlB,CAAH,GAA8B,CAAC,SAAD,EAAY,KAAZ;AAAjE,IARF,CAJgH;AAAA;;;;"}
1
+ {"version":3,"file":"PagePrevButton.js","sources":["../../../src/parts/PagePrevButton.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { ChevronLeft } from '@elliemae/ds-icons';\nimport { PAGINATION_DATA_TESTID } from '../PaginationDataTestID';\nimport { PreviousNextPageButton } from '../styled';\nimport { DSPaginationProps } from '../index.d';\n\nexport const PagePrevButton: React.ComponentType<Pick<DSPaginationProps, 'onPreviousPage' | 'canPreviousPage'>> = ({\n onPreviousPage,\n canPreviousPage,\n}) => (\n <PreviousNextPageButton\n onClick={() => {\n if (canPreviousPage) onPreviousPage();\n }}\n disabled={!canPreviousPage}\n buttonType=\"raw\"\n data-testid={PAGINATION_DATA_TESTID.PREVIOUS_BUTTON}\n >\n <ChevronLeft color={canPreviousPage ? ['brand-primary', '700'] : ['neutral', '500']} />\n </PreviousNextPageButton>\n);\n"],"names":["PagePrevButton","onPreviousPage","canPreviousPage","React","PreviousNextPageButton","PAGINATION_DATA_TESTID","PREVIOUS_BUTTON","ChevronLeft"],"mappings":";;;;;;;;;;;;;;;;;AAAA;IAOaA,cAAkG,GAAG,SAArGA,cAAqG;EAAA,IAChHC,cADgH,QAChHA,cADgH;MAEhHC,eAFgH,QAEhHA,eAFgH;EAAA,oBAIhHC,wCAACC,6BAAD;IACE,OAAO,EAAE,mBAAM;MACb,IAAIF,eAAJ,EAAqBD,cAAc;KAFvC;IAIE,QAAQ,EAAE,CAACC,eAJb;IAKE,UAAU,EAAC,KALb;IAME,eAAaG,2CAAsB,CAACC;kBAEpCH,wCAACI,mBAAD;IAAa,KAAK,EAAEL,eAAe,GAAG,CAAC,eAAD,EAAkB,KAAlB,CAAH,GAA8B,CAAC,SAAD,EAAY,KAAZ;IARnE,CAJgH;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationContent.js","sources":["../../../src/parts/PaginationContent.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { PaginationContainer, PaginationSeparator, PaginationWrapper } from '../styled';\nimport PerPageSelector from './PerPageSelector';\nimport Paginator from './Paginator';\nimport { PAGINATION_DATA_TESTID } from '../PaginationDataTestID';\nimport { PagePrevButton } from './PagePrevButton';\nimport { PageNextButton } from './PageNextButton';\nimport { DSPaginationProps } from '../index.d';\n\nexport const PaginationContent: React.ComponentType<DSPaginationProps> = ({\n pageIndex,\n pageSize,\n canPreviousPage,\n canNextPage,\n onPageSizeChange,\n onNextPage,\n onPreviousPage,\n onPageChange,\n pageCount,\n showPerPageSelector,\n pageDetails,\n pageDetailsTitle,\n perPageOptions,\n maxPerPage,\n perPageStep,\n minPerPage,\n width,\n}) => (\n <PaginationContainer\n justifyContent=\"center\"\n alignItems=\"center\"\n width={width}\n data-testid={PAGINATION_DATA_TESTID.CONTAINER}\n >\n <PaginationWrapper>\n {showPerPageSelector && (\n <>\n <PerPageSelector\n pageSize={pageSize}\n onPageSizeChange={onPageSizeChange}\n perPageOptions={perPageOptions}\n maxPerPage={maxPerPage}\n perPageStep={perPageStep}\n minPerPage={minPerPage}\n />\n <PaginationSeparator mr={24} />\n </>\n )}\n <Grid cols={['auto', 'auto', 'auto', 'auto', 'auto']} mr=\"32px\" alignItems=\"center\">\n <PagePrevButton canPreviousPage={canPreviousPage} onPreviousPage={onPreviousPage} />\n <Paginator\n pageCount={pageCount}\n pageIndex={pageIndex}\n onNextPage={onNextPage}\n onPageChange={onPageChange}\n pageDetails={pageDetails}\n pageDetailsTitle={pageDetailsTitle}\n />\n <PageNextButton canNextPage={canNextPage} onNextPage={onNextPage} />\n </Grid>\n </PaginationWrapper>\n </PaginationContainer>\n);\n"],"names":["PaginationContent","pageIndex","pageSize","canPreviousPage","canNextPage","onPageSizeChange","onNextPage","onPreviousPage","onPageChange","pageCount","showPerPageSelector","pageDetails","pageDetailsTitle","perPageOptions","maxPerPage","perPageStep","minPerPage","width","React","PaginationContainer","PAGINATION_DATA_TESTID","CONTAINER","PaginationWrapper","PerPageSelector","PaginationSeparator","Grid","PagePrevButton","Paginator","PageNextButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;IAWaA,iBAAyD,GAAG,SAA5DA,iBAA4D;AAAA,MACvEC,SADuE,QACvEA,SADuE;AAAA,MAEvEC,QAFuE,QAEvEA,QAFuE;AAAA,MAGvEC,eAHuE,QAGvEA,eAHuE;AAAA,MAIvEC,WAJuE,QAIvEA,WAJuE;AAAA,MAKvEC,gBALuE,QAKvEA,gBALuE;AAAA,MAMvEC,UANuE,QAMvEA,UANuE;AAAA,MAOvEC,cAPuE,QAOvEA,cAPuE;AAAA,MAQvEC,YARuE,QAQvEA,YARuE;AAAA,MASvEC,SATuE,QASvEA,SATuE;AAAA,MAUvEC,mBAVuE,QAUvEA,mBAVuE;AAAA,MAWvEC,WAXuE,QAWvEA,WAXuE;AAAA,MAYvEC,gBAZuE,QAYvEA,gBAZuE;AAAA,MAavEC,cAbuE,QAavEA,cAbuE;AAAA,MAcvEC,UAduE,QAcvEA,UAduE;AAAA,MAevEC,WAfuE,QAevEA,WAfuE;AAAA,MAgBvEC,UAhBuE,QAgBvEA,UAhBuE;AAAA,MAiBvEC,KAjBuE,QAiBvEA,KAjBuE;AAAA,sBAmBvEC,wCAACC,0BAAD;AACE,IAAA,cAAc,EAAC,QADjB;AAEE,IAAA,UAAU,EAAC,QAFb;AAGE,IAAA,KAAK,EAAEF,KAHT;AAIE,mBAAaG,2CAAsB,CAACC;AAJtC,kBAMEH,wCAACI,wBAAD,QACGZ,mBAAmB,iBAClBQ,+FACEA,wCAACK,qBAAD;AACE,IAAA,QAAQ,EAAErB,QADZ;AAEE,IAAA,gBAAgB,EAAEG,gBAFpB;AAGE,IAAA,cAAc,EAAEQ,cAHlB;AAIE,IAAA,UAAU,EAAEC,UAJd;AAKE,IAAA,WAAW,EAAEC,WALf;AAME,IAAA,UAAU,EAAEC;AANd,IADF,eASEE,wCAACM,0BAAD;AAAqB,IAAA,EAAE,EAAE;AAAzB,IATF,CAFJ,eAcEN,wCAACO,wBAAD;AAAM,IAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,EAAyB,MAAzB,EAAiC,MAAjC,CAAZ;AAAsD,IAAA,EAAE,EAAC,MAAzD;AAAgE,IAAA,UAAU,EAAC;AAA3E,kBACEP,wCAACQ,mCAAD;AAAgB,IAAA,eAAe,EAAEvB,eAAjC;AAAkD,IAAA,cAAc,EAAEI;AAAlE,IADF,eAEEW,wCAACS,eAAD;AACE,IAAA,SAAS,EAAElB,SADb;AAEE,IAAA,SAAS,EAAER,SAFb;AAGE,IAAA,UAAU,EAAEK,UAHd;AAIE,IAAA,YAAY,EAAEE,YAJhB;AAKE,IAAA,WAAW,EAAEG,WALf;AAME,IAAA,gBAAgB,EAAEC;AANpB,IAFF,eAUEM,wCAACU,mCAAD;AAAgB,IAAA,WAAW,EAAExB,WAA7B;AAA0C,IAAA,UAAU,EAAEE;AAAtD,IAVF,CAdF,CANF,CAnBuE;AAAA;;;;"}
1
+ {"version":3,"file":"PaginationContent.js","sources":["../../../src/parts/PaginationContent.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { PaginationContainer, PaginationSeparator, PaginationWrapper } from '../styled';\nimport PerPageSelector from './PerPageSelector';\nimport Paginator from './Paginator';\nimport { PAGINATION_DATA_TESTID } from '../PaginationDataTestID';\nimport { PagePrevButton } from './PagePrevButton';\nimport { PageNextButton } from './PageNextButton';\nimport { DSPaginationProps } from '../index.d';\n\nexport const PaginationContent: React.ComponentType<DSPaginationProps> = ({\n pageIndex,\n pageSize,\n canPreviousPage,\n canNextPage,\n onPageSizeChange,\n onNextPage,\n onPreviousPage,\n onPageChange,\n pageCount,\n showPerPageSelector,\n pageDetails,\n pageDetailsTitle,\n perPageOptions,\n maxPerPage,\n perPageStep,\n minPerPage,\n width,\n}) => (\n <PaginationContainer\n justifyContent=\"center\"\n alignItems=\"center\"\n width={width}\n data-testid={PAGINATION_DATA_TESTID.CONTAINER}\n >\n <PaginationWrapper>\n {showPerPageSelector && (\n <>\n <PerPageSelector\n pageSize={pageSize}\n onPageSizeChange={onPageSizeChange}\n perPageOptions={perPageOptions}\n maxPerPage={maxPerPage}\n perPageStep={perPageStep}\n minPerPage={minPerPage}\n />\n <PaginationSeparator mr={24} />\n </>\n )}\n <Grid cols={['auto', 'auto', 'auto', 'auto', 'auto']} mr=\"32px\" alignItems=\"center\">\n <PagePrevButton canPreviousPage={canPreviousPage} onPreviousPage={onPreviousPage} />\n <Paginator\n pageCount={pageCount}\n pageIndex={pageIndex}\n onNextPage={onNextPage}\n onPageChange={onPageChange}\n pageDetails={pageDetails}\n pageDetailsTitle={pageDetailsTitle}\n />\n <PageNextButton canNextPage={canNextPage} onNextPage={onNextPage} />\n </Grid>\n </PaginationWrapper>\n </PaginationContainer>\n);\n"],"names":["PaginationContent","pageIndex","pageSize","canPreviousPage","canNextPage","onPageSizeChange","onNextPage","onPreviousPage","onPageChange","pageCount","showPerPageSelector","pageDetails","pageDetailsTitle","perPageOptions","maxPerPage","perPageStep","minPerPage","width","React","PaginationContainer","PAGINATION_DATA_TESTID","CONTAINER","PaginationWrapper","PerPageSelector","PaginationSeparator","Grid","PagePrevButton","Paginator","PageNextButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;IAWaA,iBAAyD,GAAG,SAA5DA,iBAA4D;EAAA,IACvEC,SADuE,QACvEA,SADuE;MAEvEC,QAFuE,QAEvEA,QAFuE;MAGvEC,eAHuE,QAGvEA,eAHuE;MAIvEC,WAJuE,QAIvEA,WAJuE;MAKvEC,gBALuE,QAKvEA,gBALuE;MAMvEC,UANuE,QAMvEA,UANuE;MAOvEC,cAPuE,QAOvEA,cAPuE;MAQvEC,YARuE,QAQvEA,YARuE;MASvEC,SATuE,QASvEA,SATuE;MAUvEC,mBAVuE,QAUvEA,mBAVuE;MAWvEC,WAXuE,QAWvEA,WAXuE;MAYvEC,gBAZuE,QAYvEA,gBAZuE;MAavEC,cAbuE,QAavEA,cAbuE;MAcvEC,UAduE,QAcvEA,UAduE;MAevEC,WAfuE,QAevEA,WAfuE;MAgBvEC,UAhBuE,QAgBvEA,UAhBuE;MAiBvEC,KAjBuE,QAiBvEA,KAjBuE;EAAA,oBAmBvEC,wCAACC,0BAAD;IACE,cAAc,EAAC,QADjB;IAEE,UAAU,EAAC,QAFb;IAGE,KAAK,EAAEF,KAHT;IAIE,eAAaG,2CAAsB,CAACC;kBAEpCH,wCAACI,wBAAD,QACGZ,mBAAmB,iBAClBQ,+FACEA,wCAACK,qBAAD;IACE,QAAQ,EAAErB,QADZ;IAEE,gBAAgB,EAAEG,gBAFpB;IAGE,cAAc,EAAEQ,cAHlB;IAIE,UAAU,EAAEC,UAJd;IAKE,WAAW,EAAEC,WALf;IAME,UAAU,EAAEC;IAPhB,eASEE,wCAACM,0BAAD;IAAqB,EAAE,EAAE;IAT3B,CAFJ,eAcEN,wCAACO,wBAAD;IAAM,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,EAAyB,MAAzB,EAAiC,MAAjC,CAAZ;IAAsD,EAAE,EAAC,MAAzD;IAAgE,UAAU,EAAC;kBACzEP,wCAACQ,mCAAD;IAAgB,eAAe,EAAEvB,eAAjC;IAAkD,cAAc,EAAEI;IADpE,eAEEW,wCAACS,eAAD;IACE,SAAS,EAAElB,SADb;IAEE,SAAS,EAAER,SAFb;IAGE,UAAU,EAAEK,UAHd;IAIE,YAAY,EAAEE,YAJhB;IAKE,WAAW,EAAEG,WALf;IAME,gBAAgB,EAAEC;IARtB,eAUEM,wCAACU,mCAAD;IAAgB,WAAW,EAAExB,WAA7B;IAA0C,UAAU,EAAEE;IAVxD,CAdF,CANF,CAnBuE;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Paginator.js","sources":["../../../src/parts/Paginator.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { Checkmark, ChevronDown } from '@elliemae/ds-icons';\nimport { useOnElementResize } from '@elliemae/ds-utilities';\nimport Grid from '@elliemae/ds-grid';\nimport { DSDropdownMenuV2 } from '@elliemae/ds-dropdownmenu';\nimport { PaginationBoldText, PaginationDropdownButton, PaginationSeparator } from '../styled';\nimport { usePaginationSearch } from '../hooks/usePaginationSearch';\nimport { DSPaginationProps } from '../index.d';\n\nconst Paginator: React.ComponentType<DSPaginationProps> = (props) => {\n const { pageIndex, pageCount, onPageChange, pageDetails, pageDetailsTitle } = props;\n\n const [isOpened, setIsOpened] = useState(false);\n\n const btnRef = useRef(null);\n const pageInfoRef = useRef(null);\n\n const { width: btnWidth } = useOnElementResize(btnRef);\n const { width: txtWidth } = useOnElementResize(pageInfoRef);\n\n const options = useMemo(\n () =>\n new Array(pageCount).fill(0).map((_, index) => {\n const option: Record<string, unknown> = {\n dsId: (index + 1).toString(),\n label: (index + 1).toString(),\n value: index + 1,\n type: 'single',\n };\n if (pageDetails.length) {\n option.render = () => (\n <Grid cols={['16px', `${txtWidth + 16}px`, 'auto']} gutter=\"xxs\" alignItems=\"center\">\n {pageIndex === index ? <Checkmark size=\"s\" color={['brand-primary', '600']} /> : <div />}\n <span>{index + 1}</span>\n <span\n style={{\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n }}\n >\n {pageDetails[index]}\n </span>\n </Grid>\n );\n }\n return option;\n }),\n [pageCount, pageDetails, pageIndex, txtWidth],\n );\n\n const actionRef = useRef<Record<string, (dsId: string) => void>>({});\n\n useEffect(() => {\n if (isOpened) {\n actionRef.current.setActiveDescendant((pageIndex + 1).toString());\n actionRef.current.scrollOptionIntoView((pageIndex + 1).toString());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpened]);\n\n const onKeyDown = usePaginationSearch(pageCount, actionRef);\n\n return (\n <>\n <PaginationSeparator />\n <DSDropdownMenuV2\n isOpened={isOpened}\n options={options}\n selectedOptions={{ [(pageIndex + 1).toString()]: true }}\n onOptionClick={(_, clickedOption) => {\n onPageChange(clickedOption.value);\n setIsOpened(false);\n btnRef.current.focus();\n }}\n onClickOutside={() => {\n setIsOpened(false);\n btnRef.current.focus();\n }}\n startPlacementPreference=\"top-end\"\n actionRef={actionRef}\n onKeyDown={onKeyDown}\n minWidth={btnWidth + 23}\n maxHeight={300}\n HeaderComp={() =>\n pageDetailsTitle !== '' ? (\n <Grid cols={[`${txtWidth + 50}px`, '8px', 'auto']}>\n <span style={{ marginLeft: '8px' }}>Page</span>\n <PaginationSeparator height=\"100%\" />\n <span>{pageDetailsTitle}</span>\n </Grid>\n ) : (\n 'Page'\n )\n }\n >\n <PaginationDropdownButton buttonType=\"raw\" onClick={() => setIsOpened(true)} innerRef={btnRef}>\n <div style={{ display: 'flex', gridGap: '8px', alignItems: 'center' }}>\n <Grid cols={['auto', 'auto', 'auto']} alignItems=\"center\" gutter=\"xxxs\" ref={pageInfoRef}>\n <PaginationBoldText fontSize=\"18px\">{pageIndex + 1}</PaginationBoldText> / {pageCount}\n </Grid>\n {pageDetails.length !== 0 && (\n <>\n <PaginationSeparator height=\"12px\" ml=\"8px\" />\n <PaginationBoldText fontSize=\"13px\" mr=\"8px\">\n {pageDetails[pageIndex]}\n </PaginationBoldText>\n </>\n )}\n <ChevronDown color={['brand-primary', '700']} />\n </div>\n </PaginationDropdownButton>\n </DSDropdownMenuV2>\n <PaginationSeparator />\n </>\n );\n};\n\nexport default Paginator;\n"],"names":["Paginator","props","pageIndex","pageCount","onPageChange","pageDetails","pageDetailsTitle","useState","isOpened","setIsOpened","btnRef","useRef","pageInfoRef","useOnElementResize","btnWidth","width","txtWidth","options","useMemo","Array","fill","map","_","index","option","dsId","toString","label","value","type","length","render","React","Grid","Checkmark","whiteSpace","textOverflow","overflow","actionRef","useEffect","current","setActiveDescendant","scrollOptionIntoView","onKeyDown","usePaginationSearch","PaginationSeparator","DSDropdownMenuV2","clickedOption","focus","marginLeft","PaginationDropdownButton","display","gridGap","alignItems","PaginationBoldText","ChevronDown"],"mappings":"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"}
1
+ {"version":3,"file":"Paginator.js","sources":["../../../src/parts/Paginator.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { Checkmark, ChevronDown } from '@elliemae/ds-icons';\nimport { useOnElementResize } from '@elliemae/ds-utilities';\nimport Grid from '@elliemae/ds-grid';\nimport { DSDropdownMenuV2 } from '@elliemae/ds-dropdownmenu';\nimport { PaginationBoldText, PaginationDropdownButton, PaginationSeparator } from '../styled';\nimport { usePaginationSearch } from '../hooks/usePaginationSearch';\nimport { DSPaginationProps } from '../index.d';\n\nconst Paginator: React.ComponentType<DSPaginationProps> = (props) => {\n const { pageIndex, pageCount, onPageChange, pageDetails, pageDetailsTitle } = props;\n\n const [isOpened, setIsOpened] = useState(false);\n\n const btnRef = useRef(null);\n const pageInfoRef = useRef(null);\n\n const { width: btnWidth } = useOnElementResize(btnRef);\n const { width: txtWidth } = useOnElementResize(pageInfoRef);\n\n const options = useMemo(\n () =>\n new Array(pageCount).fill(0).map((_, index) => {\n const option: Record<string, unknown> = {\n dsId: (index + 1).toString(),\n label: (index + 1).toString(),\n value: index + 1,\n type: 'single',\n };\n if (pageDetails.length) {\n option.render = () => (\n <Grid cols={['16px', `${txtWidth + 16}px`, 'auto']} gutter=\"xxs\" alignItems=\"center\">\n {pageIndex === index ? <Checkmark size=\"s\" color={['brand-primary', '600']} /> : <div />}\n <span>{index + 1}</span>\n <span\n style={{\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n }}\n >\n {pageDetails[index]}\n </span>\n </Grid>\n );\n }\n return option;\n }),\n [pageCount, pageDetails, pageIndex, txtWidth],\n );\n\n const actionRef = useRef<Record<string, (dsId: string) => void>>({});\n\n useEffect(() => {\n if (isOpened) {\n actionRef.current.setActiveDescendant((pageIndex + 1).toString());\n actionRef.current.scrollOptionIntoView((pageIndex + 1).toString());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpened]);\n\n const onKeyDown = usePaginationSearch(pageCount, actionRef);\n\n return (\n <>\n <PaginationSeparator />\n <DSDropdownMenuV2\n isOpened={isOpened}\n options={options}\n selectedOptions={{ [(pageIndex + 1).toString()]: true }}\n onOptionClick={(_, clickedOption) => {\n onPageChange(clickedOption.value);\n setIsOpened(false);\n btnRef.current.focus();\n }}\n onClickOutside={() => {\n setIsOpened(false);\n btnRef.current.focus();\n }}\n startPlacementPreference=\"top-end\"\n actionRef={actionRef}\n onKeyDown={onKeyDown}\n minWidth={btnWidth + 23}\n maxHeight={300}\n HeaderComp={() =>\n pageDetailsTitle !== '' ? (\n <Grid cols={[`${txtWidth + 50}px`, '8px', 'auto']}>\n <span style={{ marginLeft: '8px' }}>Page</span>\n <PaginationSeparator height=\"100%\" />\n <span>{pageDetailsTitle}</span>\n </Grid>\n ) : (\n 'Page'\n )\n }\n >\n <PaginationDropdownButton buttonType=\"raw\" onClick={() => setIsOpened(true)} innerRef={btnRef}>\n <div style={{ display: 'flex', gridGap: '8px', alignItems: 'center' }}>\n <Grid cols={['auto', 'auto', 'auto']} alignItems=\"center\" gutter=\"xxxs\" ref={pageInfoRef}>\n <PaginationBoldText fontSize=\"18px\">{pageIndex + 1}</PaginationBoldText> / {pageCount}\n </Grid>\n {pageDetails.length !== 0 && (\n <>\n <PaginationSeparator height=\"12px\" ml=\"8px\" />\n <PaginationBoldText fontSize=\"13px\" mr=\"8px\">\n {pageDetails[pageIndex]}\n </PaginationBoldText>\n </>\n )}\n <ChevronDown color={['brand-primary', '700']} />\n </div>\n </PaginationDropdownButton>\n </DSDropdownMenuV2>\n <PaginationSeparator />\n </>\n );\n};\n\nexport default Paginator;\n"],"names":["Paginator","props","pageIndex","pageCount","onPageChange","pageDetails","pageDetailsTitle","useState","isOpened","setIsOpened","btnRef","useRef","pageInfoRef","useOnElementResize","btnWidth","width","txtWidth","options","useMemo","Array","fill","map","_","index","option","dsId","toString","label","value","type","length","render","React","Grid","Checkmark","whiteSpace","textOverflow","overflow","actionRef","useEffect","current","setActiveDescendant","scrollOptionIntoView","onKeyDown","usePaginationSearch","PaginationSeparator","DSDropdownMenuV2","clickedOption","focus","marginLeft","PaginationDropdownButton","display","gridGap","alignItems","PaginationBoldText","ChevronDown"],"mappings":";;;;;;;;;;;;;;;;;;;;;;IAUMA,SAAiD,GAAG,SAApDA,SAAoD,CAACC,KAAD,EAAW;EACnE,IAAQC,SAAR,GAA8ED,KAA9E,CAAQC,SAAR;MAAmBC,SAAnB,GAA8EF,KAA9E,CAAmBE,SAAnB;MAA8BC,YAA9B,GAA8EH,KAA9E,CAA8BG,YAA9B;MAA4CC,WAA5C,GAA8EJ,KAA9E,CAA4CI,WAA5C;MAAyDC,gBAAzD,GAA8EL,KAA9E,CAAyDK,gBAAzD;;EAEA,gBAAgCC,cAAQ,CAAC,KAAD,CAAxC;;MAAOC,QAAP;MAAiBC,WAAjB;;EAEA,IAAMC,MAAM,GAAGC,YAAM,CAAC,IAAD,CAArB;EACA,IAAMC,WAAW,GAAGD,YAAM,CAAC,IAAD,CAA1B;;EAEA,0BAA4BE,8BAAkB,CAACH,MAAD,CAA9C;MAAeI,QAAf,uBAAQC,KAAR;;EACA,2BAA4BF,8BAAkB,CAACD,WAAD,CAA9C;MAAeI,QAAf,wBAAQD,KAAR;;EAEA,IAAME,OAAO,GAAGC,aAAO,CACrB;IAAA,OACE,IAAIC,KAAJ,CAAUhB,SAAV,EAAqBiB,IAArB,CAA0B,CAA1B,EAA6BC,GAA7B,CAAiC,UAACC,CAAD,EAAIC,KAAJ,EAAc;MAC7C,IAAMC,MAA+B,GAAG;QACtCC,IAAI,EAAE,CAACF,KAAK,GAAG,CAAT,EAAYG,QAAZ,EADgC;QAEtCC,KAAK,EAAE,CAACJ,KAAK,GAAG,CAAT,EAAYG,QAAZ,EAF+B;QAGtCE,KAAK,EAAEL,KAAK,GAAG,CAHuB;QAItCM,IAAI,EAAE;OAJR;;MAMA,IAAIxB,WAAW,CAACyB,MAAhB,EAAwB;QACtBN,MAAM,CAACO,MAAP,GAAgB;UAAA,oBACdC,wCAACC,wBAAD;YAAM,IAAI,EAAE,CAAC,MAAD,YAAYjB,QAAQ,GAAG,EAAvB,SAA+B,MAA/B,CAAZ;YAAoD,MAAM,EAAC,KAA3D;YAAiE,UAAU,EAAC;aACzEd,SAAS,KAAKqB,KAAd,gBAAsBS,wCAACE,iBAAD;YAAW,IAAI,EAAC,GAAhB;YAAoB,KAAK,EAAE,CAAC,eAAD,EAAkB,KAAlB;YAAjD,gBAAgFF,oDADnF,eAEEA,sDAAOT,KAAK,GAAG,CAAf,CAFF,eAGES;YACE,KAAK,EAAE;cACLG,UAAU,EAAE,QADP;cAELC,YAAY,EAAE,UAFT;cAGLC,QAAQ,EAAE;;aAGXhC,WAAW,CAACkB,KAAD,CAPd,CAHF,CADc;SAAhB;;;MAgBF,OAAOC,MAAP;KAxBF,CADF;GADqB,EA4BrB,CAACrB,SAAD,EAAYE,WAAZ,EAAyBH,SAAzB,EAAoCc,QAApC,CA5BqB,CAAvB;EA+BA,IAAMsB,SAAS,GAAG3B,YAAM,CAAyC,EAAzC,CAAxB;EAEA4B,eAAS,CAAC,YAAM;IACd,IAAI/B,QAAJ,EAAc;MACZ8B,SAAS,CAACE,OAAV,CAAkBC,mBAAlB,CAAsC,CAACvC,SAAS,GAAG,CAAb,EAAgBwB,QAAhB,EAAtC;MACAY,SAAS,CAACE,OAAV,CAAkBE,oBAAlB,CAAuC,CAACxC,SAAS,GAAG,CAAb,EAAgBwB,QAAhB,EAAvC;KAHY;;GAAP,EAMN,CAAClB,QAAD,CANM,CAAT;EAQA,IAAMmC,SAAS,GAAGC,6CAAmB,CAACzC,SAAD,EAAYmC,SAAZ,CAArC;EAEA,oBACEN,+FACEA,wCAACa,0BAAD,OADF,eAEEb,wCAACc,+BAAD;IACE,QAAQ,EAAEtC,QADZ;IAEE,OAAO,EAAES,OAFX;IAGE,eAAe,0CAAK,CAACf,SAAS,GAAG,CAAb,EAAgBwB,QAAhB,EAAL,EAAkC,IAAlC,CAHjB;IAIE,aAAa,EAAE,uBAACJ,CAAD,EAAIyB,aAAJ,EAAsB;MACnC3C,YAAY,CAAC2C,aAAa,CAACnB,KAAf,CAAZ;MACAnB,WAAW,CAAC,KAAD,CAAX;MACAC,MAAM,CAAC8B,OAAP,CAAeQ,KAAf;KAPJ;IASE,cAAc,EAAE,0BAAM;MACpBvC,WAAW,CAAC,KAAD,CAAX;MACAC,MAAM,CAAC8B,OAAP,CAAeQ,KAAf;KAXJ;IAaE,wBAAwB,EAAC,SAb3B;IAcE,SAAS,EAAEV,SAdb;IAeE,SAAS,EAAEK,SAfb;IAgBE,QAAQ,EAAE7B,QAAQ,GAAG,EAhBvB;IAiBE,SAAS,EAAE,GAjBb;IAkBE,UAAU,EAAE;MAAA,OACVR,gBAAgB,KAAK,EAArB,gBACE0B,wCAACC,wBAAD;QAAM,IAAI,EAAE,WAAIjB,QAAQ,GAAG,EAAf,SAAuB,KAAvB,EAA8B,MAA9B;sBACVgB;QAAM,KAAK,EAAE;UAAEiB,UAAU,EAAE;;gBAD7B,eAEEjB,wCAACa,0BAAD;QAAqB,MAAM,EAAC;QAF9B,eAGEb,sDAAO1B,gBAAP,CAHF,CADF,GAOE,MARQ;;kBAYZ0B,wCAACkB,+BAAD;IAA0B,UAAU,EAAC,KAArC;IAA2C,OAAO,EAAE;MAAA,OAAMzC,WAAW,CAAC,IAAD,CAAjB;KAApD;IAA6E,QAAQ,EAAEC;kBACrFsB;IAAK,KAAK,EAAE;MAAEmB,OAAO,EAAE,MAAX;MAAmBC,OAAO,EAAE,KAA5B;MAAmCC,UAAU,EAAE;;kBACzDrB,wCAACC,wBAAD;IAAM,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,CAAZ;IAAsC,UAAU,EAAC,QAAjD;IAA0D,MAAM,EAAC,MAAjE;IAAwE,GAAG,EAAErB;kBAC3EoB,wCAACsB,yBAAD;IAAoB,QAAQ,EAAC;KAAQpD,SAAS,GAAG,CAAjD,CADF,SAC8EC,SAD9E,CADF,EAIGE,WAAW,CAACyB,MAAZ,KAAuB,CAAvB,iBACCE,+FACEA,wCAACa,0BAAD;IAAqB,MAAM,EAAC,MAA5B;IAAmC,EAAE,EAAC;IADxC,eAEEb,wCAACsB,yBAAD;IAAoB,QAAQ,EAAC,MAA7B;IAAoC,EAAE,EAAC;KACpCjD,WAAW,CAACH,SAAD,CADd,CAFF,CALJ,eAYE8B,wCAACuB,mBAAD;IAAa,KAAK,EAAE,CAAC,eAAD,EAAkB,KAAlB;IAZtB,CADF,CA9BF,CAFF,eAiDEvB,wCAACa,0BAAD,OAjDF,CADF;AAqDD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PerPageSelector.js","sources":["../../../src/parts/PerPageSelector.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport memoize from 'memoize-one';\nimport { range, useOnElementResize } from '@elliemae/ds-utilities';\nimport { DSDropdownMenuV2 } from '@elliemae/ds-dropdownmenu';\nimport { ChevronDown } from '@elliemae/ds-icons';\nimport { DSPaginationProps } from '../index.d';\nimport { PaginationDropdownButton } from '../styled';\n\nconst generateOption = (value) => ({\n dsId: value.toString(),\n value,\n label: value.toString(),\n type: 'single',\n});\n\nconst getOptions = memoize((step, min, max) => {\n const options = range(min, max + step, step).map(generateOption);\n return min === 0 ? options.slice(1, options.length) : options;\n});\n\nconst PerPageSelector: React.ComponentType<\n Pick<\n DSPaginationProps,\n 'pageSize' | 'onPageSizeChange' | 'perPageOptions' | 'perPageStep' | 'minPerPage' | 'maxPerPage'\n >\n> = (props) => {\n const [isOpened, setIsOpened] = useState(false);\n const { pageSize, onPageSizeChange, perPageOptions, maxPerPage, perPageStep, minPerPage } = props;\n\n const options = useMemo(() => {\n if (perPageOptions) return perPageOptions.map(generateOption);\n return getOptions(perPageStep, minPerPage, maxPerPage);\n }, [maxPerPage, minPerPage, perPageOptions, perPageStep]);\n\n const actionRef = useRef<Record<string, (dsId: string) => void>>({});\n const btnRef = useRef<HTMLButtonElement>(null);\n\n useEffect(() => {\n if (isOpened) {\n actionRef.current.setActiveDescendant(pageSize.toString());\n actionRef.current.scrollOptionIntoView(pageSize.toString());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpened]);\n\n const { width } = useOnElementResize(btnRef);\n\n return (\n <DSDropdownMenuV2\n isOpened={isOpened}\n options={options}\n selectedOptions={{ [pageSize.toString()]: true }}\n onOptionClick={(_, clickedOption) => {\n onPageSizeChange(clickedOption.value);\n setIsOpened(false);\n btnRef.current.focus();\n }}\n onClickOutside={() => {\n setIsOpened(false);\n btnRef.current.focus();\n }}\n startPlacementPreference=\"top-end\"\n actionRef={actionRef}\n minWidth={width + 25}\n maxHeight={300}\n >\n <div style={{ marginLeft: '32px' }}>\n <PaginationDropdownButton\n buttonType=\"raw\"\n onClick={() => setIsOpened(true)}\n aria-pressed={isOpened}\n innerRef={btnRef}\n >\n {pageSize} / page\n <ChevronDown color={['brand-primary', '700']} />\n </PaginationDropdownButton>\n </div>\n </DSDropdownMenuV2>\n );\n};\n\nexport default PerPageSelector;\n"],"names":["generateOption","value","dsId","toString","label","type","getOptions","memoize","step","min","max","options","range","map","slice","length","PerPageSelector","props","useState","isOpened","setIsOpened","pageSize","onPageSizeChange","perPageOptions","maxPerPage","perPageStep","minPerPage","useMemo","actionRef","useRef","btnRef","useEffect","current","setActiveDescendant","scrollOptionIntoView","useOnElementResize","width","React","DSDropdownMenuV2","_","clickedOption","focus","marginLeft","PaginationDropdownButton","ChevronDown"],"mappings":"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"}
1
+ {"version":3,"file":"PerPageSelector.js","sources":["../../../src/parts/PerPageSelector.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport memoize from 'memoize-one';\nimport { range, useOnElementResize } from '@elliemae/ds-utilities';\nimport { DSDropdownMenuV2 } from '@elliemae/ds-dropdownmenu';\nimport { ChevronDown } from '@elliemae/ds-icons';\nimport { DSPaginationProps } from '../index.d';\nimport { PaginationDropdownButton } from '../styled';\n\nconst generateOption = (value) => ({\n dsId: value.toString(),\n value,\n label: value.toString(),\n type: 'single',\n});\n\nconst getOptions = memoize((step, min, max) => {\n const options = range(min, max + step, step).map(generateOption);\n return min === 0 ? options.slice(1, options.length) : options;\n});\n\nconst PerPageSelector: React.ComponentType<\n Pick<\n DSPaginationProps,\n 'pageSize' | 'onPageSizeChange' | 'perPageOptions' | 'perPageStep' | 'minPerPage' | 'maxPerPage'\n >\n> = (props) => {\n const [isOpened, setIsOpened] = useState(false);\n const { pageSize, onPageSizeChange, perPageOptions, maxPerPage, perPageStep, minPerPage } = props;\n\n const options = useMemo(() => {\n if (perPageOptions) return perPageOptions.map(generateOption);\n return getOptions(perPageStep, minPerPage, maxPerPage);\n }, [maxPerPage, minPerPage, perPageOptions, perPageStep]);\n\n const actionRef = useRef<Record<string, (dsId: string) => void>>({});\n const btnRef = useRef<HTMLButtonElement>(null);\n\n useEffect(() => {\n if (isOpened) {\n actionRef.current.setActiveDescendant(pageSize.toString());\n actionRef.current.scrollOptionIntoView(pageSize.toString());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpened]);\n\n const { width } = useOnElementResize(btnRef);\n\n return (\n <DSDropdownMenuV2\n isOpened={isOpened}\n options={options}\n selectedOptions={{ [pageSize.toString()]: true }}\n onOptionClick={(_, clickedOption) => {\n onPageSizeChange(clickedOption.value);\n setIsOpened(false);\n btnRef.current.focus();\n }}\n onClickOutside={() => {\n setIsOpened(false);\n btnRef.current.focus();\n }}\n startPlacementPreference=\"top-end\"\n actionRef={actionRef}\n minWidth={width + 25}\n maxHeight={300}\n >\n <div style={{ marginLeft: '32px' }}>\n <PaginationDropdownButton\n buttonType=\"raw\"\n onClick={() => setIsOpened(true)}\n aria-pressed={isOpened}\n innerRef={btnRef}\n >\n {pageSize} / page\n <ChevronDown color={['brand-primary', '700']} />\n </PaginationDropdownButton>\n </div>\n </DSDropdownMenuV2>\n );\n};\n\nexport default PerPageSelector;\n"],"names":["generateOption","value","dsId","toString","label","type","getOptions","memoize","step","min","max","options","range","map","slice","length","PerPageSelector","props","useState","isOpened","setIsOpened","pageSize","onPageSizeChange","perPageOptions","maxPerPage","perPageStep","minPerPage","useMemo","actionRef","useRef","btnRef","useEffect","current","setActiveDescendant","scrollOptionIntoView","useOnElementResize","width","React","DSDropdownMenuV2","_","clickedOption","focus","marginLeft","PaginationDropdownButton","ChevronDown"],"mappings":"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"}
package/cjs/props.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"props.js","sources":["../../src/props.tsx"],"sourcesContent":["import { PropTypes } from 'react-desc';\n\nconst emptyFunc = (): void => null;\n\nexport const DSPaginationSchema = {\n pageCount: PropTypes.number.description('How many pages are there'),\n pageIndex: PropTypes.number.description('Index of the current page, starting from 1').defaultValue(1),\n canPreviousPage: PropTypes.bool.description('Whether the previous button is disabled or not').defaultValue(true),\n canNextPage: PropTypes.bool.description('Whether the next button is disabled or not').defaultValue(true),\n pageSize: PropTypes.number.description('The current page size').defaultValue(10),\n showPerPageSelector: PropTypes.bool.description('Whether to show the page selector').defaultValue(true),\n perPageOptions: PropTypes.arrayOf(PropTypes.number)\n .description('The available options for page size')\n .defaultValue([10]),\n perPageStep: PropTypes.number.description('Step for the per page options').defaultValue(5),\n minPerPage: PropTypes.number.description('Step for the per page options').defaultValue(0),\n maxPerPage: PropTypes.number.description('Step for the per page options').defaultValue(100),\n onPageSizeChange: PropTypes.func.description('Function invoked when the page size changes').defaultValue(() => null),\n onPreviousPage: PropTypes.func\n .description('Function invoked when the previous button is pressed')\n .defaultValue(() => null),\n onPageChange: PropTypes.func.description('Function invoked when the page changes').defaultValue(() => null),\n onNextPage: PropTypes.func.description('Function invoked when next button is pressed').defaultValue(() => null),\n pageDetails: PropTypes.arrayOf(PropTypes.string).description('Details to provide for each page').defaultValue([]),\n pageDetailsTitle: PropTypes.string\n .description('The title of the details (usually a column of your dataset)')\n .defaultValue(''),\n width: PropTypes.any.description('Width for the container of the pagination').defaultValue('100%'),\n};\n\nexport const defaultProps = {\n pageIndex: 1,\n canPreviousPage: true,\n canNextPage: true,\n pageSize: 10,\n showPerPageSelector: true,\n perPageOptions: [10],\n perPageStep: 5,\n minPerPage: 0,\n maxPerPage: 100,\n onPageSizeChange: emptyFunc,\n onPreviousPage: emptyFunc,\n onNextPage: emptyFunc,\n onPageChange: emptyFunc,\n pageDetails: [],\n pageDetailsTitle: '',\n width: '100%',\n};\n"],"names":["emptyFunc","DSPaginationSchema","pageCount","PropTypes","number","description","pageIndex","defaultValue","canPreviousPage","bool","canNextPage","pageSize","showPerPageSelector","perPageOptions","arrayOf","perPageStep","minPerPage","maxPerPage","onPageSizeChange","func","onPreviousPage","onPageChange","onNextPage","pageDetails","string","pageDetailsTitle","width","any","defaultProps"],"mappings":";;;;;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY;AAAA,SAAY,IAAZ;AAAA,CAAlB;;IAEaC,kBAAkB,GAAG;AAChCC,EAAAA,SAAS,EAAEC,mBAAS,CAACC,MAAV,CAAiBC,WAAjB,CAA6B,0BAA7B,CADqB;AAEhCC,EAAAA,SAAS,EAAEH,mBAAS,CAACC,MAAV,CAAiBC,WAAjB,CAA6B,4CAA7B,EAA2EE,YAA3E,CAAwF,CAAxF,CAFqB;AAGhCC,EAAAA,eAAe,EAAEL,mBAAS,CAACM,IAAV,CAAeJ,WAAf,CAA2B,gDAA3B,EAA6EE,YAA7E,CAA0F,IAA1F,CAHe;AAIhCG,EAAAA,WAAW,EAAEP,mBAAS,CAACM,IAAV,CAAeJ,WAAf,CAA2B,4CAA3B,EAAyEE,YAAzE,CAAsF,IAAtF,CAJmB;AAKhCI,EAAAA,QAAQ,EAAER,mBAAS,CAACC,MAAV,CAAiBC,WAAjB,CAA6B,uBAA7B,EAAsDE,YAAtD,CAAmE,EAAnE,CALsB;AAMhCK,EAAAA,mBAAmB,EAAET,mBAAS,CAACM,IAAV,CAAeJ,WAAf,CAA2B,mCAA3B,EAAgEE,YAAhE,CAA6E,IAA7E,CANW;AAOhCM,EAAAA,cAAc,EAAEV,mBAAS,CAACW,OAAV,CAAkBX,mBAAS,CAACC,MAA5B,EACbC,WADa,CACD,qCADC,EAEbE,YAFa,CAEA,CAAC,EAAD,CAFA,CAPgB;AAUhCQ,EAAAA,WAAW,EAAEZ,mBAAS,CAACC,MAAV,CAAiBC,WAAjB,CAA6B,+BAA7B,EAA8DE,YAA9D,CAA2E,CAA3E,CAVmB;AAWhCS,EAAAA,UAAU,EAAEb,mBAAS,CAACC,MAAV,CAAiBC,WAAjB,CAA6B,+BAA7B,EAA8DE,YAA9D,CAA2E,CAA3E,CAXoB;AAYhCU,EAAAA,UAAU,EAAEd,mBAAS,CAACC,MAAV,CAAiBC,WAAjB,CAA6B,+BAA7B,EAA8DE,YAA9D,CAA2E,GAA3E,CAZoB;AAahCW,EAAAA,gBAAgB,EAAEf,mBAAS,CAACgB,IAAV,CAAed,WAAf,CAA2B,6CAA3B,EAA0EE,YAA1E,CAAuF;AAAA,WAAM,IAAN;AAAA,GAAvF,CAbc;AAchCa,EAAAA,cAAc,EAAEjB,mBAAS,CAACgB,IAAV,CACbd,WADa,CACD,sDADC,EAEbE,YAFa,CAEA;AAAA,WAAM,IAAN;AAAA,GAFA,CAdgB;AAiBhCc,EAAAA,YAAY,EAAElB,mBAAS,CAACgB,IAAV,CAAed,WAAf,CAA2B,wCAA3B,EAAqEE,YAArE,CAAkF;AAAA,WAAM,IAAN;AAAA,GAAlF,CAjBkB;AAkBhCe,EAAAA,UAAU,EAAEnB,mBAAS,CAACgB,IAAV,CAAed,WAAf,CAA2B,8CAA3B,EAA2EE,YAA3E,CAAwF;AAAA,WAAM,IAAN;AAAA,GAAxF,CAlBoB;AAmBhCgB,EAAAA,WAAW,EAAEpB,mBAAS,CAACW,OAAV,CAAkBX,mBAAS,CAACqB,MAA5B,EAAoCnB,WAApC,CAAgD,kCAAhD,EAAoFE,YAApF,CAAiG,EAAjG,CAnBmB;AAoBhCkB,EAAAA,gBAAgB,EAAEtB,mBAAS,CAACqB,MAAV,CACfnB,WADe,CACH,6DADG,EAEfE,YAFe,CAEF,EAFE,CApBc;AAuBhCmB,EAAAA,KAAK,EAAEvB,mBAAS,CAACwB,GAAV,CAActB,WAAd,CAA0B,2CAA1B,EAAuEE,YAAvE,CAAoF,MAApF;AAvByB;IA0BrBqB,YAAY,GAAG;AAC1BtB,EAAAA,SAAS,EAAE,CADe;AAE1BE,EAAAA,eAAe,EAAE,IAFS;AAG1BE,EAAAA,WAAW,EAAE,IAHa;AAI1BC,EAAAA,QAAQ,EAAE,EAJgB;AAK1BC,EAAAA,mBAAmB,EAAE,IALK;AAM1BC,EAAAA,cAAc,EAAE,CAAC,EAAD,CANU;AAO1BE,EAAAA,WAAW,EAAE,CAPa;AAQ1BC,EAAAA,UAAU,EAAE,CARc;AAS1BC,EAAAA,UAAU,EAAE,GATc;AAU1BC,EAAAA,gBAAgB,EAAElB,SAVQ;AAW1BoB,EAAAA,cAAc,EAAEpB,SAXU;AAY1BsB,EAAAA,UAAU,EAAEtB,SAZc;AAa1BqB,EAAAA,YAAY,EAAErB,SAbY;AAc1BuB,EAAAA,WAAW,EAAE,EAda;AAe1BE,EAAAA,gBAAgB,EAAE,EAfQ;AAgB1BC,EAAAA,KAAK,EAAE;AAhBmB;;;;;"}
1
+ {"version":3,"file":"props.js","sources":["../../src/props.tsx"],"sourcesContent":["import { PropTypes } from 'react-desc';\n\nconst emptyFunc = (): void => null;\n\nexport const DSPaginationSchema = {\n pageCount: PropTypes.number.description('How many pages are there'),\n pageIndex: PropTypes.number.description('Index of the current page, starting from 1').defaultValue(1),\n canPreviousPage: PropTypes.bool.description('Whether the previous button is disabled or not').defaultValue(true),\n canNextPage: PropTypes.bool.description('Whether the next button is disabled or not').defaultValue(true),\n pageSize: PropTypes.number.description('The current page size').defaultValue(10),\n showPerPageSelector: PropTypes.bool.description('Whether to show the page selector').defaultValue(true),\n perPageOptions: PropTypes.arrayOf(PropTypes.number)\n .description('The available options for page size')\n .defaultValue([10]),\n perPageStep: PropTypes.number.description('Step for the per page options').defaultValue(5),\n minPerPage: PropTypes.number.description('Step for the per page options').defaultValue(0),\n maxPerPage: PropTypes.number.description('Step for the per page options').defaultValue(100),\n onPageSizeChange: PropTypes.func.description('Function invoked when the page size changes').defaultValue(() => null),\n onPreviousPage: PropTypes.func\n .description('Function invoked when the previous button is pressed')\n .defaultValue(() => null),\n onPageChange: PropTypes.func.description('Function invoked when the page changes').defaultValue(() => null),\n onNextPage: PropTypes.func.description('Function invoked when next button is pressed').defaultValue(() => null),\n pageDetails: PropTypes.arrayOf(PropTypes.string).description('Details to provide for each page').defaultValue([]),\n pageDetailsTitle: PropTypes.string\n .description('The title of the details (usually a column of your dataset)')\n .defaultValue(''),\n width: PropTypes.any.description('Width for the container of the pagination').defaultValue('100%'),\n};\n\nexport const defaultProps = {\n pageIndex: 1,\n canPreviousPage: true,\n canNextPage: true,\n pageSize: 10,\n showPerPageSelector: true,\n perPageOptions: [10],\n perPageStep: 5,\n minPerPage: 0,\n maxPerPage: 100,\n onPageSizeChange: emptyFunc,\n onPreviousPage: emptyFunc,\n onNextPage: emptyFunc,\n onPageChange: emptyFunc,\n pageDetails: [],\n pageDetailsTitle: '',\n width: '100%',\n};\n"],"names":["emptyFunc","DSPaginationSchema","pageCount","PropTypes","number","description","pageIndex","defaultValue","canPreviousPage","bool","canNextPage","pageSize","showPerPageSelector","perPageOptions","arrayOf","perPageStep","minPerPage","maxPerPage","onPageSizeChange","func","onPreviousPage","onPageChange","onNextPage","pageDetails","string","pageDetailsTitle","width","any","defaultProps"],"mappings":"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"}
package/cjs/styled.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","sources":["../../src/styled.tsx"],"sourcesContent":["import Grid from '@elliemae/ds-grid';\nimport { DSButtonV2 } from '@elliemae/ds-button';\nimport styled from 'styled-components';\nimport { space, typography, TypographyProps } from 'styled-system';\n\nconst sizeToCss = (size) => (typeof size === 'number' && !Number.isNaN(size) ? `${size}px` : size);\n\nconst styledFocusCss = ({ theme }) => `\n&:after {\n display: block;\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid ${theme.colors.brand[700]};\n pointer-events: none;\n z-index: 7;\n}`;\n\nexport const PaginationContainer = styled(Grid)`\n padding: 0 ${(props) => props.theme.space.xs};\n height: 42px;\n width: ${(props) => sizeToCss(props.width) || '100%'};\n max-width: 100%;\n align-items: center;\n box-shadow: 0 -1px 3px 0 rgba(0, 0, 0, 0.5);\n`;\n\nexport const PaginationWrapper = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 0 32px;\n`;\n\nexport const PaginationSeparator = styled(Grid)`\n background-color: ${(props) => props.theme.colors.neutral[300]};\n width: 1px;\n height: ${(props) => props.height || '30px'};\n`;\n\nexport const PaginationBoldText = styled.span<TypographyProps>`\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n ${typography}\n ${space}\n position: relative;\n`;\n\nexport const PaginationDropdownButton = styled(DSButtonV2)`\n height: 42px;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n padding-left: 16px;\n padding-right: 16px;\n grid-gap: 8px;\n font-size: 13px;\n color: ${(props) => props.theme.colors.neutral[700]};\n cursor: pointer;\n border-radius: 0;\n font-weight: ${(props) => props.theme.fontWeights.regular};\n :focus {\n ${styledFocusCss}\n }\n`;\n\nexport const PreviousNextPageButton = styled(DSButtonV2)`\n height: 42px;\n display: grid;\n place-items: center;\n position: relative;\n padding-left: 8px;\n padding-right: 8px;\n border-radius: 0;\n cursor: pointer;\n :focus {\n ${styledFocusCss}\n }\n`;\n"],"names":["sizeToCss","size","Number","isNaN","styledFocusCss","theme","colors","brand","PaginationContainer","styled","Grid","props","space","xs","width","PaginationWrapper","div","PaginationSeparator","neutral","height","PaginationBoldText","span","fontWeights","semibold","typography","PaginationDropdownButton","DSButtonV2","regular","PreviousNextPageButton"],"mappings":";;;;;;;;;;;;;;AAKA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,IAAD;AAAA,SAAW,OAAOA,IAAP,KAAgB,QAAhB,IAA4B,CAACC,MAAM,CAACC,KAAP,CAAaF,IAAb,CAA7B,aAAqDA,IAArD,UAAgEA,IAA3E;AAAA,CAAlB;;AAEA,IAAMG,cAAc,GAAG,SAAjBA,cAAiB;AAAA,MAAGC,KAAH,QAAGA,KAAH;AAAA,iKASDA,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmB,GAAnB,CATC;AAAA,CAAvB;;IAcaC,mBAAmB,gBAAGC,0BAAM,CAACC,wBAAD,CAAT;AAAA;AAAA,yHACjB,UAACC,KAAD;AAAA,SAAWA,KAAK,CAACN,KAAN,CAAYO,KAAZ,CAAkBC,EAA7B;AAAA,CADiB,EAGrB,UAACF,KAAD;AAAA,SAAWX,SAAS,CAACW,KAAK,CAACG,KAAP,CAAT,IAA0B,MAArC;AAAA,CAHqB;IASnBC,iBAAiB,gBAAGN,0BAAM,CAACO,GAAV;AAAA;AAAA;IAOjBC,mBAAmB,gBAAGR,0BAAM,CAACC,wBAAD,CAAT;AAAA;AAAA,qDACV,UAACC,KAAD;AAAA,SAAWA,KAAK,CAACN,KAAN,CAAYC,MAAZ,CAAmBY,OAAnB,CAA2B,GAA3B,CAAX;AAAA,CADU,EAGpB,UAACP,KAAD;AAAA,SAAWA,KAAK,CAACQ,MAAN,IAAgB,MAA3B;AAAA,CAHoB;IAMnBC,kBAAkB,gBAAGX,0BAAM,CAACY,IAAV;AAAA;AAAA,sDACd,UAACV,KAAD;AAAA,SAAWA,KAAK,CAACN,KAAN,CAAYiB,WAAZ,CAAwBC,QAAnC;AAAA,CADc,EAE3BC,uBAF2B,EAG3BZ,kBAH2B;IAOlBa,wBAAwB,gBAAGhB,0BAAM,CAACiB,mBAAD,CAAT;AAAA;AAAA,sOAU1B,UAACf,KAAD;AAAA,SAAWA,KAAK,CAACN,KAAN,CAAYC,MAAZ,CAAmBY,OAAnB,CAA2B,GAA3B,CAAX;AAAA,CAV0B,EAapB,UAACP,KAAD;AAAA,SAAWA,KAAK,CAACN,KAAN,CAAYiB,WAAZ,CAAwBK,OAAnC;AAAA,CAboB,EAe/BvB,cAf+B;IAmBxBwB,sBAAsB,gBAAGnB,0BAAM,CAACiB,mBAAD,CAAT;AAAA;AAAA,qJAU7BtB,cAV6B;;;;;;;;;"}
1
+ {"version":3,"file":"styled.js","sources":["../../src/styled.tsx"],"sourcesContent":["import Grid from '@elliemae/ds-grid';\nimport { DSButtonV2 } from '@elliemae/ds-button';\nimport styled from 'styled-components';\nimport { space, typography, TypographyProps } from 'styled-system';\n\nconst sizeToCss = (size) => (typeof size === 'number' && !Number.isNaN(size) ? `${size}px` : size);\n\nconst styledFocusCss = ({ theme }) => `\n&:after {\n display: block;\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid ${theme.colors.brand[700]};\n pointer-events: none;\n z-index: 7;\n}`;\n\nexport const PaginationContainer = styled(Grid)`\n padding: 0 ${(props) => props.theme.space.xs};\n height: 42px;\n width: ${(props) => sizeToCss(props.width) || '100%'};\n max-width: 100%;\n align-items: center;\n box-shadow: 0 -1px 3px 0 rgba(0, 0, 0, 0.5);\n`;\n\nexport const PaginationWrapper = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 0 32px;\n`;\n\nexport const PaginationSeparator = styled(Grid)`\n background-color: ${(props) => props.theme.colors.neutral[300]};\n width: 1px;\n height: ${(props) => props.height || '30px'};\n`;\n\nexport const PaginationBoldText = styled.span<TypographyProps>`\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n ${typography}\n ${space}\n position: relative;\n`;\n\nexport const PaginationDropdownButton = styled(DSButtonV2)`\n height: 42px;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n padding-left: 16px;\n padding-right: 16px;\n grid-gap: 8px;\n font-size: 13px;\n color: ${(props) => props.theme.colors.neutral[700]};\n cursor: pointer;\n border-radius: 0;\n font-weight: ${(props) => props.theme.fontWeights.regular};\n :focus {\n ${styledFocusCss}\n }\n`;\n\nexport const PreviousNextPageButton = styled(DSButtonV2)`\n height: 42px;\n display: grid;\n place-items: center;\n position: relative;\n padding-left: 8px;\n padding-right: 8px;\n border-radius: 0;\n cursor: pointer;\n :focus {\n ${styledFocusCss}\n }\n`;\n"],"names":["sizeToCss","size","Number","isNaN","styledFocusCss","theme","colors","brand","PaginationContainer","styled","Grid","props","space","xs","width","PaginationWrapper","div","PaginationSeparator","neutral","height","PaginationBoldText","span","fontWeights","semibold","typography","PaginationDropdownButton","DSButtonV2","regular","PreviousNextPageButton"],"mappings":";;;;;;;;;;;;;;AAKA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,IAAD;EAAA,OAAW,OAAOA,IAAP,KAAgB,QAAhB,IAA4B,CAACC,MAAM,CAACC,KAAP,CAAaF,IAAb,CAA7B,aAAqDA,IAArD,UAAgEA,IAA3E;AAAA,CAAlB;;AAEA,IAAMG,cAAc,GAAG,SAAjBA,cAAiB;EAAA,IAAGC,KAAH,QAAGA,KAAH;EAAA,+JASDA,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmB,GAAnB,CATC;AAAA,CAAvB;;IAcaC,mBAAmB,gBAAGC,0BAAM,CAACC,wBAAD,CAAT;EAAA;AAAA,yHACjB,UAACC,KAAD;EAAA,OAAWA,KAAK,CAACN,KAAN,CAAYO,KAAZ,CAAkBC,EAA7B;AAAA,CADiB,EAGrB,UAACF,KAAD;EAAA,OAAWX,SAAS,CAACW,KAAK,CAACG,KAAP,CAAT,IAA0B,MAArC;AAAA,CAHqB;IASnBC,iBAAiB,gBAAGN,0BAAM,CAACO,GAAV;EAAA;AAAA;IAOjBC,mBAAmB,gBAAGR,0BAAM,CAACC,wBAAD,CAAT;EAAA;AAAA,qDACV,UAACC,KAAD;EAAA,OAAWA,KAAK,CAACN,KAAN,CAAYC,MAAZ,CAAmBY,OAAnB,CAA2B,GAA3B,CAAX;AAAA,CADU,EAGpB,UAACP,KAAD;EAAA,OAAWA,KAAK,CAACQ,MAAN,IAAgB,MAA3B;AAAA,CAHoB;IAMnBC,kBAAkB,gBAAGX,0BAAM,CAACY,IAAV;EAAA;AAAA,sDACd,UAACV,KAAD;EAAA,OAAWA,KAAK,CAACN,KAAN,CAAYiB,WAAZ,CAAwBC,QAAnC;AAAA,CADc,EAE3BC,uBAF2B,EAG3BZ,kBAH2B;IAOlBa,wBAAwB,gBAAGhB,0BAAM,CAACiB,mBAAD,CAAT;EAAA;AAAA,sOAU1B,UAACf,KAAD;EAAA,OAAWA,KAAK,CAACN,KAAN,CAAYC,MAAZ,CAAmBY,OAAnB,CAA2B,GAA3B,CAAX;AAAA,CAV0B,EAapB,UAACP,KAAD;EAAA,OAAWA,KAAK,CAACN,KAAN,CAAYiB,WAAZ,CAAwBK,OAAnC;AAAA,CAboB,EAe/BvB,cAf+B;IAmBxBwB,sBAAsB,gBAAGnB,0BAAM,CAACiB,mBAAD,CAAT;EAAA;AAAA,qJAU7BtB,cAV6B;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../src/Pagination.tsx"],"sourcesContent":["import React from 'react';\nimport { useMemoMergePropsWithDefault, useValidateTypescriptPropTypes } from '@elliemae/ds-props-helpers';\nimport { describe } from 'react-desc';\nimport { PaginationContent } from './parts/PaginationContent';\nimport { DSPaginationSchema, defaultProps } from './props';\nimport { DSPaginationProps } from './index.d';\n\nconst DSPagination: React.ComponentType<DSPaginationProps> = (props) => {\n const propsWithDefault = useMemoMergePropsWithDefault(props, defaultProps);\n useValidateTypescriptPropTypes(propsWithDefault, DSPaginationWithSchema.toTypescript());\n\n return <PaginationContent {...propsWithDefault} />;\n};\n\nDSPagination.propTypes = DSPaginationSchema;\nconst DSPaginationWithSchema = describe(DSPagination).description('DSPagination');\nDSPaginationWithSchema.propTypes = DSPaginationSchema;\n\nexport { DSPagination, DSPaginationSchema };\n"],"names":["DSPagination","props","propsWithDefault","useMemoMergePropsWithDefault","defaultProps","useValidateTypescriptPropTypes","DSPaginationWithSchema","toTypescript","propTypes","DSPaginationSchema","describe","description"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;IAOMA,YAAoD,GAAG,SAAvDA,YAAuD,CAACC,KAAD,EAAW;AACtE,MAAMC,gBAAgB,GAAGC,4BAA4B,CAACF,KAAD,EAAQG,YAAR,CAArD;AACAC,EAAAA,8BAA8B,CAACH,gBAAD,EAAmBI,sBAAsB,CAACC,YAAvB,EAAnB,CAA9B;AAEA,sBAAO,oBAAC,iBAAD,EAAuBL,gBAAvB,CAAP;AACD;;AAEDF,YAAY,CAACQ,SAAb,GAAyBC,kBAAzB;AACA,IAAMH,sBAAsB,GAAGI,QAAQ,CAACV,YAAD,CAAR,CAAuBW,WAAvB,CAAmC,cAAnC,CAA/B;AACAL,sBAAsB,CAACE,SAAvB,GAAmCC,kBAAnC;;;;"}
1
+ {"version":3,"file":"Pagination.js","sources":["../../src/Pagination.tsx"],"sourcesContent":["import React from 'react';\nimport { useMemoMergePropsWithDefault, useValidateTypescriptPropTypes } from '@elliemae/ds-props-helpers';\nimport { describe } from 'react-desc';\nimport { PaginationContent } from './parts/PaginationContent';\nimport { DSPaginationSchema, defaultProps } from './props';\nimport { DSPaginationProps } from './index.d';\n\nconst DSPagination: React.ComponentType<DSPaginationProps> = (props) => {\n const propsWithDefault = useMemoMergePropsWithDefault(props, defaultProps);\n useValidateTypescriptPropTypes(propsWithDefault, DSPaginationWithSchema.toTypescript());\n\n return <PaginationContent {...propsWithDefault} />;\n};\n\nDSPagination.propTypes = DSPaginationSchema;\nconst DSPaginationWithSchema = describe(DSPagination).description('DSPagination');\nDSPaginationWithSchema.propTypes = DSPaginationSchema;\n\nexport { DSPagination, DSPaginationSchema };\n"],"names":["DSPagination","props","propsWithDefault","useMemoMergePropsWithDefault","defaultProps","useValidateTypescriptPropTypes","DSPaginationWithSchema","toTypescript","propTypes","DSPaginationSchema","describe","description"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;IAOMA,YAAoD,GAAG,SAAvDA,YAAuD,CAACC,KAAD,EAAW;EACtE,IAAMC,gBAAgB,GAAGC,4BAA4B,CAACF,KAAD,EAAQG,YAAR,CAArD;EACAC,8BAA8B,CAACH,gBAAD,EAAmBI,sBAAsB,CAACC,YAAvB,EAAnB,CAA9B;EAEA,oBAAO,oBAAC,iBAAD,EAAuBL,gBAAvB,CAAP;AACD;;AAEDF,YAAY,CAACQ,SAAb,GAAyBC,kBAAzB;AACA,IAAMH,sBAAsB,GAAGI,QAAQ,CAACV,YAAD,CAAR,CAAuBW,WAAvB,CAAmC,cAAnC,CAA/B;AACAL,sBAAsB,CAACE,SAAvB,GAAmCC,kBAAnC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationDataTestID.js","sources":["../../src/PaginationDataTestID.tsx"],"sourcesContent":["export const PAGINATION_DATA_TESTID = {\n PREVIOUS_BUTTON: 'data-table-pagination-prev-button',\n NEXT_BUTTON: 'data-table-pagination-next-button',\n CONTAINER: 'data-table-pagination-container',\n};\n"],"names":["PAGINATION_DATA_TESTID","PREVIOUS_BUTTON","NEXT_BUTTON","CONTAINER"],"mappings":"IAAaA,sBAAsB,GAAG;AACpCC,EAAAA,eAAe,EAAE,mCADmB;AAEpCC,EAAAA,WAAW,EAAE,mCAFuB;AAGpCC,EAAAA,SAAS,EAAE;AAHyB;;;;"}
1
+ {"version":3,"file":"PaginationDataTestID.js","sources":["../../src/PaginationDataTestID.tsx"],"sourcesContent":["export const PAGINATION_DATA_TESTID = {\n PREVIOUS_BUTTON: 'data-table-pagination-prev-button',\n NEXT_BUTTON: 'data-table-pagination-next-button',\n CONTAINER: 'data-table-pagination-container',\n};\n"],"names":["PAGINATION_DATA_TESTID","PREVIOUS_BUTTON","NEXT_BUTTON","CONTAINER"],"mappings":"IAAaA,sBAAsB,GAAG;EACpCC,eAAe,EAAE,mCADmB;EAEpCC,WAAW,EAAE,mCAFuB;EAGpCC,SAAS,EAAE;AAHyB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePaginationSearch.js","sources":["../../../src/hooks/usePaginationSearch.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nexport const usePaginationSearch = (\n pageCount: number,\n actionRef: React.MutableRefObject<any>,\n): React.KeyboardEventHandler => {\n const [searchValue, setSearchValue] = useState('');\n const [shouldResetSearchValue, setShouldResetSearchValue] = useState(true);\n\n const timeoutRef = useRef<NodeJS.Timeout>(null);\n\n useEffect(() => {\n if (searchValue !== '' && Number.parseInt(searchValue, 10) <= pageCount) {\n actionRef.current.setActiveDescendant(searchValue);\n actionRef.current.scrollOptionIntoView(searchValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [searchValue]);\n\n const onKeyDown = useCallback(\n (e) => {\n if (e.code.startsWith('Digit')) {\n if (shouldResetSearchValue) setSearchValue(e.key);\n else setSearchValue((prevValue) => prevValue + e.key);\n\n setShouldResetSearchValue(false);\n clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => {\n setShouldResetSearchValue(true);\n }, 1000);\n }\n },\n [shouldResetSearchValue],\n );\n\n return onKeyDown;\n};\n"],"names":["usePaginationSearch","pageCount","actionRef","useState","searchValue","setSearchValue","shouldResetSearchValue","setShouldResetSearchValue","timeoutRef","useRef","useEffect","Number","parseInt","current","setActiveDescendant","scrollOptionIntoView","onKeyDown","useCallback","e","code","startsWith","key","prevValue","clearTimeout","setTimeout"],"mappings":";;;IAEaA,mBAAmB,GAAG,SAAtBA,mBAAsB,CACjCC,SADiC,EAEjCC,SAFiC,EAGF;AAC/B,kBAAsCC,QAAQ,CAAC,EAAD,CAA9C;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AACA,mBAA4DF,QAAQ,CAAC,IAAD,CAApE;AAAA;AAAA,MAAOG,sBAAP;AAAA,MAA+BC,yBAA/B;;AAEA,MAAMC,UAAU,GAAGC,MAAM,CAAiB,IAAjB,CAAzB;AAEAC,EAAAA,SAAS,CAAC,YAAM;AACd,QAAIN,WAAW,KAAK,EAAhB,IAAsBO,MAAM,CAACC,QAAP,CAAgBR,WAAhB,EAA6B,EAA7B,KAAoCH,SAA9D,EAAyE;AACvEC,MAAAA,SAAS,CAACW,OAAV,CAAkBC,mBAAlB,CAAsCV,WAAtC;AACAF,MAAAA,SAAS,CAACW,OAAV,CAAkBE,oBAAlB,CAAuCX,WAAvC;AACD,KAJa;;AAMf,GANQ,EAMN,CAACA,WAAD,CANM,CAAT;AAQA,MAAMY,SAAS,GAAGC,WAAW,CAC3B,UAACC,CAAD,EAAO;AACL,QAAIA,CAAC,CAACC,IAAF,CAAOC,UAAP,CAAkB,OAAlB,CAAJ,EAAgC;AAC9B,UAAId,sBAAJ,EAA4BD,cAAc,CAACa,CAAC,CAACG,GAAH,CAAd,CAA5B,KACKhB,cAAc,CAAC,UAACiB,SAAD;AAAA,eAAeA,SAAS,GAAGJ,CAAC,CAACG,GAA7B;AAAA,OAAD,CAAd;AAELd,MAAAA,yBAAyB,CAAC,KAAD,CAAzB;AACAgB,MAAAA,YAAY,CAACf,UAAU,CAACK,OAAZ,CAAZ;AACAL,MAAAA,UAAU,CAACK,OAAX,GAAqBW,UAAU,CAAC,YAAM;AACpCjB,QAAAA,yBAAyB,CAAC,IAAD,CAAzB;AACD,OAF8B,EAE5B,IAF4B,CAA/B;AAGD;AACF,GAZ0B,EAa3B,CAACD,sBAAD,CAb2B,CAA7B;AAgBA,SAAOU,SAAP;AACD;;;;"}
1
+ {"version":3,"file":"usePaginationSearch.js","sources":["../../../src/hooks/usePaginationSearch.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nexport const usePaginationSearch = (\n pageCount: number,\n actionRef: React.MutableRefObject<any>,\n): React.KeyboardEventHandler => {\n const [searchValue, setSearchValue] = useState('');\n const [shouldResetSearchValue, setShouldResetSearchValue] = useState(true);\n\n const timeoutRef = useRef<NodeJS.Timeout>(null);\n\n useEffect(() => {\n if (searchValue !== '' && Number.parseInt(searchValue, 10) <= pageCount) {\n actionRef.current.setActiveDescendant(searchValue);\n actionRef.current.scrollOptionIntoView(searchValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [searchValue]);\n\n const onKeyDown = useCallback(\n (e) => {\n if (e.code.startsWith('Digit')) {\n if (shouldResetSearchValue) setSearchValue(e.key);\n else setSearchValue((prevValue) => prevValue + e.key);\n\n setShouldResetSearchValue(false);\n clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => {\n setShouldResetSearchValue(true);\n }, 1000);\n }\n },\n [shouldResetSearchValue],\n );\n\n return onKeyDown;\n};\n"],"names":["usePaginationSearch","pageCount","actionRef","useState","searchValue","setSearchValue","shouldResetSearchValue","setShouldResetSearchValue","timeoutRef","useRef","useEffect","Number","parseInt","current","setActiveDescendant","scrollOptionIntoView","onKeyDown","useCallback","e","code","startsWith","key","prevValue","clearTimeout","setTimeout"],"mappings":";;;IAEaA,mBAAmB,GAAG,SAAtBA,mBAAsB,CACjCC,SADiC,EAEjCC,SAFiC,EAGF;EAC/B,gBAAsCC,QAAQ,CAAC,EAAD,CAA9C;;MAAOC,WAAP;MAAoBC,cAApB;;EACA,iBAA4DF,QAAQ,CAAC,IAAD,CAApE;;MAAOG,sBAAP;MAA+BC,yBAA/B;;EAEA,IAAMC,UAAU,GAAGC,MAAM,CAAiB,IAAjB,CAAzB;EAEAC,SAAS,CAAC,YAAM;IACd,IAAIN,WAAW,KAAK,EAAhB,IAAsBO,MAAM,CAACC,QAAP,CAAgBR,WAAhB,EAA6B,EAA7B,KAAoCH,SAA9D,EAAyE;MACvEC,SAAS,CAACW,OAAV,CAAkBC,mBAAlB,CAAsCV,WAAtC;MACAF,SAAS,CAACW,OAAV,CAAkBE,oBAAlB,CAAuCX,WAAvC;KAHY;;GAAP,EAMN,CAACA,WAAD,CANM,CAAT;EAQA,IAAMY,SAAS,GAAGC,WAAW,CAC3B,UAACC,CAAD,EAAO;IACL,IAAIA,CAAC,CAACC,IAAF,CAAOC,UAAP,CAAkB,OAAlB,CAAJ,EAAgC;MAC9B,IAAId,sBAAJ,EAA4BD,cAAc,CAACa,CAAC,CAACG,GAAH,CAAd,CAA5B,KACKhB,cAAc,CAAC,UAACiB,SAAD;QAAA,OAAeA,SAAS,GAAGJ,CAAC,CAACG,GAA7B;OAAD,CAAd;MAELd,yBAAyB,CAAC,KAAD,CAAzB;MACAgB,YAAY,CAACf,UAAU,CAACK,OAAZ,CAAZ;MACAL,UAAU,CAACK,OAAX,GAAqBW,UAAU,CAAC,YAAM;QACpCjB,yBAAyB,CAAC,IAAD,CAAzB;OAD6B,EAE5B,IAF4B,CAA/B;;GARuB,EAa3B,CAACD,sBAAD,CAb2B,CAA7B;EAgBA,OAAOU,SAAP;AACD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PageNextButton.js","sources":["../../../src/parts/PageNextButton.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { ChevronRight } from '@elliemae/ds-icons';\nimport { PAGINATION_DATA_TESTID } from '../PaginationDataTestID';\nimport { PreviousNextPageButton } from '../styled';\nimport { DSPaginationProps } from '../index.d';\n\nexport const PageNextButton: React.ComponentType<Pick<DSPaginationProps, 'onNextPage' | 'canNextPage'>> = ({\n onNextPage,\n canNextPage,\n}) => (\n <PreviousNextPageButton\n onClick={() => {\n if (canNextPage) onNextPage();\n }}\n disabled={!canNextPage}\n buttonType=\"raw\"\n data-testid={PAGINATION_DATA_TESTID.NEXT_BUTTON}\n HeaderComp={() => 'Page'}\n >\n <ChevronRight color={canNextPage ? ['brand-primary', '700'] : ['neutral', '500']} />\n </PreviousNextPageButton>\n);\n"],"names":["PageNextButton","onNextPage","canNextPage","PAGINATION_DATA_TESTID","NEXT_BUTTON"],"mappings":";;;;;;;;;AAAA;IAOaA,cAA0F,GAAG,SAA7FA,cAA6F;AAAA,MACxGC,UADwG,QACxGA,UADwG;AAAA,MAExGC,WAFwG,QAExGA,WAFwG;AAAA,sBAIxG,oBAAC,sBAAD;AACE,IAAA,OAAO,EAAE,mBAAM;AACb,UAAIA,WAAJ,EAAiBD,UAAU;AAC5B,KAHH;AAIE,IAAA,QAAQ,EAAE,CAACC,WAJb;AAKE,IAAA,UAAU,EAAC,KALb;AAME,mBAAaC,sBAAsB,CAACC,WANtC;AAOE,IAAA,UAAU,EAAE;AAAA,aAAM,MAAN;AAAA;AAPd,kBASE,oBAAC,YAAD;AAAc,IAAA,KAAK,EAAEF,WAAW,GAAG,CAAC,eAAD,EAAkB,KAAlB,CAAH,GAA8B,CAAC,SAAD,EAAY,KAAZ;AAA9D,IATF,CAJwG;AAAA;;;;"}
1
+ {"version":3,"file":"PageNextButton.js","sources":["../../../src/parts/PageNextButton.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { ChevronRight } from '@elliemae/ds-icons';\nimport { PAGINATION_DATA_TESTID } from '../PaginationDataTestID';\nimport { PreviousNextPageButton } from '../styled';\nimport { DSPaginationProps } from '../index.d';\n\nexport const PageNextButton: React.ComponentType<Pick<DSPaginationProps, 'onNextPage' | 'canNextPage'>> = ({\n onNextPage,\n canNextPage,\n}) => (\n <PreviousNextPageButton\n onClick={() => {\n if (canNextPage) onNextPage();\n }}\n disabled={!canNextPage}\n buttonType=\"raw\"\n data-testid={PAGINATION_DATA_TESTID.NEXT_BUTTON}\n HeaderComp={() => 'Page'}\n >\n <ChevronRight color={canNextPage ? ['brand-primary', '700'] : ['neutral', '500']} />\n </PreviousNextPageButton>\n);\n"],"names":["PageNextButton","onNextPage","canNextPage","PAGINATION_DATA_TESTID","NEXT_BUTTON"],"mappings":";;;;;;;;;AAAA;IAOaA,cAA0F,GAAG,SAA7FA,cAA6F;EAAA,IACxGC,UADwG,QACxGA,UADwG;MAExGC,WAFwG,QAExGA,WAFwG;EAAA,oBAIxG,oBAAC,sBAAD;IACE,OAAO,EAAE,mBAAM;MACb,IAAIA,WAAJ,EAAiBD,UAAU;KAF/B;IAIE,QAAQ,EAAE,CAACC,WAJb;IAKE,UAAU,EAAC,KALb;IAME,eAAaC,sBAAsB,CAACC,WANtC;IAOE,UAAU,EAAE;MAAA,OAAM,MAAN;;kBAEZ,oBAAC,YAAD;IAAc,KAAK,EAAEF,WAAW,GAAG,CAAC,eAAD,EAAkB,KAAlB,CAAH,GAA8B,CAAC,SAAD,EAAY,KAAZ;IAThE,CAJwG;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PagePrevButton.js","sources":["../../../src/parts/PagePrevButton.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { ChevronLeft } from '@elliemae/ds-icons';\nimport { PAGINATION_DATA_TESTID } from '../PaginationDataTestID';\nimport { PreviousNextPageButton } from '../styled';\nimport { DSPaginationProps } from '../index.d';\n\nexport const PagePrevButton: React.ComponentType<Pick<DSPaginationProps, 'onPreviousPage' | 'canPreviousPage'>> = ({\n onPreviousPage,\n canPreviousPage,\n}) => (\n <PreviousNextPageButton\n onClick={() => {\n if (canPreviousPage) onPreviousPage();\n }}\n disabled={!canPreviousPage}\n buttonType=\"raw\"\n data-testid={PAGINATION_DATA_TESTID.PREVIOUS_BUTTON}\n >\n <ChevronLeft color={canPreviousPage ? ['brand-primary', '700'] : ['neutral', '500']} />\n </PreviousNextPageButton>\n);\n"],"names":["PagePrevButton","onPreviousPage","canPreviousPage","PAGINATION_DATA_TESTID","PREVIOUS_BUTTON"],"mappings":";;;;;;;;;AAAA;IAOaA,cAAkG,GAAG,SAArGA,cAAqG;AAAA,MAChHC,cADgH,QAChHA,cADgH;AAAA,MAEhHC,eAFgH,QAEhHA,eAFgH;AAAA,sBAIhH,oBAAC,sBAAD;AACE,IAAA,OAAO,EAAE,mBAAM;AACb,UAAIA,eAAJ,EAAqBD,cAAc;AACpC,KAHH;AAIE,IAAA,QAAQ,EAAE,CAACC,eAJb;AAKE,IAAA,UAAU,EAAC,KALb;AAME,mBAAaC,sBAAsB,CAACC;AANtC,kBAQE,oBAAC,WAAD;AAAa,IAAA,KAAK,EAAEF,eAAe,GAAG,CAAC,eAAD,EAAkB,KAAlB,CAAH,GAA8B,CAAC,SAAD,EAAY,KAAZ;AAAjE,IARF,CAJgH;AAAA;;;;"}
1
+ {"version":3,"file":"PagePrevButton.js","sources":["../../../src/parts/PagePrevButton.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { ChevronLeft } from '@elliemae/ds-icons';\nimport { PAGINATION_DATA_TESTID } from '../PaginationDataTestID';\nimport { PreviousNextPageButton } from '../styled';\nimport { DSPaginationProps } from '../index.d';\n\nexport const PagePrevButton: React.ComponentType<Pick<DSPaginationProps, 'onPreviousPage' | 'canPreviousPage'>> = ({\n onPreviousPage,\n canPreviousPage,\n}) => (\n <PreviousNextPageButton\n onClick={() => {\n if (canPreviousPage) onPreviousPage();\n }}\n disabled={!canPreviousPage}\n buttonType=\"raw\"\n data-testid={PAGINATION_DATA_TESTID.PREVIOUS_BUTTON}\n >\n <ChevronLeft color={canPreviousPage ? ['brand-primary', '700'] : ['neutral', '500']} />\n </PreviousNextPageButton>\n);\n"],"names":["PagePrevButton","onPreviousPage","canPreviousPage","PAGINATION_DATA_TESTID","PREVIOUS_BUTTON"],"mappings":";;;;;;;;;AAAA;IAOaA,cAAkG,GAAG,SAArGA,cAAqG;EAAA,IAChHC,cADgH,QAChHA,cADgH;MAEhHC,eAFgH,QAEhHA,eAFgH;EAAA,oBAIhH,oBAAC,sBAAD;IACE,OAAO,EAAE,mBAAM;MACb,IAAIA,eAAJ,EAAqBD,cAAc;KAFvC;IAIE,QAAQ,EAAE,CAACC,eAJb;IAKE,UAAU,EAAC,KALb;IAME,eAAaC,sBAAsB,CAACC;kBAEpC,oBAAC,WAAD;IAAa,KAAK,EAAEF,eAAe,GAAG,CAAC,eAAD,EAAkB,KAAlB,CAAH,GAA8B,CAAC,SAAD,EAAY,KAAZ;IARnE,CAJgH;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationContent.js","sources":["../../../src/parts/PaginationContent.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { PaginationContainer, PaginationSeparator, PaginationWrapper } from '../styled';\nimport PerPageSelector from './PerPageSelector';\nimport Paginator from './Paginator';\nimport { PAGINATION_DATA_TESTID } from '../PaginationDataTestID';\nimport { PagePrevButton } from './PagePrevButton';\nimport { PageNextButton } from './PageNextButton';\nimport { DSPaginationProps } from '../index.d';\n\nexport const PaginationContent: React.ComponentType<DSPaginationProps> = ({\n pageIndex,\n pageSize,\n canPreviousPage,\n canNextPage,\n onPageSizeChange,\n onNextPage,\n onPreviousPage,\n onPageChange,\n pageCount,\n showPerPageSelector,\n pageDetails,\n pageDetailsTitle,\n perPageOptions,\n maxPerPage,\n perPageStep,\n minPerPage,\n width,\n}) => (\n <PaginationContainer\n justifyContent=\"center\"\n alignItems=\"center\"\n width={width}\n data-testid={PAGINATION_DATA_TESTID.CONTAINER}\n >\n <PaginationWrapper>\n {showPerPageSelector && (\n <>\n <PerPageSelector\n pageSize={pageSize}\n onPageSizeChange={onPageSizeChange}\n perPageOptions={perPageOptions}\n maxPerPage={maxPerPage}\n perPageStep={perPageStep}\n minPerPage={minPerPage}\n />\n <PaginationSeparator mr={24} />\n </>\n )}\n <Grid cols={['auto', 'auto', 'auto', 'auto', 'auto']} mr=\"32px\" alignItems=\"center\">\n <PagePrevButton canPreviousPage={canPreviousPage} onPreviousPage={onPreviousPage} />\n <Paginator\n pageCount={pageCount}\n pageIndex={pageIndex}\n onNextPage={onNextPage}\n onPageChange={onPageChange}\n pageDetails={pageDetails}\n pageDetailsTitle={pageDetailsTitle}\n />\n <PageNextButton canNextPage={canNextPage} onNextPage={onNextPage} />\n </Grid>\n </PaginationWrapper>\n </PaginationContainer>\n);\n"],"names":["PaginationContent","pageIndex","pageSize","canPreviousPage","canNextPage","onPageSizeChange","onNextPage","onPreviousPage","onPageChange","pageCount","showPerPageSelector","pageDetails","pageDetailsTitle","perPageOptions","maxPerPage","perPageStep","minPerPage","width","PAGINATION_DATA_TESTID","CONTAINER"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;IAWaA,iBAAyD,GAAG,SAA5DA,iBAA4D;AAAA,MACvEC,SADuE,QACvEA,SADuE;AAAA,MAEvEC,QAFuE,QAEvEA,QAFuE;AAAA,MAGvEC,eAHuE,QAGvEA,eAHuE;AAAA,MAIvEC,WAJuE,QAIvEA,WAJuE;AAAA,MAKvEC,gBALuE,QAKvEA,gBALuE;AAAA,MAMvEC,UANuE,QAMvEA,UANuE;AAAA,MAOvEC,cAPuE,QAOvEA,cAPuE;AAAA,MAQvEC,YARuE,QAQvEA,YARuE;AAAA,MASvEC,SATuE,QASvEA,SATuE;AAAA,MAUvEC,mBAVuE,QAUvEA,mBAVuE;AAAA,MAWvEC,WAXuE,QAWvEA,WAXuE;AAAA,MAYvEC,gBAZuE,QAYvEA,gBAZuE;AAAA,MAavEC,cAbuE,QAavEA,cAbuE;AAAA,MAcvEC,UAduE,QAcvEA,UAduE;AAAA,MAevEC,WAfuE,QAevEA,WAfuE;AAAA,MAgBvEC,UAhBuE,QAgBvEA,UAhBuE;AAAA,MAiBvEC,KAjBuE,QAiBvEA,KAjBuE;AAAA,sBAmBvE,oBAAC,mBAAD;AACE,IAAA,cAAc,EAAC,QADjB;AAEE,IAAA,UAAU,EAAC,QAFb;AAGE,IAAA,KAAK,EAAEA,KAHT;AAIE,mBAAaC,sBAAsB,CAACC;AAJtC,kBAME,oBAAC,iBAAD,QACGT,mBAAmB,iBAClB,uDACE,oBAAC,eAAD;AACE,IAAA,QAAQ,EAAER,QADZ;AAEE,IAAA,gBAAgB,EAAEG,gBAFpB;AAGE,IAAA,cAAc,EAAEQ,cAHlB;AAIE,IAAA,UAAU,EAAEC,UAJd;AAKE,IAAA,WAAW,EAAEC,WALf;AAME,IAAA,UAAU,EAAEC;AANd,IADF,eASE,oBAAC,mBAAD;AAAqB,IAAA,EAAE,EAAE;AAAzB,IATF,CAFJ,eAcE,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,EAAyB,MAAzB,EAAiC,MAAjC,CAAZ;AAAsD,IAAA,EAAE,EAAC,MAAzD;AAAgE,IAAA,UAAU,EAAC;AAA3E,kBACE,oBAAC,cAAD;AAAgB,IAAA,eAAe,EAAEb,eAAjC;AAAkD,IAAA,cAAc,EAAEI;AAAlE,IADF,eAEE,oBAAC,SAAD;AACE,IAAA,SAAS,EAAEE,SADb;AAEE,IAAA,SAAS,EAAER,SAFb;AAGE,IAAA,UAAU,EAAEK,UAHd;AAIE,IAAA,YAAY,EAAEE,YAJhB;AAKE,IAAA,WAAW,EAAEG,WALf;AAME,IAAA,gBAAgB,EAAEC;AANpB,IAFF,eAUE,oBAAC,cAAD;AAAgB,IAAA,WAAW,EAAER,WAA7B;AAA0C,IAAA,UAAU,EAAEE;AAAtD,IAVF,CAdF,CANF,CAnBuE;AAAA;;;;"}
1
+ {"version":3,"file":"PaginationContent.js","sources":["../../../src/parts/PaginationContent.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { PaginationContainer, PaginationSeparator, PaginationWrapper } from '../styled';\nimport PerPageSelector from './PerPageSelector';\nimport Paginator from './Paginator';\nimport { PAGINATION_DATA_TESTID } from '../PaginationDataTestID';\nimport { PagePrevButton } from './PagePrevButton';\nimport { PageNextButton } from './PageNextButton';\nimport { DSPaginationProps } from '../index.d';\n\nexport const PaginationContent: React.ComponentType<DSPaginationProps> = ({\n pageIndex,\n pageSize,\n canPreviousPage,\n canNextPage,\n onPageSizeChange,\n onNextPage,\n onPreviousPage,\n onPageChange,\n pageCount,\n showPerPageSelector,\n pageDetails,\n pageDetailsTitle,\n perPageOptions,\n maxPerPage,\n perPageStep,\n minPerPage,\n width,\n}) => (\n <PaginationContainer\n justifyContent=\"center\"\n alignItems=\"center\"\n width={width}\n data-testid={PAGINATION_DATA_TESTID.CONTAINER}\n >\n <PaginationWrapper>\n {showPerPageSelector && (\n <>\n <PerPageSelector\n pageSize={pageSize}\n onPageSizeChange={onPageSizeChange}\n perPageOptions={perPageOptions}\n maxPerPage={maxPerPage}\n perPageStep={perPageStep}\n minPerPage={minPerPage}\n />\n <PaginationSeparator mr={24} />\n </>\n )}\n <Grid cols={['auto', 'auto', 'auto', 'auto', 'auto']} mr=\"32px\" alignItems=\"center\">\n <PagePrevButton canPreviousPage={canPreviousPage} onPreviousPage={onPreviousPage} />\n <Paginator\n pageCount={pageCount}\n pageIndex={pageIndex}\n onNextPage={onNextPage}\n onPageChange={onPageChange}\n pageDetails={pageDetails}\n pageDetailsTitle={pageDetailsTitle}\n />\n <PageNextButton canNextPage={canNextPage} onNextPage={onNextPage} />\n </Grid>\n </PaginationWrapper>\n </PaginationContainer>\n);\n"],"names":["PaginationContent","pageIndex","pageSize","canPreviousPage","canNextPage","onPageSizeChange","onNextPage","onPreviousPage","onPageChange","pageCount","showPerPageSelector","pageDetails","pageDetailsTitle","perPageOptions","maxPerPage","perPageStep","minPerPage","width","PAGINATION_DATA_TESTID","CONTAINER"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;IAWaA,iBAAyD,GAAG,SAA5DA,iBAA4D;EAAA,IACvEC,SADuE,QACvEA,SADuE;MAEvEC,QAFuE,QAEvEA,QAFuE;MAGvEC,eAHuE,QAGvEA,eAHuE;MAIvEC,WAJuE,QAIvEA,WAJuE;MAKvEC,gBALuE,QAKvEA,gBALuE;MAMvEC,UANuE,QAMvEA,UANuE;MAOvEC,cAPuE,QAOvEA,cAPuE;MAQvEC,YARuE,QAQvEA,YARuE;MASvEC,SATuE,QASvEA,SATuE;MAUvEC,mBAVuE,QAUvEA,mBAVuE;MAWvEC,WAXuE,QAWvEA,WAXuE;MAYvEC,gBAZuE,QAYvEA,gBAZuE;MAavEC,cAbuE,QAavEA,cAbuE;MAcvEC,UAduE,QAcvEA,UAduE;MAevEC,WAfuE,QAevEA,WAfuE;MAgBvEC,UAhBuE,QAgBvEA,UAhBuE;MAiBvEC,KAjBuE,QAiBvEA,KAjBuE;EAAA,oBAmBvE,oBAAC,mBAAD;IACE,cAAc,EAAC,QADjB;IAEE,UAAU,EAAC,QAFb;IAGE,KAAK,EAAEA,KAHT;IAIE,eAAaC,sBAAsB,CAACC;kBAEpC,oBAAC,iBAAD,QACGT,mBAAmB,iBAClB,uDACE,oBAAC,eAAD;IACE,QAAQ,EAAER,QADZ;IAEE,gBAAgB,EAAEG,gBAFpB;IAGE,cAAc,EAAEQ,cAHlB;IAIE,UAAU,EAAEC,UAJd;IAKE,WAAW,EAAEC,WALf;IAME,UAAU,EAAEC;IAPhB,eASE,oBAAC,mBAAD;IAAqB,EAAE,EAAE;IAT3B,CAFJ,eAcE,oBAAC,IAAD;IAAM,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,EAAyB,MAAzB,EAAiC,MAAjC,CAAZ;IAAsD,EAAE,EAAC,MAAzD;IAAgE,UAAU,EAAC;kBACzE,oBAAC,cAAD;IAAgB,eAAe,EAAEb,eAAjC;IAAkD,cAAc,EAAEI;IADpE,eAEE,oBAAC,SAAD;IACE,SAAS,EAAEE,SADb;IAEE,SAAS,EAAER,SAFb;IAGE,UAAU,EAAEK,UAHd;IAIE,YAAY,EAAEE,YAJhB;IAKE,WAAW,EAAEG,WALf;IAME,gBAAgB,EAAEC;IARtB,eAUE,oBAAC,cAAD;IAAgB,WAAW,EAAER,WAA7B;IAA0C,UAAU,EAAEE;IAVxD,CAdF,CANF,CAnBuE;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Paginator.js","sources":["../../../src/parts/Paginator.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { Checkmark, ChevronDown } from '@elliemae/ds-icons';\nimport { useOnElementResize } from '@elliemae/ds-utilities';\nimport Grid from '@elliemae/ds-grid';\nimport { DSDropdownMenuV2 } from '@elliemae/ds-dropdownmenu';\nimport { PaginationBoldText, PaginationDropdownButton, PaginationSeparator } from '../styled';\nimport { usePaginationSearch } from '../hooks/usePaginationSearch';\nimport { DSPaginationProps } from '../index.d';\n\nconst Paginator: React.ComponentType<DSPaginationProps> = (props) => {\n const { pageIndex, pageCount, onPageChange, pageDetails, pageDetailsTitle } = props;\n\n const [isOpened, setIsOpened] = useState(false);\n\n const btnRef = useRef(null);\n const pageInfoRef = useRef(null);\n\n const { width: btnWidth } = useOnElementResize(btnRef);\n const { width: txtWidth } = useOnElementResize(pageInfoRef);\n\n const options = useMemo(\n () =>\n new Array(pageCount).fill(0).map((_, index) => {\n const option: Record<string, unknown> = {\n dsId: (index + 1).toString(),\n label: (index + 1).toString(),\n value: index + 1,\n type: 'single',\n };\n if (pageDetails.length) {\n option.render = () => (\n <Grid cols={['16px', `${txtWidth + 16}px`, 'auto']} gutter=\"xxs\" alignItems=\"center\">\n {pageIndex === index ? <Checkmark size=\"s\" color={['brand-primary', '600']} /> : <div />}\n <span>{index + 1}</span>\n <span\n style={{\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n }}\n >\n {pageDetails[index]}\n </span>\n </Grid>\n );\n }\n return option;\n }),\n [pageCount, pageDetails, pageIndex, txtWidth],\n );\n\n const actionRef = useRef<Record<string, (dsId: string) => void>>({});\n\n useEffect(() => {\n if (isOpened) {\n actionRef.current.setActiveDescendant((pageIndex + 1).toString());\n actionRef.current.scrollOptionIntoView((pageIndex + 1).toString());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpened]);\n\n const onKeyDown = usePaginationSearch(pageCount, actionRef);\n\n return (\n <>\n <PaginationSeparator />\n <DSDropdownMenuV2\n isOpened={isOpened}\n options={options}\n selectedOptions={{ [(pageIndex + 1).toString()]: true }}\n onOptionClick={(_, clickedOption) => {\n onPageChange(clickedOption.value);\n setIsOpened(false);\n btnRef.current.focus();\n }}\n onClickOutside={() => {\n setIsOpened(false);\n btnRef.current.focus();\n }}\n startPlacementPreference=\"top-end\"\n actionRef={actionRef}\n onKeyDown={onKeyDown}\n minWidth={btnWidth + 23}\n maxHeight={300}\n HeaderComp={() =>\n pageDetailsTitle !== '' ? (\n <Grid cols={[`${txtWidth + 50}px`, '8px', 'auto']}>\n <span style={{ marginLeft: '8px' }}>Page</span>\n <PaginationSeparator height=\"100%\" />\n <span>{pageDetailsTitle}</span>\n </Grid>\n ) : (\n 'Page'\n )\n }\n >\n <PaginationDropdownButton buttonType=\"raw\" onClick={() => setIsOpened(true)} innerRef={btnRef}>\n <div style={{ display: 'flex', gridGap: '8px', alignItems: 'center' }}>\n <Grid cols={['auto', 'auto', 'auto']} alignItems=\"center\" gutter=\"xxxs\" ref={pageInfoRef}>\n <PaginationBoldText fontSize=\"18px\">{pageIndex + 1}</PaginationBoldText> / {pageCount}\n </Grid>\n {pageDetails.length !== 0 && (\n <>\n <PaginationSeparator height=\"12px\" ml=\"8px\" />\n <PaginationBoldText fontSize=\"13px\" mr=\"8px\">\n {pageDetails[pageIndex]}\n </PaginationBoldText>\n </>\n )}\n <ChevronDown color={['brand-primary', '700']} />\n </div>\n </PaginationDropdownButton>\n </DSDropdownMenuV2>\n <PaginationSeparator />\n </>\n );\n};\n\nexport default Paginator;\n"],"names":["Paginator","props","pageIndex","pageCount","onPageChange","pageDetails","pageDetailsTitle","useState","isOpened","setIsOpened","btnRef","useRef","pageInfoRef","useOnElementResize","btnWidth","width","txtWidth","options","useMemo","Array","fill","map","_","index","option","dsId","toString","label","value","type","length","render","whiteSpace","textOverflow","overflow","actionRef","useEffect","current","setActiveDescendant","scrollOptionIntoView","onKeyDown","usePaginationSearch","clickedOption","focus","marginLeft","display","gridGap","alignItems"],"mappings":"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"}
1
+ {"version":3,"file":"Paginator.js","sources":["../../../src/parts/Paginator.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { Checkmark, ChevronDown } from '@elliemae/ds-icons';\nimport { useOnElementResize } from '@elliemae/ds-utilities';\nimport Grid from '@elliemae/ds-grid';\nimport { DSDropdownMenuV2 } from '@elliemae/ds-dropdownmenu';\nimport { PaginationBoldText, PaginationDropdownButton, PaginationSeparator } from '../styled';\nimport { usePaginationSearch } from '../hooks/usePaginationSearch';\nimport { DSPaginationProps } from '../index.d';\n\nconst Paginator: React.ComponentType<DSPaginationProps> = (props) => {\n const { pageIndex, pageCount, onPageChange, pageDetails, pageDetailsTitle } = props;\n\n const [isOpened, setIsOpened] = useState(false);\n\n const btnRef = useRef(null);\n const pageInfoRef = useRef(null);\n\n const { width: btnWidth } = useOnElementResize(btnRef);\n const { width: txtWidth } = useOnElementResize(pageInfoRef);\n\n const options = useMemo(\n () =>\n new Array(pageCount).fill(0).map((_, index) => {\n const option: Record<string, unknown> = {\n dsId: (index + 1).toString(),\n label: (index + 1).toString(),\n value: index + 1,\n type: 'single',\n };\n if (pageDetails.length) {\n option.render = () => (\n <Grid cols={['16px', `${txtWidth + 16}px`, 'auto']} gutter=\"xxs\" alignItems=\"center\">\n {pageIndex === index ? <Checkmark size=\"s\" color={['brand-primary', '600']} /> : <div />}\n <span>{index + 1}</span>\n <span\n style={{\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n }}\n >\n {pageDetails[index]}\n </span>\n </Grid>\n );\n }\n return option;\n }),\n [pageCount, pageDetails, pageIndex, txtWidth],\n );\n\n const actionRef = useRef<Record<string, (dsId: string) => void>>({});\n\n useEffect(() => {\n if (isOpened) {\n actionRef.current.setActiveDescendant((pageIndex + 1).toString());\n actionRef.current.scrollOptionIntoView((pageIndex + 1).toString());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpened]);\n\n const onKeyDown = usePaginationSearch(pageCount, actionRef);\n\n return (\n <>\n <PaginationSeparator />\n <DSDropdownMenuV2\n isOpened={isOpened}\n options={options}\n selectedOptions={{ [(pageIndex + 1).toString()]: true }}\n onOptionClick={(_, clickedOption) => {\n onPageChange(clickedOption.value);\n setIsOpened(false);\n btnRef.current.focus();\n }}\n onClickOutside={() => {\n setIsOpened(false);\n btnRef.current.focus();\n }}\n startPlacementPreference=\"top-end\"\n actionRef={actionRef}\n onKeyDown={onKeyDown}\n minWidth={btnWidth + 23}\n maxHeight={300}\n HeaderComp={() =>\n pageDetailsTitle !== '' ? (\n <Grid cols={[`${txtWidth + 50}px`, '8px', 'auto']}>\n <span style={{ marginLeft: '8px' }}>Page</span>\n <PaginationSeparator height=\"100%\" />\n <span>{pageDetailsTitle}</span>\n </Grid>\n ) : (\n 'Page'\n )\n }\n >\n <PaginationDropdownButton buttonType=\"raw\" onClick={() => setIsOpened(true)} innerRef={btnRef}>\n <div style={{ display: 'flex', gridGap: '8px', alignItems: 'center' }}>\n <Grid cols={['auto', 'auto', 'auto']} alignItems=\"center\" gutter=\"xxxs\" ref={pageInfoRef}>\n <PaginationBoldText fontSize=\"18px\">{pageIndex + 1}</PaginationBoldText> / {pageCount}\n </Grid>\n {pageDetails.length !== 0 && (\n <>\n <PaginationSeparator height=\"12px\" ml=\"8px\" />\n <PaginationBoldText fontSize=\"13px\" mr=\"8px\">\n {pageDetails[pageIndex]}\n </PaginationBoldText>\n </>\n )}\n <ChevronDown color={['brand-primary', '700']} />\n </div>\n </PaginationDropdownButton>\n </DSDropdownMenuV2>\n <PaginationSeparator />\n </>\n );\n};\n\nexport default Paginator;\n"],"names":["Paginator","props","pageIndex","pageCount","onPageChange","pageDetails","pageDetailsTitle","useState","isOpened","setIsOpened","btnRef","useRef","pageInfoRef","useOnElementResize","btnWidth","width","txtWidth","options","useMemo","Array","fill","map","_","index","option","dsId","toString","label","value","type","length","render","whiteSpace","textOverflow","overflow","actionRef","useEffect","current","setActiveDescendant","scrollOptionIntoView","onKeyDown","usePaginationSearch","clickedOption","focus","marginLeft","display","gridGap","alignItems"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PerPageSelector.js","sources":["../../../src/parts/PerPageSelector.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport memoize from 'memoize-one';\nimport { range, useOnElementResize } from '@elliemae/ds-utilities';\nimport { DSDropdownMenuV2 } from '@elliemae/ds-dropdownmenu';\nimport { ChevronDown } from '@elliemae/ds-icons';\nimport { DSPaginationProps } from '../index.d';\nimport { PaginationDropdownButton } from '../styled';\n\nconst generateOption = (value) => ({\n dsId: value.toString(),\n value,\n label: value.toString(),\n type: 'single',\n});\n\nconst getOptions = memoize((step, min, max) => {\n const options = range(min, max + step, step).map(generateOption);\n return min === 0 ? options.slice(1, options.length) : options;\n});\n\nconst PerPageSelector: React.ComponentType<\n Pick<\n DSPaginationProps,\n 'pageSize' | 'onPageSizeChange' | 'perPageOptions' | 'perPageStep' | 'minPerPage' | 'maxPerPage'\n >\n> = (props) => {\n const [isOpened, setIsOpened] = useState(false);\n const { pageSize, onPageSizeChange, perPageOptions, maxPerPage, perPageStep, minPerPage } = props;\n\n const options = useMemo(() => {\n if (perPageOptions) return perPageOptions.map(generateOption);\n return getOptions(perPageStep, minPerPage, maxPerPage);\n }, [maxPerPage, minPerPage, perPageOptions, perPageStep]);\n\n const actionRef = useRef<Record<string, (dsId: string) => void>>({});\n const btnRef = useRef<HTMLButtonElement>(null);\n\n useEffect(() => {\n if (isOpened) {\n actionRef.current.setActiveDescendant(pageSize.toString());\n actionRef.current.scrollOptionIntoView(pageSize.toString());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpened]);\n\n const { width } = useOnElementResize(btnRef);\n\n return (\n <DSDropdownMenuV2\n isOpened={isOpened}\n options={options}\n selectedOptions={{ [pageSize.toString()]: true }}\n onOptionClick={(_, clickedOption) => {\n onPageSizeChange(clickedOption.value);\n setIsOpened(false);\n btnRef.current.focus();\n }}\n onClickOutside={() => {\n setIsOpened(false);\n btnRef.current.focus();\n }}\n startPlacementPreference=\"top-end\"\n actionRef={actionRef}\n minWidth={width + 25}\n maxHeight={300}\n >\n <div style={{ marginLeft: '32px' }}>\n <PaginationDropdownButton\n buttonType=\"raw\"\n onClick={() => setIsOpened(true)}\n aria-pressed={isOpened}\n innerRef={btnRef}\n >\n {pageSize} / page\n <ChevronDown color={['brand-primary', '700']} />\n </PaginationDropdownButton>\n </div>\n </DSDropdownMenuV2>\n );\n};\n\nexport default PerPageSelector;\n"],"names":["generateOption","value","dsId","toString","label","type","getOptions","memoize","step","min","max","options","range","map","slice","length","PerPageSelector","props","useState","isOpened","setIsOpened","pageSize","onPageSizeChange","perPageOptions","maxPerPage","perPageStep","minPerPage","useMemo","actionRef","useRef","btnRef","useEffect","current","setActiveDescendant","scrollOptionIntoView","useOnElementResize","width","_","clickedOption","focus","marginLeft"],"mappings":"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"}
1
+ {"version":3,"file":"PerPageSelector.js","sources":["../../../src/parts/PerPageSelector.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport memoize from 'memoize-one';\nimport { range, useOnElementResize } from '@elliemae/ds-utilities';\nimport { DSDropdownMenuV2 } from '@elliemae/ds-dropdownmenu';\nimport { ChevronDown } from '@elliemae/ds-icons';\nimport { DSPaginationProps } from '../index.d';\nimport { PaginationDropdownButton } from '../styled';\n\nconst generateOption = (value) => ({\n dsId: value.toString(),\n value,\n label: value.toString(),\n type: 'single',\n});\n\nconst getOptions = memoize((step, min, max) => {\n const options = range(min, max + step, step).map(generateOption);\n return min === 0 ? options.slice(1, options.length) : options;\n});\n\nconst PerPageSelector: React.ComponentType<\n Pick<\n DSPaginationProps,\n 'pageSize' | 'onPageSizeChange' | 'perPageOptions' | 'perPageStep' | 'minPerPage' | 'maxPerPage'\n >\n> = (props) => {\n const [isOpened, setIsOpened] = useState(false);\n const { pageSize, onPageSizeChange, perPageOptions, maxPerPage, perPageStep, minPerPage } = props;\n\n const options = useMemo(() => {\n if (perPageOptions) return perPageOptions.map(generateOption);\n return getOptions(perPageStep, minPerPage, maxPerPage);\n }, [maxPerPage, minPerPage, perPageOptions, perPageStep]);\n\n const actionRef = useRef<Record<string, (dsId: string) => void>>({});\n const btnRef = useRef<HTMLButtonElement>(null);\n\n useEffect(() => {\n if (isOpened) {\n actionRef.current.setActiveDescendant(pageSize.toString());\n actionRef.current.scrollOptionIntoView(pageSize.toString());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpened]);\n\n const { width } = useOnElementResize(btnRef);\n\n return (\n <DSDropdownMenuV2\n isOpened={isOpened}\n options={options}\n selectedOptions={{ [pageSize.toString()]: true }}\n onOptionClick={(_, clickedOption) => {\n onPageSizeChange(clickedOption.value);\n setIsOpened(false);\n btnRef.current.focus();\n }}\n onClickOutside={() => {\n setIsOpened(false);\n btnRef.current.focus();\n }}\n startPlacementPreference=\"top-end\"\n actionRef={actionRef}\n minWidth={width + 25}\n maxHeight={300}\n >\n <div style={{ marginLeft: '32px' }}>\n <PaginationDropdownButton\n buttonType=\"raw\"\n onClick={() => setIsOpened(true)}\n aria-pressed={isOpened}\n innerRef={btnRef}\n >\n {pageSize} / page\n <ChevronDown color={['brand-primary', '700']} />\n </PaginationDropdownButton>\n </div>\n </DSDropdownMenuV2>\n );\n};\n\nexport default PerPageSelector;\n"],"names":["generateOption","value","dsId","toString","label","type","getOptions","memoize","step","min","max","options","range","map","slice","length","PerPageSelector","props","useState","isOpened","setIsOpened","pageSize","onPageSizeChange","perPageOptions","maxPerPage","perPageStep","minPerPage","useMemo","actionRef","useRef","btnRef","useEffect","current","setActiveDescendant","scrollOptionIntoView","useOnElementResize","width","_","clickedOption","focus","marginLeft"],"mappings":"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"}
package/esm/props.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"props.js","sources":["../../src/props.tsx"],"sourcesContent":["import { PropTypes } from 'react-desc';\n\nconst emptyFunc = (): void => null;\n\nexport const DSPaginationSchema = {\n pageCount: PropTypes.number.description('How many pages are there'),\n pageIndex: PropTypes.number.description('Index of the current page, starting from 1').defaultValue(1),\n canPreviousPage: PropTypes.bool.description('Whether the previous button is disabled or not').defaultValue(true),\n canNextPage: PropTypes.bool.description('Whether the next button is disabled or not').defaultValue(true),\n pageSize: PropTypes.number.description('The current page size').defaultValue(10),\n showPerPageSelector: PropTypes.bool.description('Whether to show the page selector').defaultValue(true),\n perPageOptions: PropTypes.arrayOf(PropTypes.number)\n .description('The available options for page size')\n .defaultValue([10]),\n perPageStep: PropTypes.number.description('Step for the per page options').defaultValue(5),\n minPerPage: PropTypes.number.description('Step for the per page options').defaultValue(0),\n maxPerPage: PropTypes.number.description('Step for the per page options').defaultValue(100),\n onPageSizeChange: PropTypes.func.description('Function invoked when the page size changes').defaultValue(() => null),\n onPreviousPage: PropTypes.func\n .description('Function invoked when the previous button is pressed')\n .defaultValue(() => null),\n onPageChange: PropTypes.func.description('Function invoked when the page changes').defaultValue(() => null),\n onNextPage: PropTypes.func.description('Function invoked when next button is pressed').defaultValue(() => null),\n pageDetails: PropTypes.arrayOf(PropTypes.string).description('Details to provide for each page').defaultValue([]),\n pageDetailsTitle: PropTypes.string\n .description('The title of the details (usually a column of your dataset)')\n .defaultValue(''),\n width: PropTypes.any.description('Width for the container of the pagination').defaultValue('100%'),\n};\n\nexport const defaultProps = {\n pageIndex: 1,\n canPreviousPage: true,\n canNextPage: true,\n pageSize: 10,\n showPerPageSelector: true,\n perPageOptions: [10],\n perPageStep: 5,\n minPerPage: 0,\n maxPerPage: 100,\n onPageSizeChange: emptyFunc,\n onPreviousPage: emptyFunc,\n onNextPage: emptyFunc,\n onPageChange: emptyFunc,\n pageDetails: [],\n pageDetailsTitle: '',\n width: '100%',\n};\n"],"names":["emptyFunc","DSPaginationSchema","pageCount","PropTypes","number","description","pageIndex","defaultValue","canPreviousPage","bool","canNextPage","pageSize","showPerPageSelector","perPageOptions","arrayOf","perPageStep","minPerPage","maxPerPage","onPageSizeChange","func","onPreviousPage","onPageChange","onNextPage","pageDetails","string","pageDetailsTitle","width","any","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"props.js","sources":["../../src/props.tsx"],"sourcesContent":["import { PropTypes } from 'react-desc';\n\nconst emptyFunc = (): void => null;\n\nexport const DSPaginationSchema = {\n pageCount: PropTypes.number.description('How many pages are there'),\n pageIndex: PropTypes.number.description('Index of the current page, starting from 1').defaultValue(1),\n canPreviousPage: PropTypes.bool.description('Whether the previous button is disabled or not').defaultValue(true),\n canNextPage: PropTypes.bool.description('Whether the next button is disabled or not').defaultValue(true),\n pageSize: PropTypes.number.description('The current page size').defaultValue(10),\n showPerPageSelector: PropTypes.bool.description('Whether to show the page selector').defaultValue(true),\n perPageOptions: PropTypes.arrayOf(PropTypes.number)\n .description('The available options for page size')\n .defaultValue([10]),\n perPageStep: PropTypes.number.description('Step for the per page options').defaultValue(5),\n minPerPage: PropTypes.number.description('Step for the per page options').defaultValue(0),\n maxPerPage: PropTypes.number.description('Step for the per page options').defaultValue(100),\n onPageSizeChange: PropTypes.func.description('Function invoked when the page size changes').defaultValue(() => null),\n onPreviousPage: PropTypes.func\n .description('Function invoked when the previous button is pressed')\n .defaultValue(() => null),\n onPageChange: PropTypes.func.description('Function invoked when the page changes').defaultValue(() => null),\n onNextPage: PropTypes.func.description('Function invoked when next button is pressed').defaultValue(() => null),\n pageDetails: PropTypes.arrayOf(PropTypes.string).description('Details to provide for each page').defaultValue([]),\n pageDetailsTitle: PropTypes.string\n .description('The title of the details (usually a column of your dataset)')\n .defaultValue(''),\n width: PropTypes.any.description('Width for the container of the pagination').defaultValue('100%'),\n};\n\nexport const defaultProps = {\n pageIndex: 1,\n canPreviousPage: true,\n canNextPage: true,\n pageSize: 10,\n showPerPageSelector: true,\n perPageOptions: [10],\n perPageStep: 5,\n minPerPage: 0,\n maxPerPage: 100,\n onPageSizeChange: emptyFunc,\n onPreviousPage: emptyFunc,\n onNextPage: emptyFunc,\n onPageChange: emptyFunc,\n pageDetails: [],\n pageDetailsTitle: '',\n width: '100%',\n};\n"],"names":["emptyFunc","DSPaginationSchema","pageCount","PropTypes","number","description","pageIndex","defaultValue","canPreviousPage","bool","canNextPage","pageSize","showPerPageSelector","perPageOptions","arrayOf","perPageStep","minPerPage","maxPerPage","onPageSizeChange","func","onPreviousPage","onPageChange","onNextPage","pageDetails","string","pageDetailsTitle","width","any","defaultProps"],"mappings":"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"}
package/esm/styled.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","sources":["../../src/styled.tsx"],"sourcesContent":["import Grid from '@elliemae/ds-grid';\nimport { DSButtonV2 } from '@elliemae/ds-button';\nimport styled from 'styled-components';\nimport { space, typography, TypographyProps } from 'styled-system';\n\nconst sizeToCss = (size) => (typeof size === 'number' && !Number.isNaN(size) ? `${size}px` : size);\n\nconst styledFocusCss = ({ theme }) => `\n&:after {\n display: block;\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid ${theme.colors.brand[700]};\n pointer-events: none;\n z-index: 7;\n}`;\n\nexport const PaginationContainer = styled(Grid)`\n padding: 0 ${(props) => props.theme.space.xs};\n height: 42px;\n width: ${(props) => sizeToCss(props.width) || '100%'};\n max-width: 100%;\n align-items: center;\n box-shadow: 0 -1px 3px 0 rgba(0, 0, 0, 0.5);\n`;\n\nexport const PaginationWrapper = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 0 32px;\n`;\n\nexport const PaginationSeparator = styled(Grid)`\n background-color: ${(props) => props.theme.colors.neutral[300]};\n width: 1px;\n height: ${(props) => props.height || '30px'};\n`;\n\nexport const PaginationBoldText = styled.span<TypographyProps>`\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n ${typography}\n ${space}\n position: relative;\n`;\n\nexport const PaginationDropdownButton = styled(DSButtonV2)`\n height: 42px;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n padding-left: 16px;\n padding-right: 16px;\n grid-gap: 8px;\n font-size: 13px;\n color: ${(props) => props.theme.colors.neutral[700]};\n cursor: pointer;\n border-radius: 0;\n font-weight: ${(props) => props.theme.fontWeights.regular};\n :focus {\n ${styledFocusCss}\n }\n`;\n\nexport const PreviousNextPageButton = styled(DSButtonV2)`\n height: 42px;\n display: grid;\n place-items: center;\n position: relative;\n padding-left: 8px;\n padding-right: 8px;\n border-radius: 0;\n cursor: pointer;\n :focus {\n ${styledFocusCss}\n }\n`;\n"],"names":["sizeToCss","size","Number","isNaN","styledFocusCss","theme","colors","brand","PaginationContainer","styled","Grid","props","space","xs","width","PaginationWrapper","div","PaginationSeparator","neutral","height","PaginationBoldText","span","fontWeights","semibold","typography","PaginationDropdownButton","DSButtonV2","regular","PreviousNextPageButton"],"mappings":";;;;;AAKA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,IAAD;AAAA,SAAW,OAAOA,IAAP,KAAgB,QAAhB,IAA4B,CAACC,MAAM,CAACC,KAAP,CAAaF,IAAb,CAA7B,aAAqDA,IAArD,UAAgEA,IAA3E;AAAA,CAAlB;;AAEA,IAAMG,cAAc,GAAG,SAAjBA,cAAiB;AAAA,MAAGC,KAAH,QAAGA,KAAH;AAAA,iKASDA,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmB,GAAnB,CATC;AAAA,CAAvB;;IAcaC,mBAAmB,gBAAGC,MAAM,CAACC,IAAD,CAAT;AAAA;AAAA,yHACjB,UAACC,KAAD;AAAA,SAAWA,KAAK,CAACN,KAAN,CAAYO,KAAZ,CAAkBC,EAA7B;AAAA,CADiB,EAGrB,UAACF,KAAD;AAAA,SAAWX,SAAS,CAACW,KAAK,CAACG,KAAP,CAAT,IAA0B,MAArC;AAAA,CAHqB;IASnBC,iBAAiB,gBAAGN,MAAM,CAACO,GAAV;AAAA;AAAA;IAOjBC,mBAAmB,gBAAGR,MAAM,CAACC,IAAD,CAAT;AAAA;AAAA,qDACV,UAACC,KAAD;AAAA,SAAWA,KAAK,CAACN,KAAN,CAAYC,MAAZ,CAAmBY,OAAnB,CAA2B,GAA3B,CAAX;AAAA,CADU,EAGpB,UAACP,KAAD;AAAA,SAAWA,KAAK,CAACQ,MAAN,IAAgB,MAA3B;AAAA,CAHoB;IAMnBC,kBAAkB,gBAAGX,MAAM,CAACY,IAAV;AAAA;AAAA,sDACd,UAACV,KAAD;AAAA,SAAWA,KAAK,CAACN,KAAN,CAAYiB,WAAZ,CAAwBC,QAAnC;AAAA,CADc,EAE3BC,UAF2B,EAG3BZ,KAH2B;IAOlBa,wBAAwB,gBAAGhB,MAAM,CAACiB,UAAD,CAAT;AAAA;AAAA,sOAU1B,UAACf,KAAD;AAAA,SAAWA,KAAK,CAACN,KAAN,CAAYC,MAAZ,CAAmBY,OAAnB,CAA2B,GAA3B,CAAX;AAAA,CAV0B,EAapB,UAACP,KAAD;AAAA,SAAWA,KAAK,CAACN,KAAN,CAAYiB,WAAZ,CAAwBK,OAAnC;AAAA,CAboB,EAe/BvB,cAf+B;IAmBxBwB,sBAAsB,gBAAGnB,MAAM,CAACiB,UAAD,CAAT;AAAA;AAAA,qJAU7BtB,cAV6B;;;;"}
1
+ {"version":3,"file":"styled.js","sources":["../../src/styled.tsx"],"sourcesContent":["import Grid from '@elliemae/ds-grid';\nimport { DSButtonV2 } from '@elliemae/ds-button';\nimport styled from 'styled-components';\nimport { space, typography, TypographyProps } from 'styled-system';\n\nconst sizeToCss = (size) => (typeof size === 'number' && !Number.isNaN(size) ? `${size}px` : size);\n\nconst styledFocusCss = ({ theme }) => `\n&:after {\n display: block;\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid ${theme.colors.brand[700]};\n pointer-events: none;\n z-index: 7;\n}`;\n\nexport const PaginationContainer = styled(Grid)`\n padding: 0 ${(props) => props.theme.space.xs};\n height: 42px;\n width: ${(props) => sizeToCss(props.width) || '100%'};\n max-width: 100%;\n align-items: center;\n box-shadow: 0 -1px 3px 0 rgba(0, 0, 0, 0.5);\n`;\n\nexport const PaginationWrapper = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 0 32px;\n`;\n\nexport const PaginationSeparator = styled(Grid)`\n background-color: ${(props) => props.theme.colors.neutral[300]};\n width: 1px;\n height: ${(props) => props.height || '30px'};\n`;\n\nexport const PaginationBoldText = styled.span<TypographyProps>`\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n ${typography}\n ${space}\n position: relative;\n`;\n\nexport const PaginationDropdownButton = styled(DSButtonV2)`\n height: 42px;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n padding-left: 16px;\n padding-right: 16px;\n grid-gap: 8px;\n font-size: 13px;\n color: ${(props) => props.theme.colors.neutral[700]};\n cursor: pointer;\n border-radius: 0;\n font-weight: ${(props) => props.theme.fontWeights.regular};\n :focus {\n ${styledFocusCss}\n }\n`;\n\nexport const PreviousNextPageButton = styled(DSButtonV2)`\n height: 42px;\n display: grid;\n place-items: center;\n position: relative;\n padding-left: 8px;\n padding-right: 8px;\n border-radius: 0;\n cursor: pointer;\n :focus {\n ${styledFocusCss}\n }\n`;\n"],"names":["sizeToCss","size","Number","isNaN","styledFocusCss","theme","colors","brand","PaginationContainer","styled","Grid","props","space","xs","width","PaginationWrapper","div","PaginationSeparator","neutral","height","PaginationBoldText","span","fontWeights","semibold","typography","PaginationDropdownButton","DSButtonV2","regular","PreviousNextPageButton"],"mappings":";;;;;AAKA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,IAAD;EAAA,OAAW,OAAOA,IAAP,KAAgB,QAAhB,IAA4B,CAACC,MAAM,CAACC,KAAP,CAAaF,IAAb,CAA7B,aAAqDA,IAArD,UAAgEA,IAA3E;AAAA,CAAlB;;AAEA,IAAMG,cAAc,GAAG,SAAjBA,cAAiB;EAAA,IAAGC,KAAH,QAAGA,KAAH;EAAA,+JASDA,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmB,GAAnB,CATC;AAAA,CAAvB;;IAcaC,mBAAmB,gBAAGC,MAAM,CAACC,IAAD,CAAT;EAAA;AAAA,yHACjB,UAACC,KAAD;EAAA,OAAWA,KAAK,CAACN,KAAN,CAAYO,KAAZ,CAAkBC,EAA7B;AAAA,CADiB,EAGrB,UAACF,KAAD;EAAA,OAAWX,SAAS,CAACW,KAAK,CAACG,KAAP,CAAT,IAA0B,MAArC;AAAA,CAHqB;IASnBC,iBAAiB,gBAAGN,MAAM,CAACO,GAAV;EAAA;AAAA;IAOjBC,mBAAmB,gBAAGR,MAAM,CAACC,IAAD,CAAT;EAAA;AAAA,qDACV,UAACC,KAAD;EAAA,OAAWA,KAAK,CAACN,KAAN,CAAYC,MAAZ,CAAmBY,OAAnB,CAA2B,GAA3B,CAAX;AAAA,CADU,EAGpB,UAACP,KAAD;EAAA,OAAWA,KAAK,CAACQ,MAAN,IAAgB,MAA3B;AAAA,CAHoB;IAMnBC,kBAAkB,gBAAGX,MAAM,CAACY,IAAV;EAAA;AAAA,sDACd,UAACV,KAAD;EAAA,OAAWA,KAAK,CAACN,KAAN,CAAYiB,WAAZ,CAAwBC,QAAnC;AAAA,CADc,EAE3BC,UAF2B,EAG3BZ,KAH2B;IAOlBa,wBAAwB,gBAAGhB,MAAM,CAACiB,UAAD,CAAT;EAAA;AAAA,sOAU1B,UAACf,KAAD;EAAA,OAAWA,KAAK,CAACN,KAAN,CAAYC,MAAZ,CAAmBY,OAAnB,CAA2B,GAA3B,CAAX;AAAA,CAV0B,EAapB,UAACP,KAAD;EAAA,OAAWA,KAAK,CAACN,KAAN,CAAYiB,WAAZ,CAAwBK,OAAnC;AAAA,CAboB,EAe/BvB,cAf+B;IAmBxBwB,sBAAsB,gBAAGnB,MAAM,CAACiB,UAAD,CAAT;EAAA;AAAA,qJAU7BtB,cAV6B;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-pagination",
3
- "version": "1.61.12",
3
+ "version": "1.61.13",
4
4
  "license": "MIT",
5
5
  "description": "Ellie Mae - Dim Sum - Pagination",
6
6
  "main": "cjs/index.js",
@@ -16,11 +16,11 @@
16
16
  "build": "node ../../scripts/build/build.js"
17
17
  },
18
18
  "dependencies": {
19
- "@elliemae/ds-dropdownmenu": "1.61.12",
20
- "@elliemae/ds-grid": "1.61.12",
21
- "@elliemae/ds-icons": "1.61.12",
22
- "@elliemae/ds-props-helpers": "1.61.12",
23
- "@elliemae/ds-utilities": "1.61.12",
19
+ "@elliemae/ds-dropdownmenu": "1.61.13",
20
+ "@elliemae/ds-grid": "1.61.13",
21
+ "@elliemae/ds-icons": "1.61.13",
22
+ "@elliemae/ds-props-helpers": "1.61.13",
23
+ "@elliemae/ds-utilities": "1.61.13",
24
24
  "react-desc": "^4.1.2"
25
25
  },
26
26
  "devDependencies": {