@alfalab/core-components-pagination 4.0.2 → 4.0.3

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.
Files changed (61) hide show
  1. package/Component.d.ts +1 -1
  2. package/components/default-view/index.css +1 -1
  3. package/components/default-view/index.d.ts +1 -1
  4. package/components/default-view/index.js.map +1 -1
  5. package/components/default-view/index.module.css.js +1 -1
  6. package/components/default-view/index.module.css.js.map +1 -1
  7. package/components/per-page-view/index.css +1 -1
  8. package/components/per-page-view/index.d.ts +1 -1
  9. package/components/per-page-view/index.module.css.js +1 -1
  10. package/components/per-page-view/index.module.css.js.map +1 -1
  11. package/components/tag/index.css +8 -8
  12. package/components/tag/index.module.css.js +1 -1
  13. package/components/tag/index.module.css.js.map +1 -1
  14. package/cssm/Component.d.ts +1 -1
  15. package/cssm/components/default-view/index.d.ts +1 -1
  16. package/cssm/components/default-view/index.js.map +1 -1
  17. package/cssm/components/per-page-view/index.d.ts +1 -1
  18. package/esm/Component.d.ts +1 -1
  19. package/esm/components/default-view/index.css +1 -1
  20. package/esm/components/default-view/index.d.ts +1 -1
  21. package/esm/components/default-view/index.js.map +1 -1
  22. package/esm/components/default-view/index.module.css.js +1 -1
  23. package/esm/components/default-view/index.module.css.js.map +1 -1
  24. package/esm/components/per-page-view/index.css +1 -1
  25. package/esm/components/per-page-view/index.d.ts +1 -1
  26. package/esm/components/per-page-view/index.module.css.js +1 -1
  27. package/esm/components/per-page-view/index.module.css.js.map +1 -1
  28. package/esm/components/tag/index.css +8 -8
  29. package/esm/components/tag/index.module.css.js +1 -1
  30. package/esm/components/tag/index.module.css.js.map +1 -1
  31. package/esm/index.css +4 -4
  32. package/esm/index.module.css.js +1 -1
  33. package/esm/index.module.css.js.map +1 -1
  34. package/index.css +4 -4
  35. package/index.module.css.js +1 -1
  36. package/index.module.css.js.map +1 -1
  37. package/modern/Component.d.ts +1 -1
  38. package/modern/components/default-view/index.css +1 -1
  39. package/modern/components/default-view/index.d.ts +1 -1
  40. package/modern/components/default-view/index.js.map +1 -1
  41. package/modern/components/default-view/index.module.css.js +1 -1
  42. package/modern/components/default-view/index.module.css.js.map +1 -1
  43. package/modern/components/per-page-view/index.css +1 -1
  44. package/modern/components/per-page-view/index.d.ts +1 -1
  45. package/modern/components/per-page-view/index.module.css.js +1 -1
  46. package/modern/components/per-page-view/index.module.css.js.map +1 -1
  47. package/modern/components/tag/index.css +8 -8
  48. package/modern/components/tag/index.module.css.js +1 -1
  49. package/modern/components/tag/index.module.css.js.map +1 -1
  50. package/modern/index.css +4 -4
  51. package/modern/index.module.css.js +1 -1
  52. package/modern/index.module.css.js.map +1 -1
  53. package/moderncssm/Component.d.ts +1 -1
  54. package/moderncssm/components/default-view/index.d.ts +1 -1
  55. package/moderncssm/components/default-view/index.js.map +1 -1
  56. package/moderncssm/components/per-page-view/index.d.ts +1 -1
  57. package/package.json +4 -4
  58. package/src/components/default-view/index.module.css +1 -1
  59. package/src/components/per-page-view/index.module.css +1 -1
  60. package/src/components/tag/index.module.css +1 -1
  61. package/src/index.module.css +1 -1
