@@ -70,10 +70,14 @@ export default class KeyValueElement extends LitElement {
7070 case 'enum' :
7171 valueElement = html `< enum-value .uuid ="${ this . uuid } " .type ="${ this . property } " .value ="${ this . value } "> </ enum-value > ` ;
7272 break ;
73+ case 'vec2' :
7374 case 'vec3' :
74- valueElement = [ ...new Array ( 3 ) ] . map ( ( _ , i ) => html `< number-input
75+ case 'vec4' :
76+ const arity = this . type === 'vec2' ? 2 :
77+ this . type === 'vec3' ? 3 : 4 ;
78+ valueElement = [ ...new Array ( arity ) ] . map ( ( _ , i ) => html `< number-input
7579 .id ="${ i === 0 ? this . _id : '' } "
76- axis ="${ i === 0 ? 'x' : i === 1 ? 'y' : 'z '} "
80+ axis ="${ i === 0 ? 'x' : i === 1 ? 'y' : i === 2 ? 'z' : 'w '} "
7781 .value ="${ this . value [ i ] } "
7882 .min ="${ this . min } "
7983 .max ="${ this . max } "
@@ -149,9 +153,15 @@ export default class KeyValueElement extends LitElement {
149153 padding-left : var (--key-value-padding-left , 10px );
150154 }
151155
156+ # value [type = "vec4" ] number-input {
157+ width : 25% ;
158+ }
152159 # value [type = "vec3" ] number-input {
153160 width : 33% ;
154161 }
162+ # value [type = "vec2" ] number-input {
163+ width : 50% ;
164+ }
155165
156166</ style >
157167< label for ="${ this . _id } "> ${ this . keyName } </ label >
@@ -185,10 +195,12 @@ export default class KeyValueElement extends LitElement {
185195 dataType = 'number' ;
186196 value = e . detail . value ;
187197 break ;
198+ case 'vec2' :
188199 case 'vec3' :
189- dataType = 'vec3' ;
200+ case 'vec4' :
201+ dataType = this . type ;
190202 value = e . detail . value ;
191- // Add 'x', 'y' or 'z ' to the property name
203+ // Add 'x', 'y', 'z', 'w ' to the property name
192204 property = `${ this . property } .${ target . getAttribute ( 'axis' ) } ` ;
193205 break ;
194206 default :
0 commit comments