$xmpp $mol_view plugins / <= Theme $mol_theme_auto sub <= panes / - Login_pane $mol_page title @ \XMPP Client tools / <= Lights $mol_lights_toggle body / <= Login_form $mol_form form_fields / <= Server_field $mol_form_field name @ \WebSocket URL control <= Server_input $mol_string hint \wss://jabber.example.com/ws value? <=> server? \ <= Jid_field $mol_form_field name @ \JID control <= Jid_input $mol_string hint \user@jabber.example.com value? <=> jid? \ <= Pass_field $mol_form_field name @ \Password control <= Pass_input $mol_string type \password value? <=> password? \ <= Error_field $mol_form_field name @ \Error control <= Error_view $mol_view sub / <= error_text \ buttons / <= Connect_button $mol_button_major title <= connect_title @ \Connect click? <=> do_connect? null disabled <= connecting false - Folders_pane $mol_view sub / <= My_avatar $mol_view dom_name \img attr * ^ src <= my_avatar_uri \ alt \ <= Folder_all $mol_link arg * folder null sub / <= folder_all_label @ \All <= Folder_chats $mol_link arg * folder \chats sub / <= folder_chats_label @ \Chats <= Folder_rooms $mol_link arg * folder \rooms sub / <= folder_rooms_label @ \Rooms <= User_folders $mol_view sub <= user_folder_views / <= New_folder_zone $mol_drop adopt?transfer <=> folder_adopt?transfer null receive?obj <=> new_folder_receive?obj null Sub <= New_folder_label $mol_view sub / <= new_folder_text @ \+ Drop chat <= Folders_spacer $mol_view <= Set_avatar_button $mol_button_minor hint @ \Set avatar click? <=> do_set_avatar? null sub / <= Set_avatar_icon $mol_icon_camera <= Lights2 $mol_lights_toggle <= Disconnect_button $mol_button_minor hint <= disconnect_label @ \Disconnect click? <=> do_disconnect? null sub / <= Disconnect_icon $mol_icon_logout - User_folder* $mol_drop adopt?transfer <=> folder_adopt?transfer null receive?obj <=> folder_receive*?obj null Sub <= User_folder_link* $mol_link arg * folder <= user_folder_name* \ sub / <= user_folder_label* \ - Roster_pane $mol_view sub / <= Roster_header $mol_view sub <= roster_header_sub / <= Search_input $mol_string hint @ \Search or enter JID… value? <=> search_query? \ <= Roster_list $mol_list rows <= roster_rows / <= Search_actions $mol_view sub <= search_actions_sub / - Search_action_chat $mol_button_minor title <= search_action_chat_title \ click? <=> do_search_chat? null - Search_action_room $mol_button_minor title <= search_action_room_title \ click? <=> do_search_room? null - Roster_static_header $mol_view sub / <= roster_static_text \ - Roster_folder_header $mol_view sub / <= Roster_folder_input $mol_string value? <=> roster_folder_input? \ hint @ \Folder name <= Roster_folder_delete $mol_button_minor title @ \Delete folder click? <=> do_delete_current_folder? null - Chat_pane $mol_view sub <= chat_pane_content / - Chat_placeholder $mol_view sub / <= chat_placeholder_text @ \Select a chat to start messaging - Chat_view* $mol_view sub / <= Chat_header* $mol_view sub / <= Chat_avatar* $mol_view dom_name \img attr * ^ src <= chat_avatar_uri* \ alt \ <= Chat_title* $mol_view sub / <= chat_with* \ <= Chat_leave* $mol_button_minor title @ \Leave click? <=> do_leave_room*? null attr * ^ hidden <= chat_leave_hidden* \ <= Messages_list* $mol_list rows <= message_rows* / <= Compose_pane* $mol_view sub / <= Compose_input* $mol_string dom_name \textarea hint @ \Type a message… value? <=> compose*? \ event * ^ keydown? <=> compose_keydown*? null paste? <=> compose_paste*? null <= Attach_button* $mol_button_minor title @ \Attach click? <=> do_attach*? null <= Record_button* $mol_button_minor title <= record_title* @ \Record click? <=> do_record*? null <= Send_button* $mol_button_major title <= send_label @ \Send click? <=> do_send*? null - Roster_contact* $mol_drag transfer * text/plain <= roster_jid* \ Sub <= Roster_contact_link* $mol_link arg * chat <= roster_jid* \ sub / <= Contact_avatar* $mol_view dom_name \img attr * ^ src <= contact_avatar_uri* \ alt \ <= Contact_label* $mol_view sub / <= contact_display* \ - Msg* $mol_view sub / <= Msg_avatar* $mol_view dom_name \img attr * ^ src <= msg_avatar_uri* \ alt \ <= Msg_content* $mol_view sub / <= Msg_head* $mol_view sub / <= Msg_from* $mol_view sub / <= msg_from* \ <= Msg_time* $mol_view sub / <= msg_time* \ <= Msg_body* $mol_view sub / <= msg_body* \ <= Msg_media* $mol_view sub <= msg_media* / <= Msg_status* $mol_view sub / <= msg_status* \ - Msg_image* $mol_view dom_name \img attr * ^ src <= msg_image_uri* \ - Msg_audio* $mol_view dom_name \audio attr * ^ controls \ src <= msg_audio_src* \ - Msg_link* $mol_link uri <= msg_link_uri* \ sub / <= msg_link_label* @ \Open file