@hh.ru/magritte-ui-link 6.0.1 → 6.0.3

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
@@ -4,11 +4,11 @@ import { forwardRef, useRef } from 'react';
4
4
  import classnames from 'classnames';
5
5
  import { keyboardMatch, keyboardKeys } from '@hh.ru/magritte-common-keyboard';
6
6
  import { useDisabled, DisabledContext } from '@hh.ru/magritte-common-use-disabled';
7
- import { isIconComponent, IconDynamic } from '@hh.ru/magritte-ui-icon';
7
+ import { isIconElement, 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_6-0-1","link_enable-visited":"magritte-link_enable-visited___Biyib_6-0-1","linkEnableVisited":"magritte-link_enable-visited___Biyib_6-0-1","link_block":"magritte-link_block___Lk0iO_6-0-1","linkBlock":"magritte-link_block___Lk0iO_6-0-1","link__icon-left":"magritte-link__icon-left___1v4WO_6-0-1","linkIconLeft":"magritte-link__icon-left___1v4WO_6-0-1","link__icon-right":"magritte-link__icon-right___VVZpb_6-0-1","linkIconRight":"magritte-link__icon-right___VVZpb_6-0-1","link_big-icon":"magritte-link_big-icon___Z485G_6-0-1","linkBigIcon":"magritte-link_big-icon___Z485G_6-0-1","link_mode_primary":"magritte-link_mode_primary___l6una_6-0-1","linkModePrimary":"magritte-link_mode_primary___l6una_6-0-1","link_style_neutral":"magritte-link_style_neutral___iqoW0_6-0-1","linkStyleNeutral":"magritte-link_style_neutral___iqoW0_6-0-1","icon-without-color":"magritte-icon-without-color___P5ivQ_6-0-1","iconWithoutColor":"magritte-icon-without-color___P5ivQ_6-0-1","link_underlined":"magritte-link_underlined___OBHqe_6-0-1","linkUnderlined":"magritte-link_underlined___OBHqe_6-0-1","link_disabled":"magritte-link_disabled___sbFrN_6-0-1","linkDisabled":"magritte-link_disabled___sbFrN_6-0-1","text":"magritte-text___tkzIl_6-0-1","link_mode_secondary":"magritte-link_mode_secondary___91WgT_6-0-1","linkModeSecondary":"magritte-link_mode_secondary___91WgT_6-0-1","link_mode_tertiary":"magritte-link_mode_tertiary___5IWmJ_6-0-1","linkModeTertiary":"magritte-link_mode_tertiary___5IWmJ_6-0-1","link_style_accent":"magritte-link_style_accent___r-MW4_6-0-1","linkStyleAccent":"magritte-link_style_accent___r-MW4_6-0-1","link_style_positive":"magritte-link_style_positive___LF2So_6-0-1","linkStylePositive":"magritte-link_style_positive___LF2So_6-0-1","link_style_negative":"magritte-link_style_negative___BFuGj_6-0-1","linkStyleNegative":"magritte-link_style_negative___BFuGj_6-0-1","link_style_warning":"magritte-link_style_warning___pYAyP_6-0-1","linkStyleWarning":"magritte-link_style_warning___pYAyP_6-0-1","link_style_contrast":"magritte-link_style_contrast___Qty1T_6-0-1","linkStyleContrast":"magritte-link_style_contrast___Qty1T_6-0-1"};
11
+ var styles = {"link":"magritte-link___b4rEM_6-0-3","link_enable-visited":"magritte-link_enable-visited___Biyib_6-0-3","linkEnableVisited":"magritte-link_enable-visited___Biyib_6-0-3","link_block":"magritte-link_block___Lk0iO_6-0-3","linkBlock":"magritte-link_block___Lk0iO_6-0-3","link__icon-left":"magritte-link__icon-left___1v4WO_6-0-3","linkIconLeft":"magritte-link__icon-left___1v4WO_6-0-3","link__icon-right":"magritte-link__icon-right___VVZpb_6-0-3","linkIconRight":"magritte-link__icon-right___VVZpb_6-0-3","link_big-icon":"magritte-link_big-icon___Z485G_6-0-3","linkBigIcon":"magritte-link_big-icon___Z485G_6-0-3","link_mode_primary":"magritte-link_mode_primary___l6una_6-0-3","linkModePrimary":"magritte-link_mode_primary___l6una_6-0-3","link_style_neutral":"magritte-link_style_neutral___iqoW0_6-0-3","linkStyleNeutral":"magritte-link_style_neutral___iqoW0_6-0-3","icon-without-color":"magritte-icon-without-color___P5ivQ_6-0-3","iconWithoutColor":"magritte-icon-without-color___P5ivQ_6-0-3","link_underlined":"magritte-link_underlined___OBHqe_6-0-3","linkUnderlined":"magritte-link_underlined___OBHqe_6-0-3","link_disabled":"magritte-link_disabled___sbFrN_6-0-3","linkDisabled":"magritte-link_disabled___sbFrN_6-0-3","text":"magritte-text___tkzIl_6-0-3","link_mode_secondary":"magritte-link_mode_secondary___91WgT_6-0-3","linkModeSecondary":"magritte-link_mode_secondary___91WgT_6-0-3","link_mode_tertiary":"magritte-link_mode_tertiary___5IWmJ_6-0-3","linkModeTertiary":"magritte-link_mode_tertiary___5IWmJ_6-0-3","link_style_accent":"magritte-link_style_accent___r-MW4_6-0-3","linkStyleAccent":"magritte-link_style_accent___r-MW4_6-0-3","link_style_positive":"magritte-link_style_positive___LF2So_6-0-3","linkStylePositive":"magritte-link_style_positive___LF2So_6-0-3","link_style_negative":"magritte-link_style_negative___BFuGj_6-0-3","linkStyleNegative":"magritte-link_style_negative___BFuGj_6-0-3","link_style_warning":"magritte-link_style_warning___pYAyP_6-0-3","linkStyleWarning":"magritte-link_style_warning___pYAyP_6-0-3","link_style_contrast":"magritte-link_style_contrast___Qty1T_6-0-3","linkStyleContrast":"magritte-link_style_contrast___Qty1T_6-0-3"};
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'];
@@ -22,10 +22,10 @@ const LinkForwardRefRenderFunc = (props, ref) => {
22
22
  // Для mode 'tertiary' доступен только style 'neutral'
23
23
  const style = mode === 'tertiary' ? 'neutral' : _style;
24
24
  const iconLeftWithColor = iconLeft &&
25
- isIconComponent(iconLeft) &&
25
+ isIconElement(iconLeft) &&
26
26
  (!!iconLeft.props.initialColor || !!iconLeft.props.highlightedColor || !!iconLeft.props.disabledColor);
27
27
  const iconRightWithColor = iconRight &&
28
- isIconComponent(iconRight) &&
28
+ isIconElement(iconRight) &&
29
29
  (!!iconRight.props.initialColor || !!iconRight.props.highlightedColor || !!iconRight.props.disabledColor);
30
30
  let additionalAttributes;
31
31
  if (Element === 'button') {
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 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 = forwardRef(LinkForwardRefRenderFunc) as PolymorphicComponentWithRef<LinkProps, 'a'>;\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, isIconElement } 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 isIconElement(iconLeft) &&\n (!!iconLeft.props.initialColor || !!iconLeft.props.highlightedColor || !!iconLeft.props.disabledColor);\n\n const iconRightWithColor =\n iconRight &&\n isIconElement(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 = forwardRef(LinkForwardRefRenderFunc) as PolymorphicComponentWithRef<LinkProps, 'a'>;\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_6-0-1","verticallyCenteredIcon":"magritte-vertically-centered-icon___Zstk8_6-0-1"};
5
+ var styles = {"vertically-centered-icon":"magritte-vertically-centered-icon___Zstk8_6-0-3","verticallyCenteredIcon":"magritte-vertically-centered-icon___Zstk8_6-0-3"};
6
6
 
7
7
  const VerticallyCenteredIcon = ({ icon, 'data-qa': dataQa }) => {
8
8
  return (jsx("span", { className: styles.verticallyCenteredIcon, children: React.cloneElement(icon, {