@semcore/pagination 17.2.1-prerelease.0 → 17.2.1-prerelease.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -1
- package/lib/cjs/Pagination.js.map +1 -1
- package/lib/es6/Pagination.js.map +1 -1
- package/package.json +11 -11
package/CHANGELOG.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","names":["_core","require","_baseComponents","_button","_interopRequireWildcard","_i18nEnhance","_interopRequireDefault","_uniqueID","_m","_inputNumber","_typography","_react","_intergalacticDynamicLocales","style","sstyled","insert","PaginationRoot","Component","constructor","args","_defineProperty2","default","React","createRef","dirtyCurrentPage","undefined","ref","requestAnimationFrame","current","focus","currentPage","Number","isNaN","handlers","setState","value","state","setTimeout","pageInputAddonRef","document","activeElement","asProps","totalPages","finalValue","event","key","getDirtyCurrentPage","handlePageChange","getI18nText","size","disabled","onClick","returnLostFocusTo","nextPageButtonRef","followingPage","prevPageButtonRef","locale","paginationInputId","onBlur","handlePageValueBlur","min","max","onChange","handlePageValueChange","onKeyDown","handlePageInputKeyDown","id","formatter","Intl","NumberFormat","children","format","isLastOrSingle","uncontrolledProps","componentDidUpdate","prevProps","uid","render","_ref","_ref9","SPagination","Flex","Children","hasChildren","styles","createElement","cn","assignProps","Fragment","Pagination","FirstPage","PrevPage","NextPage","PageInput","TotalPages","ScreenReaderOnly","defaultCurrentPage","defaultTotalPages","i18n","localizedMessages","i18nEnhance","uniqueIDEnhancement","_ref2","hintContent","isAdvanced","Button","buttonRef","Addon","tag","ChevronDoubleLeft","Hint","triggerRef","timeout","_ref3","_ref0","SPrevPage","props","_ref4","_ref1","SNextPage","_ref5","_ref10","STotalPages","ButtonLink","STotalPagesLabel","Text","STotalLastPages","other","textSize","lastPageNumber","PageInputValue","_ref6","arguments[0]","_ref11","SPageInputValue","InputNumber","Value","PageInputAddon","_ref7","_ref12","SPageInputAddon","_ref8","_ref13","SPageInput","SLabel","origin","createComponent","_default","exports"],"sources":["../../src/Pagination.tsx"],"sourcesContent":["import { Flex, ScreenReaderOnly, Hint } from '@semcore/base-components';\nimport Button, { ButtonLink } from '@semcore/button';\nimport type { Intergalactic } from '@semcore/core';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport ChevronDoubleLeft from '@semcore/icon/ChevronDoubleLeft/m';\nimport InputNumber from '@semcore/input-number';\nimport { Text } from '@semcore/typography';\nimport React from 'react';\n\nimport type { NSPagination } from './Pagination.type';\nimport style from './style/pagination.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\ntype State = {\n dirtyCurrentPage: NSPagination.Props['currentPage'];\n};\n\nclass PaginationRoot extends Component<\n Intergalactic.InternalTypings.InferComponentProps<NSPagination.Component>,\n typeof PaginationRoot.enhance,\n NSPagination.Handlers,\n {},\n State,\n NSPagination.DefaultProps\n> {\n static displayName = 'Pagination';\n\n static defaultProps = {\n defaultCurrentPage: 1,\n defaultTotalPages: 1,\n i18n: localizedMessages,\n locale: 'en',\n size: 'm',\n } as const;\n\n static style = style;\n static enhance = [i18nEnhance(localizedMessages), uniqueIDEnhancement()] as const;\n\n nextPageButtonRef = React.createRef<HTMLButtonElement>();\n prevPageButtonRef = React.createRef<HTMLButtonElement>();\n\n state: State = {\n // Crutch, so as not to take out `dirtyCurrentPage` in props\n dirtyCurrentPage: undefined,\n };\n\n pageInputAddonRef = React.createRef();\n\n uncontrolledProps() {\n return {\n totalPages: null,\n currentPage: null,\n };\n }\n\n componentDidUpdate(prevProps: typeof this.asProps) {\n if (prevProps.currentPage !== undefined && prevProps.currentPage !== this.asProps.currentPage) {\n this.setState({ dirtyCurrentPage: undefined });\n }\n }\n\n get paginationInputId() {\n const { uid } = this.asProps;\n\n return `pagination-input-${uid}`;\n }\n\n returnLostFocusTo = (ref: React.RefObject<HTMLButtonElement>) => {\n requestAnimationFrame(() => {\n ref.current?.focus();\n });\n };\n\n handlePageChange = (currentPage?: number) => {\n currentPage = Number(currentPage);\n if (Number.isNaN(currentPage)) {\n return;\n }\n this.handlers.currentPage(currentPage);\n this.setState({ dirtyCurrentPage: undefined });\n };\n\n handlePageValueChange = (value: NSPagination.Props['currentPage']) => {\n const { dirtyCurrentPage } = this.state;\n if (Number.isNaN(Number(value))) {\n value = dirtyCurrentPage;\n }\n this.setState({ dirtyCurrentPage: value });\n };\n\n handlePageValueBlur = () => {\n setTimeout(() => {\n if (this.pageInputAddonRef.current !== document.activeElement) {\n const { currentPage } = this.asProps;\n this.setState({ dirtyCurrentPage: currentPage });\n }\n }, 0);\n };\n\n getDirtyCurrentPage = () => {\n const { dirtyCurrentPage } = this.state;\n const { totalPages } = this.asProps;\n\n if (dirtyCurrentPage === undefined) return dirtyCurrentPage;\n\n const finalValue = dirtyCurrentPage > totalPages ? totalPages : dirtyCurrentPage;\n return finalValue <= 0 ? 1 : finalValue;\n };\n\n handlePageInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key !== 'Enter') return;\n const dirtyCurrentPage = this.getDirtyCurrentPage();\n this.handlePageChange(dirtyCurrentPage);\n };\n\n getFirstPageProps = () => {\n const { currentPage, getI18nText, size } = this.asProps;\n const disabled = currentPage <= 1;\n return {\n disabled,\n onClick: () => {\n this.handlePageChange(1);\n this.returnLostFocusTo(this.nextPageButtonRef);\n },\n getI18nText,\n size,\n };\n };\n\n getPrevPageProps = () => {\n const { currentPage, getI18nText, size } = this.asProps;\n const disabled = currentPage <= 1;\n return {\n currentPage,\n disabled,\n onClick: () => {\n const followingPage = currentPage - 1;\n\n this.handlePageChange(followingPage);\n\n if (followingPage <= 1) {\n this.returnLostFocusTo(this.nextPageButtonRef);\n }\n },\n getI18nText,\n ref: this.prevPageButtonRef,\n size,\n };\n };\n\n getNextPageProps = () => {\n const { currentPage, totalPages, getI18nText, size } = this.asProps;\n const disabled = currentPage >= totalPages;\n return {\n currentPage,\n disabled,\n onClick: () => {\n const followingPage = currentPage + 1;\n\n this.handlePageChange(followingPage);\n\n if (followingPage >= totalPages) {\n this.returnLostFocusTo(this.prevPageButtonRef);\n }\n },\n getI18nText,\n ref: this.nextPageButtonRef,\n size,\n };\n };\n\n getPageInputProps = () => {\n const { getI18nText, locale, size } = this.asProps;\n return {\n getI18nText,\n locale,\n size,\n paginationInputId: this.paginationInputId,\n };\n };\n\n getPageInputAddonProps = () => {\n return {\n ref: this.pageInputAddonRef,\n onBlur: this.handlePageValueBlur,\n };\n };\n\n getPageInputValueProps = () => {\n const { dirtyCurrentPage } = this.state;\n const { currentPage, totalPages, getI18nText, size } = this.asProps;\n return {\n min: 1,\n max: totalPages,\n disabled: totalPages === 1,\n value: dirtyCurrentPage === undefined ? currentPage : dirtyCurrentPage,\n onBlur: this.handlePageValueBlur,\n onChange: this.handlePageValueChange,\n onKeyDown: this.handlePageInputKeyDown,\n getI18nText,\n size,\n id: this.paginationInputId,\n };\n };\n\n getTotalPagesProps = () => {\n const { currentPage, totalPages, getI18nText, locale, size } = this.asProps;\n const formatter = new Intl.NumberFormat(locale, { style: 'decimal' });\n return {\n totalPages,\n children: formatter.format(totalPages),\n isLastOrSingle: currentPage === totalPages,\n onClick: () => {\n this.handlePageChange(totalPages);\n this.returnLostFocusTo(this.prevPageButtonRef);\n },\n getI18nText,\n size,\n };\n };\n\n render() {\n const SPagination = Root;\n const {\n Children,\n children: hasChildren,\n getI18nText,\n currentPage,\n totalPages = 1,\n } = this.asProps;\n\n return sstyled(this.asProps.styles)(\n <SPagination\n render={Flex}\n flexWrap='wrap'\n withGap={!hasChildren}\n tag='nav'\n aria-label={getI18nText('pagination')}\n >\n {hasChildren\n ? (\n <Children />\n )\n : (\n <>\n {totalPages === 1\n ? null\n : (\n <Flex>\n <Pagination.FirstPage />\n <Pagination.PrevPage />\n <Pagination.NextPage />\n </Flex>\n )}\n <Flex alignItems='center'>\n <Pagination.PageInput />\n <Pagination.TotalPages />\n </Flex>\n </>\n )}\n <ScreenReaderOnly aria-live='polite' role='status'>\n {getI18nText('pageInputLabel')}\n {' '}\n {currentPage}\n </ScreenReaderOnly>\n </SPagination>,\n );\n }\n}\n\nclass FirstPage extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.FirstPage.Component, typeof PaginationRoot, 'FirstPage'>\n> {\n buttonRef = React.createRef<HTMLButtonElement>();\n\n render() {\n const { getI18nText, Children, children } = this.asProps;\n const hintContent = getI18nText('firstPage');\n const isAdvanced = children !== undefined;\n\n return (\n <>\n <Root render={Button} aria-label={getI18nText('firstPage')} ref={this.buttonRef}>\n {isAdvanced\n ? <Children />\n : <Button.Addon tag={ChevronDoubleLeft} />}\n </Root>\n {!isAdvanced && (<Hint triggerRef={this.buttonRef} timeout={[250, 50]}>{hintContent}</Hint>)}\n </>\n );\n }\n}\n\ntype PrevPageProps = Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.PrevPage.Component, typeof PaginationRoot, 'PrevPage'>;\nclass PrevPage extends Component<PrevPageProps> {\n static defaultProps = (props: PrevPageProps) => ({\n children: props.getI18nText('prevPageLabel'),\n });\n\n render() {\n const SPrevPage = Root;\n return sstyled(this.asProps.styles)(<SPrevPage render={Button} />);\n }\n}\n\ntype NextPageProps = Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.NextPage.Component, typeof PaginationRoot, 'NextPage'>;\nclass NextPage extends Component<NextPageProps> {\n static defaultProps = (props: NextPageProps) => ({\n children: props.getI18nText('nextPageLabel'),\n });\n\n render() {\n const SNextPage = Root;\n return sstyled(this.asProps.styles)(<SNextPage render={Button} use='primary' theme='info' />);\n }\n}\n\nclass TotalPages extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.TotalPages.Component, typeof PaginationRoot, 'TotalPages'>\n> {\n render() {\n const STotalPages = Root;\n const STotalPagesLabel = Text;\n const STotalLastPages = Text;\n const { styles, getI18nText, totalPages, isLastOrSingle, children, size, ...other } = this.asProps;\n const textSize = size === 'l' ? 300 : 200;\n return sstyled(styles)(\n <>\n <STotalPagesLabel size={textSize}>{getI18nText('totalPagesLabel')}</STotalPagesLabel>\n {isLastOrSingle\n ? (\n // @ts-ignore\n <STotalLastPages\n size={textSize}\n // @ts-expect-error\n aria-label={getI18nText('lastPage', { lastPageNumber: totalPages })}\n {...other}\n >\n {children}\n </STotalLastPages>\n )\n : (\n <STotalPages\n render={ButtonLink}\n use:size={textSize}\n aria-label={getI18nText('lastPage', { lastPageNumber: totalPages })}\n />\n )}\n </>,\n );\n }\n}\n\nfunction PageInputValue(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSPagination.PageInput.Value.Component,\n typeof PaginationRoot,\n 'PageInputValue'\n >,\n) {\n const SPageInputValue = Root;\n\n return sstyled(props.styles)(\n <SPageInputValue\n render={InputNumber.Value}\n // By default, InputNumber has validation on blur.\n // We should disable it, because of Pagination.PageInput.Addon\n onBlur={() => false}\n />,\n );\n}\n\nfunction PageInputAddon(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSPagination.PageInput.Addon.Component,\n typeof PaginationRoot,\n 'PageInputAddon'\n >,\n) {\n const SPageInputAddon = Root;\n return sstyled(props.styles)(<SPageInputAddon render={InputNumber.Addon} />);\n}\n\nclass PageInput extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.PageInput.Component, typeof PaginationRoot, 'PageInput'>,\n typeof PageInput.enhance\n> {\n static enhance = [uniqueIDEnhancement()] as const;\n\n render() {\n const SPageInput = Root;\n const SLabel = Text;\n const { Children, getI18nText, styles, locale, size, paginationInputId } = this.asProps;\n const textSize = size === 'l' ? 300 : 200;\n\n return sstyled(styles)(\n <>\n <SLabel tag='label' htmlFor={paginationInputId} size={textSize}>\n {getI18nText('pageInputLabel')}\n </SLabel>\n <SPageInput\n render={InputNumber}\n controlsLength={Children.origin ? undefined : 2}\n locale={locale}\n >\n {Children.origin\n ? (\n <Children />\n )\n : (\n <Pagination.PageInput.Value />\n )}\n </SPageInput>\n </>,\n );\n }\n}\n\n/**\n * Pagination\n *\n * {@link https://developer.semrush.com/intergalactic/components/pagination/pagination-api/|API} | {@link https://developer.semrush.com/intergalactic/components/pagination/pagination-code/|Examples}\n */\nconst Pagination = createComponent<\n NSPagination.Component,\n typeof PaginationRoot\n>(PaginationRoot, {\n PrevPage,\n NextPage,\n FirstPage,\n TotalPages,\n PageInput: [\n PageInput,\n {\n Value: PageInputValue,\n Addon: PageInputAddon,\n },\n ],\n});\n\nexport default Pagination;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Pagination.js","names":["_core","require","_baseComponents","_button","_interopRequireWildcard","_i18nEnhance","_interopRequireDefault","_uniqueID","_m","_inputNumber","_typography","_react","_intergalacticDynamicLocales","style","sstyled","insert","PaginationRoot","Component","constructor","args","_defineProperty2","default","React","createRef","dirtyCurrentPage","undefined","ref","requestAnimationFrame","current","focus","currentPage","Number","isNaN","handlers","setState","value","state","setTimeout","pageInputAddonRef","document","activeElement","asProps","totalPages","finalValue","event","key","getDirtyCurrentPage","handlePageChange","getI18nText","size","disabled","onClick","returnLostFocusTo","nextPageButtonRef","followingPage","prevPageButtonRef","locale","paginationInputId","onBlur","handlePageValueBlur","min","max","onChange","handlePageValueChange","onKeyDown","handlePageInputKeyDown","id","formatter","Intl","NumberFormat","children","format","isLastOrSingle","uncontrolledProps","componentDidUpdate","prevProps","uid","render","_ref","_ref9","SPagination","Flex","Children","hasChildren","styles","createElement","cn","assignProps","Fragment","Pagination","FirstPage","PrevPage","NextPage","PageInput","TotalPages","ScreenReaderOnly","defaultCurrentPage","defaultTotalPages","i18n","localizedMessages","i18nEnhance","uniqueIDEnhancement","_ref2","hintContent","isAdvanced","Button","buttonRef","Addon","tag","ChevronDoubleLeft","Hint","triggerRef","timeout","_ref3","_ref0","SPrevPage","props","_ref4","_ref1","SNextPage","_ref5","_ref10","STotalPages","ButtonLink","STotalPagesLabel","Text","STotalLastPages","other","textSize","lastPageNumber","PageInputValue","_ref6","arguments[0]","_ref11","SPageInputValue","InputNumber","Value","PageInputAddon","_ref7","_ref12","SPageInputAddon","_ref8","_ref13","SPageInput","SLabel","origin","createComponent","_default","exports"],"sources":["../../src/Pagination.tsx"],"sourcesContent":["import { Flex, ScreenReaderOnly, Hint } from '@semcore/base-components';\nimport Button, { ButtonLink } from '@semcore/button';\nimport type { Intergalactic } from '@semcore/core';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport ChevronDoubleLeft from '@semcore/icon/ChevronDoubleLeft/m';\nimport InputNumber from '@semcore/input-number';\nimport { Text } from '@semcore/typography';\nimport React from 'react';\n\nimport type { NSPagination } from './Pagination.type';\nimport style from './style/pagination.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\ntype State = {\n dirtyCurrentPage: NSPagination.Props['currentPage'];\n};\n\nclass PaginationRoot extends Component<\n Intergalactic.InternalTypings.InferComponentProps<NSPagination.Component>,\n typeof PaginationRoot.enhance,\n NSPagination.Handlers,\n {},\n State,\n NSPagination.DefaultProps\n> {\n static displayName = 'Pagination';\n\n static defaultProps = {\n defaultCurrentPage: 1,\n defaultTotalPages: 1,\n i18n: localizedMessages,\n locale: 'en',\n size: 'm',\n } as const;\n\n static style = style;\n static enhance = [i18nEnhance(localizedMessages), uniqueIDEnhancement()] as const;\n\n nextPageButtonRef = React.createRef<HTMLButtonElement>();\n prevPageButtonRef = React.createRef<HTMLButtonElement>();\n\n state: State = {\n // Crutch, so as not to take out `dirtyCurrentPage` in props\n dirtyCurrentPage: undefined,\n };\n\n pageInputAddonRef = React.createRef();\n\n uncontrolledProps() {\n return {\n totalPages: null,\n currentPage: null,\n };\n }\n\n componentDidUpdate(prevProps: typeof this.asProps) {\n if (prevProps.currentPage !== undefined && prevProps.currentPage !== this.asProps.currentPage) {\n this.setState({ dirtyCurrentPage: undefined });\n }\n }\n\n get paginationInputId() {\n const { uid } = this.asProps;\n\n return `pagination-input-${uid}`;\n }\n\n returnLostFocusTo = (ref: React.RefObject<HTMLButtonElement>) => {\n requestAnimationFrame(() => {\n ref.current?.focus();\n });\n };\n\n handlePageChange = (currentPage?: number) => {\n currentPage = Number(currentPage);\n if (Number.isNaN(currentPage)) {\n return;\n }\n this.handlers.currentPage(currentPage);\n this.setState({ dirtyCurrentPage: undefined });\n };\n\n handlePageValueChange = (value: NSPagination.Props['currentPage']) => {\n const { dirtyCurrentPage } = this.state;\n if (Number.isNaN(Number(value))) {\n value = dirtyCurrentPage;\n }\n this.setState({ dirtyCurrentPage: value });\n };\n\n handlePageValueBlur = () => {\n setTimeout(() => {\n if (this.pageInputAddonRef.current !== document.activeElement) {\n const { currentPage } = this.asProps;\n this.setState({ dirtyCurrentPage: currentPage });\n }\n }, 0);\n };\n\n getDirtyCurrentPage = () => {\n const { dirtyCurrentPage } = this.state;\n const { totalPages } = this.asProps;\n\n if (dirtyCurrentPage === undefined) return dirtyCurrentPage;\n\n const finalValue = dirtyCurrentPage > totalPages ? totalPages : dirtyCurrentPage;\n return finalValue <= 0 ? 1 : finalValue;\n };\n\n handlePageInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key !== 'Enter') return;\n const dirtyCurrentPage = this.getDirtyCurrentPage();\n this.handlePageChange(dirtyCurrentPage);\n };\n\n getFirstPageProps = () => {\n const { currentPage, getI18nText, size } = this.asProps;\n const disabled = currentPage <= 1;\n return {\n disabled,\n onClick: () => {\n this.handlePageChange(1);\n this.returnLostFocusTo(this.nextPageButtonRef);\n },\n getI18nText,\n size,\n };\n };\n\n getPrevPageProps = () => {\n const { currentPage, getI18nText, size } = this.asProps;\n const disabled = currentPage <= 1;\n return {\n currentPage,\n disabled,\n onClick: () => {\n const followingPage = currentPage - 1;\n\n this.handlePageChange(followingPage);\n\n if (followingPage <= 1) {\n this.returnLostFocusTo(this.nextPageButtonRef);\n }\n },\n getI18nText,\n ref: this.prevPageButtonRef,\n size,\n };\n };\n\n getNextPageProps = () => {\n const { currentPage, totalPages, getI18nText, size } = this.asProps;\n const disabled = currentPage >= totalPages;\n return {\n currentPage,\n disabled,\n onClick: () => {\n const followingPage = currentPage + 1;\n\n this.handlePageChange(followingPage);\n\n if (followingPage >= totalPages) {\n this.returnLostFocusTo(this.prevPageButtonRef);\n }\n },\n getI18nText,\n ref: this.nextPageButtonRef,\n size,\n };\n };\n\n getPageInputProps = () => {\n const { getI18nText, locale, size } = this.asProps;\n return {\n getI18nText,\n locale,\n size,\n paginationInputId: this.paginationInputId,\n };\n };\n\n getPageInputAddonProps = () => {\n return {\n ref: this.pageInputAddonRef,\n onBlur: this.handlePageValueBlur,\n };\n };\n\n getPageInputValueProps = () => {\n const { dirtyCurrentPage } = this.state;\n const { currentPage, totalPages, getI18nText, size } = this.asProps;\n return {\n min: 1,\n max: totalPages,\n disabled: totalPages === 1,\n value: dirtyCurrentPage === undefined ? currentPage : dirtyCurrentPage,\n onBlur: this.handlePageValueBlur,\n onChange: this.handlePageValueChange,\n onKeyDown: this.handlePageInputKeyDown,\n getI18nText,\n size,\n id: this.paginationInputId,\n };\n };\n\n getTotalPagesProps = () => {\n const { currentPage, totalPages, getI18nText, locale, size } = this.asProps;\n const formatter = new Intl.NumberFormat(locale, { style: 'decimal' });\n return {\n totalPages,\n children: formatter.format(totalPages),\n isLastOrSingle: currentPage === totalPages,\n onClick: () => {\n this.handlePageChange(totalPages);\n this.returnLostFocusTo(this.prevPageButtonRef);\n },\n getI18nText,\n size,\n };\n };\n\n render() {\n const SPagination = Root;\n const {\n Children,\n children: hasChildren,\n getI18nText,\n currentPage,\n totalPages = 1,\n } = this.asProps;\n\n return sstyled(this.asProps.styles)(\n <SPagination\n render={Flex}\n flexWrap='wrap'\n withGap={!hasChildren}\n tag='nav'\n aria-label={getI18nText('pagination')}\n >\n {hasChildren\n ? (\n <Children />\n )\n : (\n <>\n {totalPages === 1\n ? null\n : (\n <Flex>\n <Pagination.FirstPage />\n <Pagination.PrevPage />\n <Pagination.NextPage />\n </Flex>\n )}\n <Flex alignItems='center'>\n <Pagination.PageInput />\n <Pagination.TotalPages />\n </Flex>\n </>\n )}\n <ScreenReaderOnly aria-live='polite' role='status'>\n {getI18nText('pageInputLabel')}\n {' '}\n {currentPage}\n </ScreenReaderOnly>\n </SPagination>,\n );\n }\n}\n\nclass FirstPage extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.FirstPage.Component, typeof PaginationRoot, 'FirstPage'>\n> {\n buttonRef = React.createRef<HTMLButtonElement>();\n\n render() {\n const { getI18nText, Children, children } = this.asProps;\n const hintContent = getI18nText('firstPage');\n const isAdvanced = children !== undefined;\n\n return (\n <>\n <Root render={Button} aria-label={getI18nText('firstPage')} ref={this.buttonRef}>\n {isAdvanced\n ? <Children />\n : <Button.Addon tag={ChevronDoubleLeft} />}\n </Root>\n {!isAdvanced && (<Hint triggerRef={this.buttonRef} timeout={[250, 50]}>{hintContent}</Hint>)}\n </>\n );\n }\n}\n\ntype PrevPageProps = Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.PrevPage.Component, typeof PaginationRoot, 'PrevPage'>;\nclass PrevPage extends Component<PrevPageProps> {\n static defaultProps = (props: PrevPageProps) => ({\n children: props.getI18nText('prevPageLabel'),\n });\n\n render() {\n const SPrevPage = Root;\n return sstyled(this.asProps.styles)(<SPrevPage render={Button} />);\n }\n}\n\ntype NextPageProps = Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.NextPage.Component, typeof PaginationRoot, 'NextPage'>;\nclass NextPage extends Component<NextPageProps> {\n static defaultProps = (props: NextPageProps) => ({\n children: props.getI18nText('nextPageLabel'),\n });\n\n render() {\n const SNextPage = Root;\n return sstyled(this.asProps.styles)(<SNextPage render={Button} use='primary' theme='info' />);\n }\n}\n\nclass TotalPages extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.TotalPages.Component, typeof PaginationRoot, 'TotalPages'>\n> {\n render() {\n const STotalPages = Root;\n const STotalPagesLabel = Text;\n const STotalLastPages = Text;\n const { styles, getI18nText, totalPages, isLastOrSingle, children, size, ...other } = this.asProps;\n const textSize = size === 'l' ? 300 : 200;\n return sstyled(styles)(\n <>\n <STotalPagesLabel size={textSize}>{getI18nText('totalPagesLabel')}</STotalPagesLabel>\n {isLastOrSingle\n ? (\n // @ts-ignore\n <STotalLastPages\n size={textSize}\n aria-label={getI18nText('lastPage', { lastPageNumber: totalPages })}\n {...other}\n >\n {children}\n </STotalLastPages>\n )\n : (\n <STotalPages\n render={ButtonLink}\n use:size={textSize}\n aria-label={getI18nText('lastPage', { lastPageNumber: totalPages })}\n />\n )}\n </>,\n );\n }\n}\n\nfunction PageInputValue(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSPagination.PageInput.Value.Component,\n typeof PaginationRoot,\n 'PageInputValue'\n >,\n) {\n const SPageInputValue = Root;\n\n return sstyled(props.styles)(\n <SPageInputValue\n render={InputNumber.Value}\n // By default, InputNumber has validation on blur.\n // We should disable it, because of Pagination.PageInput.Addon\n onBlur={() => false}\n />,\n );\n}\n\nfunction PageInputAddon(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSPagination.PageInput.Addon.Component,\n typeof PaginationRoot,\n 'PageInputAddon'\n >,\n) {\n const SPageInputAddon = Root;\n return sstyled(props.styles)(<SPageInputAddon render={InputNumber.Addon} />);\n}\n\nclass PageInput extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.PageInput.Component, typeof PaginationRoot, 'PageInput'>,\n typeof PageInput.enhance\n> {\n static enhance = [uniqueIDEnhancement()] as const;\n\n render() {\n const SPageInput = Root;\n const SLabel = Text;\n const { Children, getI18nText, styles, locale, size, paginationInputId } = this.asProps;\n const textSize = size === 'l' ? 300 : 200;\n\n return sstyled(styles)(\n <>\n <SLabel tag='label' htmlFor={paginationInputId} size={textSize}>\n {getI18nText('pageInputLabel')}\n </SLabel>\n <SPageInput\n render={InputNumber}\n controlsLength={Children.origin ? undefined : 2}\n locale={locale}\n >\n {Children.origin\n ? (\n <Children />\n )\n : (\n <Pagination.PageInput.Value />\n )}\n </SPageInput>\n </>,\n );\n }\n}\n\n/**\n * Pagination\n *\n * {@link https://developer.semrush.com/intergalactic/components/pagination/pagination-api/|API} | {@link https://developer.semrush.com/intergalactic/components/pagination/pagination-code/|Examples}\n */\nconst Pagination = createComponent<\n NSPagination.Component,\n typeof PaginationRoot\n>(PaginationRoot, {\n PrevPage,\n NextPage,\n FirstPage,\n TotalPages,\n PageInput: [\n PageInput,\n {\n Value: PageInputValue,\n Addon: PageInputAddon,\n },\n ],\n});\n\nexport default Pagination;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","names":["Flex","ScreenReaderOnly","Hint","Button","ButtonLink","createComponent","Component","sstyled","Root","i18nEnhance","uniqueIDEnhancement","ChevronDoubleLeft","InputNumber","Text","React","style","_sstyled","insert","localizedMessages","PaginationRoot","constructor","args","_defineProperty","createRef","dirtyCurrentPage","undefined","ref","requestAnimationFrame","current","focus","currentPage","Number","isNaN","handlers","setState","value","state","setTimeout","pageInputAddonRef","document","activeElement","asProps","totalPages","finalValue","event","key","getDirtyCurrentPage","handlePageChange","getI18nText","size","disabled","onClick","returnLostFocusTo","nextPageButtonRef","followingPage","prevPageButtonRef","locale","paginationInputId","onBlur","handlePageValueBlur","min","max","onChange","handlePageValueChange","onKeyDown","handlePageInputKeyDown","id","formatter","Intl","NumberFormat","children","format","isLastOrSingle","uncontrolledProps","componentDidUpdate","prevProps","uid","render","_ref","_ref9","SPagination","Children","hasChildren","styles","createElement","cn","_assignProps","Fragment","Pagination","FirstPage","PrevPage","NextPage","PageInput","TotalPages","defaultCurrentPage","defaultTotalPages","i18n","_ref2","hintContent","isAdvanced","_assignProps2","buttonRef","Addon","tag","triggerRef","timeout","_ref3","_ref0","SPrevPage","_assignProps3","props","_ref4","_ref1","SNextPage","_assignProps4","_ref5","_ref10","STotalPages","STotalPagesLabel","STotalLastPages","other","textSize","lastPageNumber","_assignProps5","PageInputValue","_ref6","arguments[0]","_ref11","SPageInputValue","Value","_assignProps6","PageInputAddon","_ref7","_ref12","SPageInputAddon","_assignProps7","_ref8","_ref13","SPageInput","SLabel","_assignProps8","origin"],"sources":["../../src/Pagination.tsx"],"sourcesContent":["import { Flex, ScreenReaderOnly, Hint } from '@semcore/base-components';\nimport Button, { ButtonLink } from '@semcore/button';\nimport type { Intergalactic } from '@semcore/core';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport ChevronDoubleLeft from '@semcore/icon/ChevronDoubleLeft/m';\nimport InputNumber from '@semcore/input-number';\nimport { Text } from '@semcore/typography';\nimport React from 'react';\n\nimport type { NSPagination } from './Pagination.type';\nimport style from './style/pagination.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\ntype State = {\n dirtyCurrentPage: NSPagination.Props['currentPage'];\n};\n\nclass PaginationRoot extends Component<\n Intergalactic.InternalTypings.InferComponentProps<NSPagination.Component>,\n typeof PaginationRoot.enhance,\n NSPagination.Handlers,\n {},\n State,\n NSPagination.DefaultProps\n> {\n static displayName = 'Pagination';\n\n static defaultProps = {\n defaultCurrentPage: 1,\n defaultTotalPages: 1,\n i18n: localizedMessages,\n locale: 'en',\n size: 'm',\n } as const;\n\n static style = style;\n static enhance = [i18nEnhance(localizedMessages), uniqueIDEnhancement()] as const;\n\n nextPageButtonRef = React.createRef<HTMLButtonElement>();\n prevPageButtonRef = React.createRef<HTMLButtonElement>();\n\n state: State = {\n // Crutch, so as not to take out `dirtyCurrentPage` in props\n dirtyCurrentPage: undefined,\n };\n\n pageInputAddonRef = React.createRef();\n\n uncontrolledProps() {\n return {\n totalPages: null,\n currentPage: null,\n };\n }\n\n componentDidUpdate(prevProps: typeof this.asProps) {\n if (prevProps.currentPage !== undefined && prevProps.currentPage !== this.asProps.currentPage) {\n this.setState({ dirtyCurrentPage: undefined });\n }\n }\n\n get paginationInputId() {\n const { uid } = this.asProps;\n\n return `pagination-input-${uid}`;\n }\n\n returnLostFocusTo = (ref: React.RefObject<HTMLButtonElement>) => {\n requestAnimationFrame(() => {\n ref.current?.focus();\n });\n };\n\n handlePageChange = (currentPage?: number) => {\n currentPage = Number(currentPage);\n if (Number.isNaN(currentPage)) {\n return;\n }\n this.handlers.currentPage(currentPage);\n this.setState({ dirtyCurrentPage: undefined });\n };\n\n handlePageValueChange = (value: NSPagination.Props['currentPage']) => {\n const { dirtyCurrentPage } = this.state;\n if (Number.isNaN(Number(value))) {\n value = dirtyCurrentPage;\n }\n this.setState({ dirtyCurrentPage: value });\n };\n\n handlePageValueBlur = () => {\n setTimeout(() => {\n if (this.pageInputAddonRef.current !== document.activeElement) {\n const { currentPage } = this.asProps;\n this.setState({ dirtyCurrentPage: currentPage });\n }\n }, 0);\n };\n\n getDirtyCurrentPage = () => {\n const { dirtyCurrentPage } = this.state;\n const { totalPages } = this.asProps;\n\n if (dirtyCurrentPage === undefined) return dirtyCurrentPage;\n\n const finalValue = dirtyCurrentPage > totalPages ? totalPages : dirtyCurrentPage;\n return finalValue <= 0 ? 1 : finalValue;\n };\n\n handlePageInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key !== 'Enter') return;\n const dirtyCurrentPage = this.getDirtyCurrentPage();\n this.handlePageChange(dirtyCurrentPage);\n };\n\n getFirstPageProps = () => {\n const { currentPage, getI18nText, size } = this.asProps;\n const disabled = currentPage <= 1;\n return {\n disabled,\n onClick: () => {\n this.handlePageChange(1);\n this.returnLostFocusTo(this.nextPageButtonRef);\n },\n getI18nText,\n size,\n };\n };\n\n getPrevPageProps = () => {\n const { currentPage, getI18nText, size } = this.asProps;\n const disabled = currentPage <= 1;\n return {\n currentPage,\n disabled,\n onClick: () => {\n const followingPage = currentPage - 1;\n\n this.handlePageChange(followingPage);\n\n if (followingPage <= 1) {\n this.returnLostFocusTo(this.nextPageButtonRef);\n }\n },\n getI18nText,\n ref: this.prevPageButtonRef,\n size,\n };\n };\n\n getNextPageProps = () => {\n const { currentPage, totalPages, getI18nText, size } = this.asProps;\n const disabled = currentPage >= totalPages;\n return {\n currentPage,\n disabled,\n onClick: () => {\n const followingPage = currentPage + 1;\n\n this.handlePageChange(followingPage);\n\n if (followingPage >= totalPages) {\n this.returnLostFocusTo(this.prevPageButtonRef);\n }\n },\n getI18nText,\n ref: this.nextPageButtonRef,\n size,\n };\n };\n\n getPageInputProps = () => {\n const { getI18nText, locale, size } = this.asProps;\n return {\n getI18nText,\n locale,\n size,\n paginationInputId: this.paginationInputId,\n };\n };\n\n getPageInputAddonProps = () => {\n return {\n ref: this.pageInputAddonRef,\n onBlur: this.handlePageValueBlur,\n };\n };\n\n getPageInputValueProps = () => {\n const { dirtyCurrentPage } = this.state;\n const { currentPage, totalPages, getI18nText, size } = this.asProps;\n return {\n min: 1,\n max: totalPages,\n disabled: totalPages === 1,\n value: dirtyCurrentPage === undefined ? currentPage : dirtyCurrentPage,\n onBlur: this.handlePageValueBlur,\n onChange: this.handlePageValueChange,\n onKeyDown: this.handlePageInputKeyDown,\n getI18nText,\n size,\n id: this.paginationInputId,\n };\n };\n\n getTotalPagesProps = () => {\n const { currentPage, totalPages, getI18nText, locale, size } = this.asProps;\n const formatter = new Intl.NumberFormat(locale, { style: 'decimal' });\n return {\n totalPages,\n children: formatter.format(totalPages),\n isLastOrSingle: currentPage === totalPages,\n onClick: () => {\n this.handlePageChange(totalPages);\n this.returnLostFocusTo(this.prevPageButtonRef);\n },\n getI18nText,\n size,\n };\n };\n\n render() {\n const SPagination = Root;\n const {\n Children,\n children: hasChildren,\n getI18nText,\n currentPage,\n totalPages = 1,\n } = this.asProps;\n\n return sstyled(this.asProps.styles)(\n <SPagination\n render={Flex}\n flexWrap='wrap'\n withGap={!hasChildren}\n tag='nav'\n aria-label={getI18nText('pagination')}\n >\n {hasChildren\n ? (\n <Children />\n )\n : (\n <>\n {totalPages === 1\n ? null\n : (\n <Flex>\n <Pagination.FirstPage />\n <Pagination.PrevPage />\n <Pagination.NextPage />\n </Flex>\n )}\n <Flex alignItems='center'>\n <Pagination.PageInput />\n <Pagination.TotalPages />\n </Flex>\n </>\n )}\n <ScreenReaderOnly aria-live='polite' role='status'>\n {getI18nText('pageInputLabel')}\n {' '}\n {currentPage}\n </ScreenReaderOnly>\n </SPagination>,\n );\n }\n}\n\nclass FirstPage extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.FirstPage.Component, typeof PaginationRoot, 'FirstPage'>\n> {\n buttonRef = React.createRef<HTMLButtonElement>();\n\n render() {\n const { getI18nText, Children, children } = this.asProps;\n const hintContent = getI18nText('firstPage');\n const isAdvanced = children !== undefined;\n\n return (\n <>\n <Root render={Button} aria-label={getI18nText('firstPage')} ref={this.buttonRef}>\n {isAdvanced\n ? <Children />\n : <Button.Addon tag={ChevronDoubleLeft} />}\n </Root>\n {!isAdvanced && (<Hint triggerRef={this.buttonRef} timeout={[250, 50]}>{hintContent}</Hint>)}\n </>\n );\n }\n}\n\ntype PrevPageProps = Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.PrevPage.Component, typeof PaginationRoot, 'PrevPage'>;\nclass PrevPage extends Component<PrevPageProps> {\n static defaultProps = (props: PrevPageProps) => ({\n children: props.getI18nText('prevPageLabel'),\n });\n\n render() {\n const SPrevPage = Root;\n return sstyled(this.asProps.styles)(<SPrevPage render={Button} />);\n }\n}\n\ntype NextPageProps = Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.NextPage.Component, typeof PaginationRoot, 'NextPage'>;\nclass NextPage extends Component<NextPageProps> {\n static defaultProps = (props: NextPageProps) => ({\n children: props.getI18nText('nextPageLabel'),\n });\n\n render() {\n const SNextPage = Root;\n return sstyled(this.asProps.styles)(<SNextPage render={Button} use='primary' theme='info' />);\n }\n}\n\nclass TotalPages extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.TotalPages.Component, typeof PaginationRoot, 'TotalPages'>\n> {\n render() {\n const STotalPages = Root;\n const STotalPagesLabel = Text;\n const STotalLastPages = Text;\n const { styles, getI18nText, totalPages, isLastOrSingle, children, size, ...other } = this.asProps;\n const textSize = size === 'l' ? 300 : 200;\n return sstyled(styles)(\n <>\n <STotalPagesLabel size={textSize}>{getI18nText('totalPagesLabel')}</STotalPagesLabel>\n {isLastOrSingle\n ? (\n // @ts-ignore\n <STotalLastPages\n size={textSize}\n // @ts-expect-error\n aria-label={getI18nText('lastPage', { lastPageNumber: totalPages })}\n {...other}\n >\n {children}\n </STotalLastPages>\n )\n : (\n <STotalPages\n render={ButtonLink}\n use:size={textSize}\n aria-label={getI18nText('lastPage', { lastPageNumber: totalPages })}\n />\n )}\n </>,\n );\n }\n}\n\nfunction PageInputValue(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSPagination.PageInput.Value.Component,\n typeof PaginationRoot,\n 'PageInputValue'\n >,\n) {\n const SPageInputValue = Root;\n\n return sstyled(props.styles)(\n <SPageInputValue\n render={InputNumber.Value}\n // By default, InputNumber has validation on blur.\n // We should disable it, because of Pagination.PageInput.Addon\n onBlur={() => false}\n />,\n );\n}\n\nfunction PageInputAddon(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSPagination.PageInput.Addon.Component,\n typeof PaginationRoot,\n 'PageInputAddon'\n >,\n) {\n const SPageInputAddon = Root;\n return sstyled(props.styles)(<SPageInputAddon render={InputNumber.Addon} />);\n}\n\nclass PageInput extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.PageInput.Component, typeof PaginationRoot, 'PageInput'>,\n typeof PageInput.enhance\n> {\n static enhance = [uniqueIDEnhancement()] as const;\n\n render() {\n const SPageInput = Root;\n const SLabel = Text;\n const { Children, getI18nText, styles, locale, size, paginationInputId } = this.asProps;\n const textSize = size === 'l' ? 300 : 200;\n\n return sstyled(styles)(\n <>\n <SLabel tag='label' htmlFor={paginationInputId} size={textSize}>\n {getI18nText('pageInputLabel')}\n </SLabel>\n <SPageInput\n render={InputNumber}\n controlsLength={Children.origin ? undefined : 2}\n locale={locale}\n >\n {Children.origin\n ? (\n <Children />\n )\n : (\n <Pagination.PageInput.Value />\n )}\n </SPageInput>\n </>,\n );\n }\n}\n\n/**\n * Pagination\n *\n * {@link https://developer.semrush.com/intergalactic/components/pagination/pagination-api/|API} | {@link https://developer.semrush.com/intergalactic/components/pagination/pagination-code/|Examples}\n */\nconst Pagination = createComponent<\n NSPagination.Component,\n typeof PaginationRoot\n>(PaginationRoot, {\n PrevPage,\n NextPage,\n FirstPage,\n TotalPages,\n PageInput: [\n PageInput,\n {\n Value: PageInputValue,\n Addon: PageInputAddon,\n },\n ],\n});\n\nexport default Pagination;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Pagination.js","names":["Flex","ScreenReaderOnly","Hint","Button","ButtonLink","createComponent","Component","sstyled","Root","i18nEnhance","uniqueIDEnhancement","ChevronDoubleLeft","InputNumber","Text","React","style","_sstyled","insert","localizedMessages","PaginationRoot","constructor","args","_defineProperty","createRef","dirtyCurrentPage","undefined","ref","requestAnimationFrame","current","focus","currentPage","Number","isNaN","handlers","setState","value","state","setTimeout","pageInputAddonRef","document","activeElement","asProps","totalPages","finalValue","event","key","getDirtyCurrentPage","handlePageChange","getI18nText","size","disabled","onClick","returnLostFocusTo","nextPageButtonRef","followingPage","prevPageButtonRef","locale","paginationInputId","onBlur","handlePageValueBlur","min","max","onChange","handlePageValueChange","onKeyDown","handlePageInputKeyDown","id","formatter","Intl","NumberFormat","children","format","isLastOrSingle","uncontrolledProps","componentDidUpdate","prevProps","uid","render","_ref","_ref9","SPagination","Children","hasChildren","styles","createElement","cn","_assignProps","Fragment","Pagination","FirstPage","PrevPage","NextPage","PageInput","TotalPages","defaultCurrentPage","defaultTotalPages","i18n","_ref2","hintContent","isAdvanced","_assignProps2","buttonRef","Addon","tag","triggerRef","timeout","_ref3","_ref0","SPrevPage","_assignProps3","props","_ref4","_ref1","SNextPage","_assignProps4","_ref5","_ref10","STotalPages","STotalPagesLabel","STotalLastPages","other","textSize","lastPageNumber","_assignProps5","PageInputValue","_ref6","arguments[0]","_ref11","SPageInputValue","Value","_assignProps6","PageInputAddon","_ref7","_ref12","SPageInputAddon","_assignProps7","_ref8","_ref13","SPageInput","SLabel","_assignProps8","origin"],"sources":["../../src/Pagination.tsx"],"sourcesContent":["import { Flex, ScreenReaderOnly, Hint } from '@semcore/base-components';\nimport Button, { ButtonLink } from '@semcore/button';\nimport type { Intergalactic } from '@semcore/core';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport ChevronDoubleLeft from '@semcore/icon/ChevronDoubleLeft/m';\nimport InputNumber from '@semcore/input-number';\nimport { Text } from '@semcore/typography';\nimport React from 'react';\n\nimport type { NSPagination } from './Pagination.type';\nimport style from './style/pagination.shadow.css';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\n\ntype State = {\n dirtyCurrentPage: NSPagination.Props['currentPage'];\n};\n\nclass PaginationRoot extends Component<\n Intergalactic.InternalTypings.InferComponentProps<NSPagination.Component>,\n typeof PaginationRoot.enhance,\n NSPagination.Handlers,\n {},\n State,\n NSPagination.DefaultProps\n> {\n static displayName = 'Pagination';\n\n static defaultProps = {\n defaultCurrentPage: 1,\n defaultTotalPages: 1,\n i18n: localizedMessages,\n locale: 'en',\n size: 'm',\n } as const;\n\n static style = style;\n static enhance = [i18nEnhance(localizedMessages), uniqueIDEnhancement()] as const;\n\n nextPageButtonRef = React.createRef<HTMLButtonElement>();\n prevPageButtonRef = React.createRef<HTMLButtonElement>();\n\n state: State = {\n // Crutch, so as not to take out `dirtyCurrentPage` in props\n dirtyCurrentPage: undefined,\n };\n\n pageInputAddonRef = React.createRef();\n\n uncontrolledProps() {\n return {\n totalPages: null,\n currentPage: null,\n };\n }\n\n componentDidUpdate(prevProps: typeof this.asProps) {\n if (prevProps.currentPage !== undefined && prevProps.currentPage !== this.asProps.currentPage) {\n this.setState({ dirtyCurrentPage: undefined });\n }\n }\n\n get paginationInputId() {\n const { uid } = this.asProps;\n\n return `pagination-input-${uid}`;\n }\n\n returnLostFocusTo = (ref: React.RefObject<HTMLButtonElement>) => {\n requestAnimationFrame(() => {\n ref.current?.focus();\n });\n };\n\n handlePageChange = (currentPage?: number) => {\n currentPage = Number(currentPage);\n if (Number.isNaN(currentPage)) {\n return;\n }\n this.handlers.currentPage(currentPage);\n this.setState({ dirtyCurrentPage: undefined });\n };\n\n handlePageValueChange = (value: NSPagination.Props['currentPage']) => {\n const { dirtyCurrentPage } = this.state;\n if (Number.isNaN(Number(value))) {\n value = dirtyCurrentPage;\n }\n this.setState({ dirtyCurrentPage: value });\n };\n\n handlePageValueBlur = () => {\n setTimeout(() => {\n if (this.pageInputAddonRef.current !== document.activeElement) {\n const { currentPage } = this.asProps;\n this.setState({ dirtyCurrentPage: currentPage });\n }\n }, 0);\n };\n\n getDirtyCurrentPage = () => {\n const { dirtyCurrentPage } = this.state;\n const { totalPages } = this.asProps;\n\n if (dirtyCurrentPage === undefined) return dirtyCurrentPage;\n\n const finalValue = dirtyCurrentPage > totalPages ? totalPages : dirtyCurrentPage;\n return finalValue <= 0 ? 1 : finalValue;\n };\n\n handlePageInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key !== 'Enter') return;\n const dirtyCurrentPage = this.getDirtyCurrentPage();\n this.handlePageChange(dirtyCurrentPage);\n };\n\n getFirstPageProps = () => {\n const { currentPage, getI18nText, size } = this.asProps;\n const disabled = currentPage <= 1;\n return {\n disabled,\n onClick: () => {\n this.handlePageChange(1);\n this.returnLostFocusTo(this.nextPageButtonRef);\n },\n getI18nText,\n size,\n };\n };\n\n getPrevPageProps = () => {\n const { currentPage, getI18nText, size } = this.asProps;\n const disabled = currentPage <= 1;\n return {\n currentPage,\n disabled,\n onClick: () => {\n const followingPage = currentPage - 1;\n\n this.handlePageChange(followingPage);\n\n if (followingPage <= 1) {\n this.returnLostFocusTo(this.nextPageButtonRef);\n }\n },\n getI18nText,\n ref: this.prevPageButtonRef,\n size,\n };\n };\n\n getNextPageProps = () => {\n const { currentPage, totalPages, getI18nText, size } = this.asProps;\n const disabled = currentPage >= totalPages;\n return {\n currentPage,\n disabled,\n onClick: () => {\n const followingPage = currentPage + 1;\n\n this.handlePageChange(followingPage);\n\n if (followingPage >= totalPages) {\n this.returnLostFocusTo(this.prevPageButtonRef);\n }\n },\n getI18nText,\n ref: this.nextPageButtonRef,\n size,\n };\n };\n\n getPageInputProps = () => {\n const { getI18nText, locale, size } = this.asProps;\n return {\n getI18nText,\n locale,\n size,\n paginationInputId: this.paginationInputId,\n };\n };\n\n getPageInputAddonProps = () => {\n return {\n ref: this.pageInputAddonRef,\n onBlur: this.handlePageValueBlur,\n };\n };\n\n getPageInputValueProps = () => {\n const { dirtyCurrentPage } = this.state;\n const { currentPage, totalPages, getI18nText, size } = this.asProps;\n return {\n min: 1,\n max: totalPages,\n disabled: totalPages === 1,\n value: dirtyCurrentPage === undefined ? currentPage : dirtyCurrentPage,\n onBlur: this.handlePageValueBlur,\n onChange: this.handlePageValueChange,\n onKeyDown: this.handlePageInputKeyDown,\n getI18nText,\n size,\n id: this.paginationInputId,\n };\n };\n\n getTotalPagesProps = () => {\n const { currentPage, totalPages, getI18nText, locale, size } = this.asProps;\n const formatter = new Intl.NumberFormat(locale, { style: 'decimal' });\n return {\n totalPages,\n children: formatter.format(totalPages),\n isLastOrSingle: currentPage === totalPages,\n onClick: () => {\n this.handlePageChange(totalPages);\n this.returnLostFocusTo(this.prevPageButtonRef);\n },\n getI18nText,\n size,\n };\n };\n\n render() {\n const SPagination = Root;\n const {\n Children,\n children: hasChildren,\n getI18nText,\n currentPage,\n totalPages = 1,\n } = this.asProps;\n\n return sstyled(this.asProps.styles)(\n <SPagination\n render={Flex}\n flexWrap='wrap'\n withGap={!hasChildren}\n tag='nav'\n aria-label={getI18nText('pagination')}\n >\n {hasChildren\n ? (\n <Children />\n )\n : (\n <>\n {totalPages === 1\n ? null\n : (\n <Flex>\n <Pagination.FirstPage />\n <Pagination.PrevPage />\n <Pagination.NextPage />\n </Flex>\n )}\n <Flex alignItems='center'>\n <Pagination.PageInput />\n <Pagination.TotalPages />\n </Flex>\n </>\n )}\n <ScreenReaderOnly aria-live='polite' role='status'>\n {getI18nText('pageInputLabel')}\n {' '}\n {currentPage}\n </ScreenReaderOnly>\n </SPagination>,\n );\n }\n}\n\nclass FirstPage extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.FirstPage.Component, typeof PaginationRoot, 'FirstPage'>\n> {\n buttonRef = React.createRef<HTMLButtonElement>();\n\n render() {\n const { getI18nText, Children, children } = this.asProps;\n const hintContent = getI18nText('firstPage');\n const isAdvanced = children !== undefined;\n\n return (\n <>\n <Root render={Button} aria-label={getI18nText('firstPage')} ref={this.buttonRef}>\n {isAdvanced\n ? <Children />\n : <Button.Addon tag={ChevronDoubleLeft} />}\n </Root>\n {!isAdvanced && (<Hint triggerRef={this.buttonRef} timeout={[250, 50]}>{hintContent}</Hint>)}\n </>\n );\n }\n}\n\ntype PrevPageProps = Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.PrevPage.Component, typeof PaginationRoot, 'PrevPage'>;\nclass PrevPage extends Component<PrevPageProps> {\n static defaultProps = (props: PrevPageProps) => ({\n children: props.getI18nText('prevPageLabel'),\n });\n\n render() {\n const SPrevPage = Root;\n return sstyled(this.asProps.styles)(<SPrevPage render={Button} />);\n }\n}\n\ntype NextPageProps = Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.NextPage.Component, typeof PaginationRoot, 'NextPage'>;\nclass NextPage extends Component<NextPageProps> {\n static defaultProps = (props: NextPageProps) => ({\n children: props.getI18nText('nextPageLabel'),\n });\n\n render() {\n const SNextPage = Root;\n return sstyled(this.asProps.styles)(<SNextPage render={Button} use='primary' theme='info' />);\n }\n}\n\nclass TotalPages extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.TotalPages.Component, typeof PaginationRoot, 'TotalPages'>\n> {\n render() {\n const STotalPages = Root;\n const STotalPagesLabel = Text;\n const STotalLastPages = Text;\n const { styles, getI18nText, totalPages, isLastOrSingle, children, size, ...other } = this.asProps;\n const textSize = size === 'l' ? 300 : 200;\n return sstyled(styles)(\n <>\n <STotalPagesLabel size={textSize}>{getI18nText('totalPagesLabel')}</STotalPagesLabel>\n {isLastOrSingle\n ? (\n // @ts-ignore\n <STotalLastPages\n size={textSize}\n aria-label={getI18nText('lastPage', { lastPageNumber: totalPages })}\n {...other}\n >\n {children}\n </STotalLastPages>\n )\n : (\n <STotalPages\n render={ButtonLink}\n use:size={textSize}\n aria-label={getI18nText('lastPage', { lastPageNumber: totalPages })}\n />\n )}\n </>,\n );\n }\n}\n\nfunction PageInputValue(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSPagination.PageInput.Value.Component,\n typeof PaginationRoot,\n 'PageInputValue'\n >,\n) {\n const SPageInputValue = Root;\n\n return sstyled(props.styles)(\n <SPageInputValue\n render={InputNumber.Value}\n // By default, InputNumber has validation on blur.\n // We should disable it, because of Pagination.PageInput.Addon\n onBlur={() => false}\n />,\n );\n}\n\nfunction PageInputAddon(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSPagination.PageInput.Addon.Component,\n typeof PaginationRoot,\n 'PageInputAddon'\n >,\n) {\n const SPageInputAddon = Root;\n return sstyled(props.styles)(<SPageInputAddon render={InputNumber.Addon} />);\n}\n\nclass PageInput extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSPagination.PageInput.Component, typeof PaginationRoot, 'PageInput'>,\n typeof PageInput.enhance\n> {\n static enhance = [uniqueIDEnhancement()] as const;\n\n render() {\n const SPageInput = Root;\n const SLabel = Text;\n const { Children, getI18nText, styles, locale, size, paginationInputId } = this.asProps;\n const textSize = size === 'l' ? 300 : 200;\n\n return sstyled(styles)(\n <>\n <SLabel tag='label' htmlFor={paginationInputId} size={textSize}>\n {getI18nText('pageInputLabel')}\n </SLabel>\n <SPageInput\n render={InputNumber}\n controlsLength={Children.origin ? undefined : 2}\n locale={locale}\n >\n {Children.origin\n ? (\n <Children />\n )\n : (\n <Pagination.PageInput.Value />\n )}\n </SPageInput>\n </>,\n );\n }\n}\n\n/**\n * Pagination\n *\n * {@link https://developer.semrush.com/intergalactic/components/pagination/pagination-api/|API} | {@link https://developer.semrush.com/intergalactic/components/pagination/pagination-code/|Examples}\n */\nconst Pagination = createComponent<\n NSPagination.Component,\n typeof PaginationRoot\n>(PaginationRoot, {\n PrevPage,\n NextPage,\n FirstPage,\n TotalPages,\n PageInput: [\n PageInput,\n {\n Value: PageInputValue,\n Addon: PageInputAddon,\n },\n ],\n});\n\nexport default Pagination;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/pagination",
|
|
3
3
|
"description": "Semrush Pagination Component",
|
|
4
|
-
"version": "17.2.1-prerelease.
|
|
4
|
+
"version": "17.2.1-prerelease.1",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -14,15 +14,15 @@
|
|
|
14
14
|
"require": "./lib/cjs/index.js"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@semcore/button": "^17.2.1
|
|
18
|
-
"@semcore/input-number": "^17.2.
|
|
19
|
-
"@semcore/input": "^17.2.
|
|
20
|
-
"@semcore/link": "^17.2.1
|
|
21
|
-
"@semcore/typography": "^17.2.1
|
|
17
|
+
"@semcore/button": "^17.2.1",
|
|
18
|
+
"@semcore/input-number": "^17.2.2-prerelease.1",
|
|
19
|
+
"@semcore/input": "^17.2.2-prerelease.1",
|
|
20
|
+
"@semcore/link": "^17.2.1",
|
|
21
|
+
"@semcore/typography": "^17.2.1"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"@semcore/base-components": "^17.2.1",
|
|
25
|
-
"@semcore/icon": "^17.2.
|
|
25
|
+
"@semcore/icon": "^17.2.0"
|
|
26
26
|
},
|
|
27
27
|
"repository": {
|
|
28
28
|
"type": "git",
|
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
"directory": "semcore/pagination"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@semcore/
|
|
34
|
-
"@semcore/
|
|
35
|
-
"@semcore/
|
|
36
|
-
"@semcore/
|
|
33
|
+
"@semcore/core": "17.2.1",
|
|
34
|
+
"@semcore/base-components": "17.2.1",
|
|
35
|
+
"@semcore/icon": "17.2.0",
|
|
36
|
+
"@semcore/testing-utils": "1.0.0"
|
|
37
37
|
},
|
|
38
38
|
"scripts": {
|
|
39
39
|
"build": "pnpm semcore-builder && pnpm vite build"
|