arrow icon 수정
This commit is contained in:
@@ -27,11 +27,13 @@ const TabItemBase = ({
|
|||||||
isSubItem,
|
isSubItem,
|
||||||
subTitle,
|
subTitle,
|
||||||
showSubTab = false,
|
showSubTab = false,
|
||||||
|
onFocus,
|
||||||
...rest
|
...rest
|
||||||
}) => {
|
}) => {
|
||||||
const [focused, setFocused] = useState(false);
|
const [focused, setFocused] = useState(false);
|
||||||
// const [subFocused , setSubFocused] = useState(false)
|
// const [subFocused , setSubFocused] = useState(false)
|
||||||
const [pressed, setPressed] = useState(false);
|
const [pressed, setPressed] = useState(false);
|
||||||
|
const [changeFocused, setChangeFocused] = useState(false);
|
||||||
const itemRef = useRef();
|
const itemRef = useRef();
|
||||||
|
|
||||||
const clearPressedJob = useRef(
|
const clearPressedJob = useRef(
|
||||||
@@ -41,6 +43,8 @@ const TabItemBase = ({
|
|||||||
);
|
);
|
||||||
const _onClick = useCallback(
|
const _onClick = useCallback(
|
||||||
(ev) => {
|
(ev) => {
|
||||||
|
setPressed(true);
|
||||||
|
setChangeFocused(false);
|
||||||
clearPressedJob.current.start(() => {
|
clearPressedJob.current.start(() => {
|
||||||
if (onClick) {
|
if (onClick) {
|
||||||
onClick({ index, target });
|
onClick({ index, target });
|
||||||
@@ -51,18 +55,25 @@ const TabItemBase = ({
|
|||||||
|
|
||||||
onClick({ index, target });
|
onClick({ index, target });
|
||||||
},
|
},
|
||||||
[target, index, onClick, isSubItem]
|
[target, index, onClick]
|
||||||
);
|
);
|
||||||
|
|
||||||
useEffect(() => {}, [pressed]);
|
useEffect(() => {}, [pressed]);
|
||||||
|
|
||||||
const _onFocus = useCallback(() => {
|
const _onFocus = useCallback(() => {
|
||||||
setFocused(true);
|
setFocused(true);
|
||||||
|
|
||||||
|
if (onFocus) {
|
||||||
|
onFocus(index);
|
||||||
|
}
|
||||||
}, [index]);
|
}, [index]);
|
||||||
|
|
||||||
const _onBlur = useCallback(() => {
|
const _onBlur = useCallback(() => {
|
||||||
setFocused(false);
|
setFocused(false);
|
||||||
}, [focused]);
|
setPressed(false);
|
||||||
|
setChangeFocused(true);
|
||||||
|
clearPressedJob.current.stop();
|
||||||
|
}, []);
|
||||||
|
|
||||||
const isDivider = useMemo(() => {
|
const isDivider = useMemo(() => {
|
||||||
return !title;
|
return !title;
|
||||||
@@ -112,7 +123,6 @@ const TabItemBase = ({
|
|||||||
className={classNames(
|
className={classNames(
|
||||||
css.tabItem,
|
css.tabItem,
|
||||||
focused && css.focused,
|
focused && css.focused,
|
||||||
pressed && css.pressed,
|
|
||||||
isSubItem && css.subDepth,
|
isSubItem && css.subDepth,
|
||||||
pressed && css.arrow,
|
pressed && css.arrow,
|
||||||
!isDivider && selected && css.selected
|
!isDivider && selected && css.selected
|
||||||
|
|||||||
@@ -25,21 +25,9 @@
|
|||||||
margin-left:-30px;
|
margin-left:-30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.pressed {
|
|
||||||
color: #eee;
|
|
||||||
background: linear-gradient(to right, #cb1253, #e15ba1);
|
|
||||||
border-radius: 42px;
|
|
||||||
width: 402px;
|
|
||||||
z-index: 1;
|
|
||||||
margin-left: 30px;
|
|
||||||
position:relative;
|
|
||||||
}
|
|
||||||
&.selected{
|
|
||||||
// margin-left:0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&.arrow, &.selected {
|
&.arrow {
|
||||||
&::after {
|
&::after {
|
||||||
content: "";
|
content: "";
|
||||||
.size(@w:36px, @h:36px);
|
.size(@w:36px, @h:36px);
|
||||||
|
|||||||
@@ -448,11 +448,7 @@ export default function TabLayout({ topPanelName, onTabActivated }) {
|
|||||||
>
|
>
|
||||||
{/* expanded Main */}
|
{/* expanded Main */}
|
||||||
<MainContainer
|
<MainContainer
|
||||||
className={classNames(
|
className={classNames(css.tabWrap, mainExpanded && css.expanded)}
|
||||||
css.tabWrap,
|
|
||||||
mainExpanded && css.expanded,
|
|
||||||
css.basicLayout
|
|
||||||
)}
|
|
||||||
onFocus={onTabHasFocus(ACTIVATED_MAIN)}
|
onFocus={onTabHasFocus(ACTIVATED_MAIN)}
|
||||||
onMouseOver={onTabHasFocus(COLLABSED_MAIN)}
|
onMouseOver={onTabHasFocus(COLLABSED_MAIN)}
|
||||||
onBlur={onTabBlur(ACTIVATED_MAIN)}
|
onBlur={onTabBlur(ACTIVATED_MAIN)}
|
||||||
|
|||||||
Reference in New Issue
Block a user