Skip to content
This repository has been archived by the owner on Jul 28, 2024. It is now read-only.

Commit

Permalink
[DS-40] Fix refactored data-icon in box components (#186)
Browse files Browse the repository at this point in the history
  • Loading branch information
Evgeny Zakharov committed Aug 6, 2021
1 parent abb6aa3 commit 577f38d
Show file tree
Hide file tree
Showing 10 changed files with 89 additions and 50 deletions.
26 changes: 16 additions & 10 deletions src/woly/atoms/button-icon/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@ const ButtonIconBase: React.FC<Props & Priority> = ({
type="button"
{...p}
>
<span data-icon="button-icon">{icon}</span>
<span data-element="icon" data-box-role="icon">
{icon}
</span>
</button>
);

Expand All @@ -47,7 +49,7 @@ export const ButtonIcon = styled(ButtonIconBase)`
border-radius: var(--woly-rounding);
outline: none;
[data-icon='button-icon'] {
[data-element='icon'] {
display: flex;
align-items: center;
justify-content: center;
Expand All @@ -71,10 +73,11 @@ export const ButtonIcon = styled(ButtonIconBase)`
background: var(--local-shape-color);
border-color: var(--local-shape-color);
[data-icon] > svg > path {
[data-element='icon'] > svg > path {
fill: var(--local-icon-color);
}
[data-icon] > svg > g {
[data-element='icon'] > svg > g {
stroke: var(--local-icon-color);
}
Expand Down Expand Up @@ -102,10 +105,11 @@ export const ButtonIcon = styled(ButtonIconBase)`
background: var(--local-shape-color);
border-color: var(--local-icon-color);
[data-icon] > svg > path {
[data-element='icon'] > svg > path {
fill: var(--local-icon-color);
}
[data-icon] > svg > g {
[data-element='icon'] > svg > g {
stroke: var(--local-icon-color);
}
Expand Down Expand Up @@ -138,10 +142,11 @@ export const ButtonIcon = styled(ButtonIconBase)`
border-color: var(--local-border-color);
box-shadow: var(--local-shadow);
[data-icon] > svg > path {
[data-element='icon'] > svg > path {
fill: var(--local-icon-color);
}
[data-icon] > svg > g {
[data-element='icon'] > svg > g {
stroke: var(--local-icon-color);
}
Expand Down Expand Up @@ -172,10 +177,11 @@ export const ButtonIcon = styled(ButtonIconBase)`
background: var(--local-shape-color);
border-color: var(--local-border-color);
[data-icon] > svg > path {
[data-element='icon'] > svg > path {
fill: var(--local-icon-color);
}
[data-icon] > svg > g {
[data-element='icon'] > svg > g {
stroke: var(--local-icon-color);
}
Expand Down
9 changes: 7 additions & 2 deletions src/woly/atoms/button/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,18 @@ const ButtonBase: React.FC<ButtonProps & Priority> = ({
data-priority={priority}
{...p}
>
{icon && <span data-icon="button">{icon}</span>}
{icon && (
<span data-element="icon" data-box-role="icon">
{icon}
</span>
)}
<span data-element="text">{text}</span>
</button>
);

export const Button = styled(ButtonBase)`
${box}
--local-text-color: var(--woly-shape-text-default);
--local-shape-color: var(--woly-shape-default);
--local-border-color: var(--woly-shape-default);
Expand Down Expand Up @@ -80,7 +85,7 @@ export const Button = styled(ButtonBase)`
width: 100%;
}
[data-icon='button'] {
[data-element='icon'] {
--local-icon-size: var(--woly-line-height);
display: flex;
align-items: center;
Expand Down
15 changes: 10 additions & 5 deletions src/woly/atoms/chip/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ const ChipBase: React.FC<ChipProps & Priority> = ({
data-priority={priority}
>
{leftIcon && (
<div data-icon="chip-visual-block" onClick={onClick} onKeyDown={onKeyDown}>
<div data-element="icon" data-box-role="icon" onClick={onClick} onKeyDown={onKeyDown}>
{leftIcon}
</div>
)}
Expand All @@ -55,7 +55,11 @@ const ChipBase: React.FC<ChipProps & Priority> = ({
>
{text}
</div>
{rightIcon && <div data-icon="chip-action-block">{rightIcon}</div>}
{rightIcon && (
<div data-element="action-icon" data-box-role="icon">
{rightIcon}
</div>
)}
</div>
);
};
Expand Down Expand Up @@ -89,7 +93,7 @@ export const Chip = styled(ChipBase)`
outline: none;
}
[data-icon='chip-visual-block'] {
[data-element='icon'] {
display: flex;
flex-shrink: 0;
align-items: center;
Expand All @@ -106,17 +110,18 @@ export const Chip = styled(ChipBase)`
}
}
[data-icon='chip-action-block'] {
[data-element='action-icon'] {
--woly-component-level: 0;
}
&[data-outlined='true'] {
--local-shape-color: transparent;
--local-text-color: var(--woly-shape-default);
[data-icon='chip-visual-block'] > svg > path {
[data-element='icon'] > svg > path {
fill: var(--woly-shape-default);
}
&:hover {
--local-shape-color: transparent;
--local-text-color: var(--woly-shape-hover);
Expand Down
15 changes: 9 additions & 6 deletions src/woly/atoms/icon-box/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,15 @@ const IconBoxBase: React.FC<IconBoxProps & Priority> = ({
weight = 'transparent',
}) => (
<div className={className} data-weight={weight} data-priority={priority}>
<span data-icon="icon-component">{children}</span>
<span data-element="icon-component" data-box-role="icon">
{children}
</span>
</div>
);

export const IconBox = styled(IconBoxBase)`
${box}
--local-icon-size: var(--woly-line-height);
display: flex;
Expand All @@ -38,7 +41,7 @@ export const IconBox = styled(IconBoxBase)`
border-radius: var(--woly-rounding);
outline: none;
[data-element='icon'] {
[data-element='icon-component'] {
display: flex;
flex-shrink: 0;
align-items: center;
Expand All @@ -60,7 +63,7 @@ export const IconBox = styled(IconBoxBase)`
background-color: var(--local-shape-color);
border-color: var(--local-border-color);
[data-icon='icon-component'] > svg > path {
[data-element='icon-component'] > svg > path {
fill: var(--local-fill-color);
}
}
Expand All @@ -73,7 +76,7 @@ export const IconBox = styled(IconBoxBase)`
background-color: var(--local-shape-color);
border-color: var(--local-border-color);
[data-icon='icon-component'] > svg > path {
[data-element='icon-component'] > svg > path {
fill: var(--local-fill-color);
}
}
Expand All @@ -86,7 +89,7 @@ export const IconBox = styled(IconBoxBase)`
background-color: var(--local-shape-color);
border-color: var(--local-border-color);
[data-icon='icon-component'] > svg > path {
[data-element='icon-component'] > svg > path {
fill: var(--local-fill-color);
}
}
Expand All @@ -99,7 +102,7 @@ export const IconBox = styled(IconBoxBase)`
background-color: var(--local-shape-color);
border-color: var(--local-border-color);
[data-icon='icon-component'] > svg > path {
[data-element='icon-component'] > svg > path {
fill: var(--local-fill-color);
}
}
Expand Down
6 changes: 3 additions & 3 deletions src/woly/elements/box/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,19 @@ export const box = css`
padding: var(--local-vertical) var(--local-horizontal);
}
& > [data-icon]:only-child {
& > [data-box-role='icon']:only-child {
padding: var(--local-vertical);
}
& > [data-icon]:first-child:not(:only-child) {
& > [data-box-role='icon']:first-child:not(:only-child) {
padding-right: 0;
padding-left: var(--local-compensate);
}
& > :not(:first-child) {
padding-left: var(--local-gap);
}
& > [data-icon]:last-child:not(:only-child) {
& > [data-box-role='icon']:last-child:not(:only-child) {
padding-right: var(--local-vertical);
padding-left: 0;
}
Expand Down
10 changes: 7 additions & 3 deletions src/woly/elements/input-container/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,14 @@ const InputContainerBase: React.FC<InputContainerProps & Priority> = ({
data-disabled={disabled}
data-priority={priority}
>
{leftIcon && <span data-icon="input">{leftIcon}</span>}
{leftIcon && (
<span data-element="icon" data-box-role="icon">
{leftIcon}
</span>
)}
<div data-element="input">{children}</div>
{rightIcon && (
<span {...levelDowngrade.use({ diff: 2 })} data-icon="input">
<span {...levelDowngrade.use({ diff: 2 })} data-element="icon" data-box-role="icon">
{rightIcon}
</span>
)}
Expand Down Expand Up @@ -64,7 +68,7 @@ export const InputContainer = styled(InputContainerBase)`
}
}
[data-icon='input'] {
[data-element='icon'] {
display: flex;
align-items: center;
justify-content: center;
Expand Down
2 changes: 1 addition & 1 deletion src/woly/molecules/checkbox/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ const CheckboxBase: React.FC<CheckboxProps & Priority> = ({
tabIndex={tabIndex}
>
<span data-element="container" data-disabled={disabled} tabIndex={-1}>
<span data-icon="checkbox">
<span data-element="icon">
<input type="checkbox" id={id} checked={checked} onChange={onChange} />
<span data-unchecked>
<IconFilledUnchecked />
Expand Down
12 changes: 7 additions & 5 deletions src/woly/molecules/select/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,9 @@ export const SelectBase: React.FC<SelectProps & Priority> = ({
>
<div data-selected={true}>
<div data-element="text">{select}</div>
<span data-icon={isOpen}>{icon}</span>
<div data-box-role="icon">
<span data-element="icon">{icon}</span>
</div>
</div>
{/* В дальнейшем использовать Popover и List для создания выпадающего списка элементов */}
<ul
Expand Down Expand Up @@ -141,10 +143,6 @@ export const Select = styled(SelectBase)`
}
}
[data-icon='true'] {
transform: rotate(180deg);
}
[data-element='icon'] {
display: flex;
flex-shrink: 1;
Expand All @@ -162,6 +160,10 @@ export const Select = styled(SelectBase)`
}
}
&[data-open='true'] [data-element='icon'] {
transform: rotate(180deg);
}
ul {
position: absolute;
z-index: 1;
Expand Down
20 changes: 15 additions & 5 deletions src/woly/molecules/tabs/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import * as React from 'react';
import styled, { StyledComponent } from 'styled-components';
import { Priority } from 'lib/types';
import { box } from 'ui/elements/box';

interface TabElementProps {
iconLeft?: React.ReactNode;
iconAction?: React.ReactNode;
Expand Down Expand Up @@ -60,9 +61,17 @@ const TabBase: React.FC<TabProps & TabElementProps & Priority> = ({
onClick={onClick}
tabIndex={0}
>
{iconLeft && <span data-icon="link-icon">{iconLeft}</span>}
{iconLeft && (
<span data-element="link-icon" data-box-role="icon">
{iconLeft}
</span>
)}
<span data-element="link-text">{text}</span>
{iconAction && <span data-icon="tab-action">{iconAction}</span>}
{iconAction && (
<span data-element="action-icon" data-box-role="icon">
{iconAction}
</span>
)}
</div>
);

Expand Down Expand Up @@ -103,7 +112,8 @@ export const Tab = styled(TabBase)`
text-align: center;
}
[data-icon] {
[data-element='link-icon'],
[data-element='action-icon'] {
--woly-component-level: 0;
display: flex;
Expand Down Expand Up @@ -167,7 +177,7 @@ export const Tab = styled(TabBase)`
background: var(--local-background);
border-right-color: var(--local-border-color);
[data-icon='link-icon'] > svg > path {
[data-element='link-icon'] > svg > path {
fill: var(--local-text-color);
}
Expand Down Expand Up @@ -215,7 +225,7 @@ export const Tab = styled(TabBase)`
background-color: var(--local-background);
}
[data-icon='link-icon'] > svg > path {
[data-element='link-icon'] > svg > path {
fill: var(--local-text-color);
}
Expand Down
Loading

0 comments on commit 577f38d

Please sign in to comment.