Skip to content

Commit

Permalink
fix(Link): rm margin from icon (#7579)
Browse files Browse the repository at this point in the history
h2. Описание

Удаляем `margin`, т.к.:
- сейчас расчёт такой, что иконка всегда после текста, а она может быть перед текстом;
- обычный пробел сам по себе и так компенсирует отступ, чтобы текст и иконка не слипались;
- по прошедшим e2e тестам видно, что `margin` не нужен.

h2. Изменения

Заменил в доках обычный пробел на `&npsp;`, т.к. логичнее использовать его, чтобы иконка не переносилась без текста.

h2. Скриншот

<img width="707" alt="image" src="https://github.com/VKCOM/VKUI/assets/5850354/e904297a-cc8b-4c86-a826-85fd5df699f7">


h2. Release notes

h2. Исправления

- Link: из CSS удалён зашитый отступ справа в `4px`, который выставлялся иконке. Был расчёт, что иконка всегда справа, но она может быть и слева, в этом раскладе появлялся ненужный отступ слева. Было решено отдать пользователю управлять отступами. Поэтому, если вам требуется отступ, используйте неразрывный пробел:
  либо через HTML-код `&nbsp;`,
  ```diff
  <Link href="https://google.com" target="_blank">
  -  https://google.com <Icon24ExternalLinkOutline width={16} height={16} />
  +  https://google.com&nbsp;<Icon24ExternalLinkOutline width={16} height={16} />
  </Link>
  ```
  либо через сочетания клавиш _⌥ + ␣_ (на **MacOS**).
  • Loading branch information
inomdzhon authored Sep 16, 2024
1 parent f37d428 commit 314d051
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 7 deletions.
4 changes: 3 additions & 1 deletion packages/vkui/src/components/Link/Link.e2e-playground.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { Icon24ExternalLinkOutline } from '@vkontakte/icons';
import { ComponentPlayground, type ComponentPlaygroundProps } from '@vkui-e2e/playground-helpers';
import { Link, type LinkProps } from './Link';

Expand All @@ -7,7 +8,8 @@ export const LinkFocusVisiblePlayground = (props: ComponentPlaygroundProps) => (
<div style={{ width: 300, padding: 10 }}>
Нажимая «Продолжить», вы принимаете{' '}
<Link href="#" {...props}>
пользовательское соглашение
пользовательское соглашение&nbsp;
<Icon24ExternalLinkOutline width={16} height={16} />
</Link>
...
</div>
Expand Down
1 change: 0 additions & 1 deletion packages/vkui/src/components/Link/Link.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@

/* stylelint-disable-next-line selector-pseudo-class-disallowed-list */
.Link :global(.vkuiIcon) {
margin-inline-start: 4px;
display: inline-block;
vertical-align: middle;
}
3 changes: 2 additions & 1 deletion packages/vkui/src/components/Link/Link.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ export const WithIcon: Story = {
target: '_blank',
children: (
<>
https://google.com <Icon24ExternalLinkOutline width={16} height={16} />
https://google.com&nbsp;
<Icon24ExternalLinkOutline width={16} height={16} />
</>
),
},
Expand Down
5 changes: 3 additions & 2 deletions packages/vkui/src/components/Link/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,14 @@
<Spacing size={24} />

<Link href="https://google.com" target="_blank">
https://google.com <Icon24ExternalLinkOutline width={16} height={16} />
https://google.com&nbsp;
<Icon24ExternalLinkOutline width={16} height={16} />
</Link>

<Spacing size={24} />

<div style={{ width: 304 }}>
Нажимая «Продолжить», вы принимаете <Link href="#">пользовательское соглашение</Link> и{' '}
Нажимая «Продолжить», вы принимаете&nbsp;<Link href="#">пользовательское соглашение</Link> и{' '}
<Link href="#">политику конфиденциальности</Link>.
</div>

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 314d051

Please sign in to comment.