@@ -8,6 +8,7 @@ type Values = {
88 text : string ;
99} ;
1010
11+ let isSliderOpen = false ;
1112const attribute = 'text-shadow' ;
1213
1314function copyHandler ( ) {
@@ -78,22 +79,41 @@ export function addTextShadowListener(): void {
7879 const blur = utils . getShadowBlur ( attribute ) ;
7980 const color = utils . getShadowColor ( attribute ) ;
8081
82+ const getInputElement = utils . getInputText ( attribute ) ;
83+ const preview = utils . getPreviewSlider ( attribute ) ;
84+
8185 const allTextShadowInputs = [ horizontalOffset , verticalOffset , blur , color ] ;
8286 const allTextShadowInputsFields = utils . getShadowFields ( attribute , [
8387 'h-offset' ,
8488 'v-offset' ,
8589 'blur' ,
90+ 'text' ,
8691 ] ) ;
8792
93+ const getShadowValue = ( ) =>
94+ `${ horizontalOffset . value } px ${ verticalOffset . value } px ${ blur . value } px ${ color . value } ` ;
95+
96+ preview . innerText = getInputElement . value ;
97+ preview . style . textShadow = getShadowValue ( ) ;
98+
8899 allTextShadowInputs . forEach ( ( input , idx ) => {
89100 // default
90101 if ( idx < 3 ) {
91102 allTextShadowInputsFields [ idx ] . textContent = `${ input . value } px` ;
92103 }
104+ getInputElement . addEventListener ( 'input' , ( ) => {
105+ preview . innerText = getInputElement . value ;
106+ preview . style . textShadow = getShadowValue ( ) ;
107+ } ) ;
93108 input . addEventListener ( 'input' , ( ) => {
109+ utils . slideIn ( preview , isSliderOpen ) ;
110+
111+ isSliderOpen = true ;
112+
94113 if ( idx < 3 ) {
95114 allTextShadowInputsFields [ idx ] . textContent = `${ input . value } px` ;
96115 }
116+ preview . style . textShadow = getShadowValue ( ) ;
97117 } ) ;
98118 } ) ;
99119}
0 commit comments