@semcore/pagination 17.2.1-prerelease.0 → 17.2.1-prerelease.2

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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
- ## [17.2.1] - 2026-06-25
5
+ ## [17.2.1] - 2026-06-26
6
6
 
7
7
  ### Fixed
8
8
 
@@ -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":";;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAHA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAC,uBAAA,CAAAH,OAAA;AAGA,IAAAI,YAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,SAAA,GAAAD,sBAAA,CAAAL,OAAA;AACA,IAAAO,EAAA,GAAAF,sBAAA,CAAAL,OAAA;AACA,IAAAQ,YAAA,GAAAH,sBAAA,CAAAL,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,MAAA,GAAAL,sBAAA,CAAAL,OAAA;AAIA,IAAAW,4BAAA,GAAAX,OAAA;AAAmF;AAAA,MAAAY,KAAA,8BAAAb,KAAA,CAAAc,OAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAMnF,MAAMC,cAAc,SAASC,eAAS,CAOpC;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,0CAcoBC,cAAK,CAACC,SAAS,CAAoB,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA,0CACpCC,cAAK,CAACC,SAAS,CAAoB,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA,iBAEzC;MACb;MACAG,gBAAgB,EAAEC;IACpB,CAAC;IAAA,IAAAL,gBAAA,CAAAC,OAAA,0CAEmBC,cAAK,CAACC,SAAS,CAAC,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA,6BAqBhBK,GAAuC,IAAK;MAC/DC,qBAAqB,CAAC,MAAM;QAC1BD,GAAG,CAACE,OAAO,EAAEC,KAAK,CAAC,CAAC;MACtB,CAAC,CAAC;IACJ,CAAC;IAAA,IAAAT,gBAAA,CAAAC,OAAA,4BAEmBS,WAAoB,IAAK;MAC3CA,WAAW,GAAGC,MAAM,CAACD,WAAW,CAAC;MACjC,IAAIC,MAAM,CAACC,KAAK,CAACF,WAAW,CAAC,EAAE;QAC7B;MACF;MACA,IAAI,CAACG,QAAQ,CAACH,WAAW,CAACA,WAAW,CAAC;MACtC,IAAI,CAACI,QAAQ,CAAC;QAAEV,gBAAgB,EAAEC;MAAU,CAAC,CAAC;IAChD,CAAC;IAAA,IAAAL,gBAAA,CAAAC,OAAA,iCAEwBc,KAAwC,IAAK;MACpE,MAAM;QAAEX;MAAiB,CAAC,GAAG,IAAI,CAACY,KAAK;MACvC,IAAIL,MAAM,CAACC,KAAK,CAACD,MAAM,CAACI,KAAK,CAAC,CAAC,EAAE;QAC/BA,KAAK,GAAGX,gBAAgB;MAC1B;MACA,IAAI,CAACU,QAAQ,CAAC;QAAEV,gBAAgB,EAAEW;MAAM,CAAC,CAAC;IAC5C,CAAC;IAAA,IAAAf,gBAAA,CAAAC,OAAA,+BAEqB,MAAM;MAC1BgB,UAAU,CAAC,MAAM;QACf,IAAI,IAAI,CAACC,iBAAiB,CAACV,OAAO,KAAKW,QAAQ,CAACC,aAAa,EAAE;UAC7D,MAAM;YAAEV;UAAY,CAAC,GAAG,IAAI,CAACW,OAAO;UACpC,IAAI,CAACP,QAAQ,CAAC;YAAEV,gBAAgB,EAAEM;UAAY,CAAC,CAAC;QAClD;MACF,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAAA,IAAAV,gBAAA,CAAAC,OAAA,+BAEqB,MAAM;MAC1B,MAAM;QAAEG;MAAiB,CAAC,GAAG,IAAI,CAACY,KAAK;MACvC,MAAM;QAAEM;MAAW,CAAC,GAAG,IAAI,CAACD,OAAO;MAEnC,IAAIjB,gBAAgB,KAAKC,SAAS,EAAE,OAAOD,gBAAgB;MAE3D,MAAMmB,UAAU,GAAGnB,gBAAgB,GAAGkB,UAAU,GAAGA,UAAU,GAAGlB,gBAAgB;MAChF,OAAOmB,UAAU,IAAI,CAAC,GAAG,CAAC,GAAGA,UAAU;IACzC,CAAC;IAAA,IAAAvB,gBAAA,CAAAC,OAAA,kCAEyBuB,KAA4C,IAAK;MACzE,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,EAAE;MAC3B,MAAMrB,gBAAgB,GAAG,IAAI,CAACsB,mBAAmB,CAAC,CAAC;MACnD,IAAI,CAACC,gBAAgB,CAACvB,gBAAgB,CAAC;IACzC,CAAC;IAAA,IAAAJ,gBAAA,CAAAC,OAAA,6BAEmB,MAAM;MACxB,MAAM;QAAES,WAAW;QAAEkB,WAAW;QAAEC;MAAK,CAAC,GAAG,IAAI,CAACR,OAAO;MACvD,MAAMS,QAAQ,GAAGpB,WAAW,IAAI,CAAC;MACjC,OAAO;QACLoB,QAAQ;QACRC,OAAO,EAAEA,CAAA,KAAM;UACb,IAAI,CAACJ,gBAAgB,CAAC,CAAC,CAAC;UACxB,IAAI,CAACK,iBAAiB,CAAC,IAAI,CAACC,iBAAiB,CAAC;QAChD,CAAC;QACDL,WAAW;QACXC;MACF,CAAC;IACH,CAAC;IAAA,IAAA7B,gBAAA,CAAAC,OAAA,4BAEkB,MAAM;MACvB,MAAM;QAAES,WAAW;QAAEkB,WAAW;QAAEC;MAAK,CAAC,GAAG,IAAI,CAACR,OAAO;MACvD,MAAMS,QAAQ,GAAGpB,WAAW,IAAI,CAAC;MACjC,OAAO;QACLA,WAAW;QACXoB,QAAQ;QACRC,OAAO,EAAEA,CAAA,KAAM;UACb,MAAMG,aAAa,GAAGxB,WAAW,GAAG,CAAC;UAErC,IAAI,CAACiB,gBAAgB,CAACO,aAAa,CAAC;UAEpC,IAAIA,aAAa,IAAI,CAAC,EAAE;YACtB,IAAI,CAACF,iBAAiB,CAAC,IAAI,CAACC,iBAAiB,CAAC;UAChD;QACF,CAAC;QACDL,WAAW;QACXtB,GAAG,EAAE,IAAI,CAAC6B,iBAAiB;QAC3BN;MACF,CAAC;IACH,CAAC;IAAA,IAAA7B,gBAAA,CAAAC,OAAA,4BAEkB,MAAM;MACvB,MAAM;QAAES,WAAW;QAAEY,UAAU;QAAEM,WAAW;QAAEC;MAAK,CAAC,GAAG,IAAI,CAACR,OAAO;MACnE,MAAMS,QAAQ,GAAGpB,WAAW,IAAIY,UAAU;MAC1C,OAAO;QACLZ,WAAW;QACXoB,QAAQ;QACRC,OAAO,EAAEA,CAAA,KAAM;UACb,MAAMG,aAAa,GAAGxB,WAAW,GAAG,CAAC;UAErC,IAAI,CAACiB,gBAAgB,CAACO,aAAa,CAAC;UAEpC,IAAIA,aAAa,IAAIZ,UAAU,EAAE;YAC/B,IAAI,CAACU,iBAAiB,CAAC,IAAI,CAACG,iBAAiB,CAAC;UAChD;QACF,CAAC;QACDP,WAAW;QACXtB,GAAG,EAAE,IAAI,CAAC2B,iBAAiB;QAC3BJ;MACF,CAAC;IACH,CAAC;IAAA,IAAA7B,gBAAA,CAAAC,OAAA,6BAEmB,MAAM;MACxB,MAAM;QAAE2B,WAAW;QAAEQ,MAAM;QAAEP;MAAK,CAAC,GAAG,IAAI,CAACR,OAAO;MAClD,OAAO;QACLO,WAAW;QACXQ,MAAM;QACNP,IAAI;QACJQ,iBAAiB,EAAE,IAAI,CAACA;MAC1B,CAAC;IACH,CAAC;IAAA,IAAArC,gBAAA,CAAAC,OAAA,kCAEwB,MAAM;MAC7B,OAAO;QACLK,GAAG,EAAE,IAAI,CAACY,iBAAiB;QAC3BoB,MAAM,EAAE,IAAI,CAACC;MACf,CAAC;IACH,CAAC;IAAA,IAAAvC,gBAAA,CAAAC,OAAA,kCAEwB,MAAM;MAC7B,MAAM;QAAEG;MAAiB,CAAC,GAAG,IAAI,CAACY,KAAK;MACvC,MAAM;QAAEN,WAAW;QAAEY,UAAU;QAAEM,WAAW;QAAEC;MAAK,CAAC,GAAG,IAAI,CAACR,OAAO;MACnE,OAAO;QACLmB,GAAG,EAAE,CAAC;QACNC,GAAG,EAAEnB,UAAU;QACfQ,QAAQ,EAAER,UAAU,KAAK,CAAC;QAC1BP,KAAK,EAAEX,gBAAgB,KAAKC,SAAS,GAAGK,WAAW,GAAGN,gBAAgB;QACtEkC,MAAM,EAAE,IAAI,CAACC,mBAAmB;QAChCG,QAAQ,EAAE,IAAI,CAACC,qBAAqB;QACpCC,SAAS,EAAE,IAAI,CAACC,sBAAsB;QACtCjB,WAAW;QACXC,IAAI;QACJiB,EAAE,EAAE,IAAI,CAACT;MACX,CAAC;IACH,CAAC;IAAA,IAAArC,gBAAA,CAAAC,OAAA,8BAEoB,MAAM;MACzB,MAAM;QAAES,WAAW;QAAEY,UAAU;QAAEM,WAAW;QAAEQ,MAAM;QAAEP;MAAK,CAAC,GAAG,IAAI,CAACR,OAAO;MAC3E,MAAM0B,SAAS,GAAG,IAAIC,IAAI,CAACC,YAAY,CAACb,MAAM,EAAE;QAAE3C,KAAK,EAAE;MAAU,CAAC,CAAC;MACrE,OAAO;QACL6B,UAAU;QACV4B,QAAQ,EAAEH,SAAS,CAACI,MAAM,CAAC7B,UAAU,CAAC;QACtC8B,cAAc,EAAE1C,WAAW,KAAKY,UAAU;QAC1CS,OAAO,EAAEA,CAAA,KAAM;UACb,IAAI,CAACJ,gBAAgB,CAACL,UAAU,CAAC;UACjC,IAAI,CAACU,iBAAiB,CAAC,IAAI,CAACG,iBAAiB,CAAC;QAChD,CAAC;QACDP,WAAW;QACXC;MACF,CAAC;IACH,CAAC;EAAA;EA3KDwB,iBAAiBA,CAAA,EAAG;IAClB,OAAO;MACL/B,UAAU,EAAE,IAAI;MAChBZ,WAAW,EAAE;IACf,CAAC;EACH;EAEA4C,kBAAkBA,CAACC,SAA8B,EAAE;IACjD,IAAIA,SAAS,CAAC7C,WAAW,KAAKL,SAAS,IAAIkD,SAAS,CAAC7C,WAAW,KAAK,IAAI,CAACW,OAAO,CAACX,WAAW,EAAE;MAC7F,IAAI,CAACI,QAAQ,CAAC;QAAEV,gBAAgB,EAAEC;MAAU,CAAC,CAAC;IAChD;EACF;EAEA,IAAIgC,iBAAiBA,CAAA,EAAG;IACtB,MAAM;MAAEmB;IAAI,CAAC,GAAG,IAAI,CAACnC,OAAO;IAE5B,OAAO,oBAAoBmC,GAAG,EAAE;EAClC;EA4JAC,MAAMA,CAAA,EAAG;IAAA,IAAAC,IAAA,QAAArC,OAAA;MAAAsC,KAAA;IACP,MAAMC,WAAW,GAWLC,oBAAI;IAVhB,MAAM;MACJC,QAAQ;MACRZ,QAAQ,EAAEa,WAAW;MACrBnC,WAAW;MACXlB,WAAW;MACXY,UAAU,GAAG;IACf,CAAC,GAAG,IAAI,CAACD,OAAO;IAEhB,OAAAsC,KAAA,GAAO,IAAAjE,aAAO,EAAC,IAAI,CAAC2B,OAAO,CAAC2C,MAAM,CAAC,eACjCzE,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACL,WAAW,EAAAD,KAAA,CAAAO,EAAA;MAAA,OAAAtF,KAAA,CAAAuF,WAAA;QAAA,YAED,MAAM;QAAA,WACN,CAACJ,WAAW;QAAA,OACjB,KAAK;QAAA,cACGnC,WAAW,CAAC,YAAY;MAAC,GAAA8B,IAAA;IAAA,IAEpCK,WAAW,gBAENxE,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACH,QAAQ,EAAAH,KAAA,CAAAO,EAAA,gBAAE,CAAC,gBAGZ3E,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAAA1E,MAAA,CAAAU,OAAA,CAAAmE,QAAA,QACG9C,UAAU,KAAK,CAAC,GACb,IAAI,gBAEF/B,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACnF,eAAA,CAAA+E,IAAI,EAAAF,KAAA,CAAAO,EAAA,2BACH3E,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACI,UAAU,CAACC,SAAS,MAAE,CAAC,eACxB/E,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACI,UAAU,CAACE,QAAQ,MAAE,CAAC,eACvBhF,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACI,UAAU,CAACG,QAAQ,MAAE,CAClB,CACP,eACLjF,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACnF,eAAA,CAAA+E,IAAI,EAAAF,KAAA,CAAAO,EAAA;MAAA,cAAY;IAAQ,iBACvB3E,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACI,UAAU,CAACI,SAAS,MAAE,CAAC,eACxBlF,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACI,UAAU,CAACK,UAAU,MAAE,CACpB,CACN,CACH,eACLnF,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACnF,eAAA,CAAA6F,gBAAgB,EAAAhB,KAAA,CAAAO,EAAA;MAAA,aAAW,QAAQ;MAAA,QAAM;IAAQ,IAC/CtC,WAAW,CAAC,gBAAgB,CAAC,EAC7B,GAAG,EACHlB,WACe,CACP,CAAC;EAElB;AACF;AAAC,IAAAV,gBAAA,CAAAC,OAAA,EA3PKL,cAAc,iBAQG,YAAY;AAAA,IAAAI,gBAAA,CAAAC,OAAA,EAR7BL,cAAc,kBAUI;EACpBgF,kBAAkB,EAAE,CAAC;EACrBC,iBAAiB,EAAE,CAAC;EACpBC,IAAI,EAAEC,8CAAiB;EACvB3C,MAAM,EAAE,IAAI;EACZP,IAAI,EAAE;AACR,CAAC;AAAA,IAAA7B,gBAAA,CAAAC,OAAA,EAhBGL,cAAc,WAkBHH,KAAK;AAAA,IAAAO,gBAAA,CAAAC,OAAA,EAlBhBL,cAAc,aAmBD,CAAC,IAAAoF,oBAAW,EAACD,8CAAiB,CAAC,EAAE,IAAAE,iBAAmB,EAAC,CAAC,CAAC;AA0O1E,MAAMX,SAAS,SAASzE,eAAS,CAE/B;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,kCACYC,cAAK,CAACC,SAAS,CAAoB,CAAC;EAAA;EAEhDsD,MAAMA,CAAA,EAAG;IAAA,IAAAyB,KAAA,QAAA7D,OAAA;IACP,MAAM;MAAEO,WAAW;MAAEkC,QAAQ;MAAEZ;IAAS,CAAC,GAAG,IAAI,CAAC7B,OAAO;IACxD,MAAM8D,WAAW,GAAGvD,WAAW,CAAC,WAAW,CAAC;IAC5C,MAAMwD,UAAU,GAAGlC,QAAQ,KAAK7C,SAAS;IAEzC,oBACEd,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAAA1E,MAAA,CAAAU,OAAA,CAAAmE,QAAA,qBACE7E,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAAcoB,eAAM,MAAAzG,KAAA,CAAAuF,WAAA;MAAA,cAAcvC,WAAW,CAAC,WAAW,CAAC;MAAA,OAAO,IAAI,CAAC0D;IAAS,GAAAJ,KAAA,GAC5EE,UAAU,gBACP7F,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACH,QAAQ,MAAE,CAAC,gBACZvE,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAAClF,OAAA,CAAAkB,OAAM,CAACsF,KAAK;MAACC,GAAG,EAAEC;IAAkB,CAAE,CACvC,CAAC,EACN,CAACL,UAAU,iBAAK7F,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACnF,eAAA,CAAA4G,IAAI;MAACC,UAAU,EAAE,IAAI,CAACL,SAAU;MAACM,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;IAAE,GAAET,WAAkB,CAC1F,CAAC;EAEP;AACF;AAGA,MAAMZ,QAAQ,SAAS1E,eAAS,CAAgB;EAK9C4D,MAAMA,CAAA,EAAG;IAAA,IAAAoC,KAAA,QAAAxE,OAAA;MAAAyE,KAAA;IACP,MAAMC,SAAS,GACwCV,eAAM;IAA7D,OAAAS,KAAA,GAAO,IAAApG,aAAO,EAAC,IAAI,CAAC2B,OAAO,CAAC2C,MAAM,CAAC,eAACzE,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAAC8B,SAAS,EAAAD,KAAA,CAAA5B,EAAA;MAAA,OAAAtF,KAAA,CAAAuF,WAAA,MAAA0B,KAAA;IAAA,EAAkB,CAAC;EACnE;AACF;AAAC,IAAA7F,gBAAA,CAAAC,OAAA,EATKsE,QAAQ,kBACWyB,KAAoB,KAAM;EAC/C9C,QAAQ,EAAE8C,KAAK,CAACpE,WAAW,CAAC,eAAe;AAC7C,CAAC,CAAC;AASJ,MAAM4C,QAAQ,SAAS3E,eAAS,CAAgB;EAK9C4D,MAAMA,CAAA,EAAG;IAAA,IAAAwC,KAAA,QAAA5E,OAAA;MAAA6E,KAAA;IACP,MAAMC,SAAS,GACwCd,eAAM;IAA7D,OAAAa,KAAA,GAAO,IAAAxG,aAAO,EAAC,IAAI,CAAC2B,OAAO,CAAC2C,MAAM,CAAC,eAACzE,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACkC,SAAS,EAAAD,KAAA,CAAAhC,EAAA;MAAA,OAAAtF,KAAA,CAAAuF,WAAA;QAAA,OAAqB,SAAS;QAAA,SAAO;MAAM,GAAA8B,KAAA;IAAA,EAAE,CAAC;EAC9F;AACF;AAAC,IAAAjG,gBAAA,CAAAC,OAAA,EATKuE,QAAQ,kBACWwB,KAAoB,KAAM;EAC/C9C,QAAQ,EAAE8C,KAAK,CAACpE,WAAW,CAAC,eAAe;AAC7C,CAAC,CAAC;AAQJ,MAAM8C,UAAU,SAAS7E,eAAS,CAEhC;EACA4D,MAAMA,CAAA,EAAG;IAAA,IAAA2C,KAAA,QAAA/E,OAAA;MAAAgF,MAAA;IACP,MAAMC,WAAW,GAsBGC,kBAAU;IArB9B,MAAMC,gBAAgB,GAAGC,gBAAI;IAC7B,MAAMC,eAAe,GAAGD,gBAAI;IAC5B,MAAM;MAAEzC,MAAM;MAAEpC,WAAW;MAAEN,UAAU;MAAE8B,cAAc;MAAEF,QAAQ;MAAErB,IAAI;MAAE,GAAG8E;IAAM,CAAC,GAAG,IAAI,CAACtF,OAAO;IAClG,MAAMuF,QAAQ,GAAG/E,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG;IACzC,OAAAwE,MAAA,GAAO,IAAA3G,aAAO,EAACsE,MAAM,CAAC,eACpBzE,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAAA1E,MAAA,CAAAU,OAAA,CAAAmE,QAAA,qBACE7E,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACuC,gBAAgB,EAAAH,MAAA,CAAAnC,EAAA;MAAA,QAAO0C;IAAQ,IAAGhF,WAAW,CAAC,iBAAiB,CAAoB,CAAC,EACpFwB,cAAc;IAAA;IAET;IACA7D,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACyC,eAAe,EAAAL,MAAA,CAAAnC,EAAA;MAAA,QACR0C,QAAQ;MAAA,cAEFhF,WAAW,CAAC,UAAU,EAAE;QAAEiF,cAAc,EAAEvF;MAAW,CAAC,CAAC;MAAA,GAC/DqF;IAAK,IAERzD,QACc,CAAC,gBAGlB3D,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACqC,WAAW,EAAAD,MAAA,CAAAnC,EAAA;MAAA,OAAAtF,KAAA,CAAAuF,WAAA;QAAA,YAEAyC,QAAQ;QAAA,cACNhF,WAAW,CAAC,UAAU,EAAE;UAAEiF,cAAc,EAAEvF;QAAW,CAAC;MAAC,GAAA8E,KAAA;IAAA,EACpE,CAEP,CAAC;EAEP;AACF;AAEA,SAASU,cAAcA,CACrBd,KAIC,EACD;EAAA,IAAAe,KAAA,GAAAC,YAAA;IAAAC,MAAA;EACA,MAAMC,eAAe,GAITC,oBAAW,CAACC,KAAK;EAF7B,OAAAH,MAAA,GAAO,IAAAvH,aAAO,EAACsG,KAAK,CAAChC,MAAM,CAAC,eAC1BzE,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACiD,eAAe,EAAAD,MAAA,CAAA/C,EAAA;IAAA,OAAAtF,KAAA,CAAAuF,WAAA;MAAA,UAIN7B,CAAA,KAAM;IAAK,GAAAyE,KAAA;EAAA,EACpB,CAAC;AAEN;AAEA,SAASM,cAAcA,CACrBrB,KAIC,EACD;EAAA,IAAAsB,KAAA,GAAAN,YAAA;IAAAO,MAAA;EACA,MAAMC,eAAe,GACiCL,oBAAW,CAAC5B,KAAK;EAAvE,OAAAgC,MAAA,GAAO,IAAA7H,aAAO,EAACsG,KAAK,CAAChC,MAAM,CAAC,eAACzE,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACuD,eAAe,EAAAD,MAAA,CAAArD,EAAA;IAAA,OAAAtF,KAAA,CAAAuF,WAAA,MAAAmD,KAAA;EAAA,EAA6B,CAAC;AAC7E;AAEA,MAAM7C,SAAS,SAAS5E,eAAS,CAG/B;EAGA4D,MAAMA,CAAA,EAAG;IAAA,IAAAgE,KAAA,QAAApG,OAAA;MAAAqG,MAAA;IACP,MAAMC,UAAU,GAWFR,oBAAW;IAVzB,MAAMS,MAAM,GAAGnB,gBAAI;IACnB,MAAM;MAAE3C,QAAQ;MAAElC,WAAW;MAAEoC,MAAM;MAAE5B,MAAM;MAAEP,IAAI;MAAEQ;IAAkB,CAAC,GAAG,IAAI,CAAChB,OAAO;IACvF,MAAMuF,QAAQ,GAAG/E,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG;IAEzC,OAAA6F,MAAA,GAAO,IAAAhI,aAAO,EAACsE,MAAM,CAAC,eACpBzE,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAAA1E,MAAA,CAAAU,OAAA,CAAAmE,QAAA,qBACE7E,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAAC2D,MAAM,EAAAF,MAAA,CAAAxD,EAAA;MAAA,OAAK,OAAO;MAAA,WAAU7B,iBAAiB;MAAA,QAAQuE;IAAQ,IAC3DhF,WAAW,CAAC,gBAAgB,CACvB,CAAC,eACTrC,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAAC0D,UAAU,EAAAD,MAAA,CAAAxD,EAAA;MAAA,OAAAtF,KAAA,CAAAuF,WAAA;QAAA,kBAEOL,QAAQ,CAAC+D,MAAM,GAAGxH,SAAS,GAAG,CAAC;QAAA,UACvC+B;MAAM,GAAAqF,KAAA;IAAA,IAEb3D,QAAQ,CAAC+D,MAAM,gBAEVtI,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACH,QAAQ,EAAA4D,MAAA,CAAAxD,EAAA,gBAAE,CAAC,gBAGZ3E,MAAA,CAAAU,OAAA,CAAAgE,aAAA,CAACI,UAAU,CAACI,SAAS,CAAC2C,KAAK,MAAE,CAEzB,CACZ,CAAC;EAEP;AACF;;AAEA;AACA;AACA;AACA;AACA;AAJA,IAAApH,gBAAA,CAAAC,OAAA,EAnCMwE,SAAS,aAII,CAAC,IAAAQ,iBAAmB,EAAC,CAAC,CAAC;AAoC1C,MAAMZ,UAAU,GAAG,IAAAyD,qBAAe,EAGhClI,cAAc,EAAE;EAChB2E,QAAQ;EACRC,QAAQ;EACRF,SAAS;EACTI,UAAU;EACVD,SAAS,EAAE,CACTA,SAAS,EACT;IACE2C,KAAK,EAAEN,cAAc;IACrBvB,KAAK,EAAE8B;EACT,CAAC;AAEL,CAAC,CAAC;AAAC,IAAAU,QAAA,GAAAC,OAAA,CAAA/H,OAAA,GAEYoE,UAAU","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.type.js","names":[],"sources":["../../src/Pagination.type.ts"],"sourcesContent":["import type { BoxProps } from '@semcore/base-components';\nimport type Button from '@semcore/button';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type { WithI18nEnhanceProps } from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport type { InputProps } from '@semcore/input';\nimport type Input from '@semcore/input';\nimport type { NSText } from '@semcore/typography';\n\nimport type { LocalizedMessages } from './translations/__intergalactic-dynamic-locales';\n\ndeclare namespace NSPagination {\n type Props = BoxProps &\n WithI18nEnhanceProps & {\n /**\n * Total number of pages\n * @default 1\n */\n totalPages?: number;\n /**\n * Active page number\n * @default 1\n */\n currentPage?: number;\n /**\n * Callback for changing the active page\n * @param pageNumber\n */\n onCurrentPageChange?: (pageNumber: number) => void;\n /** Specifies the locale for i18n support */\n locale?: string;\n /**\n * Sizes for pagination panel\n * @default 'm'\n */\n size?: 'm' | 'l';\n };\n type DefaultProps = {\n defaultCurrentPage: 1;\n defaultTotalPages: 1;\n i18n: LocalizedMessages;\n locale: 'en';\n size: 'm';\n };\n type Ctx = {\n getFirstPageProps: PropGetterFn;\n getPrevPageProps: PropGetterFn;\n getNextPageProps: PropGetterFn;\n getPageInputProps: PropGetterFn;\n getTotalPagesProps: PropGetterFn;\n };\n type Handlers = {\n totalPages: null;\n currentPage: null;\n };\n\n namespace PrevPage {\n type Component = typeof Button;\n }\n\n namespace NextPage {\n type Component = typeof Button;\n }\n\n namespace FirstPage {\n type Component = typeof Button;\n }\n\n namespace TotalPages {\n type Props = NSText.Props & WithI18nEnhanceProps;\n\n type Component = Intergalactic.Component<'button', Props, {}, [handlers: Handlers]>;\n }\n\n namespace PageInput {\n type Props = InputProps & WithI18nEnhanceProps;\n\n namespace Value {\n type Component = typeof Input.Value;\n }\n\n namespace Addon {\n type Component = typeof Input.Addon;\n }\n\n type Component = Intergalactic.Component<'div', Props, {}, [handlers: Handlers]> & {\n Value: Value.Component;\n Addon: Addon.Component;\n };\n }\n\n type Component = Intergalactic.Component<'div', Props, Ctx, [handlers: Handlers]> & {\n PrevPage: PrevPage.Component;\n NextPage: NextPage.Component;\n FirstPage: FirstPage.Component;\n TotalPages: TotalPages.Component;\n PageInput: PageInput.Component;\n };\n}\n\n/** @deprecated It will be removed in v18. */\nexport type PaginationProps = NSPagination.Props;\n/** @deprecated It will be removed in v18. */\nexport type TotalPagesProps = NSPagination.TotalPages.Props;\n/** @deprecated It will be removed in v18. */\nexport type PageInputProps = NSPagination.PageInput.Props;\n/** @deprecated It will be removed in v18. */\nexport type PaginationContext = NSPagination.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type PaginationHandlers = NSPagination.Handlers;\n\nexport type { NSPagination };\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"Pagination.type.js","names":[],"sources":["../../src/Pagination.type.ts"],"sourcesContent":["import type { NSBox } from '@semcore/base-components';\nimport type { NSButton } from '@semcore/button';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type { WithI18nEnhanceProps } from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport type { InputProps } from '@semcore/input';\nimport type Input from '@semcore/input';\nimport type { NSText } from '@semcore/typography';\n\nimport type { LocalizedMessages } from './translations/__intergalactic-dynamic-locales';\n\ndeclare namespace NSPagination {\n type Props = NSBox.Props &\n WithI18nEnhanceProps & {\n /**\n * Total number of pages\n * @default 1\n */\n totalPages?: number;\n /**\n * Active page number\n * @default 1\n */\n currentPage?: number;\n /**\n * Callback for changing the active page\n * @param pageNumber\n */\n onCurrentPageChange?: (pageNumber: number) => void;\n /** Specifies the locale for i18n support */\n locale?: string;\n /**\n * Sizes for pagination panel\n * @default 'm'\n */\n size?: 'm' | 'l';\n };\n type DefaultProps = {\n defaultCurrentPage: 1;\n defaultTotalPages: 1;\n i18n: LocalizedMessages;\n locale: 'en';\n size: 'm';\n };\n type Ctx = {\n getFirstPageProps: PropGetterFn;\n getPrevPageProps: PropGetterFn;\n getNextPageProps: PropGetterFn;\n getPageInputProps: PropGetterFn;\n getTotalPagesProps: PropGetterFn;\n };\n type Handlers = {\n totalPages: null;\n currentPage: null;\n };\n\n namespace PrevPage {\n type Component = NSButton.Component;\n }\n\n namespace NextPage {\n type Component = NSButton.Component;\n }\n\n namespace FirstPage {\n type Component = NSButton.Component;\n }\n\n namespace TotalPages {\n type Props = NSText.Props & WithI18nEnhanceProps;\n\n type Component = Intergalactic.Component<'button', Props, {}, [handlers: Handlers]>;\n }\n\n namespace PageInput {\n type Props = InputProps & WithI18nEnhanceProps;\n\n namespace Value {\n type Component = typeof Input.Value;\n }\n\n namespace Addon {\n type Component = typeof Input.Addon;\n }\n\n type Component = Intergalactic.Component<'div', Props, {}, [handlers: Handlers]> & {\n Value: Value.Component;\n Addon: Addon.Component;\n };\n }\n\n type Component = Intergalactic.Component<'div', Props, Ctx, [handlers: Handlers]> & {\n PrevPage: PrevPage.Component;\n NextPage: NextPage.Component;\n FirstPage: FirstPage.Component;\n TotalPages: TotalPages.Component;\n PageInput: PageInput.Component;\n };\n}\n\n/** @deprecated It will be removed in v18. */\nexport type PaginationProps = NSPagination.Props;\n/** @deprecated It will be removed in v18. */\nexport type TotalPagesProps = NSPagination.TotalPages.Props;\n/** @deprecated It will be removed in v18. */\nexport type PageInputProps = NSPagination.PageInput.Props;\n/** @deprecated It will be removed in v18. */\nexport type PaginationContext = NSPagination.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type PaginationHandlers = NSPagination.Handlers;\n\nexport type { NSPagination };\n"],"mappings":"","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":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.type.js","names":[],"sources":["../../src/Pagination.type.ts"],"sourcesContent":["import type { BoxProps } from '@semcore/base-components';\nimport type Button from '@semcore/button';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type { WithI18nEnhanceProps } from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport type { InputProps } from '@semcore/input';\nimport type Input from '@semcore/input';\nimport type { NSText } from '@semcore/typography';\n\nimport type { LocalizedMessages } from './translations/__intergalactic-dynamic-locales';\n\ndeclare namespace NSPagination {\n type Props = BoxProps &\n WithI18nEnhanceProps & {\n /**\n * Total number of pages\n * @default 1\n */\n totalPages?: number;\n /**\n * Active page number\n * @default 1\n */\n currentPage?: number;\n /**\n * Callback for changing the active page\n * @param pageNumber\n */\n onCurrentPageChange?: (pageNumber: number) => void;\n /** Specifies the locale for i18n support */\n locale?: string;\n /**\n * Sizes for pagination panel\n * @default 'm'\n */\n size?: 'm' | 'l';\n };\n type DefaultProps = {\n defaultCurrentPage: 1;\n defaultTotalPages: 1;\n i18n: LocalizedMessages;\n locale: 'en';\n size: 'm';\n };\n type Ctx = {\n getFirstPageProps: PropGetterFn;\n getPrevPageProps: PropGetterFn;\n getNextPageProps: PropGetterFn;\n getPageInputProps: PropGetterFn;\n getTotalPagesProps: PropGetterFn;\n };\n type Handlers = {\n totalPages: null;\n currentPage: null;\n };\n\n namespace PrevPage {\n type Component = typeof Button;\n }\n\n namespace NextPage {\n type Component = typeof Button;\n }\n\n namespace FirstPage {\n type Component = typeof Button;\n }\n\n namespace TotalPages {\n type Props = NSText.Props & WithI18nEnhanceProps;\n\n type Component = Intergalactic.Component<'button', Props, {}, [handlers: Handlers]>;\n }\n\n namespace PageInput {\n type Props = InputProps & WithI18nEnhanceProps;\n\n namespace Value {\n type Component = typeof Input.Value;\n }\n\n namespace Addon {\n type Component = typeof Input.Addon;\n }\n\n type Component = Intergalactic.Component<'div', Props, {}, [handlers: Handlers]> & {\n Value: Value.Component;\n Addon: Addon.Component;\n };\n }\n\n type Component = Intergalactic.Component<'div', Props, Ctx, [handlers: Handlers]> & {\n PrevPage: PrevPage.Component;\n NextPage: NextPage.Component;\n FirstPage: FirstPage.Component;\n TotalPages: TotalPages.Component;\n PageInput: PageInput.Component;\n };\n}\n\n/** @deprecated It will be removed in v18. */\nexport type PaginationProps = NSPagination.Props;\n/** @deprecated It will be removed in v18. */\nexport type TotalPagesProps = NSPagination.TotalPages.Props;\n/** @deprecated It will be removed in v18. */\nexport type PageInputProps = NSPagination.PageInput.Props;\n/** @deprecated It will be removed in v18. */\nexport type PaginationContext = NSPagination.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type PaginationHandlers = NSPagination.Handlers;\n\nexport type { NSPagination };\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"Pagination.type.js","names":[],"sources":["../../src/Pagination.type.ts"],"sourcesContent":["import type { NSBox } from '@semcore/base-components';\nimport type { NSButton } from '@semcore/button';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type { WithI18nEnhanceProps } from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport type { InputProps } from '@semcore/input';\nimport type Input from '@semcore/input';\nimport type { NSText } from '@semcore/typography';\n\nimport type { LocalizedMessages } from './translations/__intergalactic-dynamic-locales';\n\ndeclare namespace NSPagination {\n type Props = NSBox.Props &\n WithI18nEnhanceProps & {\n /**\n * Total number of pages\n * @default 1\n */\n totalPages?: number;\n /**\n * Active page number\n * @default 1\n */\n currentPage?: number;\n /**\n * Callback for changing the active page\n * @param pageNumber\n */\n onCurrentPageChange?: (pageNumber: number) => void;\n /** Specifies the locale for i18n support */\n locale?: string;\n /**\n * Sizes for pagination panel\n * @default 'm'\n */\n size?: 'm' | 'l';\n };\n type DefaultProps = {\n defaultCurrentPage: 1;\n defaultTotalPages: 1;\n i18n: LocalizedMessages;\n locale: 'en';\n size: 'm';\n };\n type Ctx = {\n getFirstPageProps: PropGetterFn;\n getPrevPageProps: PropGetterFn;\n getNextPageProps: PropGetterFn;\n getPageInputProps: PropGetterFn;\n getTotalPagesProps: PropGetterFn;\n };\n type Handlers = {\n totalPages: null;\n currentPage: null;\n };\n\n namespace PrevPage {\n type Component = NSButton.Component;\n }\n\n namespace NextPage {\n type Component = NSButton.Component;\n }\n\n namespace FirstPage {\n type Component = NSButton.Component;\n }\n\n namespace TotalPages {\n type Props = NSText.Props & WithI18nEnhanceProps;\n\n type Component = Intergalactic.Component<'button', Props, {}, [handlers: Handlers]>;\n }\n\n namespace PageInput {\n type Props = InputProps & WithI18nEnhanceProps;\n\n namespace Value {\n type Component = typeof Input.Value;\n }\n\n namespace Addon {\n type Component = typeof Input.Addon;\n }\n\n type Component = Intergalactic.Component<'div', Props, {}, [handlers: Handlers]> & {\n Value: Value.Component;\n Addon: Addon.Component;\n };\n }\n\n type Component = Intergalactic.Component<'div', Props, Ctx, [handlers: Handlers]> & {\n PrevPage: PrevPage.Component;\n NextPage: NextPage.Component;\n FirstPage: FirstPage.Component;\n TotalPages: TotalPages.Component;\n PageInput: PageInput.Component;\n };\n}\n\n/** @deprecated It will be removed in v18. */\nexport type PaginationProps = NSPagination.Props;\n/** @deprecated It will be removed in v18. */\nexport type TotalPagesProps = NSPagination.TotalPages.Props;\n/** @deprecated It will be removed in v18. */\nexport type PageInputProps = NSPagination.PageInput.Props;\n/** @deprecated It will be removed in v18. */\nexport type PaginationContext = NSPagination.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type PaginationHandlers = NSPagination.Handlers;\n\nexport type { NSPagination };\n"],"mappings":"","ignoreList":[]}
@@ -6,3 +6,4 @@ import type { NSPagination } from './Pagination.type';
6
6
  */
