1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543# 1 "src/lib/eliom_content_.client.ml"(* Ocsigen
* http://www.ocsigen.org
* Copyright (C) 2012 Vincent Balat, Benedikt Becker
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, with linking exception;
* either version 2.1 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*)openJs_of_ocamlopenEliom_libopenEliom_content_coremoduleXml=XmlmoduleMakeManip(Kind:sigtype+'aeltvaltoelt:'aelt->Xml.eltend)(To_dom:sigvalof_element:'aKind.elt->Dom_html.elementJs.tend)(Of_dom:sigvalof_element:Dom_html.elementJs.t->'aKind.eltend)(Id:sigtype'aidvalget_element':'aid->Dom.nodeJs.tend)(Ns:sigvalcontent_ns:Eliom_client_core.content_nsend)=structletget_nodeelt=(To_dom.of_elementelt:>Dom.nodeJs.t)letget_unique_nodecontext(elt:'aKind.elt):Dom.nodeJs.t=matchXml.get_node(Kind.toeltelt)with|Xml.DomNodenode->node|Xml.ReactNode_->get_nodeelt|Xml.ReactChildren_->get_nodeelt|Xml.TyXMLNode_->(letelt'=Kind.toelteltinmatchXml.get_node_idelt'with|Xml.NoId->Lwt_log.raise_error_f~section:Lwt_log.eliom~inspect:(Eliom_client_core.rebuild_node'Ns.content_ns(Kind.toeltelt))"Cannot call %s on an element with functional semantics"context|_->get_nodeelt)letget_unique_eltnameelt:Dom_html.elementJs.t=Js.Opt.case(Dom_html.CoerceTo.element(get_unique_nodenameelt))(fun()->Lwt_log.raise_error_f~section:Lwt_log.eliom~inspect:(Eliom_client_core.rebuild_node'Ns.content_ns(Kind.toeltelt))"Cannot call %s on a node which is not an element"name)idletraw_appendChild?beforenodeelt2=matchbeforewith|None->ignorenode##(appendChild(get_nodeelt2))|Someelt3->letnode3=get_unique_node"appendChild"elt3inignorenode##(insertBefore(get_nodeelt2)(Js.somenode3))letraw_appendChildren?beforenodeelts=matchbeforewith|None->List.iter(funelt2->ignorenode##(appendChild(get_nodeelt2)))elts|Someelt3->letnode3=get_unique_node"appendChild"elt3inList.iter(funelt2->ignorenode##(insertBefore(get_nodeelt2)(Js.somenode3)))eltsletraw_removeChildnode1elt2=letnode2=get_unique_node"removeChild"elt2inignorenode1##(removeChildnode2)letraw_replaceChildnode1elt2elt3=letnode3=get_unique_node"replaceChild"elt3inignorenode1##(replaceChild(get_nodeelt2)node3)letraw_removeChildrennode=letchildrens=Dom.list_of_nodeListnode##.childNodesinList.iter(func->ignorenode##(removeChildc))childrensletraw_replaceChildrennodeelts=raw_removeChildrennode;List.iter(funelt->ignorenode##(appendChild(get_nodeelt)))eltsletntheltn=letnode=get_unique_node"nth"eltinletres=Js.Opt.bindnode##.childNodes##(itemn)(funnode->Js.Opt.map(Dom.CoerceTo.elementnode)(funnode->Of_dom.of_element(Dom_html.elementnode)))inJs.Opt.to_optionresletchildLengthelt=letnode=get_unique_node"childLength"eltinnode##.childNodes##.lengthletappendChild?beforeelt1elt2=letnode=get_unique_node"appendChild"elt1inraw_appendChild?beforenodeelt2letappendChildren?beforeelt1elts=letnode=get_unique_node"appendChildren"elt1inraw_appendChildren?beforenodeeltsletremoveChildelt1elt2=letnode1=get_unique_node"removeChild"elt1inraw_removeChildnode1elt2letremoveSelfelt=letnode=get_unique_node"removeSelf"eltinletres=Js.Opt.bindnode##.parentNode(funnode->Js.Opt.map(Dom.CoerceTo.elementnode)(funnode->Of_dom.of_element(Dom_html.elementnode)))inJs.Opt.iterres(funp->removeChildpelt)letinsertFirstChildpc=letbefore=nthp0inappendChild?beforepcletreplaceChildelt1elt2elt3=letnode1=get_unique_node"replaceChild"elt1inraw_replaceChildnode1elt2elt3letremoveChildrenelt=letnode=get_unique_node"removeChildren"eltinraw_removeChildrennodeletreplaceChildreneltelts=letnode=get_unique_node"replaceChildren"eltinraw_replaceChildrennodeeltsletchildNodeselt=letnode=get_unique_node"childNodes"eltinDom.list_of_nodeListnode##.childNodesletrecfilterElementscoercenodes=matchnodeswith|[]->[]|node::nodes->letelts=filterElementscoercenodesinJs.Opt.case(coercenode)(fun()->elts)(funelt->elt::elts)letchildElementselt=letnode=get_unique_node"childElements"eltinfilterElementsDom.CoerceTo.element(Dom.list_of_nodeListnode##.childNodes)letchildrenelt=letnode=get_unique_node"children"eltinList.mapOf_dom.of_element(filterElementsDom_html.CoerceTo.element(Dom.list_of_nodeListnode##.childNodes))letparentNodeelt=letnode=get_unique_node"parentNode"eltinletres=Js.Opt.bindnode##.parentNode(funnode->Js.Opt.map(Dom.CoerceTo.elementnode)(funnode->Of_dom.of_element(Dom_html.elementnode)))inJs.Opt.to_optionresletnextSiblingelt=letnode=get_unique_node"nextSibling"eltinletres=Js.Opt.bindnode##.nextSibling(funnode->Js.Opt.map(Dom.CoerceTo.elementnode)(funnode->Of_dom.of_element(Dom_html.elementnode)))inJs.Opt.to_optionresletpreviousSiblingelt=letnode=get_unique_node"previousSibling"eltinletres=Js.Opt.bindnode##.previousSibling(funnode->Js.Opt.map(Dom.CoerceTo.elementnode)(funnode->Of_dom.of_element(Dom_html.elementnode)))inJs.Opt.to_optionresletinsertBefore~beforeelt=Eliom_lib.Option.iter(funparent->appendChild~beforeparentelt)(parentNodebefore)letinsertAfter~afterelt=Eliom_lib.Option.iter(funparent->letbefore=nextSiblingafterinappendChild?beforeparentelt)(parentNodeafter)letreplaceSelfelt1elt2=Eliom_lib.Option.iter(funparent->replaceChildparentelt2elt1)(parentNodeelt1)moduleRawNamed=structletappendChild?beforeid1elt2=letnode=Id.get_element'id1inraw_appendChild?beforenodeelt2letappendChildren?beforeid1elts=letnode=Id.get_element'id1inraw_appendChildren?beforenodeeltsletremoveChildid1elt2=letnode1=Id.get_element'id1inraw_removeChildnode1elt2letreplaceChildid1elt2elt3=letnode1=Id.get_element'id1inraw_replaceChildnode1elt2elt3letremoveChildrenid=letnode=Id.get_element'idinraw_removeChildrennodeletreplaceChildrenidelts=letnode=Id.get_element'idinraw_replaceChildrennodeeltsendmoduleClass=structletcontaineltclass_name=letelt=get_unique_elt"Class.contain"eltinletclass_name=Js.stringclass_nameinletclass_list=elt##.classListinJs.to_boolclass_list##(containsclass_name)letadd_raweltclass_name=letclass_name=Js.stringclass_nameinletclass_list=elt##.classListinifJs.to_boolclass_list##(containsclass_name)then()elseclass_list##(addclass_name)letaddeltclass_name=letelt=get_unique_elt"Class.add"eltinadd_raweltclass_nameletaddseltclass_list=letelt=get_unique_elt"Class.adds"eltinList.iter(funclass_name->add_raweltclass_name)class_listletremove_raweltclass_name=letclass_name=Js.stringclass_nameinletclass_list=elt##.classListinifJs.to_boolclass_list##(containsclass_name)thenclass_list##(removeclass_name)else()letremoveeltclass_name=letelt=get_unique_elt"Class.remove"eltinremove_raweltclass_nameletremoveseltclass_list=letelt=get_unique_elt"Class.removes"eltinList.iter(funclass_name->remove_raweltclass_name)class_listletreplaceeltclass_name_1class_name_2=letelt=get_unique_elt"Class.replace"eltinremove_raweltclass_name_1;add_raweltclass_name_2letclearelt=letelt=get_unique_elt"Class.clear"eltinletclass_list=elt##.classListinletl=class_list##.lengthinfori=l-1downto0do(* /!\ use downto because the list is re-ordered after each add/remove *)Js.Optdef.iterclass_list##(itemi)(funcl->class_list##(removecl))donelettoggleeltcl1=ifcontaineltcl1thenremoveeltcl1elseaddeltcl1lettoggle2eltcl1cl2=ifcontaineltcl1thenreplaceeltcl1cl2elsereplaceeltcl2cl1endendmoduleSvg=structmoduleEv'=Svg.Ev'moduleF=Svg.FmoduleD=Svg.DmoduleR=Svg.RmoduleC=structletnode?init:_x=xletattr?init:_x=xendtype+'aelt='aF.elttype+'aattrib='aF.attribtypeuri=F.urimoduleOf_dom=Eliom_content_core.Svg.Of_dommoduleTo_dom=structopenEliom_client_coreletof_elementelt=rebuild_node_svg"of_element"eltletof_nodeelt=rebuild_node_svg"of_node"eltletof_pcdataelt=rebuild_node_svg"of_pcdata"eltendmoduleId=structincludeSvg.Idletget_element'id=letid=string_of_ididinletnode=Eliom_client_core.getElementByIdidinJs.Opt.case(Dom_html.CoerceTo.elementnode)(fun()->failwith(Printf.sprintf"Non element node (%s)"id))(funx->x)letget_elementid=trySome(Of_dom.of_element(get_element'id))withFailure_->NoneendmoduleManip=structincludeMakeManip(F)(To_dom)(Of_dom)(structtype'aid='aId.idletget_element'id=(Id.get_element'id:>Dom.nodeJs.t)end)(structletcontent_ns=`SVGend)moduleNamed=RawNamedendendmoduleHtml=structmoduleEv'=Html.Ev'moduleF=structincludeHtml.FmoduleArg=structincludeHtml.FmoduleSvg=Eliom_content_core.Svg.Fleturi_of_fun=Eliom_content_core.Xml.uri_of_funletattrib_of_servicesinfo=Eliom_content_core.(Html.F.to_attrib(Xml.internal_event_handler_attribs(Xml.internal_event_handler_of_serviceinfo)))letto_elt=toeltendincludeEliom_form.Make_links(Arg)moduleForm=Eliom_form.Make(Arg)endmoduleR=structincludeHtml.RendmoduleD=structincludeHtml.DmoduleArg=structincludeHtml.DmoduleSvg=Eliom_content_core.Svg.Dleturi_of_fun=Eliom_content_core.Xml.uri_of_funletattrib_of_servicesinfo=Eliom_content_core.(Html.D.to_attrib(Xml.internal_event_handler_attribs(Xml.internal_event_handler_of_serviceinfo)))letto_elt=toeltendincludeEliom_form.Make_links(Arg)moduleForm=Eliom_form.Make(Arg)endmoduleC=structletnode?init:_x=xletattr?init:_x=xendtype+'aelt='aF.elttype+'aattrib='aF.attribtypeuri=F.uritype'aform_param='aEliom_form.parammoduleCustom_data=Eliom_content_core.Html.Custom_datamoduleOf_dom=Eliom_content_core.Html.Of_dommoduleTo_dom=Js_of_ocaml_tyxml.Tyxml_cast.MakeTo(structtype'aelt='aF.eltleteltx=Js.Unsafe.coerce(Eliom_client_core.rebuild_node"n/a"x)end)moduleId=structincludeHtml.Idletget_element'id=letid=string_of_ididinletnode=Eliom_client_core.getElementByIdidinJs.Opt.case(Dom_html.CoerceTo.elementnode)(fun()->failwith(Printf.sprintf"Non element node (%s)"id))(funx->x)letget_elementid=trySome(Of_dom.of_element(get_element'id))withFailure_->NoneendmoduleManip=structincludeMakeManip(F)(To_dom)(Of_dom)(structtype'aid='aId.idletget_element'id=(Id.get_element'id:>Dom.nodeJs.t)end)(structletcontent_ns=`HTML5end)letraw_addEventListener?(capture=false)nodeeventhandler=Dom_html.addEventListenernodeevent(Dom_html.full_handler(funne->Js.bool(handler(Html.F.tot(Xml.make_dom(n:>Dom.nodeJs.t)))e)))(Js.boolcapture)letaddEventListener?capturetargeteventhandler=letnode=get_unique_elt"addEventListener"targetinraw_addEventListener?capturenodeeventhandlermoduleNamed=structincludeRawNamedletaddEventListener?captureideventhandler=letnode=Id.get_element'idinraw_addEventListener?capturenodeeventhandlerendletappendToBody?beforeelt2=letbody=Of_dom.of_bodyDom_html.window##.document##.bodyinappendChild?beforebodyelt2letget_unique_elt_inputnameelt:Dom_html.inputElementJs.t=Js.Opt.case(Js.Opt.bind(Dom_html.CoerceTo.element(get_unique_nodenameelt))Dom_html.CoerceTo.input)(fun()->failwith(Printf.sprintf"Non element node (%s)"name))idletget_unique_elt_selectnameelt:Dom_html.selectElementJs.t=Js.Opt.case(Js.Opt.bind(Dom_html.CoerceTo.element(get_unique_nodenameelt))Dom_html.CoerceTo.select)(fun()->failwith(Printf.sprintf"Non element node (%s)"name))idletget_unique_elt_textareanameelt:Dom_html.textAreaElementJs.t=Js.Opt.case(Js.Opt.bind(Dom_html.CoerceTo.element(get_unique_nodenameelt))Dom_html.CoerceTo.textarea)(fun()->failwith(Printf.sprintf"Non element node (%s)"name))idletget_unique_elt_imgnameelt:Dom_html.imageElementJs.t=Js.Opt.case(Js.Opt.bind(Dom_html.CoerceTo.element(get_unique_nodenameelt))Dom_html.CoerceTo.img)(fun()->failwith(Printf.sprintf"Non element node (%s)"name))idletscrollIntoView?(bottom=false)elt=letelt=get_unique_elt"Css.background"eltinelt##(scrollIntoView(Js.bool(notbottom)))moduleElt=structletbody()=Of_dom.of_bodyDom_html.window##.document##.bodyendmoduleEv=structtype('a,'b)ev='aelt->('bJs.t->bool)->unittype('a,'b)ev_unit='aelt->('bJs.t->unit)->unitletbool_cbf=Dom_html.handler(fune->Js.bool(fe))letonkeyupeltf=letelt=get_unique_elt"Ev.onkeyup"eltinelt##.onkeyup:=bool_cbfletonkeydowneltf=letelt=get_unique_elt"Ev.onkeydown"eltinelt##.onkeydown:=bool_cbfletonmouseupeltf=letelt=get_unique_elt"Ev.onmouseup"eltinelt##.onmouseup:=bool_cbfletonmousedowneltf=letelt=get_unique_elt"Ev.onmousedown"eltinelt##.onmousedown:=bool_cbfletonmouseouteltf=letelt=get_unique_elt"Ev.onmouseout"eltinelt##.onmouseout:=bool_cbfletonmouseovereltf=letelt=get_unique_elt"Ev.onmouseover"eltinelt##.onmouseover:=bool_cbfletonclickeltf=letelt=get_unique_elt"Ev.onclick"eltinelt##.onclick:=bool_cbfletondblclickeltf=letelt=get_unique_elt"Ev.ondblclick"eltinelt##.ondblclick:=bool_cbfletonloadeltf=letelt=get_unique_elt_img"Ev.onload"eltinelt##.onload:=bool_cbfletonerroreltf=letelt=get_unique_elt_img"Ev.onerror"eltinelt##.onerror:=bool_cbfletonaborteltf=letelt=get_unique_elt_img"Ev.onabort"eltinelt##.onabort:=bool_cbfletonfocus:>(_,Dom_html.event)ev=funeltf->letelt=get_unique_elt_input"Ev.onfocus"eltinelt##.onfocus:=bool_cbfletonblur:>(_,Dom_html.event)ev=funeltf->letelt=get_unique_elt_input"Ev.onblur"eltinelt##.onblur:=bool_cbfletonfocus_textarea:>(_,Dom_html.event)ev=funeltf->letelt=get_unique_elt_textarea"Ev.onfocus"eltinelt##.onfocus:=bool_cbfletonblur_textarea:>(_,Dom_html.event)ev=funeltf->letelt=get_unique_elt_textarea"Ev.onblur"eltinelt##.onblur:=bool_cbfletonscrolleltf=letelt=get_unique_elt"Ev.onscroll"eltinelt##.onscroll:=bool_cbfletonreturneltf=letfev=ifDom_html.Keyboard_code.(of_eventev=Enter)thenfev;trueinonkeydowneltfletonchangeeltf=letelt=get_unique_elt_input"Ev.onchange"eltinelt##.onchange:=bool_cbfletonchange_selecteltf=letelt=get_unique_elt_select"Ev.onchange_select"eltinelt##.onchange:=bool_cbfendmoduleAttr=structletclientWidthelt=letelt=get_unique_elt"Attr.clientWidth"eltinelt##.clientWidthletclientHeightelt=letelt=get_unique_elt"Attr.clientHeight"eltinelt##.clientHeightletoffsetWidthelt=letelt=get_unique_elt"Attr.offsetWidth"eltinelt##.offsetWidthletoffsetHeightelt=letelt=get_unique_elt"Attr.offsetHeight"eltinelt##.offsetHeightletclientLeftelt=letelt=get_unique_elt"Attr.clientLeft"eltinelt##.clientLeftletclientTopelt=letelt=get_unique_elt"Attr.clientTop"eltinelt##.clientTopendmoduleCss=structletbackgroundelt=letelt=get_unique_elt"Css.background"eltinJs.to_bytestringelt##.style##.backgroundletbackgroundAttachmentelt=letelt=get_unique_elt"Css.backgroundAttachment"eltinJs.to_bytestringelt##.style##.backgroundAttachmentletbackgroundColorelt=letelt=get_unique_elt"Css.backgroundColor"eltinJs.to_bytestringelt##.style##.backgroundColorletbackgroundImageelt=letelt=get_unique_elt"Css.backgroundImage"eltinJs.to_bytestringelt##.style##.backgroundImageletbackgroundPositionelt=letelt=get_unique_elt"Css.backgroundPosition"eltinJs.to_bytestringelt##.style##.backgroundPositionletbackgroundRepeatelt=letelt=get_unique_elt"Css.backgroundRepeat"eltinJs.to_bytestringelt##.style##.backgroundRepeatletborderelt=letelt=get_unique_elt"Css.border"eltinJs.to_bytestringelt##.style##.borderletborderBottomelt=letelt=get_unique_elt"Css.borderBottom"eltinJs.to_bytestringelt##.style##.borderBottomletborderBottomColorelt=letelt=get_unique_elt"Css.borderBottomColor"eltinJs.to_bytestringelt##.style##.borderBottomColorletborderBottomStyleelt=letelt=get_unique_elt"Css.borderBottomStyle"eltinJs.to_bytestringelt##.style##.borderBottomStyleletborderBottomWidthelt=letelt=get_unique_elt"Css.borderBottomWidth"eltinJs.to_bytestringelt##.style##.borderBottomWidthletborderBottomWidthPxelt=letelt=get_unique_elt"Css.borderBottomWidthPx"eltinJs.parseIntelt##.style##.borderBottomWidthletborderCollapseelt=letelt=get_unique_elt"Css.borderCollapse"eltinJs.to_bytestringelt##.style##.borderCollapseletborderColorelt=letelt=get_unique_elt"Css.borderColor"eltinJs.to_bytestringelt##.style##.borderColorletborderLeftelt=letelt=get_unique_elt"Css.borderLeft"eltinJs.to_bytestringelt##.style##.borderLeftletborderLeftColorelt=letelt=get_unique_elt"Css.borderLeftColor"eltinJs.to_bytestringelt##.style##.borderLeftColorletborderLeftStyleelt=letelt=get_unique_elt"Css.borderLeftStyle"eltinJs.to_bytestringelt##.style##.borderLeftStyleletborderLeftWidthelt=letelt=get_unique_elt"Css.borderLeftWidth"eltinJs.to_bytestringelt##.style##.borderLeftWidthletborderLeftWidthPxelt=letelt=get_unique_elt"Css.borderLeftWidthPx"eltinJs.parseIntelt##.style##.borderLeftWidthletborderRightelt=letelt=get_unique_elt"Css.borderRight"eltinJs.to_bytestringelt##.style##.borderRightletborderRightColorelt=letelt=get_unique_elt"Css.borderRightColor"eltinJs.to_bytestringelt##.style##.borderRightColorletborderRightStyleelt=letelt=get_unique_elt"Css.borderRightStyle"eltinJs.to_bytestringelt##.style##.borderRightStyleletborderRightWidthelt=letelt=get_unique_elt"Css.borderRightWidth"eltinJs.to_bytestringelt##.style##.borderRightWidthletborderRightWidthPxelt=letelt=get_unique_elt"Css.borderRightWidthPx"eltinJs.parseIntelt##.style##.borderRightWidthletborderSpacingelt=letelt=get_unique_elt"Css.borderSpacing"eltinJs.to_bytestringelt##.style##.borderSpacingletborderStyleelt=letelt=get_unique_elt"Css.borderStyle"eltinJs.to_bytestringelt##.style##.borderStyleletborderTopelt=letelt=get_unique_elt"Css.borderTop"eltinJs.to_bytestringelt##.style##.borderTopletborderTopColorelt=letelt=get_unique_elt"Css.borderTopColor"eltinJs.to_bytestringelt##.style##.borderTopColorletborderTopStyleelt=letelt=get_unique_elt"Css.borderTopStyle"eltinJs.to_bytestringelt##.style##.borderTopStyleletborderTopWidthelt=letelt=get_unique_elt"Css.borderTopWidth"eltinJs.to_bytestringelt##.style##.borderTopWidthletborderTopWidthPxelt=letelt=get_unique_elt"Css.borderTopWidthPx"eltinJs.parseIntelt##.style##.borderTopWidthletborderWidthelt=letelt=get_unique_elt"Css.borderWidth"eltinJs.to_bytestringelt##.style##.borderWidthletborderWidthPxelt=letelt=get_unique_elt"Css.borderWidthPx"eltinJs.parseIntelt##.style##.borderWidthletbottomelt=letelt=get_unique_elt"Css.bottom"eltinJs.to_bytestringelt##.style##.bottomletcaptionSideelt=letelt=get_unique_elt"Css.captionSide"eltinJs.to_bytestringelt##.style##.captionSideletclearelt=letelt=get_unique_elt"Css.clear"eltinJs.to_bytestringelt##.style##.clearletclipelt=letelt=get_unique_elt"Css.clip"eltinJs.to_bytestringelt##.style##.clipletcolorelt=letelt=get_unique_elt"Css.color"eltinJs.to_bytestringelt##.style##.colorletcontentelt=letelt=get_unique_elt"Css.content"eltinJs.to_bytestringelt##.style##.contentletcounterIncrementelt=letelt=get_unique_elt"Css.counterIncrement"eltinJs.to_bytestringelt##.style##.counterIncrementletcounterResetelt=letelt=get_unique_elt"Css.counterReset"eltinJs.to_bytestringelt##.style##.counterResetletcssFloatelt=letelt=get_unique_elt"Css.cssFloat"eltinJs.to_bytestringelt##.style##.cssFloatletcssTextelt=letelt=get_unique_elt"Css.cssText"eltinJs.to_bytestringelt##.style##.cssTextletcursorelt=letelt=get_unique_elt"Css.cursor"eltinJs.to_bytestringelt##.style##.cursorletdirectionelt=letelt=get_unique_elt"Css.direction"eltinJs.to_bytestringelt##.style##.directionletdisplayelt=letelt=get_unique_elt"Css.display"eltinJs.to_bytestringelt##.style##.displayletemptyCellselt=letelt=get_unique_elt"Css.emptyCells"eltinJs.to_bytestringelt##.style##.emptyCellsletfontelt=letelt=get_unique_elt"Css.font"eltinJs.to_bytestringelt##.style##.fontletfontFamilyelt=letelt=get_unique_elt"Css.fontFamily"eltinJs.to_bytestringelt##.style##.fontFamilyletfontSizeelt=letelt=get_unique_elt"Css.fontSize"eltinJs.to_bytestringelt##.style##.fontSizeletfontStyleelt=letelt=get_unique_elt"Css.fontStyle"eltinJs.to_bytestringelt##.style##.fontStyleletfontVariantelt=letelt=get_unique_elt"Css.fontVariant"eltinJs.to_bytestringelt##.style##.fontVariantletfontWeightelt=letelt=get_unique_elt"Css.fontWeight"eltinJs.to_bytestringelt##.style##.fontWeightletheightelt=letelt=get_unique_elt"Css.height"eltinJs.to_bytestringelt##.style##.heightletheightPxelt=letelt=get_unique_elt"Css.heightPx"eltinJs.parseIntelt##.style##.heightletleftelt=letelt=get_unique_elt"Css.left"eltinJs.to_bytestringelt##.style##.leftletleftPxelt=letelt=get_unique_elt"Css.leftPx"eltinJs.parseIntelt##.style##.leftletletterSpacingelt=letelt=get_unique_elt"Css.letterSpacing"eltinJs.to_bytestringelt##.style##.letterSpacingletlineHeightelt=letelt=get_unique_elt"Css.lineHeight"eltinJs.to_bytestringelt##.style##.lineHeightletlistStyleelt=letelt=get_unique_elt"Css.listStyle"eltinJs.to_bytestringelt##.style##.listStyleletlistStyleImageelt=letelt=get_unique_elt"Css.listStyleImage"eltinJs.to_bytestringelt##.style##.listStyleImageletlistStylePositionelt=letelt=get_unique_elt"Css.listStylePosition"eltinJs.to_bytestringelt##.style##.listStylePositionletlistStyleTypeelt=letelt=get_unique_elt"Css.listStyleType"eltinJs.to_bytestringelt##.style##.listStyleTypeletmarginelt=letelt=get_unique_elt"Css.margin"eltinJs.to_bytestringelt##.style##.marginletmarginBottomelt=letelt=get_unique_elt"Css.marginBottom"eltinJs.to_bytestringelt##.style##.marginBottomletmarginBottomPxelt=letelt=get_unique_elt"Css.marginBottomPx"eltinJs.parseIntelt##.style##.marginBottomletmarginLeftelt=letelt=get_unique_elt"Css.marginLeft"eltinJs.to_bytestringelt##.style##.marginLeftletmarginLeftPxelt=letelt=get_unique_elt"Css.marginLeftPx"eltinJs.parseIntelt##.style##.marginLeftletmarginRightelt=letelt=get_unique_elt"Css.marginRight"eltinJs.to_bytestringelt##.style##.marginRightletmarginRightPxelt=letelt=get_unique_elt"Css.marginRightPx"eltinJs.parseIntelt##.style##.marginRightletmarginTopelt=letelt=get_unique_elt"Css.marginTop"eltinJs.to_bytestringelt##.style##.marginTopletmarginTopPxelt=letelt=get_unique_elt"Css.marginTopPx"eltinJs.parseIntelt##.style##.marginTopletmaxHeightelt=letelt=get_unique_elt"Css.maxHeight"eltinJs.to_bytestringelt##.style##.maxHeightletmaxHeightPxelt=letelt=get_unique_elt"Css.maxHeightPx"eltinJs.parseIntelt##.style##.maxHeightletmaxWidthelt=letelt=get_unique_elt"Css.maxWidth"eltinJs.to_bytestringelt##.style##.maxWidthletmaxWidthPxelt=letelt=get_unique_elt"Css.maxWidthPx"eltinJs.parseIntelt##.style##.maxWidthletminHeightelt=letelt=get_unique_elt"Css.minHeight"eltinJs.to_bytestringelt##.style##.minHeightletminHeightPxelt=letelt=get_unique_elt"Css.minHeightPx"eltinJs.parseIntelt##.style##.minHeightletminWidthelt=letelt=get_unique_elt"Css.minWidth"eltinJs.to_bytestringelt##.style##.minWidthletminWidthPxelt=letelt=get_unique_elt"Css.minWidthPx"eltinJs.parseIntelt##.style##.minWidthletopacityelt=letelt=get_unique_elt"Css.opacity"eltinOption.mapJs.to_bytestring(Js.Optdef.to_optionelt##.style##.opacity)letoutlineelt=letelt=get_unique_elt"Css.outline"eltinJs.to_bytestringelt##.style##.outlineletoutlineColorelt=letelt=get_unique_elt"Css.outlineColor"eltinJs.to_bytestringelt##.style##.outlineColorletoutlineOffsetelt=letelt=get_unique_elt"Css.outlineOffset"eltinJs.to_bytestringelt##.style##.outlineOffsetletoutlineStyleelt=letelt=get_unique_elt"Css.outlineStyle"eltinJs.to_bytestringelt##.style##.outlineStyleletoutlineWidthelt=letelt=get_unique_elt"Css.outlineWidth"eltinJs.to_bytestringelt##.style##.outlineWidthletoverflowelt=letelt=get_unique_elt"Css.overflow"eltinJs.to_bytestringelt##.style##.overflowletoverflowXelt=letelt=get_unique_elt"Css.overflowX"eltinJs.to_bytestringelt##.style##.overflowXletoverflowYelt=letelt=get_unique_elt"Css.overflowY"eltinJs.to_bytestringelt##.style##.overflowYletpaddingelt=letelt=get_unique_elt"Css.padding"eltinJs.to_bytestringelt##.style##.paddingletpaddingBottomelt=letelt=get_unique_elt"Css.paddingBottom"eltinJs.to_bytestringelt##.style##.paddingBottomletpaddingBottomPxelt=letelt=get_unique_elt"Css.paddingBottomPx"eltinJs.parseIntelt##.style##.paddingBottomletpaddingLeftelt=letelt=get_unique_elt"Css.paddingLeft"eltinJs.to_bytestringelt##.style##.paddingLeftletpaddingLeftPxelt=letelt=get_unique_elt"Css.paddingLeftPx"eltinJs.parseIntelt##.style##.paddingLeftletpaddingRightelt=letelt=get_unique_elt"Css.paddingRight"eltinJs.to_bytestringelt##.style##.paddingRightletpaddingRightPxelt=letelt=get_unique_elt"Css.paddingRightPx"eltinJs.parseIntelt##.style##.paddingRightletpaddingTopelt=letelt=get_unique_elt"Css.paddingTop"eltinJs.to_bytestringelt##.style##.paddingTopletpaddingTopPxelt=letelt=get_unique_elt"Css.paddingTopPx"eltinJs.parseIntelt##.style##.paddingTopletpageBreakAfterelt=letelt=get_unique_elt"Css.pageBreakAfter"eltinJs.to_bytestringelt##.style##.pageBreakAfterletpageBreakBeforeelt=letelt=get_unique_elt"Css.pageBreakBefore"eltinJs.to_bytestringelt##.style##.pageBreakBeforeletpositionelt=letelt=get_unique_elt"Css.position"eltinJs.to_bytestringelt##.style##.positionletrightelt=letelt=get_unique_elt"Css.right"eltinJs.to_bytestringelt##.style##.rightletrightPxelt=letelt=get_unique_elt"Css.rightPx"eltinJs.parseIntelt##.style##.rightlettableLayoutelt=letelt=get_unique_elt"Css.tableLayout"eltinJs.to_bytestringelt##.style##.tableLayoutlettextAlignelt=letelt=get_unique_elt"Css.textAlign"eltinJs.to_bytestringelt##.style##.textAlignlettextDecorationelt=letelt=get_unique_elt"Css.textDecoration"eltinJs.to_bytestringelt##.style##.textDecorationlettextIndentelt=letelt=get_unique_elt"Css.textIndent"eltinJs.to_bytestringelt##.style##.textIndentlettextTransformelt=letelt=get_unique_elt"Css.textTransform"eltinJs.to_bytestringelt##.style##.textTransformlettopelt=letelt=get_unique_elt"Css.top"eltinJs.to_bytestringelt##.style##.toplettopPxelt=letelt=get_unique_elt"Css.topPx"eltinJs.parseIntelt##.style##.topletverticalAlignelt=letelt=get_unique_elt"Css.verticalAlign"eltinJs.to_bytestringelt##.style##.verticalAlignletvisibilityelt=letelt=get_unique_elt"Css.visibility"eltinJs.to_bytestringelt##.style##.visibilityletwhiteSpaceelt=letelt=get_unique_elt"Css.whiteSpace"eltinJs.to_bytestringelt##.style##.whiteSpaceletwidthelt=letelt=get_unique_elt"Css.width"eltinJs.to_bytestringelt##.style##.widthletwidthPxelt=letelt=get_unique_elt"Css.widthPx"eltinJs.parseIntelt##.style##.widthletwordSpacingelt=letelt=get_unique_elt"Css.wordSpacing"eltinJs.to_bytestringelt##.style##.wordSpacingletzIndexelt=letelt=get_unique_elt"Css.zIndex"eltinJs.to_bytestringelt##.style##.zIndexendmoduleSetCss=structletbackgroundeltv=letelt=get_unique_elt"SetCss.background"eltinelt##.style##.background:=Js.bytestringvletbackgroundAttachmenteltv=letelt=get_unique_elt"SetCss.backgroundAttachment"eltinelt##.style##.backgroundAttachment:=Js.bytestringvletbackgroundColoreltv=letelt=get_unique_elt"SetCss.backgroundColor"eltinelt##.style##.backgroundColor:=Js.bytestringvletbackgroundImageeltv=letelt=get_unique_elt"SetCss.backgroundImage"eltinelt##.style##.backgroundImage:=Js.bytestringvletbackgroundPositioneltv=letelt=get_unique_elt"SetCss.backgroundPosition"eltinelt##.style##.backgroundPosition:=Js.bytestringvletbackgroundRepeateltv=letelt=get_unique_elt"SetCss.backgroundRepeat"eltinelt##.style##.backgroundRepeat:=Js.bytestringvletbordereltv=letelt=get_unique_elt"SetCss.border"eltinelt##.style##.border:=Js.bytestringvletborderBottomeltv=letelt=get_unique_elt"SetCss.borderBottom"eltinelt##.style##.borderBottom:=Js.bytestringvletborderBottomColoreltv=letelt=get_unique_elt"SetCss.borderBottomColor"eltinelt##.style##.borderBottomColor:=Js.bytestringvletborderBottomStyleeltv=letelt=get_unique_elt"SetCss.borderBottomStyle"eltinelt##.style##.borderBottomStyle:=Js.bytestringvletborderBottomWidtheltv=letelt=get_unique_elt"SetCss.borderBottomWidth"eltinelt##.style##.borderBottomWidth:=Js.bytestringvletborderBottomWidthPxeltv=borderBottomWidthelt(Printf.sprintf"%dpx"v)letborderCollapseeltv=letelt=get_unique_elt"SetCss.borderCollapse"eltinelt##.style##.borderCollapse:=Js.bytestringvletborderColoreltv=letelt=get_unique_elt"SetCss.borderColor"eltinelt##.style##.borderColor:=Js.bytestringvletborderLefteltv=letelt=get_unique_elt"SetCss.borderLeft"eltinelt##.style##.borderLeft:=Js.bytestringvletborderLeftColoreltv=letelt=get_unique_elt"SetCss.borderLeftColor"eltinelt##.style##.borderLeftColor:=Js.bytestringvletborderLeftStyleeltv=letelt=get_unique_elt"SetCss.borderLeftStyle"eltinelt##.style##.borderLeftStyle:=Js.bytestringvletborderLeftWidtheltv=letelt=get_unique_elt"SetCss.borderLeftWidth"eltinelt##.style##.borderLeftWidth:=Js.bytestringvletborderLeftWidthPxeltv=borderLeftWidthelt(Printf.sprintf"%dpx"v)letborderRighteltv=letelt=get_unique_elt"SetCss.borderRight"eltinelt##.style##.borderRight:=Js.bytestringvletborderRightColoreltv=letelt=get_unique_elt"SetCss.borderRightColor"eltinelt##.style##.borderRightColor:=Js.bytestringvletborderRightStyleeltv=letelt=get_unique_elt"SetCss.borderRightStyle"eltinelt##.style##.borderRightStyle:=Js.bytestringvletborderRightWidtheltv=letelt=get_unique_elt"SetCss.borderRightWidth"eltinelt##.style##.borderRightWidth:=Js.bytestringvletborderRightWidthPxeltv=borderRightWidthelt(Printf.sprintf"%dpx"v)letborderSpacingeltv=letelt=get_unique_elt"SetCss.borderSpacing"eltinelt##.style##.borderSpacing:=Js.bytestringvletborderStyleeltv=letelt=get_unique_elt"SetCss.borderStyle"eltinelt##.style##.borderStyle:=Js.bytestringvletborderTopeltv=letelt=get_unique_elt"SetCss.borderTop"eltinelt##.style##.borderTop:=Js.bytestringvletborderTopColoreltv=letelt=get_unique_elt"SetCss.borderTopColor"eltinelt##.style##.borderTopColor:=Js.bytestringvletborderTopStyleeltv=letelt=get_unique_elt"SetCss.borderTopStyle"eltinelt##.style##.borderTopStyle:=Js.bytestringvletborderTopWidtheltv=letelt=get_unique_elt"SetCss.borderTopWidth"eltinelt##.style##.borderTopWidth:=Js.bytestringvletborderTopWidthPxeltv=borderTopWidthelt(Printf.sprintf"%dpx"v)letborderWidtheltv=letelt=get_unique_elt"SetCss.borderWidth"eltinelt##.style##.borderWidth:=Js.bytestringvletbottomeltv=letelt=get_unique_elt"SetCss.bottom"eltinelt##.style##.bottom:=Js.bytestringvletbottomPxeltv=bottomelt(Printf.sprintf"%dpx"v)letcaptionSideeltv=letelt=get_unique_elt"SetCss.captionSide"eltinelt##.style##.captionSide:=Js.bytestringvletcleareltv=letelt=get_unique_elt"SetCss.clear"eltinelt##.style##.clear:=Js.bytestringvletclipeltv=letelt=get_unique_elt"SetCss.clip"eltinelt##.style##.clip:=Js.bytestringvletcoloreltv=letelt=get_unique_elt"SetCss.color"eltinelt##.style##.color:=Js.bytestringvletcontenteltv=letelt=get_unique_elt"SetCss.content"eltinelt##.style##.content:=Js.bytestringvletcounterIncrementeltv=letelt=get_unique_elt"SetCss.counterIncrement"eltinelt##.style##.counterIncrement:=Js.bytestringvletcounterReseteltv=letelt=get_unique_elt"SetCss.counterReset"eltinelt##.style##.counterReset:=Js.bytestringvletcssFloateltv=letelt=get_unique_elt"SetCss.cssFloat"eltinelt##.style##.cssFloat:=Js.bytestringvletcssTexteltv=letelt=get_unique_elt"SetCss.cssText"eltinelt##.style##.cssText:=Js.bytestringvletcursoreltv=letelt=get_unique_elt"SetCss.cursor"eltinelt##.style##.cursor:=Js.bytestringvletdirectioneltv=letelt=get_unique_elt"SetCss.direction"eltinelt##.style##.direction:=Js.bytestringvletdisplayeltv=letelt=get_unique_elt"SetCss.display"eltinelt##.style##.display:=Js.bytestringvletemptyCellseltv=letelt=get_unique_elt"SetCss.emptyCells"eltinelt##.style##.emptyCells:=Js.bytestringvletfonteltv=letelt=get_unique_elt"SetCss.font"eltinelt##.style##.font:=Js.bytestringvletfontFamilyeltv=letelt=get_unique_elt"SetCss.fontFamily"eltinelt##.style##.fontFamily:=Js.bytestringvletfontSizeeltv=letelt=get_unique_elt"SetCss.fontSize"eltinelt##.style##.fontSize:=Js.bytestringvletfontStyleeltv=letelt=get_unique_elt"SetCss.fontStyle"eltinelt##.style##.fontStyle:=Js.bytestringvletfontVarianteltv=letelt=get_unique_elt"SetCss.fontVariant"eltinelt##.style##.fontVariant:=Js.bytestringvletfontWeighteltv=letelt=get_unique_elt"SetCss.fontWeight"eltinelt##.style##.fontWeight:=Js.bytestringvletheighteltv=letelt=get_unique_elt"SetCss.height"eltinelt##.style##.height:=Js.bytestringvletheightPxeltv=heightelt(Printf.sprintf"%dpx"v)letlefteltv=letelt=get_unique_elt"SetCss.left"eltinelt##.style##.left:=Js.bytestringvletleftPxeltv=leftelt(Printf.sprintf"%dpx"v)letletterSpacingeltv=letelt=get_unique_elt"SetCss.letterSpacing"eltinelt##.style##.letterSpacing:=Js.bytestringvletlineHeighteltv=letelt=get_unique_elt"SetCss.lineHeight"eltinelt##.style##.lineHeight:=Js.bytestringvletlistStyleeltv=letelt=get_unique_elt"SetCss.listStyle"eltinelt##.style##.listStyle:=Js.bytestringvletlistStyleImageeltv=letelt=get_unique_elt"SetCss.listStyleImage"eltinelt##.style##.listStyleImage:=Js.bytestringvletlistStylePositioneltv=letelt=get_unique_elt"SetCss.listStylePosition"eltinelt##.style##.listStylePosition:=Js.bytestringvletlistStyleTypeeltv=letelt=get_unique_elt"SetCss.listStyleType"eltinelt##.style##.listStyleType:=Js.bytestringvletmargineltv=letelt=get_unique_elt"SetCss.margin"eltinelt##.style##.margin:=Js.bytestringvletmarginBottomeltv=letelt=get_unique_elt"SetCss.marginBottom"eltinelt##.style##.marginBottom:=Js.bytestringvletmarginBottomPxeltv=marginBottomelt(Printf.sprintf"%dpx"v)letmarginLefteltv=letelt=get_unique_elt"SetCss.marginLeft"eltinelt##.style##.marginLeft:=Js.bytestringvletmarginLeftPxeltv=marginLeftelt(Printf.sprintf"%dpx"v)letmarginRighteltv=letelt=get_unique_elt"SetCss.marginRight"eltinelt##.style##.marginRight:=Js.bytestringvletmarginRightPxeltv=marginRightelt(Printf.sprintf"%dpx"v)letmarginTopeltv=letelt=get_unique_elt"SetCss.marginTop"eltinelt##.style##.marginTop:=Js.bytestringvletmarginTopPxeltv=marginTopelt(Printf.sprintf"%dpx"v)letmaxHeighteltv=letelt=get_unique_elt"SetCss.maxHeight"eltinelt##.style##.maxHeight:=Js.bytestringvletmaxHeightPxeltv=maxHeightelt(Printf.sprintf"%dpx"v)letmaxWidtheltv=letelt=get_unique_elt"SetCss.maxWidth"eltinelt##.style##.maxWidth:=Js.bytestringvletmaxWidthPxeltv=maxWidthelt(Printf.sprintf"%dpx"v)letminHeighteltv=letelt=get_unique_elt"SetCss.minHeight"eltinelt##.style##.minHeight:=Js.bytestringvletminHeightPxeltv=minHeightelt(Printf.sprintf"%dpx"v)letminWidtheltv=letelt=get_unique_elt"SetCss.minWidth"eltinelt##.style##.minWidth:=Js.bytestringvletminWidthPxeltv=minWidthelt(Printf.sprintf"%dpx"v)letopacityeltv=letelt=get_unique_elt"SetCss.opacity"eltinelt##.style##.opacity:=Js.def(Js.bytestringv)letoutlineeltv=letelt=get_unique_elt"SetCss.outline"eltinelt##.style##.outline:=Js.bytestringvletoutlineColoreltv=letelt=get_unique_elt"SetCss.outlineColor"eltinelt##.style##.outlineColor:=Js.bytestringvletoutlineOffseteltv=letelt=get_unique_elt"SetCss.outlineOffset"eltinelt##.style##.outlineOffset:=Js.bytestringvletoutlineStyleeltv=letelt=get_unique_elt"SetCss.outlineStyle"eltinelt##.style##.outlineStyle:=Js.bytestringvletoutlineWidtheltv=letelt=get_unique_elt"SetCss.outlineWidth"eltinelt##.style##.outlineWidth:=Js.bytestringvletoverfloweltv=letelt=get_unique_elt"SetCss.overflow"eltinelt##.style##.overflow:=Js.bytestringvletoverflowXeltv=letelt=get_unique_elt"SetCss.overflowX"eltinelt##.style##.overflowX:=Js.bytestringvletoverflowYeltv=letelt=get_unique_elt"SetCss.overflowY"eltinelt##.style##.overflowY:=Js.bytestringvletpaddingeltv=letelt=get_unique_elt"SetCss.padding"eltinelt##.style##.padding:=Js.bytestringvletpaddingBottomeltv=letelt=get_unique_elt"SetCss.paddingBottom"eltinelt##.style##.paddingBottom:=Js.bytestringvletpaddingBottomPxeltv=paddingBottomelt(Printf.sprintf"%dpx"v)letpaddingLefteltv=letelt=get_unique_elt"SetCss.paddingLeft"eltinelt##.style##.paddingLeft:=Js.bytestringvletpaddingLeftPxeltv=paddingLeftelt(Printf.sprintf"%dpx"v)letpaddingRighteltv=letelt=get_unique_elt"SetCss.paddingRight"eltinelt##.style##.paddingRight:=Js.bytestringvletpaddingRightPxeltv=paddingRightelt(Printf.sprintf"%dpx"v)letpaddingTopeltv=letelt=get_unique_elt"SetCss.paddingTop"eltinelt##.style##.paddingTop:=Js.bytestringvletpaddingTopPxeltv=paddingTopelt(Printf.sprintf"%dpx"v)letpageBreakAftereltv=letelt=get_unique_elt"SetCss.pageBreakAfter"eltinelt##.style##.pageBreakAfter:=Js.bytestringvletpageBreakBeforeeltv=letelt=get_unique_elt"SetCss.pageBreakBefore"eltinelt##.style##.pageBreakBefore:=Js.bytestringvletpositioneltv=letelt=get_unique_elt"SetCss.position"eltinelt##.style##.position:=Js.bytestringvletrighteltv=letelt=get_unique_elt"SetCss.right"eltinelt##.style##.right:=Js.bytestringvletrightPxeltv=rightelt(Printf.sprintf"%dpx"v)lettableLayouteltv=letelt=get_unique_elt"SetCss.tableLayout"eltinelt##.style##.tableLayout:=Js.bytestringvlettextAligneltv=letelt=get_unique_elt"SetCss.textAlign"eltinelt##.style##.textAlign:=Js.bytestringvlettextDecorationeltv=letelt=get_unique_elt"SetCss.textDecoration"eltinelt##.style##.textDecoration:=Js.bytestringvlettextIndenteltv=letelt=get_unique_elt"SetCss.textIndent"eltinelt##.style##.textIndent:=Js.bytestringvlettextTransformeltv=letelt=get_unique_elt"SetCss.textTransform"eltinelt##.style##.textTransform:=Js.bytestringvlettopeltv=letelt=get_unique_elt"SetCss.top"eltinelt##.style##.top:=Js.bytestringvlettopPxeltv=topelt(Printf.sprintf"%dpx"v)letverticalAligneltv=letelt=get_unique_elt"SetCss.verticalAlign"eltinelt##.style##.verticalAlign:=Js.bytestringvletvisibilityeltv=letelt=get_unique_elt"SetCss.visibility"eltinelt##.style##.visibility:=Js.bytestringvletwhiteSpaceeltv=letelt=get_unique_elt"SetCss.whiteSpace"eltinelt##.style##.whiteSpace:=Js.bytestringvletwidtheltv=letelt=get_unique_elt"SetCss.width"eltinelt##.style##.width:=Js.bytestringvletwidthPxeltv=widthelt(Printf.sprintf"%dpx"v)letwordSpacingeltv=letelt=get_unique_elt"SetCss.wordSpacing"eltinelt##.style##.wordSpacing:=Js.bytestringvletzIndexeltv=letelt=get_unique_elt"SetCss.zIndex"eltinelt##.style##.zIndex:=Js.bytestringvendendend