diff --git a/src/woly/atoms/button-icon/index.tsx b/src/woly/atoms/button-icon/index.tsx index 779ac909..90bf383a 100644 --- a/src/woly/atoms/button-icon/index.tsx +++ b/src/woly/atoms/button-icon/index.tsx @@ -25,7 +25,9 @@ const ButtonIconBase: React.FC = ({ type="button" {...p} > - {icon} + + {icon} + ); @@ -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; @@ -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); } @@ -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); } @@ -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); } @@ -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); } diff --git a/src/woly/atoms/button/index.tsx b/src/woly/atoms/button/index.tsx index 076d0a35..ce34f870 100644 --- a/src/woly/atoms/button/index.tsx +++ b/src/woly/atoms/button/index.tsx @@ -39,13 +39,18 @@ const ButtonBase: React.FC = ({ data-priority={priority} {...p} > - {icon && {icon}} + {icon && ( + + {icon} + + )} {text} ); 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); @@ -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; diff --git a/src/woly/atoms/chip/index.tsx b/src/woly/atoms/chip/index.tsx index 00524ba8..a3880bae 100644 --- a/src/woly/atoms/chip/index.tsx +++ b/src/woly/atoms/chip/index.tsx @@ -42,7 +42,7 @@ const ChipBase: React.FC = ({ data-priority={priority} > {leftIcon && ( -
+
{leftIcon}
)} @@ -55,7 +55,11 @@ const ChipBase: React.FC = ({ > {text}
- {rightIcon &&
{rightIcon}
} + {rightIcon && ( +
+ {rightIcon} +
+ )} ); }; @@ -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; @@ -106,7 +110,7 @@ export const Chip = styled(ChipBase)` } } - [data-icon='chip-action-block'] { + [data-element='action-icon'] { --woly-component-level: 0; } @@ -114,9 +118,10 @@ export const Chip = styled(ChipBase)` --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); diff --git a/src/woly/atoms/icon-box/index.tsx b/src/woly/atoms/icon-box/index.tsx index fc39d02a..5b08073c 100644 --- a/src/woly/atoms/icon-box/index.tsx +++ b/src/woly/atoms/icon-box/index.tsx @@ -16,12 +16,15 @@ const IconBoxBase: React.FC = ({ weight = 'transparent', }) => (
- {children} + + {children} +
); export const IconBox = styled(IconBoxBase)` ${box} + --local-icon-size: var(--woly-line-height); display: flex; @@ -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; @@ -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); } } @@ -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); } } @@ -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); } } @@ -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); } } diff --git a/src/woly/elements/box/index.tsx b/src/woly/elements/box/index.tsx index 3b80f061..21f08a62 100644 --- a/src/woly/elements/box/index.tsx +++ b/src/woly/elements/box/index.tsx @@ -15,11 +15,11 @@ 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); } @@ -27,7 +27,7 @@ export const box = css` & > :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; } diff --git a/src/woly/elements/input-container/index.tsx b/src/woly/elements/input-container/index.tsx index ae7a098f..4e851ca7 100644 --- a/src/woly/elements/input-container/index.tsx +++ b/src/woly/elements/input-container/index.tsx @@ -26,10 +26,14 @@ const InputContainerBase: React.FC = ({ data-disabled={disabled} data-priority={priority} > - {leftIcon && {leftIcon}} + {leftIcon && ( + + {leftIcon} + + )}
{children}
{rightIcon && ( - + {rightIcon} )} @@ -64,7 +68,7 @@ export const InputContainer = styled(InputContainerBase)` } } - [data-icon='input'] { + [data-element='icon'] { display: flex; align-items: center; justify-content: center; diff --git a/src/woly/molecules/checkbox/index.tsx b/src/woly/molecules/checkbox/index.tsx index e27039e7..1aaee47f 100644 --- a/src/woly/molecules/checkbox/index.tsx +++ b/src/woly/molecules/checkbox/index.tsx @@ -53,7 +53,7 @@ const CheckboxBase: React.FC = ({ tabIndex={tabIndex} > - + diff --git a/src/woly/molecules/select/index.tsx b/src/woly/molecules/select/index.tsx index 86be45cc..832204cf 100644 --- a/src/woly/molecules/select/index.tsx +++ b/src/woly/molecules/select/index.tsx @@ -82,7 +82,9 @@ export const SelectBase: React.FC = ({ >
{select}
- {icon} +
+ {icon} +
{/* В дальнейшем использовать Popover и List для создания выпадающего списка элементов */}
    = ({ onClick={onClick} tabIndex={0} > - {iconLeft && {iconLeft}} + {iconLeft && ( + + {iconLeft} + + )} {text} - {iconAction && {iconAction}} + {iconAction && ( + + {iconAction} + + )} ); @@ -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; @@ -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); } @@ -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); } diff --git a/src/woly/molecules/toast/index.tsx b/src/woly/molecules/toast/index.tsx index 3841d61e..54a7202e 100644 --- a/src/woly/molecules/toast/index.tsx +++ b/src/woly/molecules/toast/index.tsx @@ -19,7 +19,11 @@ const ToastBase: React.FC = ({ priority = 'secondary', }) => (
    - {icon && {icon}} + {icon && ( + + {icon} + + )}
    {children}
    {action && {action}}
    @@ -53,7 +57,7 @@ export const Toast = styled(ToastBase)` flex-wrap: nowrap; } - [data-icon='toast'] { + [data-element='icon'] { --woly-component-level: 0; display: flex; align-items: center; @@ -82,11 +86,11 @@ export const Toast = styled(ToastBase)` background-color: var(--local-shape-color); border-color: var(--local-border-color); - [data-icon='toast'] > svg > path { + [data-element='icon'] > svg > path { fill: var(--local-text-color); } - [data-icon='toast'] > svg > g { + [data-element='icon'] > svg > g { stroke: var(--local-text-color); } } @@ -101,11 +105,11 @@ export const Toast = styled(ToastBase)` background-color: transparent; border-color: var(--local-text-color); - [data-icon='toast'] > svg > path { + [data-element='icon'] > svg > path { fill: var(--local-text-color); } - [data-icon='toast'] > svg > g { + [data-element='icon'] > svg > g { stroke: var(--local-text-color); } } @@ -124,11 +128,11 @@ export const Toast = styled(ToastBase)` box-shadow: var(--local-shadow); - [data-icon='toast'] > svg > path { + [data-element='icon'] > svg > path { fill: var(--local-text-color); } - [data-icon='toast'] > svg > g { + [data-element='icon'] > svg > g { stroke: var(--local-text-color); } } @@ -143,11 +147,11 @@ export const Toast = styled(ToastBase)` background-color: var(--local-shape-color); border-color: var(--local-shape-color); - [data-icon='toast'] > svg > path { + [data-element='icon'] > svg > path { fill: var(--local-text-color); } - [data-icon='toast'] > svg > g { + [data-element='icon'] > svg > g { stroke: var(--local-text-color); } }