package/Component.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type FC } from 'react';
2
- export declare type PaginationProps = {
2
+ export type PaginationProps = {
3
3
  /**
4
4
  * Текущая страница (с нуля)
5
5
  */
@@ -1,7 +1,7 @@
1
1
  :root {
2
2
  --color-light-text-secondary: rgba(4, 4, 19, 0.55);
3
3
  }
4
- .pagination__dots_ups8r {
4
+ .pagination__dots_1b41f {
5
5
  width: 32px;
6
6
  height: 32px;
7
7
  text-align: center;
@@ -1,5 +1,5 @@
1
1
  import { type FC } from 'react';
2
2
  import { type PaginationProps } from '../../Component';
3
- declare type DefaultViewProps = Pick<PaginationProps, 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'>;
3
+ type DefaultViewProps = Pick<PaginationProps, 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'>;
4
4
  export declare const DefaultView: FC<DefaultViewProps>;
5
5
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/components/default-view/index.tsx"],"sourcesContent":["/* eslint-disable react/no-array-index-key */\nimport React, { type FC, useCallback } from 'react';\n\nimport { type PaginationProps } from '../../Component';\nimport { Tag } from '../tag';\n\nimport styles from './index.module.css';\n\ntype DefaultViewProps = Pick<\n PaginationProps,\n 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'\n>;\n\nexport const DefaultView: FC<DefaultViewProps> = ({\n sidePadding = 2,\n activePadding = 1,\n pagesCount,\n currentPageIndex,\n onPageChange = () => null,\n}) => {\n const maxHalfCount = sidePadding + activePadding + 1;\n const maxElementsCount = maxHalfCount * 2 + 1;\n const itemsFit = pagesCount <= maxElementsCount;\n const elementsCount = itemsFit ? pagesCount : maxElementsCount;\n\n const getPageIndex = useCallback(\n (elementIndex: number) => {\n const lastIndex = pagesCount - 1;\n const reverseIndex = lastIndex - currentPageIndex;\n const lastElementIndex = elementsCount - 1;\n const reverseElementIndex = lastElementIndex - elementIndex;\n\n const hasCollapsedItems = (index: number) => !itemsFit && index >= maxHalfCount;\n\n if (elementIndex < sidePadding) {\n return elementIndex;\n }\n\n if (elementIndex === sidePadding && hasCollapsedItems(currentPageIndex)) {\n return null;\n }\n\n if (reverseElementIndex === sidePadding && hasCollapsedItems(reverseIndex)) {\n return null;\n }\n\n if (reverseElementIndex < sidePadding) {\n return lastIndex - reverseElementIndex;\n }\n\n const computedIndex = currentPageIndex - maxHalfCount + elementIndex;\n\n return Math.min(lastIndex - reverseElementIndex, Math.max(elementIndex, computedIndex));\n },\n [currentPageIndex, elementsCount, itemsFit, maxHalfCount, pagesCount, sidePadding],\n );\n\n const getPageString = (page: number) => page.toLocaleString('ru-RU');\n\n return (\n <React.Fragment>\n {Array(elementsCount)\n .fill('')\n .map((_, i) => {\n const pageIndex = getPageIndex(i);\n\n if (pageIndex === null) {\n return (\n <div key={i.toString()} className={styles.dots}>\n ...\n </div>\n );\n }\n\n const active = currentPageIndex === pageIndex;\n\n return (\n <Tag\n key={i.toString()}\n checked={active}\n disabled={active}\n onClick={() => onPageChange(pageIndex)}\n >\n {getPageString(pageIndex + 1)}\n </Tag>\n );\n })}\n </React.Fragment>\n );\n};\n"],"names":["useCallback","React","styles","Tag"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/components/default-view/index.tsx"],"sourcesContent":["/* eslint-disable react/no-array-index-key */\nimport React, { type FC, useCallback } from 'react';\n\nimport { type PaginationProps } from '../../Component';\nimport { Tag } from '../tag';\n\nimport styles from './index.module.css';\n\ntype DefaultViewProps = Pick<\n PaginationProps,\n 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'\n>;\n\nexport const DefaultView: FC<DefaultViewProps> = ({\n sidePadding = 2,\n activePadding = 1,\n pagesCount,\n currentPageIndex,\n onPageChange = () => null,\n}) => {\n const maxHalfCount = sidePadding + activePadding + 1;\n const maxElementsCount = maxHalfCount * 2 + 1;\n const itemsFit = pagesCount <= maxElementsCount;\n const elementsCount = itemsFit ? pagesCount : maxElementsCount;\n\n const getPageIndex = useCallback(\n (elementIndex: number) => {\n const lastIndex = pagesCount - 1;\n const reverseIndex = lastIndex - currentPageIndex;\n const lastElementIndex = elementsCount - 1;\n const reverseElementIndex = lastElementIndex - elementIndex;\n\n const hasCollapsedItems = (index: number) => !itemsFit && index >= maxHalfCount;\n\n if (elementIndex < sidePadding) {\n return elementIndex;\n }\n\n if (elementIndex === sidePadding && hasCollapsedItems(currentPageIndex)) {\n return null;\n }\n\n if (reverseElementIndex === sidePadding && hasCollapsedItems(reverseIndex)) {\n return null;\n }\n\n if (reverseElementIndex < sidePadding) {\n return lastIndex - reverseElementIndex;\n }\n\n const computedIndex = currentPageIndex - maxHalfCount + elementIndex;\n\n return Math.min(lastIndex - reverseElementIndex, Math.max(elementIndex, computedIndex));\n },\n [currentPageIndex, elementsCount, itemsFit, maxHalfCount, pagesCount, sidePadding],\n );\n\n const getPageString = (page: number) => page.toLocaleString('ru-RU');\n\n return (\n <React.Fragment>\n {Array(elementsCount)\n .fill('')\n .map((_, i) => {\n const pageIndex = getPageIndex(i);\n\n if (pageIndex === null) {\n return (\n <div key={i.toString()} className={styles.dots}>\n ...\n </div>\n );\n }\n\n const active = currentPageIndex === pageIndex;\n\n return (\n <Tag\n key={i.toString()}\n checked={active}\n disabled={active}\n onClick={() => onPageChange(pageIndex)}\n >\n {getPageString(pageIndex + 1)}\n </Tag>\n );\n })}\n </React.Fragment>\n );\n};\n"],"names":["useCallback","React","styles","Tag"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"dots":"pagination__dots_ups8r"};
5
+ var styles = {"dots":"pagination__dots_1b41f"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/default-view/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.dots {\n width: 32px;\n height: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-light-text-secondary);\n cursor: default;\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,MAAM,CAAC,wBAAwB,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/default-view/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.dots {\n width: 32px;\n height: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-light-text-secondary);\n cursor: default;\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,MAAM,CAAC,wBAAwB,CAAC;;;;"}
@@ -3,7 +3,7 @@
3
3
  --gap-0: 0px;
4
4
  --gap-16: var(--gap-m);
5
5
  }
6
- .pagination__component_8qf5y {
6
+ .pagination__component_1c092 {
7
7
  display: block;
8
8
  margin: var(--gap-0) var(--gap-16);
9
9
  }
@@ -1,5 +1,5 @@
1
1
  import { type FC } from 'react';
2
2
  import { type PaginationProps } from '../../Component';
3
- declare type PerPageViewProps = Pick<PaginationProps, 'pagesCount' | 'currentPageIndex'>;
3
+ type PerPageViewProps = Pick<PaginationProps, 'pagesCount' | 'currentPageIndex'>;
4
4
  export declare const PerPageView: FC<PerPageViewProps>;
5
5
  export {};
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"component":"pagination__component_8qf5y"};
5
+ var styles = {"component":"pagination__component_1c092"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/per-page-view/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.component {\n display: block;\n margin: var(--gap-0) var(--gap-16);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,6BAA6B,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/per-page-view/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.component {\n display: block;\n margin: var(--gap-0) var(--gap-16);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,6BAA6B,CAAC;;;;"}
@@ -14,7 +14,7 @@
14
14
  --gap-0: 0px;
15
15
  --gap-6: 6px;
16
16
  }
17
- button.pagination__tag_5v4ql.pagination__tag_5v4ql {
17
+ button.pagination__tag_risa7.pagination__tag_risa7 {
18
18
  color: var(--color-light-text-secondary);
19
19
  border-radius: var(--border-radius-8);
20
20
  border: none;
@@ -23,27 +23,27 @@ button.pagination__tag_5v4ql.pagination__tag_5v4ql {
23
23
  min-width: 32px;
24
24
  height: 32px;
25
25
  }
26
- button.pagination__tag_5v4ql.pagination__tag_5v4ql:not(.pagination__arrow_5v4ql) {
26
+ button.pagination__tag_risa7.pagination__tag_risa7:not(.pagination__arrow_risa7) {
27
27
  padding: var(--gap-0) var(--gap-6);
28
28
  }
29
- button.pagination__tag_5v4ql.pagination__tag_5v4ql:disabled:not(.pagination__checked_5v4ql) {
29
+ button.pagination__tag_risa7.pagination__tag_risa7:disabled:not(.pagination__checked_risa7) {
30
30
  opacity: 0.3;
31
31
  }
32
- button.pagination__tag_5v4ql.pagination__tag_5v4ql:hover:not(:disabled) {
32
+ button.pagination__tag_risa7.pagination__tag_risa7:hover:not(:disabled) {
33
33
  background-color: var(--color-light-transparent-default-hover);
34
34
  color: var(--color-light-text-primary);
35
35
  }
36
- button.pagination__tag_5v4ql.pagination__tag_5v4ql:active:not(:disabled) {
36
+ button.pagination__tag_risa7.pagination__tag_risa7:active:not(:disabled) {
37
37
  background-color: var(--color-light-transparent-default-press);
38
38
  }
39
- button.pagination__tag_5v4ql.pagination__tag_5v4ql.pagination__checked_5v4ql {
39
+ button.pagination__tag_risa7.pagination__tag_risa7.pagination__checked_risa7 {
40
40
  cursor: default;
41
41
  background-color: var(--color-light-accent-secondary);
42
42
  color: var(--color-light-text-primary-inverted);
43
43
  }
44
- button.pagination__tag_5v4ql.pagination__tag_5v4ql.pagination__checked_5v4ql:hover:not(:disabled) {
44
+ button.pagination__tag_risa7.pagination__tag_risa7.pagination__checked_risa7:hover:not(:disabled) {
45
45
  color: var(--color-light-text-primary-inverted);
46
46
  }
47
- button.pagination__tag_5v4ql.pagination__tag_5v4ql.pagination__checked_5v4ql:active:not(:disabled) {
47
+ button.pagination__tag_risa7.pagination__tag_risa7.pagination__checked_risa7:active:not(:disabled) {
48
48
  color: var(--color-light-text-primary);
49
49
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"tag":"pagination__tag_5v4ql","arrow":"pagination__arrow_5v4ql","checked":"pagination__checked_5v4ql"};
5
+ var styles = {"tag":"pagination__tag_risa7","arrow":"pagination__arrow_risa7","checked":"pagination__checked_risa7"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/tag/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\nbutton.tag.tag {\n color: var(--color-light-text-secondary);\n border-radius: var(--border-radius-8);\n border: none;\n flex-shrink: 0;\n min-height: auto;\n min-width: 32px;\n height: 32px;\n\n &:not(.arrow) {\n padding: var(--gap-0) var(--gap-6);\n }\n\n &:disabled:not(.checked) {\n opacity: 0.3;\n }\n\n &:hover:not(:disabled) {\n background-color: var(--color-light-transparent-default-hover);\n color: var(--color-light-text-primary);\n }\n\n &:active:not(:disabled) {\n background-color: var(--color-light-transparent-default-press);\n }\n\n &.checked {\n cursor: default;\n background-color: var(--color-light-accent-secondary);\n color: var(--color-light-text-primary-inverted);\n }\n\n &.checked:hover:not(:disabled) {\n color: var(--color-light-text-primary-inverted);\n }\n\n &.checked:active:not(:disabled) {\n color: var(--color-light-text-primary);\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,2BAA2B,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/tag/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\nbutton.tag.tag {\n color: var(--color-light-text-secondary);\n border-radius: var(--border-radius-8);\n border: none;\n flex-shrink: 0;\n min-height: auto;\n min-width: 32px;\n height: 32px;\n\n &:not(.arrow) {\n padding: var(--gap-0) var(--gap-6);\n }\n\n &:disabled:not(.checked) {\n opacity: 0.3;\n }\n\n &:hover:not(:disabled) {\n background-color: var(--color-light-transparent-default-hover);\n color: var(--color-light-text-primary);\n }\n\n &:active:not(:disabled) {\n background-color: var(--color-light-transparent-default-press);\n }\n\n &.checked {\n cursor: default;\n background-color: var(--color-light-accent-secondary);\n color: var(--color-light-text-primary-inverted);\n }\n\n &.checked:hover:not(:disabled) {\n color: var(--color-light-text-primary-inverted);\n }\n\n &.checked:active:not(:disabled) {\n color: var(--color-light-text-primary);\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,2BAA2B,CAAC;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { type FC } from 'react';
2
- export declare type PaginationProps = {
2
+ export type PaginationProps = {
3
3
  /**
4
4
  * Текущая страница (с нуля)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  import { type FC } from 'react';
2
2
  import { type PaginationProps } from '../../Component';
3
- declare type DefaultViewProps = Pick<PaginationProps, 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'>;
3
+ type DefaultViewProps = Pick<PaginationProps, 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'>;
4
4
  export declare const DefaultView: FC<DefaultViewProps>;
5
5
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/default-view/index.tsx"],"sourcesContent":["/* eslint-disable react/no-array-index-key */\nimport React, { type FC, useCallback } from 'react';\n\nimport { type PaginationProps } from '../../Component';\nimport { Tag } from '../tag';\n\nimport styles from './index.module.css';\n\ntype DefaultViewProps = Pick<\n PaginationProps,\n 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'\n>;\n\nexport const DefaultView: FC<DefaultViewProps> = ({\n sidePadding = 2,\n activePadding = 1,\n pagesCount,\n currentPageIndex,\n onPageChange = () => null,\n}) => {\n const maxHalfCount = sidePadding + activePadding + 1;\n const maxElementsCount = maxHalfCount * 2 + 1;\n const itemsFit = pagesCount <= maxElementsCount;\n const elementsCount = itemsFit ? pagesCount : maxElementsCount;\n\n const getPageIndex = useCallback(\n (elementIndex: number) => {\n const lastIndex = pagesCount - 1;\n const reverseIndex = lastIndex - currentPageIndex;\n const lastElementIndex = elementsCount - 1;\n const reverseElementIndex = lastElementIndex - elementIndex;\n\n const hasCollapsedItems = (index: number) => !itemsFit && index >= maxHalfCount;\n\n if (elementIndex < sidePadding) {\n return elementIndex;\n }\n\n if (elementIndex === sidePadding && hasCollapsedItems(currentPageIndex)) {\n return null;\n }\n\n if (reverseElementIndex === sidePadding && hasCollapsedItems(reverseIndex)) {\n return null;\n }\n\n if (reverseElementIndex < sidePadding) {\n return lastIndex - reverseElementIndex;\n }\n\n const computedIndex = currentPageIndex - maxHalfCount + elementIndex;\n\n return Math.min(lastIndex - reverseElementIndex, Math.max(elementIndex, computedIndex));\n },\n [currentPageIndex, elementsCount, itemsFit, maxHalfCount, pagesCount, sidePadding],\n );\n\n const getPageString = (page: number) => page.toLocaleString('ru-RU');\n\n return (\n <React.Fragment>\n {Array(elementsCount)\n .fill('')\n .map((_, i) => {\n const pageIndex = getPageIndex(i);\n\n if (pageIndex === null) {\n return (\n <div key={i.toString()} className={styles.dots}>\n ...\n </div>\n );\n }\n\n const active = currentPageIndex === pageIndex;\n\n return (\n <Tag\n key={i.toString()}\n checked={active}\n disabled={active}\n onClick={() => onPageChange(pageIndex)}\n >\n {getPageString(pageIndex + 1)}\n </Tag>\n );\n })}\n </React.Fragment>\n );\n};\n"],"names":["useCallback","React","styles","Tag"],"mappings":";;;;;;;;;;;;;AAAA;AAaO,IAAM,WAAW,GAAyB,UAAC,EAMjD,EAAA;AALG,IAAA,IAAA,EAAA,GAAA,EAAA,CAAA,WAAe,EAAf,WAAW,GAAG,EAAA,KAAA,MAAA,GAAA,CAAC,GAAA,EAAA,EACf,EAAiB,GAAA,EAAA,CAAA,aAAA,EAAjB,aAAa,GAAA,EAAA,KAAA,MAAA,GAAG,CAAC,GAAA,EAAA,EACjB,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAChB,EAAA,GAAA,EAAA,CAAA,YAAyB,EAAzB,YAAY,GAAG,EAAA,KAAA,MAAA,GAAA,YAAA,EAAM,OAAA,IAAI,CAAJ,EAAI,GAAA,EAAA;AAEzB,IAAA,IAAM,YAAY,GAAG,WAAW,GAAG,aAAa,GAAG,CAAC;AACpD,IAAA,IAAM,gBAAgB,GAAG,YAAY,GAAG,CAAC,GAAG,CAAC;AAC7C,IAAA,IAAM,QAAQ,GAAG,UAAU,IAAI,gBAAgB;IAC/C,IAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,gBAAgB;AAE9D,IAAA,IAAM,YAAY,GAAGA,iBAAW,CAC5B,UAAC,YAAoB,EAAA;AACjB,QAAA,IAAM,SAAS,GAAG,UAAU,GAAG,CAAC;AAChC,QAAA,IAAM,YAAY,GAAG,SAAS,GAAG,gBAAgB;AACjD,QAAA,IAAM,gBAAgB,GAAG,aAAa,GAAG,CAAC;AAC1C,QAAA,IAAM,mBAAmB,GAAG,gBAAgB,GAAG,YAAY;AAE3D,QAAA,IAAM,iBAAiB,GAAG,UAAC,KAAa,IAAK,OAAA,CAAC,QAAQ,IAAI,KAAK,IAAI,YAAY,CAAA,EAAA;QAE/E,IAAI,YAAY,GAAG,WAAW,EAAE;AAC5B,YAAA,OAAO,YAAY;AACtB;QAED,IAAI,YAAY,KAAK,WAAW,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,EAAE;AACrE,YAAA,OAAO,IAAI;AACd;QAED,IAAI,mBAAmB,KAAK,WAAW,IAAI,iBAAiB,CAAC,YAAY,CAAC,EAAE;AACxE,YAAA,OAAO,IAAI;AACd;QAED,IAAI,mBAAmB,GAAG,WAAW,EAAE;YACnC,OAAO,SAAS,GAAG,mBAAmB;AACzC;AAED,QAAA,IAAM,aAAa,GAAG,gBAAgB,GAAG,YAAY,GAAG,YAAY;AAEpE,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAC3F,KAAC,EACD,CAAC,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CACrF;AAED,IAAA,IAAM,aAAa,GAAG,UAAC,IAAY,IAAK,OAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA,EAAA;IAEpE,QACIC,qCAACA,sBAAK,CAAC,QAAQ,EACV,IAAA,EAAA,KAAK,CAAC,aAAa;SACf,IAAI,CAAC,EAAE;AACP,SAAA,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC,EAAA;AACN,QAAA,IAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC;QAEjC,IAAI,SAAS,KAAK,IAAI,EAAE;AACpB,YAAA,QACIA,sBAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAEC,uBAAM,CAAC,IAAI,EAAA,EAAA,KAAA,CAExC;AAEb;AAED,QAAA,IAAM,MAAM,GAAG,gBAAgB,KAAK,SAAS;AAE7C,QAAA,QACID,sBAAC,CAAA,aAAA,CAAAE,SAAG,EACA,EAAA,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,cAAM,OAAA,YAAY,CAAC,SAAS,CAAC,CAAvB,EAAuB,EAErC,EAAA,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,CAC3B;KAEb,CAAC,CACO;AAEzB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/default-view/index.tsx"],"sourcesContent":["/* eslint-disable react/no-array-index-key */\nimport React, { type FC, useCallback } from 'react';\n\nimport { type PaginationProps } from '../../Component';\nimport { Tag } from '../tag';\n\nimport styles from './index.module.css';\n\ntype DefaultViewProps = Pick<\n PaginationProps,\n 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'\n>;\n\nexport const DefaultView: FC<DefaultViewProps> = ({\n sidePadding = 2,\n activePadding = 1,\n pagesCount,\n currentPageIndex,\n onPageChange = () => null,\n}) => {\n const maxHalfCount = sidePadding + activePadding + 1;\n const maxElementsCount = maxHalfCount * 2 + 1;\n const itemsFit = pagesCount <= maxElementsCount;\n const elementsCount = itemsFit ? pagesCount : maxElementsCount;\n\n const getPageIndex = useCallback(\n (elementIndex: number) => {\n const lastIndex = pagesCount - 1;\n const reverseIndex = lastIndex - currentPageIndex;\n const lastElementIndex = elementsCount - 1;\n const reverseElementIndex = lastElementIndex - elementIndex;\n\n const hasCollapsedItems = (index: number) => !itemsFit && index >= maxHalfCount;\n\n if (elementIndex < sidePadding) {\n return elementIndex;\n }\n\n if (elementIndex === sidePadding && hasCollapsedItems(currentPageIndex)) {\n return null;\n }\n\n if (reverseElementIndex === sidePadding && hasCollapsedItems(reverseIndex)) {\n return null;\n }\n\n if (reverseElementIndex < sidePadding) {\n return lastIndex - reverseElementIndex;\n }\n\n const computedIndex = currentPageIndex - maxHalfCount + elementIndex;\n\n return Math.min(lastIndex - reverseElementIndex, Math.max(elementIndex, computedIndex));\n },\n [currentPageIndex, elementsCount, itemsFit, maxHalfCount, pagesCount, sidePadding],\n );\n\n const getPageString = (page: number) => page.toLocaleString('ru-RU');\n\n return (\n <React.Fragment>\n {Array(elementsCount)\n .fill('')\n .map((_, i) => {\n const pageIndex = getPageIndex(i);\n\n if (pageIndex === null) {\n return (\n <div key={i.toString()} className={styles.dots}>\n ...\n </div>\n );\n }\n\n const active = currentPageIndex === pageIndex;\n\n return (\n <Tag\n key={i.toString()}\n checked={active}\n disabled={active}\n onClick={() => onPageChange(pageIndex)}\n >\n {getPageString(pageIndex + 1)}\n </Tag>\n );\n })}\n </React.Fragment>\n );\n};\n"],"names":["useCallback","React","styles","Tag"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type FC } from 'react';
2
2
  import { type PaginationProps } from '../../Component';
3
- declare type PerPageViewProps = Pick<PaginationProps, 'pagesCount' | 'currentPageIndex'>;
3
+ type PerPageViewProps = Pick<PaginationProps, 'pagesCount' | 'currentPageIndex'>;
4
4
  export declare const PerPageView: FC<PerPageViewProps>;
5
5
  export {};
@@ -1,5 +1,5 @@
1
1
  import { type FC } from 'react';
2
- export declare type PaginationProps = {
2
+ export type PaginationProps = {
3
3
  /**
4
4
  * Текущая страница (с нуля)
5
5
  */
@@ -1,7 +1,7 @@
1
1
  :root {
2
2
  --color-light-text-secondary: rgba(4, 4, 19, 0.55);
3
3
  }
4
- .pagination__dots_ups8r {
4
+ .pagination__dots_1b41f {
5
5
  width: 32px;
6
6
  height: 32px;
7
7
  text-align: center;
@@ -1,5 +1,5 @@
1
1
  import { type FC } from 'react';
2
2
  import { type PaginationProps } from '../../Component';
3
- declare type DefaultViewProps = Pick<PaginationProps, 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'>;
3
+ type DefaultViewProps = Pick<PaginationProps, 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'>;
4
4
  export declare const DefaultView: FC<DefaultViewProps>;
5
5
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/default-view/index.tsx"],"sourcesContent":["/* eslint-disable react/no-array-index-key */\nimport React, { type FC, useCallback } from 'react';\n\nimport { type PaginationProps } from '../../Component';\nimport { Tag } from '../tag';\n\nimport styles from './index.module.css';\n\ntype DefaultViewProps = Pick<\n PaginationProps,\n 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'\n>;\n\nexport const DefaultView: FC<DefaultViewProps> = ({\n sidePadding = 2,\n activePadding = 1,\n pagesCount,\n currentPageIndex,\n onPageChange = () => null,\n}) => {\n const maxHalfCount = sidePadding + activePadding + 1;\n const maxElementsCount = maxHalfCount * 2 + 1;\n const itemsFit = pagesCount <= maxElementsCount;\n const elementsCount = itemsFit ? pagesCount : maxElementsCount;\n\n const getPageIndex = useCallback(\n (elementIndex: number) => {\n const lastIndex = pagesCount - 1;\n const reverseIndex = lastIndex - currentPageIndex;\n const lastElementIndex = elementsCount - 1;\n const reverseElementIndex = lastElementIndex - elementIndex;\n\n const hasCollapsedItems = (index: number) => !itemsFit && index >= maxHalfCount;\n\n if (elementIndex < sidePadding) {\n return elementIndex;\n }\n\n if (elementIndex === sidePadding && hasCollapsedItems(currentPageIndex)) {\n return null;\n }\n\n if (reverseElementIndex === sidePadding && hasCollapsedItems(reverseIndex)) {\n return null;\n }\n\n if (reverseElementIndex < sidePadding) {\n return lastIndex - reverseElementIndex;\n }\n\n const computedIndex = currentPageIndex - maxHalfCount + elementIndex;\n\n return Math.min(lastIndex - reverseElementIndex, Math.max(elementIndex, computedIndex));\n },\n [currentPageIndex, elementsCount, itemsFit, maxHalfCount, pagesCount, sidePadding],\n );\n\n const getPageString = (page: number) => page.toLocaleString('ru-RU');\n\n return (\n <React.Fragment>\n {Array(elementsCount)\n .fill('')\n .map((_, i) => {\n const pageIndex = getPageIndex(i);\n\n if (pageIndex === null) {\n return (\n <div key={i.toString()} className={styles.dots}>\n ...\n </div>\n );\n }\n\n const active = currentPageIndex === pageIndex;\n\n return (\n <Tag\n key={i.toString()}\n checked={active}\n disabled={active}\n onClick={() => onPageChange(pageIndex)}\n >\n {getPageString(pageIndex + 1)}\n </Tag>\n );\n })}\n </React.Fragment>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/default-view/index.tsx"],"sourcesContent":["/* eslint-disable react/no-array-index-key */\nimport React, { type FC, useCallback } from 'react';\n\nimport { type PaginationProps } from '../../Component';\nimport { Tag } from '../tag';\n\nimport styles from './index.module.css';\n\ntype DefaultViewProps = Pick<\n PaginationProps,\n 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'\n>;\n\nexport const DefaultView: FC<DefaultViewProps> = ({\n sidePadding = 2,\n activePadding = 1,\n pagesCount,\n currentPageIndex,\n onPageChange = () => null,\n}) => {\n const maxHalfCount = sidePadding + activePadding + 1;\n const maxElementsCount = maxHalfCount * 2 + 1;\n const itemsFit = pagesCount <= maxElementsCount;\n const elementsCount = itemsFit ? pagesCount : maxElementsCount;\n\n const getPageIndex = useCallback(\n (elementIndex: number) => {\n const lastIndex = pagesCount - 1;\n const reverseIndex = lastIndex - currentPageIndex;\n const lastElementIndex = elementsCount - 1;\n const reverseElementIndex = lastElementIndex - elementIndex;\n\n const hasCollapsedItems = (index: number) => !itemsFit && index >= maxHalfCount;\n\n if (elementIndex < sidePadding) {\n return elementIndex;\n }\n\n if (elementIndex === sidePadding && hasCollapsedItems(currentPageIndex)) {\n return null;\n }\n\n if (reverseElementIndex === sidePadding && hasCollapsedItems(reverseIndex)) {\n return null;\n }\n\n if (reverseElementIndex < sidePadding) {\n return lastIndex - reverseElementIndex;\n }\n\n const computedIndex = currentPageIndex - maxHalfCount + elementIndex;\n\n return Math.min(lastIndex - reverseElementIndex, Math.max(elementIndex, computedIndex));\n },\n [currentPageIndex, elementsCount, itemsFit, maxHalfCount, pagesCount, sidePadding],\n );\n\n const getPageString = (page: number) => page.toLocaleString('ru-RU');\n\n return (\n <React.Fragment>\n {Array(elementsCount)\n .fill('')\n .map((_, i) => {\n const pageIndex = getPageIndex(i);\n\n if (pageIndex === null) {\n return (\n <div key={i.toString()} className={styles.dots}>\n ...\n </div>\n );\n }\n\n const active = currentPageIndex === pageIndex;\n\n return (\n <Tag\n key={i.toString()}\n checked={active}\n disabled={active}\n onClick={() => onPageChange(pageIndex)}\n >\n {getPageString(pageIndex + 1)}\n </Tag>\n );\n })}\n </React.Fragment>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- var styles = {"dots":"pagination__dots_ups8r"};
3
+ var styles = {"dots":"pagination__dots_1b41f"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/default-view/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.dots {\n width: 32px;\n height: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-light-text-secondary);\n cursor: default;\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,MAAM,CAAC,wBAAwB,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/default-view/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.dots {\n width: 32px;\n height: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-light-text-secondary);\n cursor: default;\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,MAAM,CAAC,wBAAwB,CAAC;;;;"}
@@ -3,7 +3,7 @@
3
3
  --gap-0: 0px;
4
4
  --gap-16: var(--gap-m);
5
5
  }
6
- .pagination__component_8qf5y {
6
+ .pagination__component_1c092 {
7
7
  display: block;
8
8
  margin: var(--gap-0) var(--gap-16);
9
9
  }
@@ -1,5 +1,5 @@
1
1
  import { type FC } from 'react';
2
2
  import { type PaginationProps } from '../../Component';
3
- declare type PerPageViewProps = Pick<PaginationProps, 'pagesCount' | 'currentPageIndex'>;
3
+ type PerPageViewProps = Pick<PaginationProps, 'pagesCount' | 'currentPageIndex'>;
4
4
  export declare const PerPageView: FC<PerPageViewProps>;
5
5
  export {};
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- var styles = {"component":"pagination__component_8qf5y"};
3
+ var styles = {"component":"pagination__component_1c092"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/per-page-view/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.component {\n display: block;\n margin: var(--gap-0) var(--gap-16);\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,WAAW,CAAC,6BAA6B,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/per-page-view/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.component {\n display: block;\n margin: var(--gap-0) var(--gap-16);\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,WAAW,CAAC,6BAA6B,CAAC;;;;"}
@@ -14,7 +14,7 @@
14
14
  --gap-0: 0px;
15
15
  --gap-6: 6px;
16
16
  }
17
- button.pagination__tag_5v4ql.pagination__tag_5v4ql {
17
+ button.pagination__tag_risa7.pagination__tag_risa7 {
18
18
  color: var(--color-light-text-secondary);
19
19
  border-radius: var(--border-radius-8);
20
20
  border: none;
@@ -23,27 +23,27 @@ button.pagination__tag_5v4ql.pagination__tag_5v4ql {
23
23
  min-width: 32px;
24
24
  height: 32px;
25
25
  }
26
- button.pagination__tag_5v4ql.pagination__tag_5v4ql:not(.pagination__arrow_5v4ql) {
26
+ button.pagination__tag_risa7.pagination__tag_risa7:not(.pagination__arrow_risa7) {
27
27
  padding: var(--gap-0) var(--gap-6);
28
28
  }
29
- button.pagination__tag_5v4ql.pagination__tag_5v4ql:disabled:not(.pagination__checked_5v4ql) {
29
+ button.pagination__tag_risa7.pagination__tag_risa7:disabled:not(.pagination__checked_risa7) {
30
30
  opacity: 0.3;
31
31
  }
32
- button.pagination__tag_5v4ql.pagination__tag_5v4ql:hover:not(:disabled) {
32
+ button.pagination__tag_risa7.pagination__tag_risa7:hover:not(:disabled) {
33
33
  background-color: var(--color-light-transparent-default-hover);
34
34
  color: var(--color-light-text-primary);
35
35
  }
36
- button.pagination__tag_5v4ql.pagination__tag_5v4ql:active:not(:disabled) {
36
+ button.pagination__tag_risa7.pagination__tag_risa7:active:not(:disabled) {
37
37
  background-color: var(--color-light-transparent-default-press);
38
38
  }
39
- button.pagination__tag_5v4ql.pagination__tag_5v4ql.pagination__checked_5v4ql {
39
+ button.pagination__tag_risa7.pagination__tag_risa7.pagination__checked_risa7 {
40
40
  cursor: default;
41
41
  background-color: var(--color-light-accent-secondary);
42
42
  color: var(--color-light-text-primary-inverted);
43
43
  }
44
- button.pagination__tag_5v4ql.pagination__tag_5v4ql.pagination__checked_5v4ql:hover:not(:disabled) {
44
+ button.pagination__tag_risa7.pagination__tag_risa7.pagination__checked_risa7:hover:not(:disabled) {
45
45
  color: var(--color-light-text-primary-inverted);
46
46
  }
47
- button.pagination__tag_5v4ql.pagination__tag_5v4ql.pagination__checked_5v4ql:active:not(:disabled) {
47
+ button.pagination__tag_risa7.pagination__tag_risa7.pagination__checked_risa7:active:not(:disabled) {
48
48
  color: var(--color-light-text-primary);
49
49
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- var styles = {"tag":"pagination__tag_5v4ql","arrow":"pagination__arrow_5v4ql","checked":"pagination__checked_5v4ql"};
3
+ var styles = {"tag":"pagination__tag_risa7","arrow":"pagination__arrow_risa7","checked":"pagination__checked_risa7"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/tag/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\nbutton.tag.tag {\n color: var(--color-light-text-secondary);\n border-radius: var(--border-radius-8);\n border: none;\n flex-shrink: 0;\n min-height: auto;\n min-width: 32px;\n height: 32px;\n\n &:not(.arrow) {\n padding: var(--gap-0) var(--gap-6);\n }\n\n &:disabled:not(.checked) {\n opacity: 0.3;\n }\n\n &:hover:not(:disabled) {\n background-color: var(--color-light-transparent-default-hover);\n color: var(--color-light-text-primary);\n }\n\n &:active:not(:disabled) {\n background-color: var(--color-light-transparent-default-press);\n }\n\n &.checked {\n cursor: default;\n background-color: var(--color-light-accent-secondary);\n color: var(--color-light-text-primary-inverted);\n }\n\n &.checked:hover:not(:disabled) {\n color: var(--color-light-text-primary-inverted);\n }\n\n &.checked:active:not(:disabled) {\n color: var(--color-light-text-primary);\n }\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,2BAA2B,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/tag/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\nbutton.tag.tag {\n color: var(--color-light-text-secondary);\n border-radius: var(--border-radius-8);\n border: none;\n flex-shrink: 0;\n min-height: auto;\n min-width: 32px;\n height: 32px;\n\n &:not(.arrow) {\n padding: var(--gap-0) var(--gap-6);\n }\n\n &:disabled:not(.checked) {\n opacity: 0.3;\n }\n\n &:hover:not(:disabled) {\n background-color: var(--color-light-transparent-default-hover);\n color: var(--color-light-text-primary);\n }\n\n &:active:not(:disabled) {\n background-color: var(--color-light-transparent-default-press);\n }\n\n &.checked {\n cursor: default;\n background-color: var(--color-light-accent-secondary);\n color: var(--color-light-text-primary-inverted);\n }\n\n &.checked:hover:not(:disabled) {\n color: var(--color-light-text-primary-inverted);\n }\n\n &.checked:active:not(:disabled) {\n color: var(--color-light-text-primary);\n }\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,2BAA2B,CAAC;;;;"}
package/esm/index.css CHANGED
@@ -10,10 +10,10 @@
10
10
  --font-family-system:
11
11
  system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica, sans-serif;
12
12
  }
13
- button.pagination__arrow_1gvzq.pagination__arrow_1gvzq {
13
+ button.pagination__arrow_1x9pq.pagination__arrow_1x9pq {
14
14
  width: 32px;
15
15
  }
16
- .pagination__component_1gvzq {
16
+ .pagination__component_1x9pq {
17
17
  font-size: 14px;
18
18
  line-height: 20px;
19
19
  font-weight: 400;
@@ -25,9 +25,9 @@ button.pagination__arrow_1gvzq.pagination__arrow_1gvzq {
25
25
  font-feature-settings: "tnum";
26
26
  font-variant-numeric: tabular-nums;
27
27
  }
28
- .pagination__defaultView_1gvzq > * {
28
+ .pagination__defaultView_1x9pq > * {
29
29
  margin-right: var(--gap-8);
30
30
  }
31
- .pagination__defaultView_1gvzq > *:last-child {
31
+ .pagination__defaultView_1x9pq > *:last-child {
32
32
  margin-right: var(--gap-0);
33
33
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- var styles = {"arrow":"pagination__arrow_1gvzq","component":"pagination__component_1gvzq","defaultView":"pagination__defaultView_1gvzq"};
3
+ var styles = {"arrow":"pagination__arrow_1x9pq","component":"pagination__component_1x9pq","defaultView":"pagination__defaultView_1x9pq"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["src/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\nbutton.arrow.arrow {\n width: 32px;\n}\n\n.component {\n @mixin paragraph_primary_small;\n\n display: flex;\n align-items: center;\n color: var(--color-light-text-primary);\n font-variant-numeric: tabular-nums;\n}\n\n.defaultView {\n & > * {\n margin-right: var(--gap-8);\n\n &:last-child {\n margin-right: var(--gap-0);\n }\n }\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,OAAO,CAAC,yBAAyB,CAAC,WAAW,CAAC,6BAA6B,CAAC,aAAa,CAAC,+BAA+B,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["src/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\nbutton.arrow.arrow {\n width: 32px;\n}\n\n.component {\n @mixin paragraph_primary_small;\n\n display: flex;\n align-items: center;\n color: var(--color-light-text-primary);\n font-variant-numeric: tabular-nums;\n}\n\n.defaultView {\n & > * {\n margin-right: var(--gap-8);\n\n &:last-child {\n margin-right: var(--gap-0);\n }\n }\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,OAAO,CAAC,yBAAyB,CAAC,WAAW,CAAC,6BAA6B,CAAC,aAAa,CAAC,+BAA+B,CAAC;;;;"}
package/index.css CHANGED
@@ -10,10 +10,10 @@
10
10
  --font-family-system:
11
11
  system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica, sans-serif;
12
12
  }
13
- button.pagination__arrow_1gvzq.pagination__arrow_1gvzq {
13
+ button.pagination__arrow_1x9pq.pagination__arrow_1x9pq {
14
14
  width: 32px;
15
15
  }
16
- .pagination__component_1gvzq {
16
+ .pagination__component_1x9pq {
17
17
  font-size: 14px;
18
18
  line-height: 20px;
19
19
  font-weight: 400;
@@ -25,9 +25,9 @@ button.pagination__arrow_1gvzq.pagination__arrow_1gvzq {
25
25
  font-feature-settings: "tnum";
26
26
  font-variant-numeric: tabular-nums;
27
27
  }
28
- .pagination__defaultView_1gvzq > * {
28
+ .pagination__defaultView_1x9pq > * {
29
29
  margin-right: var(--gap-8);
30
30
  }
31
- .pagination__defaultView_1gvzq > *:last-child {
31
+ .pagination__defaultView_1x9pq > *:last-child {
32
32
  margin-right: var(--gap-0);
33
33
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"arrow":"pagination__arrow_1gvzq","component":"pagination__component_1gvzq","defaultView":"pagination__defaultView_1gvzq"};
5
+ var styles = {"arrow":"pagination__arrow_1x9pq","component":"pagination__component_1x9pq","defaultView":"pagination__defaultView_1x9pq"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["src/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\nbutton.arrow.arrow {\n width: 32px;\n}\n\n.component {\n @mixin paragraph_primary_small;\n\n display: flex;\n align-items: center;\n color: var(--color-light-text-primary);\n font-variant-numeric: tabular-nums;\n}\n\n.defaultView {\n & > * {\n margin-right: var(--gap-8);\n\n &:last-child {\n margin-right: var(--gap-0);\n }\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,OAAO,CAAC,yBAAyB,CAAC,WAAW,CAAC,6BAA6B,CAAC,aAAa,CAAC,+BAA+B,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["src/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\nbutton.arrow.arrow {\n width: 32px;\n}\n\n.component {\n @mixin paragraph_primary_small;\n\n display: flex;\n align-items: center;\n color: var(--color-light-text-primary);\n font-variant-numeric: tabular-nums;\n}\n\n.defaultView {\n & > * {\n margin-right: var(--gap-8);\n\n &:last-child {\n margin-right: var(--gap-0);\n }\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,OAAO,CAAC,yBAAyB,CAAC,WAAW,CAAC,6BAA6B,CAAC,aAAa,CAAC,+BAA+B,CAAC;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { type FC } from 'react';
2
- export declare type PaginationProps = {
2
+ export type PaginationProps = {
3
3
  /**
4
4
  * Текущая страница (с нуля)
5
5
  */
@@ -1,7 +1,7 @@
1
1
  :root {
2
2
  --color-light-text-secondary: rgba(4, 4, 19, 0.55);
3
3
  }
4
- .pagination__dots_ups8r {
4
+ .pagination__dots_1b41f {
5
5
  width: 32px;
6
6
  height: 32px;
7
7
  text-align: center;
@@ -1,5 +1,5 @@
1
1
  import { type FC } from 'react';
2
2
  import { type PaginationProps } from '../../Component';
3
- declare type DefaultViewProps = Pick<PaginationProps, 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'>;
3
+ type DefaultViewProps = Pick<PaginationProps, 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'>;
4
4
  export declare const DefaultView: FC<DefaultViewProps>;
5
5
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/default-view/index.tsx"],"sourcesContent":["/* eslint-disable react/no-array-index-key */\nimport React, { type FC, useCallback } from 'react';\n\nimport { type PaginationProps } from '../../Component';\nimport { Tag } from '../tag';\n\nimport styles from './index.module.css';\n\ntype DefaultViewProps = Pick<\n PaginationProps,\n 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'\n>;\n\nexport const DefaultView: FC<DefaultViewProps> = ({\n sidePadding = 2,\n activePadding = 1,\n pagesCount,\n currentPageIndex,\n onPageChange = () => null,\n}) => {\n const maxHalfCount = sidePadding + activePadding + 1;\n const maxElementsCount = maxHalfCount * 2 + 1;\n const itemsFit = pagesCount <= maxElementsCount;\n const elementsCount = itemsFit ? pagesCount : maxElementsCount;\n\n const getPageIndex = useCallback(\n (elementIndex: number) => {\n const lastIndex = pagesCount - 1;\n const reverseIndex = lastIndex - currentPageIndex;\n const lastElementIndex = elementsCount - 1;\n const reverseElementIndex = lastElementIndex - elementIndex;\n\n const hasCollapsedItems = (index: number) => !itemsFit && index >= maxHalfCount;\n\n if (elementIndex < sidePadding) {\n return elementIndex;\n }\n\n if (elementIndex === sidePadding && hasCollapsedItems(currentPageIndex)) {\n return null;\n }\n\n if (reverseElementIndex === sidePadding && hasCollapsedItems(reverseIndex)) {\n return null;\n }\n\n if (reverseElementIndex < sidePadding) {\n return lastIndex - reverseElementIndex;\n }\n\n const computedIndex = currentPageIndex - maxHalfCount + elementIndex;\n\n return Math.min(lastIndex - reverseElementIndex, Math.max(elementIndex, computedIndex));\n },\n [currentPageIndex, elementsCount, itemsFit, maxHalfCount, pagesCount, sidePadding],\n );\n\n const getPageString = (page: number) => page.toLocaleString('ru-RU');\n\n return (\n <React.Fragment>\n {Array(elementsCount)\n .fill('')\n .map((_, i) => {\n const pageIndex = getPageIndex(i);\n\n if (pageIndex === null) {\n return (\n <div key={i.toString()} className={styles.dots}>\n ...\n </div>\n );\n }\n\n const active = currentPageIndex === pageIndex;\n\n return (\n <Tag\n key={i.toString()}\n checked={active}\n disabled={active}\n onClick={() => onPageChange(pageIndex)}\n >\n {getPageString(pageIndex + 1)}\n </Tag>\n );\n })}\n </React.Fragment>\n );\n};\n"],"names":[],"mappings":";;;;AAAA;AAaa,MAAA,WAAW,GAAyB,CAAC,EAC9C,WAAW,GAAG,CAAC,EACf,aAAa,GAAG,CAAC,EACjB,UAAU,EACV,gBAAgB,EAChB,YAAY,GAAG,MAAM,IAAI,GAC5B,KAAI;AACD,IAAA,MAAM,YAAY,GAAG,WAAW,GAAG,aAAa,GAAG,CAAC;AACpD,IAAA,MAAM,gBAAgB,GAAG,YAAY,GAAG,CAAC,GAAG,CAAC;AAC7C,IAAA,MAAM,QAAQ,GAAG,UAAU,IAAI,gBAAgB;IAC/C,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,gBAAgB;AAE9D,IAAA,MAAM,YAAY,GAAG,WAAW,CAC5B,CAAC,YAAoB,KAAI;AACrB,QAAA,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC;AAChC,QAAA,MAAM,YAAY,GAAG,SAAS,GAAG,gBAAgB;AACjD,QAAA,MAAM,gBAAgB,GAAG,aAAa,GAAG,CAAC;AAC1C,QAAA,MAAM,mBAAmB,GAAG,gBAAgB,GAAG,YAAY;AAE3D,QAAA,MAAM,iBAAiB,GAAG,CAAC,KAAa,KAAK,CAAC,QAAQ,IAAI,KAAK,IAAI,YAAY;QAE/E,IAAI,YAAY,GAAG,WAAW,EAAE;AAC5B,YAAA,OAAO,YAAY;AACtB;QAED,IAAI,YAAY,KAAK,WAAW,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,EAAE;AACrE,YAAA,OAAO,IAAI;AACd;QAED,IAAI,mBAAmB,KAAK,WAAW,IAAI,iBAAiB,CAAC,YAAY,CAAC,EAAE;AACxE,YAAA,OAAO,IAAI;AACd;QAED,IAAI,mBAAmB,GAAG,WAAW,EAAE;YACnC,OAAO,SAAS,GAAG,mBAAmB;AACzC;AAED,QAAA,MAAM,aAAa,GAAG,gBAAgB,GAAG,YAAY,GAAG,YAAY;AAEpE,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAC3F,KAAC,EACD,CAAC,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CACrF;AAED,IAAA,MAAM,aAAa,GAAG,CAAC,IAAY,KAAK,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;IAEpE,QACI,oBAAC,KAAK,CAAC,QAAQ,EACV,IAAA,EAAA,KAAK,CAAC,aAAa;SACf,IAAI,CAAC,EAAE;AACP,SAAA,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACV,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC;QAEjC,IAAI,SAAS,KAAK,IAAI,EAAE;AACpB,YAAA,QACI,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAA,EAAA,KAAA,CAExC;AAEb;AAED,QAAA,MAAM,MAAM,GAAG,gBAAgB,KAAK,SAAS;AAE7C,QAAA,QACI,KAAC,CAAA,aAAA,CAAA,GAAG,EACA,EAAA,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,YAAY,CAAC,SAAS,CAAC,EAErC,EAAA,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,CAC3B;KAEb,CAAC,CACO;AAEzB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/default-view/index.tsx"],"sourcesContent":["/* eslint-disable react/no-array-index-key */\nimport React, { type FC, useCallback } from 'react';\n\nimport { type PaginationProps } from '../../Component';\nimport { Tag } from '../tag';\n\nimport styles from './index.module.css';\n\ntype DefaultViewProps = Pick<\n PaginationProps,\n 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'\n>;\n\nexport const DefaultView: FC<DefaultViewProps> = ({\n sidePadding = 2,\n activePadding = 1,\n pagesCount,\n currentPageIndex,\n onPageChange = () => null,\n}) => {\n const maxHalfCount = sidePadding + activePadding + 1;\n const maxElementsCount = maxHalfCount * 2 + 1;\n const itemsFit = pagesCount <= maxElementsCount;\n const elementsCount = itemsFit ? pagesCount : maxElementsCount;\n\n const getPageIndex = useCallback(\n (elementIndex: number) => {\n const lastIndex = pagesCount - 1;\n const reverseIndex = lastIndex - currentPageIndex;\n const lastElementIndex = elementsCount - 1;\n const reverseElementIndex = lastElementIndex - elementIndex;\n\n const hasCollapsedItems = (index: number) => !itemsFit && index >= maxHalfCount;\n\n if (elementIndex < sidePadding) {\n return elementIndex;\n }\n\n if (elementIndex === sidePadding && hasCollapsedItems(currentPageIndex)) {\n return null;\n }\n\n if (reverseElementIndex === sidePadding && hasCollapsedItems(reverseIndex)) {\n return null;\n }\n\n if (reverseElementIndex < sidePadding) {\n return lastIndex - reverseElementIndex;\n }\n\n const computedIndex = currentPageIndex - maxHalfCount + elementIndex;\n\n return Math.min(lastIndex - reverseElementIndex, Math.max(elementIndex, computedIndex));\n },\n [currentPageIndex, elementsCount, itemsFit, maxHalfCount, pagesCount, sidePadding],\n );\n\n const getPageString = (page: number) => page.toLocaleString('ru-RU');\n\n return (\n <React.Fragment>\n {Array(elementsCount)\n .fill('')\n .map((_, i) => {\n const pageIndex = getPageIndex(i);\n\n if (pageIndex === null) {\n return (\n <div key={i.toString()} className={styles.dots}>\n ...\n </div>\n );\n }\n\n const active = currentPageIndex === pageIndex;\n\n return (\n <Tag\n key={i.toString()}\n checked={active}\n disabled={active}\n onClick={() => onPageChange(pageIndex)}\n >\n {getPageString(pageIndex + 1)}\n </Tag>\n );\n })}\n </React.Fragment>\n );\n};\n"],"names":[],"mappings":";;;;AAAA;AAaa,MAAA,WAAW,GAAyB,CAAC,EAC9C,WAAW,GAAG,CAAC,EACf,aAAa,GAAG,CAAC,EACjB,UAAU,EACV,gBAAgB,EAChB,YAAY,GAAG,MAAM,IAAI,GAC5B,KAAI;AACD,IAAA,MAAM,YAAY,GAAG,WAAW,GAAG,aAAa,GAAG,CAAC;AACpD,IAAA,MAAM,gBAAgB,GAAG,YAAY,GAAG,CAAC,GAAG,CAAC;AAC7C,IAAA,MAAM,QAAQ,GAAG,UAAU,IAAI,gBAAgB;IAC/C,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,gBAAgB;AAE9D,IAAA,MAAM,YAAY,GAAG,WAAW,CAC5B,CAAC,YAAoB,KAAI;AACrB,QAAA,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC;AAChC,QAAA,MAAM,YAAY,GAAG,SAAS,GAAG,gBAAgB;AACjD,QAAA,MAAM,gBAAgB,GAAG,aAAa,GAAG,CAAC;AAC1C,QAAA,MAAM,mBAAmB,GAAG,gBAAgB,GAAG,YAAY;AAE3D,QAAA,MAAM,iBAAiB,GAAG,CAAC,KAAa,KAAK,CAAC,QAAQ,IAAI,KAAK,IAAI,YAAY;AAE/E,QAAA,IAAI,YAAY,GAAG,WAAW,EAAE;AAC5B,YAAA,OAAO,YAAY;;QAGvB,IAAI,YAAY,KAAK,WAAW,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,EAAE;AACrE,YAAA,OAAO,IAAI;;QAGf,IAAI,mBAAmB,KAAK,WAAW,IAAI,iBAAiB,CAAC,YAAY,CAAC,EAAE;AACxE,YAAA,OAAO,IAAI;;AAGf,QAAA,IAAI,mBAAmB,GAAG,WAAW,EAAE;YACnC,OAAO,SAAS,GAAG,mBAAmB;;AAG1C,QAAA,MAAM,aAAa,GAAG,gBAAgB,GAAG,YAAY,GAAG,YAAY;AAEpE,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAC3F,KAAC,EACD,CAAC,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CACrF;AAED,IAAA,MAAM,aAAa,GAAG,CAAC,IAAY,KAAK,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;IAEpE,QACI,oBAAC,KAAK,CAAC,QAAQ,EACV,IAAA,EAAA,KAAK,CAAC,aAAa;SACf,IAAI,CAAC,EAAE;AACP,SAAA,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACV,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC;AAEjC,QAAA,IAAI,SAAS,KAAK,IAAI,EAAE;AACpB,YAAA,QACI,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAA,EAAA,KAAA,CAExC;;AAId,QAAA,MAAM,MAAM,GAAG,gBAAgB,KAAK,SAAS;AAE7C,QAAA,QACI,KAAC,CAAA,aAAA,CAAA,GAAG,EACA,EAAA,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,YAAY,CAAC,SAAS,CAAC,EAErC,EAAA,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,CAC3B;KAEb,CAAC,CACO;AAEzB;;;;"}
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"dots":"pagination__dots_ups8r"};
3
+ const styles = {"dots":"pagination__dots_1b41f"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/default-view/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.dots {\n width: 32px;\n height: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-light-text-secondary);\n cursor: default;\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,MAAM,CAAC,wBAAwB,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/default-view/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.dots {\n width: 32px;\n height: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-light-text-secondary);\n cursor: default;\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,MAAM,CAAC,wBAAwB,CAAC;;;;"}
@@ -3,7 +3,7 @@
3
3
  --gap-0: 0px;
4
4
  --gap-16: var(--gap-m);
5
5
  }
6
- .pagination__component_8qf5y {
6
+ .pagination__component_1c092 {
7
7
  display: block;
8
8
  margin: var(--gap-0) var(--gap-16);
9
9
  }
@@ -1,5 +1,5 @@
1
1
  import { type FC } from 'react';
2
2
  import { type PaginationProps } from '../../Component';
3
- declare type PerPageViewProps = Pick<PaginationProps, 'pagesCount' | 'currentPageIndex'>;
3
+ type PerPageViewProps = Pick<PaginationProps, 'pagesCount' | 'currentPageIndex'>;
4
4
  export declare const PerPageView: FC<PerPageViewProps>;
5
5
  export {};
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"component":"pagination__component_8qf5y"};
3
+ const styles = {"component":"pagination__component_1c092"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/per-page-view/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.component {\n display: block;\n margin: var(--gap-0) var(--gap-16);\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,WAAW,CAAC,6BAA6B,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/per-page-view/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.component {\n display: block;\n margin: var(--gap-0) var(--gap-16);\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,WAAW,CAAC,6BAA6B,CAAC;;;;"}
@@ -14,7 +14,7 @@
14
14
  --gap-0: 0px;
15
15
  --gap-6: 6px;
16
16
  }
17
- button.pagination__tag_5v4ql.pagination__tag_5v4ql {
17
+ button.pagination__tag_risa7.pagination__tag_risa7 {
18
18
  color: var(--color-light-text-secondary);
19
19
  border-radius: var(--border-radius-8);
20
20
  border: none;
@@ -23,27 +23,27 @@ button.pagination__tag_5v4ql.pagination__tag_5v4ql {
23
23
  min-width: 32px;
24
24
  height: 32px;
25
25
  }
26
- button.pagination__tag_5v4ql.pagination__tag_5v4ql:not(.pagination__arrow_5v4ql) {
26
+ button.pagination__tag_risa7.pagination__tag_risa7:not(.pagination__arrow_risa7) {
27
27
  padding: var(--gap-0) var(--gap-6);
28
28
  }
29
- button.pagination__tag_5v4ql.pagination__tag_5v4ql:disabled:not(.pagination__checked_5v4ql) {
29
+ button.pagination__tag_risa7.pagination__tag_risa7:disabled:not(.pagination__checked_risa7) {
30
30
  opacity: 0.3;
31
31
  }
32
- button.pagination__tag_5v4ql.pagination__tag_5v4ql:hover:not(:disabled) {
32
+ button.pagination__tag_risa7.pagination__tag_risa7:hover:not(:disabled) {
33
33
  background-color: var(--color-light-transparent-default-hover);
34
34
  color: var(--color-light-text-primary);
35
35
  }
36
- button.pagination__tag_5v4ql.pagination__tag_5v4ql:active:not(:disabled) {
36
+ button.pagination__tag_risa7.pagination__tag_risa7:active:not(:disabled) {
37
37
  background-color: var(--color-light-transparent-default-press);
38
38
  }
39
- button.pagination__tag_5v4ql.pagination__tag_5v4ql.pagination__checked_5v4ql {
39
+ button.pagination__tag_risa7.pagination__tag_risa7.pagination__checked_risa7 {
40
40
  cursor: default;
41
41
  background-color: var(--color-light-accent-secondary);
42
42
  color: var(--color-light-text-primary-inverted);
43
43
  }
44
- button.pagination__tag_5v4ql.pagination__tag_5v4ql.pagination__checked_5v4ql:hover:not(:disabled) {
44
+ button.pagination__tag_risa7.pagination__tag_risa7.pagination__checked_risa7:hover:not(:disabled) {
45
45
  color: var(--color-light-text-primary-inverted);
46
46
  }
47
- button.pagination__tag_5v4ql.pagination__tag_5v4ql.pagination__checked_5v4ql:active:not(:disabled) {
47
+ button.pagination__tag_risa7.pagination__tag_risa7.pagination__checked_risa7:active:not(:disabled) {
48
48
  color: var(--color-light-text-primary);
49
49
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"tag":"pagination__tag_5v4ql","arrow":"pagination__arrow_5v4ql","checked":"pagination__checked_5v4ql"};
3
+ const styles = {"tag":"pagination__tag_risa7","arrow":"pagination__arrow_risa7","checked":"pagination__checked_risa7"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/tag/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\nbutton.tag.tag {\n color: var(--color-light-text-secondary);\n border-radius: var(--border-radius-8);\n border: none;\n flex-shrink: 0;\n min-height: auto;\n min-width: 32px;\n height: 32px;\n\n &:not(.arrow) {\n padding: var(--gap-0) var(--gap-6);\n }\n\n &:disabled:not(.checked) {\n opacity: 0.3;\n }\n\n &:hover:not(:disabled) {\n background-color: var(--color-light-transparent-default-hover);\n color: var(--color-light-text-primary);\n }\n\n &:active:not(:disabled) {\n background-color: var(--color-light-transparent-default-press);\n }\n\n &.checked {\n cursor: default;\n background-color: var(--color-light-accent-secondary);\n color: var(--color-light-text-primary-inverted);\n }\n\n &.checked:hover:not(:disabled) {\n color: var(--color-light-text-primary-inverted);\n }\n\n &.checked:active:not(:disabled) {\n color: var(--color-light-text-primary);\n }\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,2BAA2B,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/tag/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\nbutton.tag.tag {\n color: var(--color-light-text-secondary);\n border-radius: var(--border-radius-8);\n border: none;\n flex-shrink: 0;\n min-height: auto;\n min-width: 32px;\n height: 32px;\n\n &:not(.arrow) {\n padding: var(--gap-0) var(--gap-6);\n }\n\n &:disabled:not(.checked) {\n opacity: 0.3;\n }\n\n &:hover:not(:disabled) {\n background-color: var(--color-light-transparent-default-hover);\n color: var(--color-light-text-primary);\n }\n\n &:active:not(:disabled) {\n background-color: var(--color-light-transparent-default-press);\n }\n\n &.checked {\n cursor: default;\n background-color: var(--color-light-accent-secondary);\n color: var(--color-light-text-primary-inverted);\n }\n\n &.checked:hover:not(:disabled) {\n color: var(--color-light-text-primary-inverted);\n }\n\n &.checked:active:not(:disabled) {\n color: var(--color-light-text-primary);\n }\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,2BAA2B,CAAC;;;;"}
package/modern/index.css CHANGED
@@ -10,10 +10,10 @@
10
10
  --font-family-system:
11
11
  system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica, sans-serif;
12
12
  }
13
- button.pagination__arrow_1gvzq.pagination__arrow_1gvzq {
13
+ button.pagination__arrow_1x9pq.pagination__arrow_1x9pq {
14
14
  width: 32px;
15
15
  }
16
- .pagination__component_1gvzq {
16
+ .pagination__component_1x9pq {
17
17
  font-size: 14px;
18
18
  line-height: 20px;
19
19
  font-weight: 400;
@@ -25,9 +25,9 @@ button.pagination__arrow_1gvzq.pagination__arrow_1gvzq {
25
25
  font-feature-settings: "tnum";
26
26
  font-variant-numeric: tabular-nums;
27
27
  }
28
- .pagination__defaultView_1gvzq > * {
28
+ .pagination__defaultView_1x9pq > * {
29
29
  margin-right: var(--gap-8);
30
30
  }
31
- .pagination__defaultView_1gvzq > *:last-child {
31
+ .pagination__defaultView_1x9pq > *:last-child {
32
32
  margin-right: var(--gap-0);
33
33
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- const styles = {"arrow":"pagination__arrow_1gvzq","component":"pagination__component_1gvzq","defaultView":"pagination__defaultView_1gvzq"};
3
+ const styles = {"arrow":"pagination__arrow_1x9pq","component":"pagination__component_1x9pq","defaultView":"pagination__defaultView_1x9pq"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["src/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\nbutton.arrow.arrow {\n width: 32px;\n}\n\n.component {\n @mixin paragraph_primary_small;\n\n display: flex;\n align-items: center;\n color: var(--color-light-text-primary);\n font-variant-numeric: tabular-nums;\n}\n\n.defaultView {\n & > * {\n margin-right: var(--gap-8);\n\n &:last-child {\n margin-right: var(--gap-0);\n }\n }\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,OAAO,CAAC,yBAAyB,CAAC,WAAW,CAAC,6BAA6B,CAAC,aAAa,CAAC,+BAA+B,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["src/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\nbutton.arrow.arrow {\n width: 32px;\n}\n\n.component {\n @mixin paragraph_primary_small;\n\n display: flex;\n align-items: center;\n color: var(--color-light-text-primary);\n font-variant-numeric: tabular-nums;\n}\n\n.defaultView {\n & > * {\n margin-right: var(--gap-8);\n\n &:last-child {\n margin-right: var(--gap-0);\n }\n }\n}\n"],"names":[],"mappings":";;AAEgB,eAAe,CAAC,OAAO,CAAC,yBAAyB,CAAC,WAAW,CAAC,6BAA6B,CAAC,aAAa,CAAC,+BAA+B,CAAC;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { type FC } from 'react';
2
- export declare type PaginationProps = {
2
+ export type PaginationProps = {
3
3
  /**
4
4
  * Текущая страница (с нуля)
5
5
  */
@@ -1,5 +1,5 @@
1
1
  import { type FC } from 'react';
2
2
  import { type PaginationProps } from '../../Component';
3
- declare type DefaultViewProps = Pick<PaginationProps, 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'>;
3
+ type DefaultViewProps = Pick<PaginationProps, 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'>;
4
4
  export declare const DefaultView: FC<DefaultViewProps>;
5
5
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/default-view/index.tsx"],"sourcesContent":["/* eslint-disable react/no-array-index-key */\nimport React, { type FC, useCallback } from 'react';\n\nimport { type PaginationProps } from '../../Component';\nimport { Tag } from '../tag';\n\nimport styles from './index.module.css';\n\ntype DefaultViewProps = Pick<\n PaginationProps,\n 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'\n>;\n\nexport const DefaultView: FC<DefaultViewProps> = ({\n sidePadding = 2,\n activePadding = 1,\n pagesCount,\n currentPageIndex,\n onPageChange = () => null,\n}) => {\n const maxHalfCount = sidePadding + activePadding + 1;\n const maxElementsCount = maxHalfCount * 2 + 1;\n const itemsFit = pagesCount <= maxElementsCount;\n const elementsCount = itemsFit ? pagesCount : maxElementsCount;\n\n const getPageIndex = useCallback(\n (elementIndex: number) => {\n const lastIndex = pagesCount - 1;\n const reverseIndex = lastIndex - currentPageIndex;\n const lastElementIndex = elementsCount - 1;\n const reverseElementIndex = lastElementIndex - elementIndex;\n\n const hasCollapsedItems = (index: number) => !itemsFit && index >= maxHalfCount;\n\n if (elementIndex < sidePadding) {\n return elementIndex;\n }\n\n if (elementIndex === sidePadding && hasCollapsedItems(currentPageIndex)) {\n return null;\n }\n\n if (reverseElementIndex === sidePadding && hasCollapsedItems(reverseIndex)) {\n return null;\n }\n\n if (reverseElementIndex < sidePadding) {\n return lastIndex - reverseElementIndex;\n }\n\n const computedIndex = currentPageIndex - maxHalfCount + elementIndex;\n\n return Math.min(lastIndex - reverseElementIndex, Math.max(elementIndex, computedIndex));\n },\n [currentPageIndex, elementsCount, itemsFit, maxHalfCount, pagesCount, sidePadding],\n );\n\n const getPageString = (page: number) => page.toLocaleString('ru-RU');\n\n return (\n <React.Fragment>\n {Array(elementsCount)\n .fill('')\n .map((_, i) => {\n const pageIndex = getPageIndex(i);\n\n if (pageIndex === null) {\n return (\n <div key={i.toString()} className={styles.dots}>\n ...\n </div>\n );\n }\n\n const active = currentPageIndex === pageIndex;\n\n return (\n <Tag\n key={i.toString()}\n checked={active}\n disabled={active}\n onClick={() => onPageChange(pageIndex)}\n >\n {getPageString(pageIndex + 1)}\n </Tag>\n );\n })}\n </React.Fragment>\n );\n};\n"],"names":[],"mappings":";;;;AAAA;AAaa,MAAA,WAAW,GAAyB,CAAC,EAC9C,WAAW,GAAG,CAAC,EACf,aAAa,GAAG,CAAC,EACjB,UAAU,EACV,gBAAgB,EAChB,YAAY,GAAG,MAAM,IAAI,GAC5B,KAAI;AACD,IAAA,MAAM,YAAY,GAAG,WAAW,GAAG,aAAa,GAAG,CAAC;AACpD,IAAA,MAAM,gBAAgB,GAAG,YAAY,GAAG,CAAC,GAAG,CAAC;AAC7C,IAAA,MAAM,QAAQ,GAAG,UAAU,IAAI,gBAAgB;IAC/C,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,gBAAgB;AAE9D,IAAA,MAAM,YAAY,GAAG,WAAW,CAC5B,CAAC,YAAoB,KAAI;AACrB,QAAA,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC;AAChC,QAAA,MAAM,YAAY,GAAG,SAAS,GAAG,gBAAgB;AACjD,QAAA,MAAM,gBAAgB,GAAG,aAAa,GAAG,CAAC;AAC1C,QAAA,MAAM,mBAAmB,GAAG,gBAAgB,GAAG,YAAY;AAE3D,QAAA,MAAM,iBAAiB,GAAG,CAAC,KAAa,KAAK,CAAC,QAAQ,IAAI,KAAK,IAAI,YAAY;QAE/E,IAAI,YAAY,GAAG,WAAW,EAAE;AAC5B,YAAA,OAAO,YAAY;AACtB;QAED,IAAI,YAAY,KAAK,WAAW,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,EAAE;AACrE,YAAA,OAAO,IAAI;AACd;QAED,IAAI,mBAAmB,KAAK,WAAW,IAAI,iBAAiB,CAAC,YAAY,CAAC,EAAE;AACxE,YAAA,OAAO,IAAI;AACd;QAED,IAAI,mBAAmB,GAAG,WAAW,EAAE;YACnC,OAAO,SAAS,GAAG,mBAAmB;AACzC;AAED,QAAA,MAAM,aAAa,GAAG,gBAAgB,GAAG,YAAY,GAAG,YAAY;AAEpE,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAC3F,KAAC,EACD,CAAC,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CACrF;AAED,IAAA,MAAM,aAAa,GAAG,CAAC,IAAY,KAAK,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;IAEpE,QACI,oBAAC,KAAK,CAAC,QAAQ,EACV,IAAA,EAAA,KAAK,CAAC,aAAa;SACf,IAAI,CAAC,EAAE;AACP,SAAA,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACV,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC;QAEjC,IAAI,SAAS,KAAK,IAAI,EAAE;AACpB,YAAA,QACI,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAA,EAAA,KAAA,CAExC;AAEb;AAED,QAAA,MAAM,MAAM,GAAG,gBAAgB,KAAK,SAAS;AAE7C,QAAA,QACI,KAAC,CAAA,aAAA,CAAA,GAAG,EACA,EAAA,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,YAAY,CAAC,SAAS,CAAC,EAErC,EAAA,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,CAC3B;KAEb,CAAC,CACO;AAEzB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/default-view/index.tsx"],"sourcesContent":["/* eslint-disable react/no-array-index-key */\nimport React, { type FC, useCallback } from 'react';\n\nimport { type PaginationProps } from '../../Component';\nimport { Tag } from '../tag';\n\nimport styles from './index.module.css';\n\ntype DefaultViewProps = Pick<\n PaginationProps,\n 'sidePadding' | 'activePadding' | 'pagesCount' | 'currentPageIndex' | 'onPageChange'\n>;\n\nexport const DefaultView: FC<DefaultViewProps> = ({\n sidePadding = 2,\n activePadding = 1,\n pagesCount,\n currentPageIndex,\n onPageChange = () => null,\n}) => {\n const maxHalfCount = sidePadding + activePadding + 1;\n const maxElementsCount = maxHalfCount * 2 + 1;\n const itemsFit = pagesCount <= maxElementsCount;\n const elementsCount = itemsFit ? pagesCount : maxElementsCount;\n\n const getPageIndex = useCallback(\n (elementIndex: number) => {\n const lastIndex = pagesCount - 1;\n const reverseIndex = lastIndex - currentPageIndex;\n const lastElementIndex = elementsCount - 1;\n const reverseElementIndex = lastElementIndex - elementIndex;\n\n const hasCollapsedItems = (index: number) => !itemsFit && index >= maxHalfCount;\n\n if (elementIndex < sidePadding) {\n return elementIndex;\n }\n\n if (elementIndex === sidePadding && hasCollapsedItems(currentPageIndex)) {\n return null;\n }\n\n if (reverseElementIndex === sidePadding && hasCollapsedItems(reverseIndex)) {\n return null;\n }\n\n if (reverseElementIndex < sidePadding) {\n return lastIndex - reverseElementIndex;\n }\n\n const computedIndex = currentPageIndex - maxHalfCount + elementIndex;\n\n return Math.min(lastIndex - reverseElementIndex, Math.max(elementIndex, computedIndex));\n },\n [currentPageIndex, elementsCount, itemsFit, maxHalfCount, pagesCount, sidePadding],\n );\n\n const getPageString = (page: number) => page.toLocaleString('ru-RU');\n\n return (\n <React.Fragment>\n {Array(elementsCount)\n .fill('')\n .map((_, i) => {\n const pageIndex = getPageIndex(i);\n\n if (pageIndex === null) {\n return (\n <div key={i.toString()} className={styles.dots}>\n ...\n </div>\n );\n }\n\n const active = currentPageIndex === pageIndex;\n\n return (\n <Tag\n key={i.toString()}\n checked={active}\n disabled={active}\n onClick={() => onPageChange(pageIndex)}\n >\n {getPageString(pageIndex + 1)}\n </Tag>\n );\n })}\n </React.Fragment>\n );\n};\n"],"names":[],"mappings":";;;;AAAA;AAaa,MAAA,WAAW,GAAyB,CAAC,EAC9C,WAAW,GAAG,CAAC,EACf,aAAa,GAAG,CAAC,EACjB,UAAU,EACV,gBAAgB,EAChB,YAAY,GAAG,MAAM,IAAI,GAC5B,KAAI;AACD,IAAA,MAAM,YAAY,GAAG,WAAW,GAAG,aAAa,GAAG,CAAC;AACpD,IAAA,MAAM,gBAAgB,GAAG,YAAY,GAAG,CAAC,GAAG,CAAC;AAC7C,IAAA,MAAM,QAAQ,GAAG,UAAU,IAAI,gBAAgB;IAC/C,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,gBAAgB;AAE9D,IAAA,MAAM,YAAY,GAAG,WAAW,CAC5B,CAAC,YAAoB,KAAI;AACrB,QAAA,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC;AAChC,QAAA,MAAM,YAAY,GAAG,SAAS,GAAG,gBAAgB;AACjD,QAAA,MAAM,gBAAgB,GAAG,aAAa,GAAG,CAAC;AAC1C,QAAA,MAAM,mBAAmB,GAAG,gBAAgB,GAAG,YAAY;AAE3D,QAAA,MAAM,iBAAiB,GAAG,CAAC,KAAa,KAAK,CAAC,QAAQ,IAAI,KAAK,IAAI,YAAY;AAE/E,QAAA,IAAI,YAAY,GAAG,WAAW,EAAE;AAC5B,YAAA,OAAO,YAAY;;QAGvB,IAAI,YAAY,KAAK,WAAW,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,EAAE;AACrE,YAAA,OAAO,IAAI;;QAGf,IAAI,mBAAmB,KAAK,WAAW,IAAI,iBAAiB,CAAC,YAAY,CAAC,EAAE;AACxE,YAAA,OAAO,IAAI;;AAGf,QAAA,IAAI,mBAAmB,GAAG,WAAW,EAAE;YACnC,OAAO,SAAS,GAAG,mBAAmB;;AAG1C,QAAA,MAAM,aAAa,GAAG,gBAAgB,GAAG,YAAY,GAAG,YAAY;AAEpE,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAC3F,KAAC,EACD,CAAC,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,CACrF;AAED,IAAA,MAAM,aAAa,GAAG,CAAC,IAAY,KAAK,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;IAEpE,QACI,oBAAC,KAAK,CAAC,QAAQ,EACV,IAAA,EAAA,KAAK,CAAC,aAAa;SACf,IAAI,CAAC,EAAE;AACP,SAAA,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACV,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC;AAEjC,QAAA,IAAI,SAAS,KAAK,IAAI,EAAE;AACpB,YAAA,QACI,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAA,EAAA,KAAA,CAExC;;AAId,QAAA,MAAM,MAAM,GAAG,gBAAgB,KAAK,SAAS;AAE7C,QAAA,QACI,KAAC,CAAA,aAAA,CAAA,GAAG,EACA,EAAA,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,YAAY,CAAC,SAAS,CAAC,EAErC,EAAA,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,CAC3B;KAEb,CAAC,CACO;AAEzB;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { type FC } from 'react';
2
2
  import { type PaginationProps } from '../../Component';
3
- declare type PerPageViewProps = Pick<PaginationProps, 'pagesCount' | 'currentPageIndex'>;
3
+ type PerPageViewProps = Pick<PaginationProps, 'pagesCount' | 'currentPageIndex'>;
4
4
  export declare const PerPageView: FC<PerPageViewProps>;
5
5
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfalab/core-components-pagination",
3
- "version": "4.0.2",
3
+ "version": "4.0.3",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -10,7 +10,7 @@
10
10
  "main": "index.js",
11
11
  "module": "./esm/index.js",
12
12
  "dependencies": {
13
- "@alfalab/core-components-tag": "^10.0.2",
13
+ "@alfalab/core-components-tag": "^10.0.3",
14
14
  "@alfalab/icons-glyph": "^2.260.0",
15
15
  "classnames": "^2.5.1",
16
16
  "tslib": "^2.4.0"
@@ -23,6 +23,6 @@
23
23
  "access": "public",
24
24
  "directory": "dist"
25
25
  },
26
- "themesVersion": "15.0.1",
27
- "varsVersion": "11.0.1"
26
+ "themesVersion": "15.0.2",
27
+ "varsVersion": "11.0.2"
28
28
  }
@@ -1,4 +1,4 @@
1
- @import '@alfalab/core-components-vars/src/no-typography-index.css';
1
+ @import '@alfalab/core-components-vars/src/index.css';
2
2
 
3
3
  .dots {
4
4
  width: 32px;
@@ -1,4 +1,4 @@
1
- @import '@alfalab/core-components-vars/src/no-typography-index.css';
1
+ @import '@alfalab/core-components-vars/src/index.css';
2
2
 
3
3
  .component {
4
4
  display: block;
@@ -1,4 +1,4 @@
1
- @import '@alfalab/core-components-vars/src/no-typography-index.css';
1
+ @import '@alfalab/core-components-vars/src/index.css';
2
2
 
3
3
  button.tag.tag {
4
4
  color: var(--color-light-text-secondary);
@@ -1,4 +1,4 @@
1
- @import '@alfalab/core-components-vars/src/no-typography-index.css';
1
+ @import '@alfalab/core-components-vars/src/index.css';
2
2
 
3
3
  button.arrow.arrow {
4
4
  width: 32px;