@hh.ru/magritte-ui-number-pages 4.0.21 → 4.0.23

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/NumberPages.js CHANGED
@@ -4,7 +4,7 @@ import { useState, useEffect } from 'react';
4
4
  import classnames from 'classnames';
5
5
  import { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';
6
6
  import { ChevronRightOutlinedSize24, ChevronLeftOutlinedSize24 } from '@hh.ru/magritte-ui-icon/icon';
7
- import { s as styles, N as NumberPagesAction } from './NumberPagesAction-CZCgWaDn.js';
7
+ import { s as styles, N as NumberPagesAction } from './NumberPagesAction-7Yyix-1X.js';
8
8
  import { usePages, PageControls } from './usePages.js';
9
9
  import '@hh.ru/magritte-ui-typography';
10
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"NumberPages.js","sources":["../src/NumberPages.tsx"],"sourcesContent":["import { ReactNode, FC, useEffect, useState } from 'react';\nimport classnames from 'classnames';\n\nimport { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';\nimport { ChevronLeftOutlinedSize24, ChevronRightOutlinedSize24 } from '@hh.ru/magritte-ui-icon/icon';\nimport { NumberPagesAction } from '@hh.ru/magritte-ui-number-pages/NumberPagesAction';\nimport type { NumberPagesRenderItem, NumberPagesProps } from '@hh.ru/magritte-ui-number-pages/types';\nimport { usePages, PageControls } from '@hh.ru/magritte-ui-number-pages/usePages';\n\nimport styles from './styles.less';\n\nconst baseRenderItem: NumberPagesRenderItem = ({ isPrevious, isNext, ...props }) => {\n return <NumberPagesAction {...props} isIcon={isPrevious || isNext} />;\n};\n\nconst getPropsByScreenSize = (isXS: boolean, isS: boolean): number[] => {\n if (isXS) {\n return [0, 0];\n } else if (isS) {\n return [1, 1];\n }\n return [2, 1];\n};\n\nexport const NumberPages: FC<NumberPagesProps> = ({\n first,\n last,\n current,\n onChange,\n 'aria-label': ariaLabel,\n renderItem = baseRenderItem,\n renderNavigation = baseRenderItem,\n getAriaLabelItem,\n ...props\n}) => {\n const { isXS, isS } = useBreakpoint();\n const [initialSiblingCount, initialBoundaryCount] = getPropsByScreenSize(isXS, isS);\n const [siblingCount, setSiblingCount] = useState(initialSiblingCount);\n const [boundaryCount, setBoundaryCount] = useState(initialBoundaryCount);\n const pages = usePages({ first, last, current, siblingCount, boundaryCount });\n\n useEffect(() => {\n const [siblingCount, boundaryCount] = getPropsByScreenSize(isXS, isS);\n setSiblingCount(siblingCount);\n setBoundaryCount(boundaryCount);\n }, [isXS, isS]);\n\n if (first > last) {\n throw new Error(\n `Magritte component NumberPages: First prop more than last prop. first: ${first}, last: ${last}`\n );\n }\n\n if (current < first || current > last) {\n throw new Error(\n `Magritte component NumberPages: Current is wrong. current: ${current}, first: ${first}, last: ${last}`\n );\n }\n\n if (last - first < 1) {\n return null;\n }\n\n const renderPageItem = (item: number): ReactNode => {\n const isSelected = item === current;\n\n const baseProps = {\n selected: isSelected,\n key: item,\n 'aria-label': getAriaLabelItem?.(item),\n };\n\n switch (item) {\n case PageControls.Previous:\n return renderNavigation({\n ...baseProps,\n 'data-qa': 'number-pages-previous',\n onClick: () => {\n onChange?.(current - 1);\n },\n isPrevious: true,\n page: current - 1,\n children: <ChevronLeftOutlinedSize24 />,\n });\n case PageControls.StartEllipsis:\n case PageControls.EndEllipsis:\n return (\n <li key={item} data-qa=\"number-pages-ellipsis\" className={styles.numberPagesEllipsis}>\n ...\n </li>\n );\n case PageControls.Next:\n return renderNavigation({\n ...baseProps,\n 'data-qa': 'number-pages-next',\n onClick: () => {\n onChange?.(current + 1);\n },\n isNext: true,\n page: current + 1,\n children: <ChevronRightOutlinedSize24 />,\n });\n default:\n return renderItem({\n ...baseProps,\n onClick: () => {\n if (!isSelected) {\n onChange?.(item);\n }\n },\n 'data-qa': `number-pages-${item} ${isSelected ? 'number-pages-selected' : ''}`,\n page: item,\n selected: isSelected,\n children: item,\n });\n }\n };\n\n return (\n <nav\n {...props}\n aria-label={ariaLabel}\n className={classnames(styles.numberPagesWrapper, {\n [styles.numberPagesWrapperWithoutNavigationButtons]:\n !pages.includes(PageControls.Next) && !pages.includes(PageControls.Previous),\n })}\n >\n <ul className={styles.numberPagesContainer}>{pages.map(renderPageItem)}</ul>\n </nav>\n );\n};\n"],"names":["_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"NumberPages.js","sources":["../src/NumberPages.tsx"],"sourcesContent":["import { ReactNode, FC, useEffect, useState } from 'react';\nimport classnames from 'classnames';\n\nimport { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';\nimport { ChevronLeftOutlinedSize24, ChevronRightOutlinedSize24 } from '@hh.ru/magritte-ui-icon/icon';\nimport { NumberPagesAction } from '@hh.ru/magritte-ui-number-pages/NumberPagesAction';\nimport type { NumberPagesRenderItem, NumberPagesProps } from '@hh.ru/magritte-ui-number-pages/types';\nimport { usePages, PageControls } from '@hh.ru/magritte-ui-number-pages/usePages';\n\nimport styles from './styles.less';\n\nconst baseRenderItem: NumberPagesRenderItem = ({ isPrevious, isNext, ...props }) => {\n return <NumberPagesAction {...props} isIcon={isPrevious || isNext} />;\n};\n\nconst getPropsByScreenSize = (isXS: boolean, isS: boolean): number[] => {\n if (isXS) {\n return [0, 0];\n } else if (isS) {\n return [1, 1];\n }\n return [2, 1];\n};\n\nexport const NumberPages: FC<NumberPagesProps> = ({\n first,\n last,\n current,\n onChange,\n 'aria-label': ariaLabel,\n renderItem = baseRenderItem,\n renderNavigation = baseRenderItem,\n getAriaLabelItem,\n ...props\n}) => {\n const { isXS, isS } = useBreakpoint();\n const [initialSiblingCount, initialBoundaryCount] = getPropsByScreenSize(isXS, isS);\n const [siblingCount, setSiblingCount] = useState(initialSiblingCount);\n const [boundaryCount, setBoundaryCount] = useState(initialBoundaryCount);\n const pages = usePages({ first, last, current, siblingCount, boundaryCount });\n\n useEffect(() => {\n const [siblingCount, boundaryCount] = getPropsByScreenSize(isXS, isS);\n setSiblingCount(siblingCount);\n setBoundaryCount(boundaryCount);\n }, [isXS, isS]);\n\n if (first > last) {\n throw new Error(\n `Magritte component NumberPages: First prop more than last prop. first: ${first}, last: ${last}`\n );\n }\n\n if (current < first || current > last) {\n throw new Error(\n `Magritte component NumberPages: Current is wrong. current: ${current}, first: ${first}, last: ${last}`\n );\n }\n\n if (last - first < 1) {\n return null;\n }\n\n const renderPageItem = (item: number): ReactNode => {\n const isSelected = item === current;\n\n const baseProps = {\n selected: isSelected,\n key: item,\n 'aria-label': getAriaLabelItem?.(item),\n };\n\n switch (item) {\n case PageControls.Previous:\n return renderNavigation({\n ...baseProps,\n 'data-qa': 'number-pages-previous',\n onClick: () => {\n onChange?.(current - 1);\n },\n isPrevious: true,\n page: current - 1,\n children: <ChevronLeftOutlinedSize24 />,\n });\n case PageControls.StartEllipsis:\n case PageControls.EndEllipsis:\n return (\n <li key={item} data-qa=\"number-pages-ellipsis\" className={styles.numberPagesEllipsis}>\n ...\n </li>\n );\n case PageControls.Next:\n return renderNavigation({\n ...baseProps,\n 'data-qa': 'number-pages-next',\n onClick: () => {\n onChange?.(current + 1);\n },\n isNext: true,\n page: current + 1,\n children: <ChevronRightOutlinedSize24 />,\n });\n default:\n return renderItem({\n ...baseProps,\n onClick: () => {\n if (!isSelected) {\n onChange?.(item);\n }\n },\n 'data-qa': `number-pages-${item} ${isSelected ? 'number-pages-selected' : ''}`,\n page: item,\n selected: isSelected,\n children: item,\n });\n }\n };\n\n return (\n <nav\n {...props}\n aria-label={ariaLabel}\n className={classnames(styles.numberPagesWrapper, {\n [styles.numberPagesWrapperWithoutNavigationButtons]:\n !pages.includes(PageControls.Next) && !pages.includes(PageControls.Previous),\n })}\n >\n <ul className={styles.numberPagesContainer}>{pages.map(renderPageItem)}</ul>\n </nav>\n );\n};\n"],"names":["_jsx"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import classnames from 'classnames';
4
4
  import { Text } from '@hh.ru/magritte-ui-typography';
5
5
 
6
- var styles = {"number-pages-wrapper":"magritte-number-pages-wrapper___lYp70_4-0-21","numberPagesWrapper":"magritte-number-pages-wrapper___lYp70_4-0-21","number-pages-wrapper-without-navigation-buttons":"magritte-number-pages-wrapper-without-navigation-buttons___78a7R_4-0-21","numberPagesWrapperWithoutNavigationButtons":"magritte-number-pages-wrapper-without-navigation-buttons___78a7R_4-0-21","number-pages-container":"magritte-number-pages-container___YIJLn_4-0-21","numberPagesContainer":"magritte-number-pages-container___YIJLn_4-0-21","number-pages-ellipsis":"magritte-number-pages-ellipsis___GNIbV_4-0-21","numberPagesEllipsis":"magritte-number-pages-ellipsis___GNIbV_4-0-21","number-pages-action":"magritte-number-pages-action___e3ozw_4-0-21","numberPagesAction":"magritte-number-pages-action___e3ozw_4-0-21","number-pages-action-icon":"magritte-number-pages-action-icon___lwXFB_4-0-21","numberPagesActionIcon":"magritte-number-pages-action-icon___lwXFB_4-0-21","number-pages-action-selected":"magritte-number-pages-action-selected___N5Tl4_4-0-21","numberPagesActionSelected":"magritte-number-pages-action-selected___N5Tl4_4-0-21"};
6
+ var styles = {"number-pages-wrapper":"magritte-number-pages-wrapper___lYp70_4-0-23","numberPagesWrapper":"magritte-number-pages-wrapper___lYp70_4-0-23","number-pages-wrapper-without-navigation-buttons":"magritte-number-pages-wrapper-without-navigation-buttons___78a7R_4-0-23","numberPagesWrapperWithoutNavigationButtons":"magritte-number-pages-wrapper-without-navigation-buttons___78a7R_4-0-23","number-pages-container":"magritte-number-pages-container___YIJLn_4-0-23","numberPagesContainer":"magritte-number-pages-container___YIJLn_4-0-23","number-pages-ellipsis":"magritte-number-pages-ellipsis___GNIbV_4-0-23","numberPagesEllipsis":"magritte-number-pages-ellipsis___GNIbV_4-0-23","number-pages-action":"magritte-number-pages-action___e3ozw_4-0-23","numberPagesAction":"magritte-number-pages-action___e3ozw_4-0-23","number-pages-action-icon":"magritte-number-pages-action-icon___lwXFB_4-0-23","numberPagesActionIcon":"magritte-number-pages-action-icon___lwXFB_4-0-23","number-pages-action-selected":"magritte-number-pages-action-selected___N5Tl4_4-0-23","numberPagesActionSelected":"magritte-number-pages-action-selected___N5Tl4_4-0-23"};
7
7
 
8
8
  const NumberPagesAction = ({ children, selected = false, isIcon = false, Element = 'button', 'aria-label': ariaLabel, page, ...props }) => {
9
9
  const buttonProps = Element === 'button' ? { type: 'button' } : {};
@@ -14,4 +14,4 @@ const NumberPagesAction = ({ children, selected = false, isIcon = false, Element
14
14
  };
15
15
 
16
16
  export { NumberPagesAction as N, styles as s };
17
- //# sourceMappingURL=NumberPagesAction-CZCgWaDn.js.map
17
+ //# sourceMappingURL=NumberPagesAction-7Yyix-1X.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberPagesAction-7Yyix-1X.js","sources":["../src/NumberPagesAction.tsx"],"sourcesContent":["import classnames from 'classnames';\n\nimport type { PolymorphicComponent } from '@hh.ru/magritte-types';\nimport type { NumberPagesActionProps } from '@hh.ru/magritte-ui-number-pages/types';\nimport { Text } from '@hh.ru/magritte-ui-typography';\n\nimport styles from './styles.less';\n\nexport const NumberPagesAction: PolymorphicComponent<NumberPagesActionProps, 'button'> = ({\n children,\n selected = false,\n isIcon = false,\n Element = 'button',\n 'aria-label': ariaLabel,\n page,\n ...props\n}) => {\n const buttonProps = Element === 'button' ? ({ type: 'button' } as const) : {};\n\n return (\n <li>\n <Text typography=\"label-2-regular\">\n <Element\n {...props}\n {...buttonProps}\n aria-current={selected}\n aria-label={ariaLabel}\n className={classnames(styles.numberPagesAction, {\n [styles.numberPagesActionSelected]: selected,\n [styles.numberPagesActionIcon]: isIcon,\n })}\n >\n {children}\n </Element>\n </Text>\n </li>\n );\n};\n"],"names":["_jsx"],"mappings":";;;;;;AAQO,MAAM,iBAAiB,GAA2D,CAAC,EACtF,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,MAAM,GAAG,KAAK,EACd,OAAO,GAAG,QAAQ,EAClB,YAAY,EAAE,SAAS,EACvB,IAAI,EACJ,GAAG,KAAK,EACX,KAAI;AACD,IAAA,MAAM,WAAW,GAAG,OAAO,KAAK,QAAQ,GAAI,EAAE,IAAI,EAAE,QAAQ,EAAY,GAAG,EAAE,CAAC;IAE9E,QACIA,GACI,CAAA,IAAA,EAAA,EAAA,QAAA,EAAAA,GAAA,CAAC,IAAI,EAAA,EAAC,UAAU,EAAC,iBAAiB,EAAA,QAAA,EAC9BA,GAAC,CAAA,OAAO,EACA,EAAA,GAAA,KAAK,EACL,GAAA,WAAW,EACD,cAAA,EAAA,QAAQ,EACV,YAAA,EAAA,SAAS,EACrB,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE;AAC5C,oBAAA,CAAC,MAAM,CAAC,yBAAyB,GAAG,QAAQ;AAC5C,oBAAA,CAAC,MAAM,CAAC,qBAAqB,GAAG,MAAM;AACzC,iBAAA,CAAC,YAED,QAAQ,EAAA,CACH,EACP,CAAA,EAAA,CACN,EACP;AACN;;;;"}
@@ -1,2 +1,3 @@
1
+ import type { PolymorphicComponent } from '@hh.ru/magritte-types';
1
2
  import type { NumberPagesActionProps } from '@hh.ru/magritte-ui-number-pages/types';
2
- export declare const NumberPagesAction: NumberPagesActionProps;
3
+ export declare const NumberPagesAction: PolymorphicComponent<NumberPagesActionProps, 'button'>;
@@ -2,5 +2,5 @@ import './index.css';
2
2
  import 'react/jsx-runtime';
3
3
  import 'classnames';
4
4
  import '@hh.ru/magritte-ui-typography';
5
- export { N as NumberPagesAction } from './NumberPagesAction-CZCgWaDn.js';
5
+ export { N as NumberPagesAction } from './NumberPagesAction-7Yyix-1X.js';
6
6
  //# sourceMappingURL=NumberPagesAction.js.map
package/index.css CHANGED
@@ -1,95 +1,95 @@
1
1
  :root{
2
- --magritte-color-component-number-pages-background-content-v19-1-1:#ffffff;
3
- --magritte-color-component-number-pages-stroke-content-v19-1-1:#DCE3EB;
4
- --magritte-color-component-number-pages-item-text-unselected-v19-1-1:#768694;
5
- --magritte-color-component-number-pages-item-text-selected-v19-1-1:#000000;
6
- --magritte-color-component-number-pages-item-text-state-unselected-hovered-v19-1-1:#000000;
7
- --magritte-color-component-number-pages-item-text-state-unselected-pressed-v19-1-1:#000000;
8
- --magritte-color-component-number-pages-item-icon-content-v19-1-1:#768694;
9
- --magritte-color-component-number-pages-item-icon-state-content-hovered-v19-1-1:#000000;
10
- --magritte-color-component-number-pages-item-icon-state-content-pressed-v19-1-1:#000000;
11
- --magritte-color-component-number-pages-item-background-selected-v19-1-1:#F1F4F9;
12
- --magritte-color-component-number-pages-item-background-unselected-v19-1-1:#dce3eb00;
13
- --magritte-color-component-number-pages-item-background-state-unselected-hovered-v19-1-1:#F1F4F9;
14
- --magritte-color-component-number-pages-item-background-state-unselected-pressed-v19-1-1:#DCE3EB;
15
- --magritte-color-component-number-pages-stroke-state-focused-accessible-v19-1-1:#0070ff7a;
2
+ --magritte-color-component-number-pages-background-content-v19-1-2:#ffffff;
3
+ --magritte-color-component-number-pages-stroke-content-v19-1-2:#DCE3EB;
4
+ --magritte-color-component-number-pages-item-text-unselected-v19-1-2:#768694;
5
+ --magritte-color-component-number-pages-item-text-selected-v19-1-2:#000000;
6
+ --magritte-color-component-number-pages-item-text-state-unselected-hovered-v19-1-2:#000000;
7
+ --magritte-color-component-number-pages-item-text-state-unselected-pressed-v19-1-2:#000000;
8
+ --magritte-color-component-number-pages-item-icon-content-v19-1-2:#768694;
9
+ --magritte-color-component-number-pages-item-icon-state-content-hovered-v19-1-2:#000000;
10
+ --magritte-color-component-number-pages-item-icon-state-content-pressed-v19-1-2:#000000;
11
+ --magritte-color-component-number-pages-item-background-selected-v19-1-2:#F1F4F9;
12
+ --magritte-color-component-number-pages-item-background-unselected-v19-1-2:#dce3eb00;
13
+ --magritte-color-component-number-pages-item-background-state-unselected-hovered-v19-1-2:#F1F4F9;
14
+ --magritte-color-component-number-pages-item-background-state-unselected-pressed-v19-1-2:#DCE3EB;
15
+ --magritte-color-component-number-pages-stroke-state-focused-accessible-v19-1-2:#0070ff7a;
16
16
  }
17
17
  :root{
18
- --magritte-semantic-scale-pressed-v19-1-1:0.96;
19
- --magritte-semantic-animation-ease-in-out-100-timing-function-v19-1-1:cubic-bezier(0.25, 0.1, 0.25, 1);
20
- --magritte-semantic-animation-ease-in-out-100-duration-v19-1-1:100ms;
21
- --magritte-semantic-animation-ease-in-out-200-timing-function-v19-1-1:cubic-bezier(0.25, 0.1, 0.25, 1);
22
- --magritte-semantic-animation-ease-in-out-200-duration-v19-1-1:200ms;
23
- --magritte-static-space-100-v19-1-1:4px;
24
- --magritte-static-space-150-v19-1-1:6px;
25
- --magritte-static-space-200-v19-1-1:8px;
18
+ --magritte-semantic-scale-pressed-v19-1-2:0.96;
19
+ --magritte-semantic-animation-ease-in-out-100-timing-function-v19-1-2:cubic-bezier(0.25, 0.1, 0.25, 1);
20
+ --magritte-semantic-animation-ease-in-out-100-duration-v19-1-2:100ms;
21
+ --magritte-semantic-animation-ease-in-out-200-timing-function-v19-1-2:cubic-bezier(0.25, 0.1, 0.25, 1);
22
+ --magritte-semantic-animation-ease-in-out-200-duration-v19-1-2:200ms;
23
+ --magritte-static-space-100-v19-1-2:4px;
24
+ --magritte-static-space-150-v19-1-2:6px;
25
+ --magritte-static-space-200-v19-1-2:8px;
26
26
  }
27
27
  .magritte-night-theme{
28
- --magritte-color-component-number-pages-background-content-v19-1-1:#000000;
29
- --magritte-color-component-number-pages-stroke-content-v19-1-1:#3B3B3B;
30
- --magritte-color-component-number-pages-item-text-unselected-v19-1-1:#ABABAB;
31
- --magritte-color-component-number-pages-item-text-selected-v19-1-1:#ffffff;
32
- --magritte-color-component-number-pages-item-text-state-unselected-hovered-v19-1-1:#ffffff;
33
- --magritte-color-component-number-pages-item-text-state-unselected-pressed-v19-1-1:#ffffff;
34
- --magritte-color-component-number-pages-item-icon-content-v19-1-1:#ABABAB;
35
- --magritte-color-component-number-pages-item-icon-state-content-hovered-v19-1-1:#ffffff;
36
- --magritte-color-component-number-pages-item-icon-state-content-pressed-v19-1-1:#ffffff;
37
- --magritte-color-component-number-pages-item-background-selected-v19-1-1:#262626;
38
- --magritte-color-component-number-pages-item-background-unselected-v19-1-1:#dce3eb00;
39
- --magritte-color-component-number-pages-item-background-state-unselected-hovered-v19-1-1:#262626;
40
- --magritte-color-component-number-pages-item-background-state-unselected-pressed-v19-1-1:#262626;
41
- --magritte-color-component-number-pages-stroke-state-focused-accessible-v19-1-1:#0070ff7a;
42
- }
43
- .magritte-number-pages-wrapper___lYp70_4-0-21{
28
+ --magritte-color-component-number-pages-background-content-v19-1-2:#000000;
29
+ --magritte-color-component-number-pages-stroke-content-v19-1-2:#3B3B3B;
30
+ --magritte-color-component-number-pages-item-text-unselected-v19-1-2:#ABABAB;
31
+ --magritte-color-component-number-pages-item-text-selected-v19-1-2:#ffffff;
32
+ --magritte-color-component-number-pages-item-text-state-unselected-hovered-v19-1-2:#ffffff;
33
+ --magritte-color-component-number-pages-item-text-state-unselected-pressed-v19-1-2:#ffffff;
34
+ --magritte-color-component-number-pages-item-icon-content-v19-1-2:#ABABAB;
35
+ --magritte-color-component-number-pages-item-icon-state-content-hovered-v19-1-2:#ffffff;
36
+ --magritte-color-component-number-pages-item-icon-state-content-pressed-v19-1-2:#ffffff;
37
+ --magritte-color-component-number-pages-item-background-selected-v19-1-2:#262626;
38
+ --magritte-color-component-number-pages-item-background-unselected-v19-1-2:#dce3eb00;
39
+ --magritte-color-component-number-pages-item-background-state-unselected-hovered-v19-1-2:#262626;
40
+ --magritte-color-component-number-pages-item-background-state-unselected-pressed-v19-1-2:#262626;
41
+ --magritte-color-component-number-pages-stroke-state-focused-accessible-v19-1-2:#0070ff7a;
42
+ }
43
+ .magritte-number-pages-wrapper___lYp70_4-0-23{
44
44
  display:flex;
45
45
  width:100%;
46
46
  }
47
47
  @media (min-width: 350px){
48
- .magritte-number-pages-wrapper___lYp70_4-0-21{
48
+ .magritte-number-pages-wrapper___lYp70_4-0-23{
49
49
  display:inline-flex;
50
50
  width:auto;
51
51
  }
52
52
  }
53
- .magritte-number-pages-wrapper-without-navigation-buttons___78a7R_4-0-21{
53
+ .magritte-number-pages-wrapper-without-navigation-buttons___78a7R_4-0-23{
54
54
  display:inline-flex;
55
55
  width:auto;
56
56
  }
57
- .magritte-number-pages-container___YIJLn_4-0-21{
57
+ .magritte-number-pages-container___YIJLn_4-0-23{
58
58
  display:flex;
59
59
  width:100%;
60
60
  justify-content:space-between;
61
61
  align-items:center;
62
62
  border-radius:26px;
63
- padding:calc(var(--magritte-static-space-150-v19-1-1) - 1px);
64
- border:1px solid var(--magritte-color-component-number-pages-stroke-content-v19-1-1);
65
- background:var(--magritte-color-component-number-pages-background-content-v19-1-1);
63
+ padding:calc(var(--magritte-static-space-150-v19-1-2) - 1px);
64
+ border:1px solid var(--magritte-color-component-number-pages-stroke-content-v19-1-2);
65
+ background:var(--magritte-color-component-number-pages-background-content-v19-1-2);
66
66
  }
67
67
  @media (min-width: 350px){
68
- .magritte-number-pages-container___YIJLn_4-0-21{
68
+ .magritte-number-pages-container___YIJLn_4-0-23{
69
69
  display:inline-flex;
70
70
  justify-content:center;
71
- gap:var(--magritte-static-space-200-v19-1-1);
71
+ gap:var(--magritte-static-space-200-v19-1-2);
72
72
  width:auto;
73
73
  }
74
74
  }
75
75
  @media (min-width: 600px){
76
- .magritte-number-pages-container___YIJLn_4-0-21{
77
- gap:var(--magritte-static-space-100-v19-1-1);
76
+ .magritte-number-pages-container___YIJLn_4-0-23{
77
+ gap:var(--magritte-static-space-100-v19-1-2);
78
78
  }
79
79
  }
80
80
  @media (min-width: 640px){
81
- .magritte-number-pages-container___YIJLn_4-0-21{
82
- gap:var(--magritte-static-space-200-v19-1-1);
81
+ .magritte-number-pages-container___YIJLn_4-0-23{
82
+ gap:var(--magritte-static-space-200-v19-1-2);
83
83
  }
84
84
  }
85
- .magritte-number-pages-ellipsis___GNIbV_4-0-21{
85
+ .magritte-number-pages-ellipsis___GNIbV_4-0-23{
86
86
  display:flex;
87
87
  height:40px;
88
88
  width:40px;
89
89
  align-items:center;
90
90
  justify-content:center;
91
91
  }
92
- .magritte-number-pages-action___e3ozw_4-0-21{
92
+ .magritte-number-pages-action___e3ozw_4-0-23{
93
93
  display:flex;
94
94
  align-items:center;
95
95
  justify-content:center;
@@ -99,54 +99,54 @@
99
99
  min-width:40px;
100
100
  border-radius:20px;
101
101
  padding:5px 14px;
102
- color:var(--magritte-color-component-number-pages-item-text-unselected-v19-1-1);
103
- background-color:var(--magritte-color-component-number-pages-item-background-unselected-v19-1-1);
104
- --magritte-ui-icon-color-override:var(--magritte-color-component-number-pages-item-icon-content-v19-1-1);
102
+ color:var(--magritte-color-component-number-pages-item-text-unselected-v19-1-2);
103
+ background-color:var(--magritte-color-component-number-pages-item-background-unselected-v19-1-2);
104
+ --magritte-ui-icon-color-override:var(--magritte-color-component-number-pages-item-icon-content-v19-1-2);
105
105
  }
106
- .magritte-number-pages-action___e3ozw_4-0-21:active{
107
- --magritte-ui-icon-color-override:var(--magritte-color-component-number-pages-item-icon-state-content-pressed-v19-1-1);
108
- color:var(--magritte-color-component-number-pages-item-text-state-unselected-pressed-v19-1-1);
109
- background-color:var(--magritte-color-component-number-pages-item-background-state-unselected-pressed-v19-1-1);
106
+ .magritte-number-pages-action___e3ozw_4-0-23:active{
107
+ --magritte-ui-icon-color-override:var(--magritte-color-component-number-pages-item-icon-state-content-pressed-v19-1-2);
108
+ color:var(--magritte-color-component-number-pages-item-text-state-unselected-pressed-v19-1-2);
109
+ background-color:var(--magritte-color-component-number-pages-item-background-state-unselected-pressed-v19-1-2);
110
110
  }
111
111
  @media (prefers-reduced-motion: no-preference){
112
- .magritte-number-pages-action___e3ozw_4-0-21:active{
113
- transition:transform var(--magritte-semantic-animation-ease-in-out-100-duration-v19-1-1) var(--magritte-semantic-animation-ease-in-out-100-timing-function-v19-1-1);
114
- transform:scale(var(--magritte-semantic-scale-pressed-v19-1-1));
112
+ .magritte-number-pages-action___e3ozw_4-0-23:active{
113
+ transition:transform var(--magritte-semantic-animation-ease-in-out-100-duration-v19-1-2) var(--magritte-semantic-animation-ease-in-out-100-timing-function-v19-1-2);
114
+ transform:scale(var(--magritte-semantic-scale-pressed-v19-1-2));
115
115
  }
116
116
  }
117
- .magritte-number-pages-action___e3ozw_4-0-21.focus-visible{
118
- outline:var(--magritte-color-component-number-pages-stroke-state-focused-accessible-v19-1-1) solid 4px;
117
+ .magritte-number-pages-action___e3ozw_4-0-23.focus-visible{
118
+ outline:var(--magritte-color-component-number-pages-stroke-state-focused-accessible-v19-1-2) solid 4px;
119
119
  }
120
120
  @media (prefers-reduced-motion: no-preference){
121
- .magritte-number-pages-action___e3ozw_4-0-21{
122
- transition:transform var(--magritte-semantic-animation-ease-in-out-200-duration-v19-1-1) var(--magritte-semantic-animation-ease-in-out-200-timing-function-v19-1-1);
121
+ .magritte-number-pages-action___e3ozw_4-0-23{
122
+ transition:transform var(--magritte-semantic-animation-ease-in-out-200-duration-v19-1-2) var(--magritte-semantic-animation-ease-in-out-200-timing-function-v19-1-2);
123
123
  transform:scale(1);
124
124
  }
125
125
  }
126
126
  @media (min-width: 1020px){
127
- body.magritte-old-layout .magritte-number-pages-action___e3ozw_4-0-21:hover:not(:active){
128
- --magritte-ui-icon-color-override:var(--magritte-color-component-number-pages-item-icon-state-content-hovered-v19-1-1);
129
- color:var(--magritte-color-component-number-pages-item-text-state-unselected-hovered-v19-1-1);
130
- background-color:var(--magritte-color-component-number-pages-item-background-state-unselected-hovered-v19-1-1);
127
+ body.magritte-old-layout .magritte-number-pages-action___e3ozw_4-0-23:hover:not(:active){
128
+ --magritte-ui-icon-color-override:var(--magritte-color-component-number-pages-item-icon-state-content-hovered-v19-1-2);
129
+ color:var(--magritte-color-component-number-pages-item-text-state-unselected-hovered-v19-1-2);
130
+ background-color:var(--magritte-color-component-number-pages-item-background-state-unselected-hovered-v19-1-2);
131
131
  }
132
132
  }
133
133
  @media (min-width: 1024px){
134
- body:not(.magritte-old-layout) .magritte-number-pages-action___e3ozw_4-0-21:hover:not(:active){
135
- --magritte-ui-icon-color-override:var(--magritte-color-component-number-pages-item-icon-state-content-hovered-v19-1-1);
136
- color:var(--magritte-color-component-number-pages-item-text-state-unselected-hovered-v19-1-1);
137
- background-color:var(--magritte-color-component-number-pages-item-background-state-unselected-hovered-v19-1-1);
134
+ body:not(.magritte-old-layout) .magritte-number-pages-action___e3ozw_4-0-23:hover:not(:active){
135
+ --magritte-ui-icon-color-override:var(--magritte-color-component-number-pages-item-icon-state-content-hovered-v19-1-2);
136
+ color:var(--magritte-color-component-number-pages-item-text-state-unselected-hovered-v19-1-2);
137
+ background-color:var(--magritte-color-component-number-pages-item-background-state-unselected-hovered-v19-1-2);
138
138
  }
139
139
  }
140
- .magritte-number-pages-action-icon___lwXFB_4-0-21{
141
- padding:5px var(--magritte-static-space-200-v19-1-1);
140
+ .magritte-number-pages-action-icon___lwXFB_4-0-23{
141
+ padding:5px var(--magritte-static-space-200-v19-1-2);
142
142
  }
143
- .magritte-number-pages-action-selected___N5Tl4_4-0-21,
144
- .magritte-number-pages-action-selected___N5Tl4_4-0-21:hover,
145
- .magritte-number-pages-action-selected___N5Tl4_4-0-21:active{
143
+ .magritte-number-pages-action-selected___N5Tl4_4-0-23,
144
+ .magritte-number-pages-action-selected___N5Tl4_4-0-23:hover,
145
+ .magritte-number-pages-action-selected___N5Tl4_4-0-23:active{
146
146
  pointer-events:none;
147
147
  user-select:none;
148
148
  transform:none;
149
- color:var(--magritte-color-component-number-pages-item-text-selected-v19-1-1);
150
- background-color:var(--magritte-color-component-number-pages-item-background-selected-v19-1-1);
149
+ color:var(--magritte-color-component-number-pages-item-text-selected-v19-1-2);
150
+ background-color:var(--magritte-color-component-number-pages-item-background-selected-v19-1-2);
151
151
  cursor:default;
152
152
  }
package/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
  export { NumberPages } from './NumberPages.js';
3
- export { N as NumberPagesAction } from './NumberPagesAction-CZCgWaDn.js';
3
+ export { N as NumberPagesAction } from './NumberPagesAction-7Yyix-1X.js';
4
4
  import 'react/jsx-runtime';
5
5
  import 'react';
6
6
  import 'classnames';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hh.ru/magritte-ui-number-pages",
3
- "version": "4.0.21",
3
+ "version": "4.0.23",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -20,11 +20,11 @@
20
20
  "watch": "yarn root:watch $(pwd)"
21
21
  },
22
22
  "dependencies": {
23
- "@hh.ru/magritte-design-tokens": "19.1.1",
24
- "@hh.ru/magritte-types": "4.0.2",
25
- "@hh.ru/magritte-ui-breakpoint": "4.0.3",
26
- "@hh.ru/magritte-ui-icon": "7.9.1",
27
- "@hh.ru/magritte-ui-typography": "3.0.17"
23
+ "@hh.ru/magritte-design-tokens": "19.1.2",
24
+ "@hh.ru/magritte-types": "5.0.0",
25
+ "@hh.ru/magritte-ui-breakpoint": "4.0.4",
26
+ "@hh.ru/magritte-ui-icon": "7.9.3",
27
+ "@hh.ru/magritte-ui-typography": "3.0.19"
28
28
  },
29
29
  "peerDependencies": {
30
30
  "classnames": ">=2.3.2",
@@ -33,5 +33,5 @@
33
33
  "publishConfig": {
34
34
  "access": "public"
35
35
  },
36
- "gitHead": "97b2c0c9ad82c0c7a940eef5c3d0d6cddeeef5cf"
36
+ "gitHead": "34aa8b63db1d1af2d969ef765d060ac8f59cd9ff"
37
37
  }
package/types.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import type { PropsWithChildren, ReactNode } from 'react';
2
- import type { ComponentWithCustomElement } from '@hh.ru/magritte-types';
3
2
  type NumberPagesRenderItemBaseProps = PropsWithChildren<{
4
3
  /** Флаг выбрана текущая страница или нет */
5
4
  selected: boolean;
@@ -21,13 +20,12 @@ type NumberPagesRenderItemProps = NumberPagesRenderItemBaseProps & {
21
20
  export interface NumberPagesRenderItem {
22
21
  (props: NumberPagesRenderItemProps): ReactNode;
23
22
  }
24
- export type BaseNumberPagesActionProps = Partial<NumberPagesRenderItemBaseProps> & {
23
+ export type NumberPagesActionProps = Partial<NumberPagesRenderItemBaseProps> & {
25
24
  /** Кастомный компонент */
26
25
  Element?: 'button' | 'a';
27
26
  /** Флаг иконка или текст являются содержимым */
28
27
  isIcon?: boolean;
29
28
  };
30
- export type NumberPagesActionProps = ComponentWithCustomElement<BaseNumberPagesActionProps, 'button'>;
31
29
  export interface BaseNumberPagesProps {
32
30
  /** Первая страница */
33
31
  first: number;
package/usePages.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"usePages.js","sources":["../src/usePages.tsx"],"sourcesContent":["const range = (start: number, end: number): number[] => {\n const length = end - start + 1;\n // eslint-disable-next-line no-restricted-properties\n return Array.from({ length }, (_, i) => start + i);\n};\n\ninterface UsePagesProps {\n last: number;\n first: number;\n current: number;\n boundaryCount: number;\n siblingCount: number;\n}\n\nexport enum PageControls {\n Previous = -1,\n Next = -2,\n StartEllipsis = -3,\n EndEllipsis = -4,\n}\n\nconst CURENT_PAGE_AND_ELLIPSIS_POSITION = 2;\n\nexport const usePages = ({ last, first, current, boundaryCount, siblingCount }: UsePagesProps): number[] => {\n const count = last - first + 1;\n\n const startPages = range(first, Math.min(first - 1 + boundaryCount, last));\n const endPages = range(Math.max(count - boundaryCount + first, boundaryCount + first), last);\n\n const siblingsStart = Math.max(\n Math.min(\n // Настоящее начальное значение для siblings node\n current - siblingCount,\n // Нижняя граница, от max\n last - boundaryCount - siblingCount * 2 - CURENT_PAGE_AND_ELLIPSIS_POSITION\n ),\n // Больше стартовой страницы\n startPages.length > 0 ? startPages[0] + CURENT_PAGE_AND_ELLIPSIS_POSITION : first + 1\n );\n\n const siblingsEnd = Math.min(\n Math.max(\n // Настоящее конечное значение для siblings node\n current + siblingCount,\n // Верхняя граница, от min\n first + boundaryCount + siblingCount * 2 + CURENT_PAGE_AND_ELLIPSIS_POSITION\n ),\n // Меньше чем endPages\n endPages.length > 0 ? endPages[0] - CURENT_PAGE_AND_ELLIPSIS_POSITION : last - 1\n );\n\n const startEllipsis =\n // eslint-disable-next-line no-nested-ternary\n siblingsStart > first + boundaryCount + 1\n ? [PageControls.StartEllipsis]\n : boundaryCount + first < last - boundaryCount\n ? [boundaryCount + first]\n : [];\n\n const endEllipsis =\n // eslint-disable-next-line no-nested-ternary\n siblingsEnd < last - boundaryCount - 1\n ? [PageControls.EndEllipsis]\n : last - boundaryCount > boundaryCount\n ? [last - boundaryCount]\n : [];\n\n const hasPrevious = first < current && startEllipsis[0] === PageControls.StartEllipsis;\n const hasNext = current < last && endEllipsis[0] === PageControls.EndEllipsis;\n\n return [\n ...(hasPrevious ? [PageControls.Previous] : []),\n ...startPages,\n ...startEllipsis,\n // Sibling страницы вместе с текущей\n ...range(siblingsStart, siblingsEnd),\n ...endEllipsis,\n ...endPages,\n ...(hasNext ? [PageControls.Next] : []),\n ];\n};\n"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,GAAW,KAAc;AACnD,IAAA,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;;AAE/B,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC;IAUU,aAKX;AALD,CAAA,UAAY,YAAY,EAAA;AACpB,IAAA,YAAA,CAAA,YAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,CAAA,GAAA,UAAa,CAAA;AACb,IAAA,YAAA,CAAA,YAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,CAAA,GAAA,MAAS,CAAA;AACT,IAAA,YAAA,CAAA,YAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,CAAA,GAAA,eAAkB,CAAA;AAClB,IAAA,YAAA,CAAA,YAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,GAAA,aAAgB,CAAA;AACpB,CAAC,EALW,YAAY,KAAZ,YAAY,GAKvB,EAAA,CAAA,CAAA,CAAA;AAED,MAAM,iCAAiC,GAAG,CAAC,CAAC;AAE/B,MAAA,QAAQ,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAiB,KAAc;AACvG,IAAA,MAAM,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;AAE/B,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,aAAa,GAAG,KAAK,EAAE,aAAa,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAE7F,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAC1B,IAAI,CAAC,GAAG;;AAEJ,IAAA,OAAO,GAAG,YAAY;;IAEtB,IAAI,GAAG,aAAa,GAAG,YAAY,GAAG,CAAC,GAAG,iCAAiC,CAC9E;;IAED,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,iCAAiC,GAAG,KAAK,GAAG,CAAC,CACxF,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CACxB,IAAI,CAAC,GAAG;;AAEJ,IAAA,OAAO,GAAG,YAAY;;IAEtB,KAAK,GAAG,aAAa,GAAG,YAAY,GAAG,CAAC,GAAG,iCAAiC,CAC/E;;IAED,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,iCAAiC,GAAG,IAAI,GAAG,CAAC,CACnF,CAAC;AAEF,IAAA,MAAM,aAAa;;AAEf,IAAA,aAAa,GAAG,KAAK,GAAG,aAAa,GAAG,CAAC;AACrC,UAAE,CAAC,YAAY,CAAC,aAAa,CAAC;AAC9B,UAAE,aAAa,GAAG,KAAK,GAAG,IAAI,GAAG,aAAa;AAC9C,cAAE,CAAC,aAAa,GAAG,KAAK,CAAC;cACvB,EAAE,CAAC;AAEb,IAAA,MAAM,WAAW;;AAEb,IAAA,WAAW,GAAG,IAAI,GAAG,aAAa,GAAG,CAAC;AAClC,UAAE,CAAC,YAAY,CAAC,WAAW,CAAC;AAC5B,UAAE,IAAI,GAAG,aAAa,GAAG,aAAa;AACtC,cAAE,CAAC,IAAI,GAAG,aAAa,CAAC;cACtB,EAAE,CAAC;AAEb,IAAA,MAAM,WAAW,GAAG,KAAK,GAAG,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,aAAa,CAAC;AACvF,IAAA,MAAM,OAAO,GAAG,OAAO,GAAG,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,WAAW,CAAC;IAE9E,OAAO;AACH,QAAA,IAAI,WAAW,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE;AAC9C,QAAA,GAAG,UAAU;AACb,QAAA,GAAG,aAAa;;AAEhB,QAAA,GAAG,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC;AACpC,QAAA,GAAG,WAAW;AACd,QAAA,GAAG,QAAQ;AACX,QAAA,IAAI,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE;KACzC,CAAC;AACN;;;;"}
1
+ {"version":3,"file":"usePages.js","sources":["../src/usePages.tsx"],"sourcesContent":["const range = (start: number, end: number): number[] => {\n const length = end - start + 1;\n // eslint-disable-next-line no-restricted-properties\n return Array.from({ length }, (_, i) => start + i);\n};\n\ninterface UsePagesProps {\n last: number;\n first: number;\n current: number;\n boundaryCount: number;\n siblingCount: number;\n}\n\nexport enum PageControls {\n Previous = -1,\n Next = -2,\n StartEllipsis = -3,\n EndEllipsis = -4,\n}\n\nconst CURENT_PAGE_AND_ELLIPSIS_POSITION = 2;\n\nexport const usePages = ({ last, first, current, boundaryCount, siblingCount }: UsePagesProps): number[] => {\n const count = last - first + 1;\n\n const startPages = range(first, Math.min(first - 1 + boundaryCount, last));\n const endPages = range(Math.max(count - boundaryCount + first, boundaryCount + first), last);\n\n const siblingsStart = Math.max(\n Math.min(\n // Настоящее начальное значение для siblings node\n current - siblingCount,\n // Нижняя граница, от max\n last - boundaryCount - siblingCount * 2 - CURENT_PAGE_AND_ELLIPSIS_POSITION\n ),\n // Больше стартовой страницы\n startPages.length > 0 ? startPages[0] + CURENT_PAGE_AND_ELLIPSIS_POSITION : first + 1\n );\n\n const siblingsEnd = Math.min(\n Math.max(\n // Настоящее конечное значение для siblings node\n current + siblingCount,\n // Верхняя граница, от min\n first + boundaryCount + siblingCount * 2 + CURENT_PAGE_AND_ELLIPSIS_POSITION\n ),\n // Меньше чем endPages\n endPages.length > 0 ? endPages[0] - CURENT_PAGE_AND_ELLIPSIS_POSITION : last - 1\n );\n\n const startEllipsis =\n // eslint-disable-next-line no-nested-ternary\n siblingsStart > first + boundaryCount + 1\n ? [PageControls.StartEllipsis]\n : boundaryCount + first < last - boundaryCount\n ? [boundaryCount + first]\n : [];\n\n const endEllipsis =\n // eslint-disable-next-line no-nested-ternary\n siblingsEnd < last - boundaryCount - 1\n ? [PageControls.EndEllipsis]\n : last - boundaryCount > boundaryCount\n ? [last - boundaryCount]\n : [];\n\n const hasPrevious = first < current && startEllipsis[0] === PageControls.StartEllipsis;\n const hasNext = current < last && endEllipsis[0] === PageControls.EndEllipsis;\n\n return [\n ...(hasPrevious ? [PageControls.Previous] : []),\n ...startPages,\n ...startEllipsis,\n // Sibling страницы вместе с текущей\n ...range(siblingsStart, siblingsEnd),\n ...endEllipsis,\n ...endPages,\n ...(hasNext ? [PageControls.Next] : []),\n ];\n};\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NumberPagesAction-CZCgWaDn.js","sources":["../src/NumberPagesAction.tsx"],"sourcesContent":["import classnames from 'classnames';\n\nimport type { NumberPagesActionProps } from '@hh.ru/magritte-ui-number-pages/types';\nimport { Text } from '@hh.ru/magritte-ui-typography';\n\nimport styles from './styles.less';\n\nexport const NumberPagesAction: NumberPagesActionProps = ({\n children,\n selected = false,\n isIcon = false,\n Element = 'button',\n 'aria-label': ariaLabel,\n page,\n ...props\n}) => {\n const buttonProps = Element === 'button' ? ({ type: 'button' } as const) : {};\n\n return (\n <li>\n <Text typography=\"label-2-regular\">\n <Element\n {...props}\n {...buttonProps}\n aria-current={selected}\n aria-label={ariaLabel}\n className={classnames(styles.numberPagesAction, {\n [styles.numberPagesActionSelected]: selected,\n [styles.numberPagesActionIcon]: isIcon,\n })}\n >\n {children}\n </Element>\n </Text>\n </li>\n );\n};\n"],"names":["_jsx"],"mappings":";;;;;;AAOO,MAAM,iBAAiB,GAA2B,CAAC,EACtD,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,MAAM,GAAG,KAAK,EACd,OAAO,GAAG,QAAQ,EAClB,YAAY,EAAE,SAAS,EACvB,IAAI,EACJ,GAAG,KAAK,EACX,KAAI;AACD,IAAA,MAAM,WAAW,GAAG,OAAO,KAAK,QAAQ,GAAI,EAAE,IAAI,EAAE,QAAQ,EAAY,GAAG,EAAE,CAAC;IAE9E,QACIA,GACI,CAAA,IAAA,EAAA,EAAA,QAAA,EAAAA,GAAA,CAAC,IAAI,EAAA,EAAC,UAAU,EAAC,iBAAiB,EAAA,QAAA,EAC9BA,GAAC,CAAA,OAAO,EACA,EAAA,GAAA,KAAK,EACL,GAAA,WAAW,EACD,cAAA,EAAA,QAAQ,EACV,YAAA,EAAA,SAAS,EACrB,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE;AAC5C,oBAAA,CAAC,MAAM,CAAC,yBAAyB,GAAG,QAAQ;AAC5C,oBAAA,CAAC,MAAM,CAAC,qBAAqB,GAAG,MAAM;AACzC,iBAAA,CAAC,YAED,QAAQ,EAAA,CACH,EACP,CAAA,EAAA,CACN,EACP;AACN;;;;"}