oZ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     None35IN-  !"#$%&'(  %    !"#$%&'(None35IN )*+,-./012 *,-./012 )*+,-./012None35Describe the PropType of a type Examples: ]propType (_ :: JSString) = PropString IsRequired propType (_ :: Bool) = PropBool IsRequired "The equivalent to React propTypes.3 !"#$%&'456789:;<=>?3 !"#$%&'456789:;<=3 !"#$%&'456789:;<=>?None@ABCDEFGHIJKLMN@ABCDEFGHIJKLMN@ABCDEFGHIJKLMNNone!"(3457;>HIJLN*A * is a standalone component of a user interface which contains the state necessary to render itself. Classes are a tool for scoping.Use  createClass to construct.props: The type of props passed in.state): The type of state this class maintains.insig.: The type of signals this class handles (see O)exsig,: The type of signals this class emits (see O)ctxZ: This is only used for React's mythical context feature -- If you know what that is, see  childContext for usage.0PQRSTUVWXYZ[\](^_)`abcde*fgOhijklmnopqrstuvwxyz{-PQRSTUVWXYZ[\](^_)`abcde*fgOhijklmnopqrstuvwx PQRSTUVWXYZ[\](^_)`abcde*fgOhijklm nopqrstuvwxyz{None(357+,-./+,-./+,-./+,-./ None|?Make a javascript callback to synchronously execute the handler}~ component idobject to set this attribute onhandler| }~| None!"40Render a top-level component.=Note that the rendered component can't possibly emit signals.1Unlike 0, 1H can render components that emit signals, as long as they can be shown.010101 None&(;N2+A type that can be used in a child context.React manages context (unlike props and state, which are managed entirely within Haskell), so anything used in child context must be convertable to a  and must be describable by a .;*Defaults for a stateless ("layout") class.<-Defaults for a stateful ("controller") class.23456789:;< !"#$%&'*fgOh23456789:;<23456789:;< None&(35 =>?@ABC=>?@ABC =>?@ABCNoneD<Parent nodes always take a list of arguments and children. / span_ [class_ "example"] $ ... children ... ~DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ NoneWhen importing a foreign class you must specify the props it takes. In the common case where it takes no props, only handles layout, it's convenient to specify the type of props as .Example:cpageLayout_ :: ReactNode () -> ReactNode () pageLayout_ = importParentClass pageLayout noPropsGUsed when importing a foreign class taking no props. See above example.None !"(3457UQImplement when a local signal can be generalized to a higher level one. Used by \ exists to make it simple to embed classes with local concerns. An example will be helpful:=We have some page which can respond to many different events. data Transition = UserTyping JSString | Toggle ... globalPage_ :: [AttrOrHandler Transition] -> ReactNode Transition QAnd we want to be able to embed some components that don't care about all that.  inputBox_ can only output JSString and  pageHeader_ can't send any signals at all. >inputBox_ :: ReactNode JSString pageHeader_ :: ReactNode Void )With locally we can easily embed them in  globalPage_: instance GeneralizeSignal JSString Transition where generalizeSignal = UserTyping -- (globalPage_) renderFn = props state -> div_ [ class_ "global-page" ] $ do locally pageHeader_ ... locally inputBox_ ... None035)Low level properties common to all eventsG     7     #      (C) 2014-15 Joel BurgetMIT"Joel Burget <joelburget@gmail.com> experimental non-portableNoney !"#$%&'()*0123456789:;<=>?@ABC     y*3456789:2<;01)     (?@ABC=>%&' !"#$  !"#$%&'()*+,-./0123456789:;<=> ? @ A B B C D E F G H I J K L M N O P QRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~          !"#$%&'()*+,-./0123456789:;<=>?@ABCDEEFGHHIJKLMNOPQRSSTUVWXYYZ[\]^_`abcdef9ghiijklmnopqrstuvwxyz { | | } ~            ?  K     react_81svgegiwbF6JsRV41vOgl React.GHCJSReactReact.Rebindable React.DOM React.ImportsReact.PropTypesReact.Registry React.TypesReact.Interpret React.Render React.ClassReact.Elements React.Attrs React.Local React.EventsJSAnyForeignRetention NeverRetain AlwaysRetain DomRetainToJSReftoJSRef FromJSRef fromJSRef FromJSString fromJSString ToJSString toJSStringJSStringJSArrayJSFunJSRefElementDocumentcurrentDocumentdocumentGetElementByIdcastRefnewObjeqReftoArraysetProp syncCallback1 syncCallback2 ImportedClass PropTypablePropTypePropBoolPropFunc PropNumber PropString PropObject PropRequired IsRequired IsntRequired AttrOrHandler ReactNode ReactClass>>return ifThenElsewhenunlessrender debugRenderClassCtx ClassConfigrenderFn initialStatename transitionstartupSignals childContext dumbClass smartClass ExportedNode ExportedClass classParent classLeafexportClassLeafimportLeafClassimportParentClass domParentdomLeaftext_ textarea_a_abbr_address_article_aside_audio_b_bdi_bdo_big_ blockquote_body_button_canvas_caption_cite_code_ colgroup_data_ datalist_dd_del_details_dfn_div_dl_dt_em_ fieldset_ figcaption_figure_footer_form_h1_h2_h3_h4_h5_h6_head_header_html_i_iframe_ins_kbd_label_legend_li_main_map_mark_menu_ menuitem_meter_nav_ noscript_object_ol_ optgroup_option_output_p_pre_ progress_q_rp_rt_ruby_s_samp_section_select_small_span_strong_sub_summary_sup_table_tbody_td_tfoot_th_thead_time_tr_u_ul_var_video_area_base_br_col_embed_hr_img_input_keygen_link_meta_param_source_track_wbr_svg_defs_g_linearGradient_mask_pattern_radialGradient_stop_tspan_circle_ellipse_line_path_polygon_ polyline_rect_NoPropsnoProps mkStaticAttrkey_class_href_id_src_value_ placeholder_for_type_checked_ autofocus_width_height_cx_cy_d_dx_dy_x_y_r_fill_viewBox_points_ transform_GeneralizeSignalgeneralizeSignallocally BlurEvent FocusEvent ChangeEventtarget timeStampTargetvaluetagName KeyboardEventcharCodekeykeyCodelocationrepeatwhich MouseEventclientXclientYpageXpageYscreenXscreenY ModifierKeysaltKeyctrlKeymetaKeyshiftKeyEventPropertiesbubbles cancelable currentTargetdefaultPrevented eventPhase isTrusted evtTarget eventTypeonBluronFocusonChange onKeyDown onKeyPressonKeyUp onMouseEnter onMouseLeave onDoubleClickonClickonEnter JSString_$fIsStringJSRef$fToJSStringJSRef$fToJSStringText$fToJSString[]$fFromJSStringJSRef$fFromJSStringText$fFromJSString[]$fToJSRefJSRef$fToJSRefMaybe$fToJSRefValue $fToJSRefInt$fFromJSRefJSRef$fFromJSRef(,)$fFromJSRefInt$fFromJSRefValueImportedClass_RawEvent RawEvent_ js_renderjs_createClassjs_react_createElement_DOMjs_react_createElement_Classjs_set_handlerjs_forceUpdatejs_foreignParentpropType FPropType FPropType_ fPropBool fPropFunc fPropNumber fPropString fPropObject fIsRequired toJsPropTypeptReq$fPropTypableJSRef$fPropTypableJSRef0 ClassRegistry registryStuff registryGen RegistryStuff registryProps registryStateregistryHandler generateKey allocProps setHandlersetStatedeallocRegistrylookupRegistryclassTransitionReactDOMElement reDomType reDomProps reDomChildrenreDomKeyreDomRefReactComponentElement reComType reComChildrenreComKeyreComRef reComProps StaticAttrHandlerComponentElement DomElement ForeignClassNodeText NodeSequence LocalNode classForeignclassStateRegistry EventHandlerhandlerevtTypeEvtType ChangeEvtBlurEvtFocusEvt KeyDownEvt KeyPressEvtKeyUpEvtClickEvtDoubleClickEvt MouseEnterEvt MouseLeaveEvtJSON$fIsStringReactNode$fMonoidReactNode $fShowJSRef handlerToJsAttrreactNodeToJSAnyjsName unHandler makeHandler attrsToJson separateAttrsattrHandlerToJSAny setMaybeKeysetProp'componentToJSAny domToJSAny willMount willUnmount createClassExportedClass_ classParent' classLeaf'$fToJSRefExportedNode$fToJSRefNoProps$fGeneralizeSignalVoida$fGeneralizeSignalaamkEventHandler $fEqJSRef$fNFDataBlurEvent$fFromJSRefBlurEvent$fFromJSRefFocusEvent$fNFDataFocusEvent$fNFDataChangeEvent$fFromJSRefChangeEvent$fFromJSRefTarget$fNFDataKeyboardEvent$fFromJSRefKeyboardEvent$fNFDataMouseEvent$fFromJSRefMouseEvent$fNFDataModifierKeys$fFromJSRefModifierKeys$fNFDataEventProperties