File tree Expand file tree Collapse file tree
components/window/Palette Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- import { useEffect , useState } from "react" ;
1+ import { useCallback , useEffect , useState } from "react" ;
22
33import type { Suggestion } from "@defs/UI" ;
44
@@ -16,6 +16,11 @@ export function Palette({
1616 const [ query , setQuery ] = useState < string > ( "" ) ;
1717 const [ suggestions , setSuggestions ] = useState < Suggestion [ ] > ( [ ] ) ;
1818
19+ const handleBlur = useCallback ( ( ) => {
20+ setActive ( false ) ;
21+ setQuery ( "" ) ;
22+ } , [ ] ) ;
23+
1924 useEffect ( ( ) => {
2025 setSuggestions ( generateSuggestions ( query ) || [ ] ) ;
2126 } , [ generateSuggestions , query ] ) ;
@@ -24,7 +29,7 @@ export function Palette({
2429 < div
2530 className = "app-navigator"
2631 onFocus = { ( ) => setActive ( true ) }
27- onBlur = { ( ) => setActive ( false ) }
32+ onBlur = { handleBlur }
2833 >
2934 < Input
3035 value = { query }
Original file line number Diff line number Diff line change 22 flex : 1 ;
33 position : relative;
44 pointer-events : all;
5+ display : flex;
6+ justify-content : center;
57}
68
79.app-navigator input {
1416 font-size : 0.75rem ;
1517 outline : none !important ;
1618 box-shadow : none;
19+ opacity : 0.5 ;
20+ transition :
21+ padding 0.3s ease-in-out,
22+ opacity 0.3s ease-in-out,
23+ font-size 0.3s ease-in-out;
24+ }
25+
26+ .app-navigator input : hover {
27+ opacity : 1 ;
28+ }
29+
30+ .app-navigator input : focus {
31+ font-size : 1rem ;
32+ padding : 0.5rem 0.75rem ;
33+ opacity : 1 ;
1734}
1835
1936.suggestions {
2037 position : absolute;
2138 top : calc (100% + 0.5rem );
22- left : 0 ;
39+ left : 50 % ;
2340 width : 100% ;
2441 max-width : 50rem ;
2542 display : flex;
2643 flex-direction : column;
2744 gap : 0.25rem ;
2845 pointer-events : none;
29- transform : translateY ( -50% ) scaleY (0 );
46+ transform : translate ( -50 % , -50% ) scaleY (0 );
3047}
3148
3249.suggestions .active {
3350 pointer-events : all;
34- transform : translateY ( 0 ) scaleY (1 );
51+ transform : translate ( -50 % , 0 ) scaleY (1 );
3552}
3653
3754.suggestion {
Original file line number Diff line number Diff line change 1717 filter 0.3s ease-in-out,
1818 scale 0.3s ease-in-out,
1919 background-color 0.3s ease-in-out,
20+ font-size 0.3s ease-in-out,
2021 color 0.3s ease-in-out,
2122 opacity 0.3s ease-in-out,
2223 transform 0.3s ease-in-out,
You can’t perform that action at this time.
0 commit comments