@snack-uikit/link 0.17.16-preview-d1ce0cc3.0 → 0.17.17
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 +19 -0
- package/README.md +10 -1
- package/dist/cjs/components/styles.module.css +15 -15
- package/dist/esm/components/styles.module.css +15 -15
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,25 @@
|
|
|
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
|
+
## <small>0.17.17 (2026-02-18)</small>
|
|
7
|
+
|
|
8
|
+
### Only dependencies have been changed
|
|
9
|
+
* [@snack-uikit/truncate-string@0.7.8]($PUBLIC_PROJECT_URL/blob/master/packages/truncate-string/CHANGELOG.md)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## <small>0.17.16 (2026-01-19)</small>
|
|
16
|
+
|
|
17
|
+
* chore(FF-6693): migrate tests from TestCafe to Playwright ([f32aff8](https://github.com/cloud-ru-tech/snack-uikit/commit/f32aff8))
|
|
18
|
+
* chore(FF-6693): tune test configs ([d194f4d](https://github.com/cloud-ru-tech/snack-uikit/commit/d194f4d))
|
|
19
|
+
* docs(FF-7788): readme update ([e3142b8](https://github.com/cloud-ru-tech/snack-uikit/commit/e3142b8))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
6
25
|
## <small>0.17.15 (2025-11-28)</small>
|
|
7
26
|
|
|
8
27
|
### Only dependencies have been changed
|
package/README.md
CHANGED
|
@@ -6,7 +6,16 @@
|
|
|
6
6
|
|
|
7
7
|
[Changelog](./CHANGELOG.md)
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Description
|
|
10
|
+
|
|
11
|
+
- Компонент `Link` предоставляет стилизованную ссылку с гибкими настройками внешнего вида и поведения.
|
|
12
|
+
- Поддерживает **разные размеры** (`size: 's' | 'm' | 'l'`) и **роли текста** (`purpose: 'display' | 'headline' | 'title' | 'label' | 'body'`) для адаптации под различные контексты использования.
|
|
13
|
+
- Позволяет выбрать **внешний вид** (`appearance`) из широкой палитры цветов (neutral, primary, red, orange, yellow, green, blue, violet, pink, invert-neutral) для размещения на разных фонах.
|
|
14
|
+
- Поддерживает **режимы отображения текста** (`textMode: 'default' | 'accent' | 'on-accent'`) для корректной читаемости на цветных поверхностях.
|
|
15
|
+
- Может использоваться **внутри текста** (`insideText={true}`) с поддержкой переносов или как отдельный элемент с обрезанием длинного текста (`truncateVariant: 'end' | 'middle'`).
|
|
16
|
+
- Является **полиморфным компонентом** (`as`), позволяя оформить любой React-компонент или HTML-элемент в стиль ссылки (например, для интеграции с роутерами вроде `react-router-dom`).
|
|
17
|
+
- Автоматически добавляет атрибут `rel="noopener noreferrer"` при открытии ссылки в новой вкладке (`target="_blank"`) для безопасности.
|
|
18
|
+
- Figma: [`Link`](https://www.figma.com/file/jtGxAPvFJOMir7V0eQFukN/Snack-UI-Kit-1.1.0?node-id=2%3A9&mode=design).
|
|
10
19
|
|
|
11
20
|
## Example
|
|
12
21
|
|
|
@@ -422,11 +422,6 @@
|
|
|
422
422
|
opacity:var(--opacity-a080, 0.8);
|
|
423
423
|
outline-color:var(--sys-available-on-complementary, #ffffff);
|
|
424
424
|
}
|
|
425
|
-
.link[data-size=s]{
|
|
426
|
-
height:var(--size-link-s, 16px);
|
|
427
|
-
gap:var(--space-link-gap-single, 0px);
|
|
428
|
-
height:auto;
|
|
429
|
-
}
|
|
430
425
|
.link[data-size=s][data-purpose=display][data-text-mode=default]{
|
|
431
426
|
font-family:var(--sans-display-s-font-family, SB Sans Interface);
|
|
432
427
|
font-weight:var(--sans-display-s-font-weight, Semibold);
|
|
@@ -567,15 +562,15 @@
|
|
|
567
562
|
-webkit-text-decoration:var(--link-body-s-text-decoration, underline);
|
|
568
563
|
text-decoration:var(--link-body-s-text-decoration, underline);
|
|
569
564
|
}
|
|
565
|
+
.link[data-size=s]{
|
|
566
|
+
height:var(--size-link-s, 16px);
|
|
567
|
+
gap:var(--space-link-gap-single, 0px);
|
|
568
|
+
height:auto;
|
|
569
|
+
}
|
|
570
570
|
.link[data-size=s] svg{
|
|
571
571
|
width:var(--size-icon-container-xs, 16px) !important;
|
|
572
572
|
height:var(--size-icon-container-xs, 16px) !important;
|
|
573
573
|
}
|
|
574
|
-
.link[data-size=m]{
|
|
575
|
-
height:var(--size-link-m, 20px);
|
|
576
|
-
gap:var(--space-link-gap-single, 0px);
|
|
577
|
-
height:auto;
|
|
578
|
-
}
|
|
579
574
|
.link[data-size=m][data-purpose=display][data-text-mode=default]{
|
|
580
575
|
font-family:var(--sans-display-m-font-family, SB Sans Interface);
|
|
581
576
|
font-weight:var(--sans-display-m-font-weight, Semibold);
|
|
@@ -716,15 +711,15 @@
|
|
|
716
711
|
-webkit-text-decoration:var(--link-body-m-text-decoration, underline);
|
|
717
712
|
text-decoration:var(--link-body-m-text-decoration, underline);
|
|
718
713
|
}
|
|
714
|
+
.link[data-size=m]{
|
|
715
|
+
height:var(--size-link-m, 20px);
|
|
716
|
+
gap:var(--space-link-gap-single, 0px);
|
|
717
|
+
height:auto;
|
|
718
|
+
}
|
|
719
719
|
.link[data-size=m] svg{
|
|
720
720
|
width:var(--size-icon-container-s, 24px) !important;
|
|
721
721
|
height:var(--size-icon-container-s, 24px) !important;
|
|
722
722
|
}
|
|
723
|
-
.link[data-size=l]{
|
|
724
|
-
height:var(--size-link-l, 24px);
|
|
725
|
-
gap:var(--space-link-gap-single, 0px);
|
|
726
|
-
height:auto;
|
|
727
|
-
}
|
|
728
723
|
.link[data-size=l][data-purpose=display][data-text-mode=default]{
|
|
729
724
|
font-family:var(--sans-display-l-font-family, SB Sans Interface);
|
|
730
725
|
font-weight:var(--sans-display-l-font-weight, Bold);
|
|
@@ -865,6 +860,11 @@
|
|
|
865
860
|
-webkit-text-decoration:var(--link-body-l-text-decoration, underline);
|
|
866
861
|
text-decoration:var(--link-body-l-text-decoration, underline);
|
|
867
862
|
}
|
|
863
|
+
.link[data-size=l]{
|
|
864
|
+
height:var(--size-link-l, 24px);
|
|
865
|
+
gap:var(--space-link-gap-single, 0px);
|
|
866
|
+
height:auto;
|
|
867
|
+
}
|
|
868
868
|
.link[data-size=l] svg{
|
|
869
869
|
width:var(--size-icon-container-s, 24px) !important;
|
|
870
870
|
height:var(--size-icon-container-s, 24px) !important;
|
|
@@ -422,11 +422,6 @@
|
|
|
422
422
|
opacity:var(--opacity-a080, 0.8);
|
|
423
423
|
outline-color:var(--sys-available-on-complementary, #ffffff);
|
|
424
424
|
}
|
|
425
|
-
.link[data-size=s]{
|
|
426
|
-
height:var(--size-link-s, 16px);
|
|
427
|
-
gap:var(--space-link-gap-single, 0px);
|
|
428
|
-
height:auto;
|
|
429
|
-
}
|
|
430
425
|
.link[data-size=s][data-purpose=display][data-text-mode=default]{
|
|
431
426
|
font-family:var(--sans-display-s-font-family, SB Sans Interface);
|
|
432
427
|
font-weight:var(--sans-display-s-font-weight, Semibold);
|
|
@@ -567,15 +562,15 @@
|
|
|
567
562
|
-webkit-text-decoration:var(--link-body-s-text-decoration, underline);
|
|
568
563
|
text-decoration:var(--link-body-s-text-decoration, underline);
|
|
569
564
|
}
|
|
565
|
+
.link[data-size=s]{
|
|
566
|
+
height:var(--size-link-s, 16px);
|
|
567
|
+
gap:var(--space-link-gap-single, 0px);
|
|
568
|
+
height:auto;
|
|
569
|
+
}
|
|
570
570
|
.link[data-size=s] svg{
|
|
571
571
|
width:var(--size-icon-container-xs, 16px) !important;
|
|
572
572
|
height:var(--size-icon-container-xs, 16px) !important;
|
|
573
573
|
}
|
|
574
|
-
.link[data-size=m]{
|
|
575
|
-
height:var(--size-link-m, 20px);
|
|
576
|
-
gap:var(--space-link-gap-single, 0px);
|
|
577
|
-
height:auto;
|
|
578
|
-
}
|
|
579
574
|
.link[data-size=m][data-purpose=display][data-text-mode=default]{
|
|
580
575
|
font-family:var(--sans-display-m-font-family, SB Sans Interface);
|
|
581
576
|
font-weight:var(--sans-display-m-font-weight, Semibold);
|
|
@@ -716,15 +711,15 @@
|
|
|
716
711
|
-webkit-text-decoration:var(--link-body-m-text-decoration, underline);
|
|
717
712
|
text-decoration:var(--link-body-m-text-decoration, underline);
|
|
718
713
|
}
|
|
714
|
+
.link[data-size=m]{
|
|
715
|
+
height:var(--size-link-m, 20px);
|
|
716
|
+
gap:var(--space-link-gap-single, 0px);
|
|
717
|
+
height:auto;
|
|
718
|
+
}
|
|
719
719
|
.link[data-size=m] svg{
|
|
720
720
|
width:var(--size-icon-container-s, 24px) !important;
|
|
721
721
|
height:var(--size-icon-container-s, 24px) !important;
|
|
722
722
|
}
|
|
723
|
-
.link[data-size=l]{
|
|
724
|
-
height:var(--size-link-l, 24px);
|
|
725
|
-
gap:var(--space-link-gap-single, 0px);
|
|
726
|
-
height:auto;
|
|
727
|
-
}
|
|
728
723
|
.link[data-size=l][data-purpose=display][data-text-mode=default]{
|
|
729
724
|
font-family:var(--sans-display-l-font-family, SB Sans Interface);
|
|
730
725
|
font-weight:var(--sans-display-l-font-weight, Bold);
|
|
@@ -865,6 +860,11 @@
|
|
|
865
860
|
-webkit-text-decoration:var(--link-body-l-text-decoration, underline);
|
|
866
861
|
text-decoration:var(--link-body-l-text-decoration, underline);
|
|
867
862
|
}
|
|
863
|
+
.link[data-size=l]{
|
|
864
|
+
height:var(--size-link-l, 24px);
|
|
865
|
+
gap:var(--space-link-gap-single, 0px);
|
|
866
|
+
height:auto;
|
|
867
|
+
}
|
|
868
868
|
.link[data-size=l] svg{
|
|
869
869
|
width:var(--size-icon-container-s, 24px) !important;
|
|
870
870
|
height:var(--size-icon-container-s, 24px) !important;
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"title": "Link",
|
|
7
|
-
"version": "0.17.
|
|
7
|
+
"version": "0.17.17",
|
|
8
8
|
"sideEffects": [
|
|
9
9
|
"*.css",
|
|
10
10
|
"*.woff",
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
"license": "Apache-2.0",
|
|
37
37
|
"scripts": {},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@snack-uikit/truncate-string": "0.7.
|
|
40
|
-
"@snack-uikit/utils": "4.0.
|
|
39
|
+
"@snack-uikit/truncate-string": "0.7.8",
|
|
40
|
+
"@snack-uikit/utils": "4.0.1",
|
|
41
41
|
"classnames": "2.5.1"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "17b72086167d3d6503e4e74142358765230478c8"
|
|
44
44
|
}
|