@hh.ru/magritte-ui-link 7.1.6 → 7.1.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"CustomElementExample.js","sources":["../src/CustomElementExample.tsx"],"sourcesContent":["import { MouseEventHandler, forwardRef } from 'react';\n\nconst CustomElementExample = forwardRef<HTMLSpanElement, { customElementTitle?: string }>(\n ({ customElementTitle, ...props }, ref) => {\n const handleClick: MouseEventHandler = () => {\n // custom follow logic\n };\n return <span title={customElementTitle} onClick={handleClick} {...props} ref={ref} />;\n }\n);\n\nCustomElementExample.displayName = 'CustomElementExample';\n\nexport default CustomElementExample;\n"],"names":["_jsx"],"mappings":";;;AAEA,MAAM,oBAAoB,GAAG,UAAU,CACnC,CAAC,EAAE,kBAAkB,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IACtC,MAAM,WAAW,GAAsB,MAAK;;AAE5C,KAAC,CAAC;AACF,IAAA,OAAOA,GAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAA,GAAM,KAAK,EAAE,GAAG,EAAE,GAAG,GAAI,CAAC;AAC1F,CAAC,EACH;AAEF,oBAAoB,CAAC,WAAW,GAAG,sBAAsB;;;;"}
1
+ {"version":3,"file":"CustomElementExample.js","sources":["src/CustomElementExample.tsx"],"sourcesContent":["import { MouseEventHandler, forwardRef } from 'react';\n\nconst CustomElementExample = forwardRef<HTMLSpanElement, { customElementTitle?: string }>(\n ({ customElementTitle, ...props }, ref) => {\n const handleClick: MouseEventHandler = () => {\n // custom follow logic\n };\n return <span title={customElementTitle} onClick={handleClick} {...props} ref={ref} />;\n }\n);\n\nCustomElementExample.displayName = 'CustomElementExample';\n\nexport default CustomElementExample;\n"],"names":["_jsx"],"mappings":";;;AAEA,MAAM,oBAAoB,GAAG,UAAU,CACnC,CAAC,EAAE,kBAAkB,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IACtC,MAAM,WAAW,GAAsB,MAAK;;AAE5C,KAAC,CAAC;AACF,IAAA,OAAOA,GAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAA,GAAM,KAAK,EAAE,GAAG,EAAE,GAAG,GAAI,CAAC;AAC1F,CAAC,EACH;AAEF,oBAAoB,CAAC,WAAW,GAAG,sBAAsB;;;;"}
package/Link.js CHANGED
@@ -8,7 +8,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_7-1-6","link_enable-visited":"magritte-link_enable-visited___Biyib_7-1-6","linkEnableVisited":"magritte-link_enable-visited___Biyib_7-1-6","link_block":"magritte-link_block___Lk0iO_7-1-6","linkBlock":"magritte-link_block___Lk0iO_7-1-6","link__icon-left":"magritte-link__icon-left___1v4WO_7-1-6","linkIconLeft":"magritte-link__icon-left___1v4WO_7-1-6","link__icon-right":"magritte-link__icon-right___VVZpb_7-1-6","linkIconRight":"magritte-link__icon-right___VVZpb_7-1-6","link_big-icon":"magritte-link_big-icon___Z485G_7-1-6","linkBigIcon":"magritte-link_big-icon___Z485G_7-1-6","link_mode_primary":"magritte-link_mode_primary___l6una_7-1-6","linkModePrimary":"magritte-link_mode_primary___l6una_7-1-6","link_style_neutral":"magritte-link_style_neutral___iqoW0_7-1-6","linkStyleNeutral":"magritte-link_style_neutral___iqoW0_7-1-6","icon-without-color":"magritte-icon-without-color___P5ivQ_7-1-6","iconWithoutColor":"magritte-icon-without-color___P5ivQ_7-1-6","link_underlined":"magritte-link_underlined___OBHqe_7-1-6","linkUnderlined":"magritte-link_underlined___OBHqe_7-1-6","link_disabled":"magritte-link_disabled___sbFrN_7-1-6","linkDisabled":"magritte-link_disabled___sbFrN_7-1-6","text":"magritte-text___tkzIl_7-1-6","link_mode_secondary":"magritte-link_mode_secondary___91WgT_7-1-6","linkModeSecondary":"magritte-link_mode_secondary___91WgT_7-1-6","link_mode_tertiary":"magritte-link_mode_tertiary___5IWmJ_7-1-6","linkModeTertiary":"magritte-link_mode_tertiary___5IWmJ_7-1-6","link_style_accent":"magritte-link_style_accent___r-MW4_7-1-6","linkStyleAccent":"magritte-link_style_accent___r-MW4_7-1-6","link_style_positive":"magritte-link_style_positive___LF2So_7-1-6","linkStylePositive":"magritte-link_style_positive___LF2So_7-1-6","link_style_negative":"magritte-link_style_negative___BFuGj_7-1-6","linkStyleNegative":"magritte-link_style_negative___BFuGj_7-1-6","link_style_warning":"magritte-link_style_warning___pYAyP_7-1-6","linkStyleWarning":"magritte-link_style_warning___pYAyP_7-1-6","link_style_constant":"magritte-link_style_constant___w9ENv_7-1-6","linkStyleConstant":"magritte-link_style_constant___w9ENv_7-1-6","link_style_special":"magritte-link_style_special___Egc8j_7-1-6","linkStyleSpecial":"magritte-link_style_special___Egc8j_7-1-6"};
11
+ var styles = {"link":"magritte-link___b4rEM_7-1-8","link_enable-visited":"magritte-link_enable-visited___Biyib_7-1-8","linkEnableVisited":"magritte-link_enable-visited___Biyib_7-1-8","link_block":"magritte-link_block___Lk0iO_7-1-8","linkBlock":"magritte-link_block___Lk0iO_7-1-8","link__icon-left":"magritte-link__icon-left___1v4WO_7-1-8","linkIconLeft":"magritte-link__icon-left___1v4WO_7-1-8","link__icon-right":"magritte-link__icon-right___VVZpb_7-1-8","linkIconRight":"magritte-link__icon-right___VVZpb_7-1-8","link_big-icon":"magritte-link_big-icon___Z485G_7-1-8","linkBigIcon":"magritte-link_big-icon___Z485G_7-1-8","link_mode_primary":"magritte-link_mode_primary___l6una_7-1-8","linkModePrimary":"magritte-link_mode_primary___l6una_7-1-8","link_style_neutral":"magritte-link_style_neutral___iqoW0_7-1-8","linkStyleNeutral":"magritte-link_style_neutral___iqoW0_7-1-8","icon-without-color":"magritte-icon-without-color___P5ivQ_7-1-8","iconWithoutColor":"magritte-icon-without-color___P5ivQ_7-1-8","link_underlined":"magritte-link_underlined___OBHqe_7-1-8","linkUnderlined":"magritte-link_underlined___OBHqe_7-1-8","link_disabled":"magritte-link_disabled___sbFrN_7-1-8","linkDisabled":"magritte-link_disabled___sbFrN_7-1-8","text":"magritte-text___tkzIl_7-1-8","link_mode_secondary":"magritte-link_mode_secondary___91WgT_7-1-8","linkModeSecondary":"magritte-link_mode_secondary___91WgT_7-1-8","link_mode_tertiary":"magritte-link_mode_tertiary___5IWmJ_7-1-8","linkModeTertiary":"magritte-link_mode_tertiary___5IWmJ_7-1-8","link_style_accent":"magritte-link_style_accent___r-MW4_7-1-8","linkStyleAccent":"magritte-link_style_accent___r-MW4_7-1-8","link_style_positive":"magritte-link_style_positive___LF2So_7-1-8","linkStylePositive":"magritte-link_style_positive___LF2So_7-1-8","link_style_negative":"magritte-link_style_negative___BFuGj_7-1-8","linkStyleNegative":"magritte-link_style_negative___BFuGj_7-1-8","link_style_warning":"magritte-link_style_warning___pYAyP_7-1-8","linkStyleWarning":"magritte-link_style_warning___pYAyP_7-1-8","link_style_constant":"magritte-link_style_constant___w9ENv_7-1-8","linkStyleConstant":"magritte-link_style_constant___w9ENv_7-1-8","link_style_special":"magritte-link_style_special___Egc8j_7-1-8","linkStyleSpecial":"magritte-link_style_special___Egc8j_7-1-8"};
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'];
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, 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 Element=\"span\">\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 Element=\"span\">\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_7-1-6","verticallyCenteredIcon":"magritte-vertically-centered-icon___Zstk8_7-1-6"};
5
+ var styles = {"vertically-centered-icon":"magritte-vertically-centered-icon___Zstk8_7-1-8","verticallyCenteredIcon":"magritte-vertically-centered-icon___Zstk8_7-1-8"};
6
6
 