7
7
  declare const Pagination: NSPagination.Component;
8
8
  export default Pagination;
9
+ //# sourceMappingURL=Pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../src/Pagination.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAwZtD;;;;GAIG;AACH,QAAA,MAAM,UAAU,wBAed,CAAC;AAEH,eAAe,UAAU,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { BoxProps } from '@semcore/base-components';
2
- import type Button from '@semcore/button';
1
+ import type { NSBox } from '@semcore/base-components';
2
+ import type { NSButton } from '@semcore/button';
3
3
  import type { PropGetterFn, Intergalactic } from '@semcore/core';
4
4
  import type { WithI18nEnhanceProps } from '@semcore/core/lib/utils/enhances/i18nEnhance';
5
5
  import type { InputProps } from '@semcore/input';
@@ -7,7 +7,7 @@ import type Input from '@semcore/input';
7
7
  import type { NSText } from '@semcore/typography';
8
8
  import type { LocalizedMessages } from './translations/__intergalactic-dynamic-locales';
9
9
  declare namespace NSPagination {
10
- type Props = BoxProps & WithI18nEnhanceProps & {
10
+ type Props = NSBox.Props & WithI18nEnhanceProps & {
11
11
  /**
12
12
  * Total number of pages
13
13
  * @default 1
@@ -50,13 +50,13 @@ declare namespace NSPagination {
50
50
  currentPage: null;
51
51
  };
52
52
  namespace PrevPage {
53
- type Component = typeof Button;
53
+ type Component = NSButton.Component;
54
54
  }
55
55
  namespace NextPage {
56
- type Component = typeof Button;
56
+ type Component = NSButton.Component;
57
57
  }
58
58
  namespace FirstPage {
59
- type Component = typeof Button;
59
+ type Component = NSButton.Component;
60
60
  }
61
61
  namespace TotalPages {
62
62
  type Props = NSText.Props & WithI18nEnhanceProps;
@@ -94,3 +94,4 @@ export type PaginationContext = NSPagination.Ctx;
94
94
  /** @deprecated It will be removed in v18. */
95
95
  export type PaginationHandlers = NSPagination.Handlers;
96
96
  export type { NSPagination };
97
+ //# sourceMappingURL=Pagination.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.type.d.ts","sourceRoot":"","sources":["../../src/Pagination.type.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export { default } from './Pagination';
2
2
  export * from './Pagination.type';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,cAAc,mBAAmB,CAAC"}
@@ -133,3 +133,4 @@ export declare const localizedMessages: {
133
133
  };
134
134
  };
135
135
  export type LocalizedMessages = typeof localizedMessages;
136
+ //# sourceMappingURL=__intergalactic-dynamic-locales.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"__intergalactic-dynamic-locales.d.ts","sourceRoot":"","sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgB7B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC"}
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.0",
4
+ "version": "17.2.1-prerelease.2",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -14,14 +14,14 @@
14
14
  "require": "./lib/cjs/index.js"
15
15
  },
16
16
  "dependencies": {
17
- "@semcore/button": "^17.2.1-prerelease.0",
18
- "@semcore/input-number": "^17.2.1-prerelease.0",
19
- "@semcore/input": "^17.2.1-prerelease.0",
20
- "@semcore/link": "^17.2.1-prerelease.0",
21
- "@semcore/typography": "^17.2.1-prerelease.0"
17
+ "@semcore/button": "^17.2.2-prerelease.2",
18
+ "@semcore/input-number": "^17.3.0-prerelease.2",
19
+ "@semcore/input": "^17.2.2-prerelease.2",
20
+ "@semcore/link": "^17.2.2-prerelease.2",
21
+ "@semcore/typography": "^17.2.1-prerelease.2"
22
22
  },
23
23
  "peerDependencies": {
24
- "@semcore/base-components": "^17.2.1",
24
+ "@semcore/base-components": "^17.2.2",
25
25
  "@semcore/icon": "^17.2.1"
26
26
  },
27
27
  "repository": {
@@ -30,10 +30,10 @@
30
30
  "directory": "semcore/pagination"
31
31
  },
32
32
  "devDependencies": {
33
- "@semcore/base-components": "17.2.1-prerelease.0",
34
- "@semcore/testing-utils": "1.0.0",
35
- "@semcore/core": "17.2.1-prerelease.0",
36
- "@semcore/icon": "17.2.1-prerelease.0"
33
+ "@semcore/core": "17.3.1-prerelease.2",
34
+ "@semcore/base-components": "17.2.2-prerelease.2",
35
+ "@semcore/icon": "17.2.1-prerelease.2",
36
+ "@semcore/testing-utils": "1.0.0"
37
37
  },
38
38
  "scripts": {
39
39
  "build": "pnpm semcore-builder && pnpm vite build"