@hh.ru/magritte-ui-link 4.3.11 → 4.3.13
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/Link.d.ts +4 -3
- package/Link.js +1 -1
- package/Link.js.map +1 -1
- package/VerticallyCenteredIcon.js +1 -1
- package/index.css +530 -530
- package/package.json +7 -7
- package/types.d.ts +2 -5
- package/types.js.map +1 -1
package/Link.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare const
|
|
1
|
+
import type { PolymorphicForwardRefRenderFunc, PolymorphicComponentWithRef } from '@hh.ru/magritte-types';
|
|
2
|
+
import type { LinkProps } from '@hh.ru/magritte-ui-link/types';
|
|
3
|
+
export declare const LinkForwardRefRenderFunc: PolymorphicForwardRefRenderFunc<LinkProps, 'a'>;
|
|
4
|
+
export declare const Link: PolymorphicComponentWithRef<LinkProps, 'a'>;
|
package/Link.js
CHANGED
|
@@ -7,7 +7,7 @@ import { useDisabled } from '@hh.ru/magritte-common-use-disabled';
|
|
|
7
7
|
import VerticallyCenteredIcon from './VerticallyCenteredIcon.js';
|
|
8
8
|
import { Text } from '@hh.ru/magritte-ui-typography';
|
|
9
9
|
|
|
10
|
-
var styles = {"link":"magritte-link___b4rEM_4-3-
|
|
10
|
+
var styles = {"link":"magritte-link___b4rEM_4-3-13","link_enable-visited":"magritte-link_enable-visited___Biyib_4-3-13","linkEnableVisited":"magritte-link_enable-visited___Biyib_4-3-13","link_block":"magritte-link_block___Lk0iO_4-3-13","linkBlock":"magritte-link_block___Lk0iO_4-3-13","link__icon-left":"magritte-link__icon-left___1v4WO_4-3-13","linkIconLeft":"magritte-link__icon-left___1v4WO_4-3-13","link__icon-right":"magritte-link__icon-right___VVZpb_4-3-13","linkIconRight":"magritte-link__icon-right___VVZpb_4-3-13","link_big-icon":"magritte-link_big-icon___Z485G_4-3-13","linkBigIcon":"magritte-link_big-icon___Z485G_4-3-13","link_style_neutral":"magritte-link_style_neutral___iqoW0_4-3-13","linkStyleNeutral":"magritte-link_style_neutral___iqoW0_4-3-13","link_underlined":"magritte-link_underlined___OBHqe_4-3-13","linkUnderlined":"magritte-link_underlined___OBHqe_4-3-13","link_disabled":"magritte-link_disabled___sbFrN_4-3-13","linkDisabled":"magritte-link_disabled___sbFrN_4-3-13","text":"magritte-text___tkzIl_4-3-13","link_style_accent":"magritte-link_style_accent___r-MW4_4-3-13","linkStyleAccent":"magritte-link_style_accent___r-MW4_4-3-13","link_style_positive":"magritte-link_style_positive___LF2So_4-3-13","linkStylePositive":"magritte-link_style_positive___LF2So_4-3-13","link_style_negative":"magritte-link_style_negative___BFuGj_4-3-13","linkStyleNegative":"magritte-link_style_negative___BFuGj_4-3-13","link_style_warning":"magritte-link_style_warning___pYAyP_4-3-13","linkStyleWarning":"magritte-link_style_warning___pYAyP_4-3-13","link_style_contrast":"magritte-link_style_contrast___Qty1T_4-3-13","linkStyleContrast":"magritte-link_style_contrast___Qty1T_4-3-13"};
|
|
11
11
|
|
|
12
12
|
const TYPOGRAPHY_WITH_ICON = ['subtitle-1-semibold', 'label-2-regular', 'label-3-regular'];
|
|
13
13
|
const TYPOGRAPHY_WITH_BIG_ICON = ['subtitle-1-semibold'];
|
package/Link.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.js","sources":["../src/Link.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"Link.js","sources":["../src/Link.tsx"],"sourcesContent":["import { forwardRef, useRef } from 'react';\nimport classnames from 'classnames';\n\nimport { keyboardMatch, keyboardKeys } from '@hh.ru/magritte-common-keyboard';\nimport { useDisabled } from '@hh.ru/magritte-common-use-disabled';\nimport type { PolymorphicForwardRefRenderFunc, PolymorphicComponentWithRef } from '@hh.ru/magritte-types';\nimport VerticallyCenteredIcon from '@hh.ru/magritte-ui-link/VerticallyCenteredIcon';\nimport type { LinkProps } from '@hh.ru/magritte-ui-link/types';\nimport { Text } from '@hh.ru/magritte-ui-typography';\n\nimport styles from './link.less';\n\nconst TYPOGRAPHY_WITH_ICON = ['subtitle-1-semibold', 'label-2-regular', 'label-3-regular'];\n\nconst TYPOGRAPHY_WITH_BIG_ICON = ['subtitle-1-semibold'];\n\nexport const LinkForwardRefRenderFunc: PolymorphicForwardRefRenderFunc<LinkProps, 'a'> = (props, ref) => {\n const {\n Element = 'a',\n children,\n style = 'accent',\n inline = false,\n disabled = false,\n iconLeft = null,\n iconRight = null,\n href,\n typography = 'label-2-regular',\n enableVisited = false,\n underlined = false,\n 'data-qa': dataQa = 'link',\n 'aria-label': ariaLabel,\n ...otherProps\n } = props;\n\n const textRef = useRef<HTMLSpanElement>(null);\n const IconLeftComponent = iconLeft;\n const IconRightComponent = iconRight;\n const forceDisabled = useDisabled();\n const isComponentDisabled = forceDisabled || disabled;\n const withIcon = TYPOGRAPHY_WITH_ICON.includes(typography);\n const withBigIcon = TYPOGRAPHY_WITH_BIG_ICON.includes(typography);\n let additionalAttributes: Record<string, unknown>;\n\n if (Element === 'button') {\n additionalAttributes = {\n type: 'button',\n };\n } else {\n additionalAttributes = {\n tabIndex: isComponentDisabled ? -1 : 0,\n href,\n };\n }\n\n if (ref) {\n additionalAttributes.ref = ref;\n }\n\n const handleKeyDown: React.KeyboardEventHandler = (e) => {\n // Поддержка перехода по ссылке при нажатии Enter в случае кастомного элемента\n if (keyboardMatch(e.nativeEvent, keyboardKeys.Enter)) {\n // Кликаю не по кастомному элементу, а внутри него, тк кастомный может не поддерживать ни ref, ни onClick\n textRef.current?.click();\n e.stopPropagation();\n e.preventDefault();\n }\n };\n\n const renderTextAndRightIcon = () => (\n <>\n <span ref={textRef} data-qa={`${dataQa}-text`} className={styles.text}>\n {children}\n </span>\n {withIcon && IconRightComponent && (\n <span className={styles.linkIconRight}>\n <VerticallyCenteredIcon icon={IconRightComponent} data-qa={`${dataQa}-icon-external`} />\n </span>\n )}\n </>\n );\n\n const render = () => (\n <Element\n className={classnames(styles.link, styles[`link_style_${style}`], {\n [styles.link_disabled]: isComponentDisabled,\n [styles.linkBigIcon]: withBigIcon,\n [styles.linkBlock]: !inline,\n [styles.linkEnableVisited]: enableVisited,\n [styles.linkUnderlined]: underlined,\n })}\n data-qa={dataQa}\n disabled={isComponentDisabled}\n aria-label={ariaLabel}\n onKeyDown={handleKeyDown}\n {...additionalAttributes}\n {...otherProps}\n >\n <Text Element=\"span\" typography={typography}>\n {withIcon && IconLeftComponent ? (\n <>\n <span className={styles.linkIconLeft}>\n <VerticallyCenteredIcon icon={IconLeftComponent} data-qa={`${dataQa}-icon-left`} />\n </span>\n <span>{renderTextAndRightIcon()}</span>\n </>\n ) : (\n renderTextAndRightIcon()\n )}\n </Text>\n </Element>\n );\n\n return inline ? render() : <div>{render()}</div>;\n};\n\nexport const Link: PolymorphicComponentWithRef<LinkProps, 'a'> = forwardRef(LinkForwardRefRenderFunc);\nconst LinkWithFlag = Link as typeof Link & { isLink: true };\nLinkWithFlag.isLink = true;\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import './index.css';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
|
|
4
|
-
var styles = {"vertically-centered-icon":"magritte-vertically-centered-icon___Zstk8_4-3-
|
|
4
|
+
var styles = {"vertically-centered-icon":"magritte-vertically-centered-icon___Zstk8_4-3-13","verticallyCenteredIcon":"magritte-vertically-centered-icon___Zstk8_4-3-13"};
|
|
5
5
|
|
|
6
6
|
const VerticallyCenteredIcon = ({ icon, 'data-qa': dataQa }) => {
|
|
7
7
|
const IconComponent = icon;
|