7
7
  const VerticallyCenteredIcon = ({ icon, 'data-qa': dataQa }) => {
8
8
  return (jsx("span", { className: styles.verticallyCenteredIcon, children: React.cloneElement(icon, {
@@ -1 +1 @@
1
- {"version":3,"file":"VerticallyCenteredIcon.js","sources":["../src/VerticallyCenteredIcon.tsx"],"sourcesContent":["import React, { FC, ReactElement } from 'react';\n\nimport styles from './vertically-centered-icon.less';\n\ninterface VerticallyCenteredIconProps {\n icon: ReactElement;\n 'data-qa'?: string;\n}\n\nconst VerticallyCenteredIcon: FC<VerticallyCenteredIconProps> = ({ icon, 'data-qa': dataQa }) => {\n return (\n <span className={styles.verticallyCenteredIcon}>\n {React.cloneElement(icon, {\n 'data-qa': dataQa,\n })}\n </span>\n );\n};\nexport default VerticallyCenteredIcon;\n"],"names":["_jsx"],"mappings":";;;;;AASM,MAAA,sBAAsB,GAAoC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAI;AAC5F,IAAA,QACIA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,sBAAsB,EAAA,QAAA,EACzC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE;AACtB,YAAA,SAAS,EAAE,MAAM;SACpB,CAAC,EAAA,CACC,EACT;AACN;;;;"}
1
+ {"version":3,"file":"VerticallyCenteredIcon.js","sources":["src/VerticallyCenteredIcon.tsx"],"sourcesContent":["import React, { FC, ReactElement } from 'react';\n\nimport styles from './vertically-centered-icon.less';\n\ninterface VerticallyCenteredIconProps {\n icon: ReactElement;\n 'data-qa'?: string;\n}\n\nconst VerticallyCenteredIcon: FC<VerticallyCenteredIconProps> = ({ icon, 'data-qa': dataQa }) => {\n return (\n <span className={styles.verticallyCenteredIcon}>\n {React.cloneElement(icon, {\n 'data-qa': dataQa,\n })}\n </span>\n );\n};\nexport default VerticallyCenteredIcon;\n"],"names":["_jsx"],"mappings":";;;;;AASM,MAAA,sBAAsB,GAAoC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAI;AAC5F,IAAA,QACIA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,sBAAsB,EAAA,QAAA,EACzC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE;AACtB,YAAA,SAAS,EAAE,MAAM;SACpB,CAAC,EAAA,CACC,EACT;AACN;;;;"}