@hh.ru/magritte-ui-link 5.0.16 → 5.0.18

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.js CHANGED
@@ -8,12 +8,12 @@ import { isIconComponent, IconDynamic } from '@hh.ru/magritte-ui-icon';
8
8
  import VerticallyCenteredIcon from './VerticallyCenteredIcon.js';
9
9
  import { Text } from '@hh.ru/magritte-ui-typography';
10
10
 
11
- var styles = {"link":"magritte-link___b4rEM_5-0-16","link_enable-visited":"magritte-link_enable-visited___Biyib_5-0-16","linkEnableVisited":"magritte-link_enable-visited___Biyib_5-0-16","link_block":"magritte-link_block___Lk0iO_5-0-16","linkBlock":"magritte-link_block___Lk0iO_5-0-16","link__icon-left":"magritte-link__icon-left___1v4WO_5-0-16","linkIconLeft":"magritte-link__icon-left___1v4WO_5-0-16","link__icon-right":"magritte-link__icon-right___VVZpb_5-0-16","linkIconRight":"magritte-link__icon-right___VVZpb_5-0-16","link_big-icon":"magritte-link_big-icon___Z485G_5-0-16","linkBigIcon":"magritte-link_big-icon___Z485G_5-0-16","link_mode_primary":"magritte-link_mode_primary___l6una_5-0-16","linkModePrimary":"magritte-link_mode_primary___l6una_5-0-16","link_style_neutral":"magritte-link_style_neutral___iqoW0_5-0-16","linkStyleNeutral":"magritte-link_style_neutral___iqoW0_5-0-16","icon-without-color":"magritte-icon-without-color___P5ivQ_5-0-16","iconWithoutColor":"magritte-icon-without-color___P5ivQ_5-0-16","link_underlined":"magritte-link_underlined___OBHqe_5-0-16","linkUnderlined":"magritte-link_underlined___OBHqe_5-0-16","link_disabled":"magritte-link_disabled___sbFrN_5-0-16","linkDisabled":"magritte-link_disabled___sbFrN_5-0-16","text":"magritte-text___tkzIl_5-0-16","link_mode_secondary":"magritte-link_mode_secondary___91WgT_5-0-16","linkModeSecondary":"magritte-link_mode_secondary___91WgT_5-0-16","link_mode_tertiary":"magritte-link_mode_tertiary___5IWmJ_5-0-16","linkModeTertiary":"magritte-link_mode_tertiary___5IWmJ_5-0-16","link_style_accent":"magritte-link_style_accent___r-MW4_5-0-16","linkStyleAccent":"magritte-link_style_accent___r-MW4_5-0-16","link_style_positive":"magritte-link_style_positive___LF2So_5-0-16","linkStylePositive":"magritte-link_style_positive___LF2So_5-0-16","link_style_negative":"magritte-link_style_negative___BFuGj_5-0-16","linkStyleNegative":"magritte-link_style_negative___BFuGj_5-0-16","link_style_warning":"magritte-link_style_warning___pYAyP_5-0-16","linkStyleWarning":"magritte-link_style_warning___pYAyP_5-0-16","link_style_contrast":"magritte-link_style_contrast___Qty1T_5-0-16","linkStyleContrast":"magritte-link_style_contrast___Qty1T_5-0-16"};
11
+ var styles = {"link":"magritte-link___b4rEM_5-0-18","link_enable-visited":"magritte-link_enable-visited___Biyib_5-0-18","linkEnableVisited":"magritte-link_enable-visited___Biyib_5-0-18","link_block":"magritte-link_block___Lk0iO_5-0-18","linkBlock":"magritte-link_block___Lk0iO_5-0-18","link__icon-left":"magritte-link__icon-left___1v4WO_5-0-18","linkIconLeft":"magritte-link__icon-left___1v4WO_5-0-18","link__icon-right":"magritte-link__icon-right___VVZpb_5-0-18","linkIconRight":"magritte-link__icon-right___VVZpb_5-0-18","link_big-icon":"magritte-link_big-icon___Z485G_5-0-18","linkBigIcon":"magritte-link_big-icon___Z485G_5-0-18","link_mode_primary":"magritte-link_mode_primary___l6una_5-0-18","linkModePrimary":"magritte-link_mode_primary___l6una_5-0-18","link_style_neutral":"magritte-link_style_neutral___iqoW0_5-0-18","linkStyleNeutral":"magritte-link_style_neutral___iqoW0_5-0-18","icon-without-color":"magritte-icon-without-color___P5ivQ_5-0-18","iconWithoutColor":"magritte-icon-without-color___P5ivQ_5-0-18","link_underlined":"magritte-link_underlined___OBHqe_5-0-18","linkUnderlined":"magritte-link_underlined___OBHqe_5-0-18","link_disabled":"magritte-link_disabled___sbFrN_5-0-18","linkDisabled":"magritte-link_disabled___sbFrN_5-0-18","text":"magritte-text___tkzIl_5-0-18","link_mode_secondary":"magritte-link_mode_secondary___91WgT_5-0-18","linkModeSecondary":"magritte-link_mode_secondary___91WgT_5-0-18","link_mode_tertiary":"magritte-link_mode_tertiary___5IWmJ_5-0-18","linkModeTertiary":"magritte-link_mode_tertiary___5IWmJ_5-0-18","link_style_accent":"magritte-link_style_accent___r-MW4_5-0-18","linkStyleAccent":"magritte-link_style_accent___r-MW4_5-0-18","link_style_positive":"magritte-link_style_positive___LF2So_5-0-18","linkStylePositive":"magritte-link_style_positive___LF2So_5-0-18","link_style_negative":"magritte-link_style_negative___BFuGj_5-0-18","linkStyleNegative":"magritte-link_style_negative___BFuGj_5-0-18","link_style_warning":"magritte-link_style_warning___pYAyP_5-0-18","linkStyleWarning":"magritte-link_style_warning___pYAyP_5-0-18","link_style_contrast":"magritte-link_style_contrast___Qty1T_5-0-18","linkStyleContrast":"magritte-link_style_contrast___Qty1T_5-0-18"};
12
12
 
