@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 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-20d39074.js';
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
- ariaLabel: getAriaLabelItem?.(item),
48
+ 'aria-label': getAriaLabelItem?.(item),
49
49
  };
50
50
  switch (item) {
51
51
  case PageControls.Previous:
@@ -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 ariaLabel: 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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"}
@@ -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;;;;"}
@@ -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-20d39074.js';
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-wrapper___lYp70_3-0-25{
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-wrapper___lYp70_3-0-25{
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-buttons___78a7R_3-0-25{
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-container___YIJLn_3-0-25{
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-container___YIJLn_3-0-25{
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-container___YIJLn_3-0-25{
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-container___YIJLn_3-0-25{
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-ellipsis___GNIbV_3-0-25{
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-action___e3ozw_3-0-25{
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-action___e3ozw_3-0-25:focus:not(.focus-visible),
107
- .magritte-number-pages-action___e3ozw_3-0-25:focus-visible:not(.focus-visible){
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-action___e3ozw_3-0-25:active{
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-action___e3ozw_3-0-25:active{
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-action___e3ozw_3-0-25.focus-visible{
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-action___e3ozw_3-0-25{
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-action___e3ozw_3-0-25:hover:not(:active){
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-action___e3ozw_3-0-25:hover:not(:active){
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-icon___lwXFB_3-0-25{
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-selected___N5Tl4_3-0-25,
148
- .magritte-number-pages-action-selected___N5Tl4_3-0-25:hover,
149
- .magritte-number-pages-action-selected___N5Tl4_3-0-25:active{
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-20d39074.js';
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.0.25",
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.1",
25
- "@hh.ru/magritte-ui-icon": "7.1.5",
26
- "@hh.ru/magritte-ui-typography": "3.0.9"
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": "f983d20d02117bd1e412d635d854ab7c47492692"
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
- ariaLabel?: string;
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
- ariaLabel?: string;
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;;;;"}