@hh.ru/magritte-ui-number-pages 3.0.25 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NumberPages.js +3 -3
- package/NumberPages.js.map +1 -1
- package/NumberPagesAction-80a60edb.js +17 -0
- package/NumberPagesAction-80a60edb.js.map +1 -0
- package/NumberPagesAction.js +1 -1
- package/index.css +21 -21
- package/index.js +1 -1
- package/package.json +5 -5
- package/types.d.ts +2 -2
- package/NumberPagesAction-20d39074.js +0 -17
- package/NumberPagesAction-20d39074.js.map +0 -1
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-
|
|
7
|
+
import { s as styles, N as NumberPagesAction } from './NumberPagesAction-80a60edb.js';
|
|
8
8
|
import { usePages, PageControls } from './usePages.js';
|
|
9
9
|
import '@hh.ru/magritte-ui-typography';
|
|
10
10
|
|
|
@@ -20,7 +20,7 @@ const getPropsByScreenSize = (isXS, isS) => {
|
|
|
20
20
|
}
|
|
21
21
|
return [2, 1];
|
|
22
22
|
};
|
|
23
|
-
const NumberPages = ({ first, last, current, onChange, ariaLabel, renderItem = baseRenderItem, renderNavigation = baseRenderItem, getAriaLabelItem, ...props }) => {
|
|
23
|
+
const NumberPages = ({ first, last, current, onChange, 'aria-label': ariaLabel, renderItem = baseRenderItem, renderNavigation = baseRenderItem, getAriaLabelItem, ...props }) => {
|
|
24
24
|
const { isXS, isS } = useBreakpoint();
|
|
25
25
|
const [initialSiblingCount, initialBoundaryCount] = getPropsByScreenSize(isXS, isS);
|
|
26
26
|
const [siblingCount, setSiblingCount] = useState(initialSiblingCount);
|
|
@@ -45,7 +45,7 @@ const NumberPages = ({ first, last, current, onChange, ariaLabel, renderItem = b
|
|
|
45
45
|
const baseProps = {
|
|
46
46
|
selected: isSelected,
|
|
47
47
|
key: item,
|
|
48
|
-
|
|
48
|
+
'aria-label': getAriaLabelItem?.(item),
|
|
49
49
|
};
|
|
50
50
|
switch (item) {
|
|
51
51
|
case PageControls.Previous:
|
package/NumberPages.js.map
CHANGED
|
@@ -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 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
|
|
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":";;;;;;;;;AAWA,MAAM,cAAc,GAA0B,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,KAAI;IAC/E,OAAOA,GAAA,CAAC,iBAAiB,EAAA,EAAA,GAAK,KAAK,EAAE,MAAM,EAAE,UAAU,IAAI,MAAM,EAAA,CAAI,CAAC;AAC1E,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,IAAa,EAAE,GAAY,KAAc;AACnE,IAAA,IAAI,IAAI,EAAE;AACN,QAAA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjB,KAAA;AAAM,SAAA,IAAI,GAAG,EAAE;AACZ,QAAA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjB,KAAA;AACD,IAAA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAEK,MAAM,WAAW,GAAyB,CAAC,EAC9C,KAAK,EACL,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,YAAY,EAAE,SAAS,EACvB,UAAU,GAAG,cAAc,EAC3B,gBAAgB,GAAG,cAAc,EACjC,gBAAgB,EAChB,GAAG,KAAK,EACX,KAAI;IACD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;AACtC,IAAA,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,GAAG,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACtE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AACzE,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC;IAE9E,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtE,eAAe,CAAC,YAAY,CAAC,CAAC;QAC9B,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACpC,KAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAEhB,IAAI,KAAK,GAAG,IAAI,EAAE;QACd,MAAM,IAAI,KAAK,CACX,CAAA,uEAAA,EAA0E,KAAK,CAAW,QAAA,EAAA,IAAI,CAAE,CAAA,CACnG,CAAC;AACL,KAAA;AAED,IAAA,IAAI,OAAO,GAAG,KAAK,IAAI,OAAO,GAAG,IAAI,EAAE;QACnC,MAAM,IAAI,KAAK,CACX,CAA8D,2DAAA,EAAA,OAAO,CAAY,SAAA,EAAA,KAAK,CAAW,QAAA,EAAA,IAAI,CAAE,CAAA,CAC1G,CAAC;AACL,KAAA;AAED,IAAA,IAAI,IAAI,GAAG,KAAK,GAAG,CAAC,EAAE;AAClB,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;AAED,IAAA,MAAM,cAAc,GAAG,CAAC,IAAY,KAAe;AAC/C,QAAA,MAAM,UAAU,GAAG,IAAI,KAAK,OAAO,CAAC;AAEpC,QAAA,MAAM,SAAS,GAAG;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;SACzC,CAAC;AAEF,QAAA,QAAQ,IAAI;YACR,KAAK,YAAY,CAAC,QAAQ;AACtB,gBAAA,OAAO,gBAAgB,CAAC;AACpB,oBAAA,GAAG,SAAS;AACZ,oBAAA,SAAS,EAAE,uBAAuB;oBAClC,OAAO,EAAE,MAAK;AACV,wBAAA,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC;qBAC3B;AACD,oBAAA,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,OAAO,GAAG,CAAC;oBACjB,QAAQ,EAAEA,GAAC,CAAA,yBAAyB,EAAG,EAAA,CAAA;AAC1C,iBAAA,CAAC,CAAC;YACP,KAAK,YAAY,CAAC,aAAa,CAAC;YAChC,KAAK,YAAY,CAAC,WAAW;AACzB,gBAAA,QACIA,GAAA,CAAA,IAAA,EAAA,EAAA,SAAA,EAAuB,uBAAuB,EAAC,SAAS,EAAE,MAAM,CAAC,mBAAmB,EAAA,QAAA,EAAA,KAAA,EAAA,EAA3E,IAAI,CAER,EACP;YACN,KAAK,YAAY,CAAC,IAAI;AAClB,gBAAA,OAAO,gBAAgB,CAAC;AACpB,oBAAA,GAAG,SAAS;AACZ,oBAAA,SAAS,EAAE,mBAAmB;oBAC9B,OAAO,EAAE,MAAK;AACV,wBAAA,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC;qBAC3B;AACD,oBAAA,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,OAAO,GAAG,CAAC;oBACjB,QAAQ,EAAEA,GAAC,CAAA,0BAA0B,EAAG,EAAA,CAAA;AAC3C,iBAAA,CAAC,CAAC;AACP,YAAA;AACI,gBAAA,OAAO,UAAU,CAAC;AACd,oBAAA,GAAG,SAAS;oBACZ,OAAO,EAAE,MAAK;wBACV,IAAI,CAAC,UAAU,EAAE;AACb,4BAAA,QAAQ,GAAG,IAAI,CAAC,CAAC;AACpB,yBAAA;qBACJ;AACD,oBAAA,SAAS,EAAE,CAAA,aAAA,EAAgB,IAAI,CAAA,CAAA,EAAI,UAAU,GAAG,uBAAuB,GAAG,EAAE,CAAE,CAAA;AAC9E,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,IAAI;AACjB,iBAAA,CAAC,CAAC;AACV,SAAA;AACL,KAAC,CAAC;AAEF,IAAA,QACIA,GAAA,CAAA,KAAA,EAAA,EAAA,GACQ,KAAK,EAAA,YAAA,EACG,SAAS,EACrB,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,kBAAkB,EAAE;YAC7C,CAAC,MAAM,CAAC,0CAA0C,GAC9C,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC;AACnF,SAAA,CAAC,YAEFA,GAAI,CAAA,IAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,oBAAoB,EAAA,QAAA,EAAG,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAAM,CAAA,EAAA,CAC1E,EACR;AACN;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import './index.css';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import classnames from 'classnames';
|
|
4
|
+
import { Text } from '@hh.ru/magritte-ui-typography';
|
|
5
|
+
|
|
6
|
+
var styles = {"number-pages-wrapper":"magritte-number-pages-wrapper___lYp70_4-0-1","numberPagesWrapper":"magritte-number-pages-wrapper___lYp70_4-0-1","number-pages-wrapper-without-navigation-buttons":"magritte-number-pages-wrapper-without-navigation-buttons___78a7R_4-0-1","numberPagesWrapperWithoutNavigationButtons":"magritte-number-pages-wrapper-without-navigation-buttons___78a7R_4-0-1","number-pages-container":"magritte-number-pages-container___YIJLn_4-0-1","numberPagesContainer":"magritte-number-pages-container___YIJLn_4-0-1","number-pages-ellipsis":"magritte-number-pages-ellipsis___GNIbV_4-0-1","numberPagesEllipsis":"magritte-number-pages-ellipsis___GNIbV_4-0-1","number-pages-action":"magritte-number-pages-action___e3ozw_4-0-1","numberPagesAction":"magritte-number-pages-action___e3ozw_4-0-1","number-pages-action-icon":"magritte-number-pages-action-icon___lwXFB_4-0-1","numberPagesActionIcon":"magritte-number-pages-action-icon___lwXFB_4-0-1","number-pages-action-selected":"magritte-number-pages-action-selected___N5Tl4_4-0-1","numberPagesActionSelected":"magritte-number-pages-action-selected___N5Tl4_4-0-1"};
|
|
7
|
+
|
|
8
|
+
const NumberPagesAction = ({ children, selected = false, isIcon = false, Element = 'button', 'aria-label': ariaLabel, page, ...props }) => {
|
|
9
|
+
const buttonProps = Element === 'button' ? { type: 'button' } : {};
|
|
10
|
+
return (jsx("li", { children: jsx(Text, { typography: "label-2-regular", children: jsx(Element, { ...props, ...buttonProps, "aria-current": selected, "aria-label": ariaLabel, className: classnames(styles.numberPagesAction, {
|
|
11
|
+
[styles.numberPagesActionSelected]: selected,
|
|
12
|
+
[styles.numberPagesActionIcon]: isIcon,
|
|
13
|
+
}), children: children }) }) }));
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export { NumberPagesAction as N, styles as s };
|
|
17
|
+
//# sourceMappingURL=NumberPagesAction-80a60edb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberPagesAction-80a60edb.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;;;;"}
|
package/NumberPagesAction.js
CHANGED
|
@@ -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-
|
|
5
|
+
export { N as NumberPagesAction } from './NumberPagesAction-80a60edb.js';
|
|
6
6
|
//# sourceMappingURL=NumberPagesAction.js.map
|
package/index.css
CHANGED
|
@@ -40,21 +40,21 @@
|
|
|
40
40
|
--magritte-color-component-number-pages-item-background-state-unselected-pressed-v18-1-2:#262626;
|
|
41
41
|
--magritte-color-component-number-pages-stroke-state-focused-accessible-v18-1-2:#0070ff7a;
|
|
42
42
|
}
|
|
43
|
-
.magritte-number-pages-
|
|
43
|
+
.magritte-number-pages-wrapper___lYp70_4-0-1{
|
|
44
44
|
display:flex;
|
|
45
45
|
width:100%;
|
|
46
46
|
}
|
|
47
47
|
@media (min-width: 350px){
|
|
48
|
-
.magritte-number-pages-
|
|
48
|
+
.magritte-number-pages-wrapper___lYp70_4-0-1{
|
|
49
49
|
display:inline-flex;
|
|
50
50
|
width:auto;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
.magritte-number-pages-wrapper-without-navigation-
|
|
53
|
+
.magritte-number-pages-wrapper-without-navigation-buttons___78a7R_4-0-1{
|
|
54
54
|
display:inline-flex;
|
|
55
55
|
width:auto;
|
|
56
56
|
}
|
|
57
|
-
.magritte-number-pages-
|
|
57
|
+
.magritte-number-pages-container___YIJLn_4-0-1{
|
|
58
58
|
display:flex;
|
|
59
59
|
width:100%;
|
|
60
60
|
justify-content:space-between;
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
background:var(--magritte-color-component-number-pages-background-content-v18-1-2);
|
|
66
66
|
}
|
|
67
67
|
@media (min-width: 350px){
|
|
68
|
-
.magritte-number-pages-
|
|
68
|
+
.magritte-number-pages-container___YIJLn_4-0-1{
|
|
69
69
|
display:inline-flex;
|
|
70
70
|
justify-content:center;
|
|
71
71
|
gap:var(--magritte-static-space-200-v18-1-2);
|
|
@@ -73,23 +73,23 @@
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
@media (min-width: 600px){
|
|
76
|
-
.magritte-number-pages-
|
|
76
|
+
.magritte-number-pages-container___YIJLn_4-0-1{
|
|
77
77
|
gap:var(--magritte-static-space-100-v18-1-2);
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
@media (min-width: 640px){
|
|
81
|
-
.magritte-number-pages-
|
|
81
|
+
.magritte-number-pages-container___YIJLn_4-0-1{
|
|
82
82
|
gap:var(--magritte-static-space-200-v18-1-2);
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
-
.magritte-number-pages-
|
|
85
|
+
.magritte-number-pages-ellipsis___GNIbV_4-0-1{
|
|
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-
|
|
92
|
+
.magritte-number-pages-action___e3ozw_4-0-1{
|
|
93
93
|
display:flex;
|
|
94
94
|
align-items:center;
|
|
95
95
|
justify-content:center;
|
|
@@ -103,50 +103,50 @@
|
|
|
103
103
|
background-color:var(--magritte-color-component-number-pages-item-background-unselected-v18-1-2);
|
|
104
104
|
--magritte-ui-icon-color-override:var(--magritte-color-component-number-pages-item-icon-content-v18-1-2);
|
|
105
105
|
}
|
|
106
|
-
.magritte-number-pages-
|
|
107
|
-
.magritte-number-pages-
|
|
106
|
+
.magritte-number-pages-action___e3ozw_4-0-1:focus:not(.focus-visible),
|
|
107
|
+
.magritte-number-pages-action___e3ozw_4-0-1:focus-visible:not(.focus-visible){
|
|
108
108
|
outline:none;
|
|
109
109
|
}
|
|
110
|
-
.magritte-number-pages-
|
|
110
|
+
.magritte-number-pages-action___e3ozw_4-0-1:active{
|
|
111
111
|
--magritte-ui-icon-color-override:var(--magritte-color-component-number-pages-item-icon-state-content-pressed-v18-1-2);
|
|
112
112
|
color:var(--magritte-color-component-number-pages-item-text-state-unselected-pressed-v18-1-2);
|
|
113
113
|
background-color:var(--magritte-color-component-number-pages-item-background-state-unselected-pressed-v18-1-2);
|
|
114
114
|
}
|
|
115
115
|
@media (prefers-reduced-motion: no-preference){
|
|
116
|
-
.magritte-number-pages-
|
|
116
|
+
.magritte-number-pages-action___e3ozw_4-0-1:active{
|
|
117
117
|
transition:transform var(--magritte-semantic-animation-ease-in-out-100-duration-v18-1-2) var(--magritte-semantic-animation-ease-in-out-100-timing-function-v18-1-2);
|
|
118
118
|
transform:scale(var(--magritte-semantic-scale-pressed-v18-1-2));
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
|
-
.magritte-number-pages-
|
|
121
|
+
.magritte-number-pages-action___e3ozw_4-0-1.focus-visible{
|
|
122
122
|
outline:var(--magritte-color-component-number-pages-stroke-state-focused-accessible-v18-1-2) solid 4px;
|
|
123
123
|
}
|
|
124
124
|
@media (prefers-reduced-motion: no-preference){
|
|
125
|
-
.magritte-number-pages-
|
|
125
|
+
.magritte-number-pages-action___e3ozw_4-0-1{
|
|
126
126
|
transition:transform var(--magritte-semantic-animation-ease-in-out-200-duration-v18-1-2) var(--magritte-semantic-animation-ease-in-out-200-timing-function-v18-1-2);
|
|
127
127
|
transform:scale(1);
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
@media (min-width: 1020px){
|
|
131
|
-
body.magritte-old-layout .magritte-number-pages-
|
|
131
|
+
body.magritte-old-layout .magritte-number-pages-action___e3ozw_4-0-1:hover:not(:active){
|
|
132
132
|
--magritte-ui-icon-color-override:var(--magritte-color-component-number-pages-item-icon-state-content-hovered-v18-1-2);
|
|
133
133
|
color:var(--magritte-color-component-number-pages-item-text-state-unselected-hovered-v18-1-2);
|
|
134
134
|
background-color:var(--magritte-color-component-number-pages-item-background-state-unselected-hovered-v18-1-2);
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
@media (min-width: 1024px){
|
|
138
|
-
body:not(.magritte-old-layout) .magritte-number-pages-
|
|
138
|
+
body:not(.magritte-old-layout) .magritte-number-pages-action___e3ozw_4-0-1:hover:not(:active){
|
|
139
139
|
--magritte-ui-icon-color-override:var(--magritte-color-component-number-pages-item-icon-state-content-hovered-v18-1-2);
|
|
140
140
|
color:var(--magritte-color-component-number-pages-item-text-state-unselected-hovered-v18-1-2);
|
|
141
141
|
background-color:var(--magritte-color-component-number-pages-item-background-state-unselected-hovered-v18-1-2);
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
|
-
.magritte-number-pages-action-
|
|
144
|
+
.magritte-number-pages-action-icon___lwXFB_4-0-1{
|
|
145
145
|
padding:5px var(--magritte-static-space-200-v18-1-2);
|
|
146
146
|
}
|
|
147
|
-
.magritte-number-pages-action-
|
|
148
|
-
.magritte-number-pages-action-
|
|
149
|
-
.magritte-number-pages-action-
|
|
147
|
+
.magritte-number-pages-action-selected___N5Tl4_4-0-1,
|
|
148
|
+
.magritte-number-pages-action-selected___N5Tl4_4-0-1:hover,
|
|
149
|
+
.magritte-number-pages-action-selected___N5Tl4_4-0-1:active{
|
|
150
150
|
pointer-events:none;
|
|
151
151
|
user-select:none;
|
|
152
152
|
transform:none;
|
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-
|
|
3
|
+
export { N as NumberPagesAction } from './NumberPagesAction-80a60edb.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": "
|
|
3
|
+
"version": "4.0.1",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"sideEffects": [
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@hh.ru/magritte-design-tokens": "18.1.2",
|
|
23
23
|
"@hh.ru/magritte-types": "4.0.1",
|
|
24
|
-
"@hh.ru/magritte-ui-breakpoint": "4.0.
|
|
25
|
-
"@hh.ru/magritte-ui-icon": "7.1.
|
|
26
|
-
"@hh.ru/magritte-ui-typography": "3.0.
|
|
24
|
+
"@hh.ru/magritte-ui-breakpoint": "4.0.2",
|
|
25
|
+
"@hh.ru/magritte-ui-icon": "7.1.7",
|
|
26
|
+
"@hh.ru/magritte-ui-typography": "3.0.10"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"classnames": ">=2.3.2",
|
|
@@ -32,5 +32,5 @@
|
|
|
32
32
|
"publishConfig": {
|
|
33
33
|
"access": "public"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "a72846c6f393720276c3a8abcbd754142906f5d1"
|
|
36
36
|
}
|
package/types.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ type NumberPagesRenderItemBaseProps = PropsWithChildren<{
|
|
|
10
10
|
/** Номер страницы */
|
|
11
11
|
page: number;
|
|
12
12
|
/** Аria заголовок */
|
|
13
|
-
|
|
13
|
+
'aria-label'?: string;
|
|
14
14
|
/** Ключ item */
|
|
15
15
|
key: number | string;
|
|
16
16
|
}>;
|
|
@@ -36,7 +36,7 @@ export interface BaseNumberPagesProps {
|
|
|
36
36
|
/** Текущая страница */
|
|
37
37
|
current: number;
|
|
38
38
|
/** Aria заголовок страничного компонента навигации */
|
|
39
|
-
|
|
39
|
+
'aria-label'?: string;
|
|
40
40
|
/** Метод для получения aria заголовков для каждого item */
|
|
41
41
|
getAriaLabelItem?: (item: number) => string;
|
|
42
42
|
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import './index.css';
|
|
2
|
-
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import classnames from 'classnames';
|
|
4
|
-
import { Text } from '@hh.ru/magritte-ui-typography';
|
|
5
|
-
|
|
6
|
-
var styles = {"number-pages-wrapper":"magritte-number-pages-wrapper___lYp70_3-0-25","numberPagesWrapper":"magritte-number-pages-wrapper___lYp70_3-0-25","number-pages-wrapper-without-navigation-buttons":"magritte-number-pages-wrapper-without-navigation-buttons___78a7R_3-0-25","numberPagesWrapperWithoutNavigationButtons":"magritte-number-pages-wrapper-without-navigation-buttons___78a7R_3-0-25","number-pages-container":"magritte-number-pages-container___YIJLn_3-0-25","numberPagesContainer":"magritte-number-pages-container___YIJLn_3-0-25","number-pages-ellipsis":"magritte-number-pages-ellipsis___GNIbV_3-0-25","numberPagesEllipsis":"magritte-number-pages-ellipsis___GNIbV_3-0-25","number-pages-action":"magritte-number-pages-action___e3ozw_3-0-25","numberPagesAction":"magritte-number-pages-action___e3ozw_3-0-25","number-pages-action-icon":"magritte-number-pages-action-icon___lwXFB_3-0-25","numberPagesActionIcon":"magritte-number-pages-action-icon___lwXFB_3-0-25","number-pages-action-selected":"magritte-number-pages-action-selected___N5Tl4_3-0-25","numberPagesActionSelected":"magritte-number-pages-action-selected___N5Tl4_3-0-25"};
|
|
7
|
-
|
|
8
|
-
const NumberPagesAction = ({ children, selected = false, isIcon = false, Element = 'button', ariaLabel, page, ...props }) => {
|
|
9
|
-
const buttonProps = Element === 'button' ? { type: 'button' } : {};
|
|
10
|
-
return (jsx("li", { children: jsx(Text, { typography: "label-2-regular", children: jsx(Element, { ...props, ...buttonProps, "aria-current": selected, "aria-label": ariaLabel, className: classnames(styles.numberPagesAction, {
|
|
11
|
-
[styles.numberPagesActionSelected]: selected,
|
|
12
|
-
[styles.numberPagesActionIcon]: isIcon,
|
|
13
|
-
}), children: children }) }) }));
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
export { NumberPagesAction as N, styles as s };
|
|
17
|
-
//# sourceMappingURL=NumberPagesAction-20d39074.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NumberPagesAction-20d39074.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 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,SAAS,EACT,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;;;;"}
|