13
13
  const TYPOGRAPHY_WITH_ICON = ['subtitle-1-semibold', 'label-2-regular', 'label-3-regular'];
14
14
  const TYPOGRAPHY_WITH_BIG_ICON = ['subtitle-1-semibold'];
15
15
  const LinkForwardRefRenderFunc = (props, ref) => {
16
- const { Element = 'a', children, mode = 'primary', style: _style = 'accent', inline = false, disabled = false, iconLeft, iconRight, href, typography = 'label-2-regular', enableVisited = false, underlined = false, 'data-qa': dataQa = 'link', 'aria-label': ariaLabel, ...otherProps } = props;
16
+ const { Element = 'a', children, mode = 'primary', style: _style = 'accent', inline = false, disabled = false, iconLeft, iconRight, href, typography = 'label-2-regular', enableVisited = false, underlined = false, 'data-qa': dataQa = 'link', 'aria-label': ariaLabel, overflowWrap, ...otherProps } = props;
17
17
  const textRef = useRef(null);
18
18
  const forceDisabled = useDisabled();
19
19
  const isComponentDisabled = forceDisabled || disabled;
@@ -60,7 +60,7 @@ const LinkForwardRefRenderFunc = (props, ref) => {
60
60
  [styles.linkBlock]: !inline,
61
61
  [styles.linkEnableVisited]: enableVisited,
62
62
  [styles.linkUnderlined]: underlined,
63
- }), "data-qa": dataQa, disabled: isComponentDisabled, "aria-label": ariaLabel, onKeyDown: handleKeyDown, ...additionalAttributes, ...otherProps, children: jsx(DisabledContext.Provider, { value: isComponentDisabled, children: jsx(IconDynamic, { children: jsx(Text, { Element: "span", typography: typography, children: withIcon && iconLeft ? (jsxs(Fragment, { children: [jsx("span", { className: classnames(styles.linkIconLeft, {
63
+ }), "data-qa": dataQa, disabled: isComponentDisabled, "aria-label": ariaLabel, onKeyDown: handleKeyDown, style: { overflowWrap }, ...additionalAttributes, ...otherProps, children: jsx(DisabledContext.Provider, { value: isComponentDisabled, children: jsx(IconDynamic, { children: jsx(Text, { Element: "span", typography: typography, children: withIcon && iconLeft ? (jsxs(Fragment, { children: [jsx("span", { className: classnames(styles.linkIconLeft, {
64
64
  [styles.iconWithoutColor]: !iconLeftWithColor,
65
65
  }), children: jsx(VerticallyCenteredIcon, { icon: iconLeft, "data-qa": `${dataQa}-icon-left` }) }), jsx("span", { children: renderTextAndRightIcon() })] })) : (renderTextAndRightIcon()) }) }) }) }));
66
66
  return inline ? render() : jsx("div", { children: render() });
package/Link.js.map CHANGED
@@ -1 +1 @@
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, DisabledContext } from '@hh.ru/magritte-common-use-disabled';\nimport type { PolymorphicForwardRefRenderFunc, PolymorphicComponentWithRef } from '@hh.ru/magritte-types';\nimport { IconDynamic, isIconComponent } from '@hh.ru/magritte-ui-icon';\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 mode = 'primary',\n style: _style = 'accent',\n inline = false,\n disabled = false,\n iconLeft,\n iconRight,\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 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 // Для mode 'tertiary' доступен только style 'neutral'\n const style = mode === 'tertiary' ? 'neutral' : _style;\n const iconLeftWithColor =\n iconLeft &&\n isIconComponent(iconLeft) &&\n (!!iconLeft.props.initialColor || !!iconLeft.props.highlightedColor || !!iconLeft.props.disabledColor);\n\n const iconRightWithColor =\n iconRight &&\n isIconComponent(iconRight) &&\n (!!iconRight.props.initialColor || !!iconRight.props.highlightedColor || !!iconRight.props.disabledColor);\n\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 && iconRight && (\n <span\n className={classnames(styles.linkIconRight, {\n [styles.iconWithoutColor]: !iconRightWithColor,\n })}\n >\n <VerticallyCenteredIcon icon={iconRight} data-qa={`${dataQa}-icon-external`} />\n </span>\n )}\n </>\n );\n\n const render = () => (\n <Element\n className={classnames(styles.link, styles[`link_mode_${mode}`], 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 <DisabledContext.Provider value={isComponentDisabled}>\n <IconDynamic>\n <Text Element=\"span\" typography={typography}>\n {withIcon && iconLeft ? (\n <>\n <span\n className={classnames(styles.linkIconLeft, {\n [styles.iconWithoutColor]: !iconLeftWithColor,\n })}\n >\n <VerticallyCenteredIcon icon={iconLeft} data-qa={`${dataQa}-icon-left`} />\n </span>\n <span>{renderTextAndRightIcon()}</span>\n </>\n ) : (\n renderTextAndRightIcon()\n )}\n </Text>\n </IconDynamic>\n </DisabledContext.Provider>\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
+ {"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, DisabledContext } from '@hh.ru/magritte-common-use-disabled';\nimport type { PolymorphicForwardRefRenderFunc, PolymorphicComponentWithRef } from '@hh.ru/magritte-types';\nimport { IconDynamic, isIconComponent } from '@hh.ru/magritte-ui-icon';\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 mode = 'primary',\n style: _style = 'accent',\n inline = false,\n disabled = false,\n iconLeft,\n iconRight,\n href,\n typography = 'label-2-regular',\n enableVisited = false,\n underlined = false,\n 'data-qa': dataQa = 'link',\n 'aria-label': ariaLabel,\n overflowWrap,\n ...otherProps\n } = props;\n\n const textRef = useRef<HTMLSpanElement>(null);\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 // Для mode 'tertiary' доступен только style 'neutral'\n const style = mode === 'tertiary' ? 'neutral' : _style;\n const iconLeftWithColor =\n iconLeft &&\n isIconComponent(iconLeft) &&\n (!!iconLeft.props.initialColor || !!iconLeft.props.highlightedColor || !!iconLeft.props.disabledColor);\n\n const iconRightWithColor =\n iconRight &&\n isIconComponent(iconRight) &&\n (!!iconRight.props.initialColor || !!iconRight.props.highlightedColor || !!iconRight.props.disabledColor);\n\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 && iconRight && (\n <span\n className={classnames(styles.linkIconRight, {\n [styles.iconWithoutColor]: !iconRightWithColor,\n })}\n >\n <VerticallyCenteredIcon icon={iconRight} data-qa={`${dataQa}-icon-external`} />\n </span>\n )}\n </>\n );\n\n const render = () => (\n <Element\n className={classnames(styles.link, styles[`link_mode_${mode}`], 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 style={{ overflowWrap }}\n {...additionalAttributes}\n {...otherProps}\n >\n <DisabledContext.Provider value={isComponentDisabled}>\n <IconDynamic>\n <Text Element=\"span\" typography={typography}>\n {withIcon && iconLeft ? (\n <>\n <span\n className={classnames(styles.linkIconLeft, {\n [styles.iconWithoutColor]: !iconLeftWithColor,\n })}\n >\n <VerticallyCenteredIcon icon={iconLeft} data-qa={`${dataQa}-icon-left`} />\n </span>\n <span>{renderTextAndRightIcon()}</span>\n </>\n ) : (\n renderTextAndRightIcon()\n )}\n </Text>\n </IconDynamic>\n </DisabledContext.Provider>\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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"}
@@ -2,7 +2,7 @@ import './index.css';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import React from 'react';
4
4
 
5
- var styles = {"vertically-centered-icon":"magritte-vertically-centered-icon___Zstk8_5-0-16","verticallyCenteredIcon":"magritte-vertically-centered-icon___Zstk8_5-0-16"};
5
+ var styles = {"vertically-centered-icon":"magritte-vertically-centered-icon___Zstk8_5-0-18","verticallyCenteredIcon":"magritte-vertically-centered-icon___Zstk8_5-0-18"};
6
6
 
7
7
  const VerticallyCenteredIcon = ({ icon, 'data-qa': dataQa }) => {
8
8
  return (jsx("span", { className: styles.verticallyCenteredIcon, children: React.cloneElement(icon, {