@snack-uikit/link 0.12.4 → 0.13.0
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/CHANGELOG.md +11 -0
- package/README.md +0 -12
- package/dist/components/Link.d.ts +1 -3
- package/dist/components/Link.js +3 -4
- package/package.json +2 -3
- package/src/components/Link.tsx +0 -6
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# 0.13.0 (2024-08-02)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### BREAKING CHANGES
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
* **PDS-349:** link property external deleted ([fe15016](https://github.com/cloud-ru-tech/snack-uikit/commit/fe150162c9a6bdec5d43dabe1e1a8296ddbe0cd4))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## 0.12.4 (2024-07-19)
|
|
7
18
|
|
|
8
19
|
### Only dependencies have been changed
|
package/README.md
CHANGED
|
@@ -29,18 +29,6 @@ import { Link } from '@snack-uikit/link';
|
|
|
29
29
|
### Props
|
|
30
30
|
| name | type | default value | description |
|
|
31
31
|
|------|------|---------------|-------------|
|
|
32
|
-
| text | `string` | - | Текст ссылки |
|
|
33
|
-
| className | `string` | - | CSS-класс |
|
|
34
|
-
| href | `string` | # | Ссылка |
|
|
35
|
-
| target | `HTMLAttributeAnchorTarget` | _blank | HTML-атрибут target |
|
|
36
|
-
| download | `string` | - | HTML-атрибут download |
|
|
37
|
-
| onClick | `MouseEventHandler<HTMLAnchorElement>` | - | Колбек обработки клика |
|
|
38
|
-
| size | enum Size: `"s"`, `"m"`, `"l"` | s | Размер |
|
|
39
|
-
| external | `boolean` | - | Ведет ли ссылка на внешний ресурс (добавляет иконку если true) |
|
|
40
|
-
| appearance | enum Appearance: `"invert-neutral"`, `"neutral"`, `"primary"`, `"red"`, `"orange"`, `"yellow"`, `"green"`, `"blue"`, `"violet"`, `"pink"` | primary | Стилизует ссылку для размещения на цветном фоне |
|
|
41
|
-
| textMode | enum TextMode: `"default"`, `"accent"`, `"on-accent"` | default | Тип поверхности, на которой размещена ссылка |
|
|
42
|
-
| insideText | `boolean` | - | Находится ли ссылка внутри текста (и можно ли её переносить) |
|
|
43
|
-
| truncateVariant | "end" \| "middle" | - | Вариант обрезания строки: <br> - `end` - с конца; <br> - `middle` - по середине |
|
|
44
32
|
|
|
45
33
|
|
|
46
34
|
[//]: DOCUMENTATION_SECTION_END
|
|
@@ -19,8 +19,6 @@ export type LinkProps = WithSupportProps<{
|
|
|
19
19
|
* @default 's'
|
|
20
20
|
*/
|
|
21
21
|
size?: Size;
|
|
22
|
-
/** Ведет ли ссылка на внешний ресурс (добавляет иконку если true) */
|
|
23
|
-
external?: boolean;
|
|
24
22
|
/** Стилизует ссылку для размещения на цветном фоне
|
|
25
23
|
* @default 'primary'
|
|
26
24
|
*/
|
|
@@ -39,4 +37,4 @@ export type LinkProps = WithSupportProps<{
|
|
|
39
37
|
truncateVariant?: TruncateStringProps['variant'];
|
|
40
38
|
}>;
|
|
41
39
|
/** Компонент ссылка */
|
|
42
|
-
export declare function Link({ text, className, href, target, download, onClick, textMode, size,
|
|
40
|
+
export declare function Link({ text, className, href, target, download, onClick, textMode, size, appearance, insideText, truncateVariant, ...rest }: LinkProps): import("react/jsx-runtime").JSX.Element;
|
package/dist/components/Link.js
CHANGED
|
@@ -9,15 +9,14 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
9
9
|
}
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
|
-
import { jsx as _jsx
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
13
|
import cn from 'classnames';
|
|
14
|
-
import { ArrowLinksSVG } from '@snack-uikit/icons';
|
|
15
14
|
import { TruncateString } from '@snack-uikit/truncate-string';
|
|
16
15
|
import { extractSupportProps } from '@snack-uikit/utils';
|
|
17
16
|
import { APPEARANCE, SIZE, TEXT_MODE } from './constants';
|
|
18
17
|
import styles from './styles.module.css';
|
|
19
18
|
/** Компонент ссылка */
|
|
20
19
|
export function Link(_a) {
|
|
21
|
-
var { text = '', className, href = '#', target = '_blank', download, onClick, textMode = TEXT_MODE.Default, size = SIZE.S,
|
|
22
|
-
return (
|
|
20
|
+
var { text = '', className, href = '#', target = '_blank', download, onClick, textMode = TEXT_MODE.Default, size = SIZE.S, appearance = APPEARANCE.Primary, insideText = false, truncateVariant } = _a, rest = __rest(_a, ["text", "className", "href", "target", "download", "onClick", "textMode", "size", "appearance", "insideText", "truncateVariant"]);
|
|
21
|
+
return (_jsx("a", Object.assign({ className: cn(styles.link, className), href: href, target: target, download: download, onClick: onClick }, extractSupportProps(rest), { "data-size": size, "data-text-mode": textMode, "data-appearance": appearance, "data-inside-text": insideText || undefined, rel: target === '_blank' ? 'noopener noreferrer' : undefined, children: insideText ? text : _jsx(TruncateString, { text: text, maxLines: 1, variant: truncateVariant }) })));
|
|
23
22
|
}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"title": "Link",
|
|
7
|
-
"version": "0.
|
|
7
|
+
"version": "0.13.0",
|
|
8
8
|
"sideEffects": [
|
|
9
9
|
"*.css",
|
|
10
10
|
"*.woff",
|
|
@@ -32,10 +32,9 @@
|
|
|
32
32
|
"license": "Apache-2.0",
|
|
33
33
|
"scripts": {},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@snack-uikit/icons": "0.22.0",
|
|
36
35
|
"@snack-uikit/truncate-string": "0.4.20",
|
|
37
36
|
"@snack-uikit/utils": "3.3.0",
|
|
38
37
|
"classnames": "2.3.2"
|
|
39
38
|
},
|
|
40
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "86e5b8fc3a6235eddccf75485b6e989b6baf9a86"
|
|
41
40
|
}
|
package/src/components/Link.tsx
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import cn from 'classnames';
|
|
2
2
|
import { AnchorHTMLAttributes, MouseEventHandler } from 'react';
|
|
3
3
|
|
|
4
|
-
import { ArrowLinksSVG } from '@snack-uikit/icons';
|
|
5
4
|
import { TruncateString, TruncateStringProps } from '@snack-uikit/truncate-string';
|
|
6
5
|
import { extractSupportProps, WithSupportProps } from '@snack-uikit/utils';
|
|
7
6
|
|
|
@@ -26,8 +25,6 @@ export type LinkProps = WithSupportProps<{
|
|
|
26
25
|
* @default 's'
|
|
27
26
|
*/
|
|
28
27
|
size?: Size;
|
|
29
|
-
/** Ведет ли ссылка на внешний ресурс (добавляет иконку если true) */
|
|
30
|
-
external?: boolean;
|
|
31
28
|
/** Стилизует ссылку для размещения на цветном фоне
|
|
32
29
|
* @default 'primary'
|
|
33
30
|
*/
|
|
@@ -56,7 +53,6 @@ export function Link({
|
|
|
56
53
|
onClick,
|
|
57
54
|
textMode = TEXT_MODE.Default,
|
|
58
55
|
size = SIZE.S,
|
|
59
|
-
external,
|
|
60
56
|
appearance = APPEARANCE.Primary,
|
|
61
57
|
insideText = false,
|
|
62
58
|
truncateVariant,
|
|
@@ -77,8 +73,6 @@ export function Link({
|
|
|
77
73
|
rel={target === '_blank' ? 'noopener noreferrer' : undefined}
|
|
78
74
|
>
|
|
79
75
|
{insideText ? text : <TruncateString text={text} maxLines={1} variant={truncateVariant} />}
|
|
80
|
-
|
|
81
|
-
{external && <ArrowLinksSVG data-test-id='link__external-icon' className={styles.icon} />}
|
|
82
76
|
</a>
|
|
83
77
|
);
|
|
84
78
|
}
|