@@ -16,6 +16,30 @@ export const isBooleanAttr = makeMap(
1616 'truespeed,typemustmatch,visible'
1717)
1818
19+ const isAttr = makeMap (
20+ 'accept,accept-charset,accesskey,action,align,alt,async,autocomplete,' +
21+ 'autofocus,autoplay,autosave,bgcolor,border,buffered,challenge,charset,' +
22+ 'checked,cite,class,code,codebase,color,cols,colspan,content,http-equiv,' +
23+ 'name,contenteditable,contextmenu,controls,coords,data,datetime,default,' +
24+ 'defer,dir,dirname,disabled,download,draggable,dropzone,enctype,method,for,' +
25+ 'form,formaction,headers,<th>,height,hidden,high,href,hreflang,http-equiv,' +
26+ 'icon,id,ismap,itemprop,keytype,kind,label,lang,language,list,loop,low,' +
27+ 'manifest,max,maxlength,media,method,GET,POST,min,multiple,email,file,' +
28+ 'muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,' +
29+ 'preload,radiogroup,readonly,rel,required,reversed,rows,rowspan,sandbox,' +
30+ 'scope,scoped,seamless,selected,shape,size,type,text,password,sizes,span,' +
31+ 'spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,' +
32+ 'target,title,type,usemap,value,width,wrap'
33+ )
34+
35+ export const isRenderableAttr = ( name : string ) : boolean => {
36+ return (
37+ isAttr ( name ) ||
38+ name . indexOf ( 'data-' ) === 0 ||
39+ name . indexOf ( 'aria-' ) === 0
40+ )
41+ }
42+
1943export const propsToAttrMap = {
2044 acceptCharset : 'accept-charset' ,
2145 className : 'class' ,
0 commit comments