/* * botui 0.3.4 * A JS library to build the UI for your bot * https://botui.org * * Copyright 2018, Moin Uddin * Released under the MIT license. */ !function(t,e){"use strict";"function"==typeof define&&define.amd?define([],function(){return t.BotUI=e(t)}):t.BotUI=e(t)}("undefined"!=typeof window?window:this,function(t,e){"use strict";return function(e,n){function o(t,e,n,o){return""+e+""}function i(t){return t.replace(g.image,"$1").replace(g.icon,"").replace(g.link,o)}function a(t,e){var n=document.createElement("script");n.type="text/javascript",n.src=t,e&&(n.onload=e),document.body.appendChild(n)}function s(t){y.action.addMessage&&m.message.human({delay:100,content:t}),y.action.show=!y.action.autoHide}function c(t){if(!t.loading&&!t.content)throw Error('BotUI: "content" is required in a non-loading message object.');t.type=t.type||"text",t.visible=!t.delay&&!t.loading;var e=y.messages.push(t)-1;return new Promise(function(n,o){setTimeout(function(){t.delay&&(t.visible=!0,t.loading&&(t.loading=!1)),n(e)},t.delay||0)})}function u(t){return"string"==typeof t&&(t={content:t}),t||{}}function r(t,e){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}function l(t){if(!t.action&&!t.actionButton&&!t.actionText)throw Error('BotUI: "action" property is required.')}function h(t){return l(t),r({type:"text",cssClass:"",autoHide:!0,addMessage:!0},t),y.action.type=t.type,y.action.cssClass=t.cssClass,y.action.autoHide=t.autoHide,y.action.addMessage=t.addMessage,new Promise(function(e,n){v=e,setTimeout(function(){y.action.show=!0},t.delay||0)})}if(n=n||{},!e)throw Error("BotUI: Container id is required as first argument.");if(!document.getElementById(e))throw Error("BotUI: Element with id #"+e+" does not exist.");if(!t.Vue&&!n.vue)throw Error("BotUI: Vue is required but not found.");var d,f,v,p={debug:!1,fontawesome:!0,searchselect:!0},m={},g={icon:/!\(([^\)]+)\)/gim,image:/!\[(.*?)\]\((.*?)\)/gim,link:/\[([^\[]+)\]\(([^\)]+)\)(\^?)/gim};t.Vue=t.Vue||n.vue;for(var b in p)n.hasOwnProperty(b)&&(p[b]=n[b]);t.Promise||Promise||options.promise||a("https://cdn.jsdelivr.net/es6-promise/4.1.0/es6-promise.min.js");var x={template:"
",data:function(){return{action:{text:{size:30,placeholder:"Write here .."},button:{},show:!1,type:"text",autoHide:!0,addMessage:!0},messages:[]}},computed:{isMobile:function(){return t.innerWidth&&t.innerWidth<=768}},methods:{handle_action_button:function(t){s(t.text);var e={type:"button",text:t.text,value:t.value};for(var n in t)t.hasOwnProperty(n)&&"type"!==n&&"text"!==n&&"value"!==n&&(e[n]=t[n]);v(e)},handle_action_text:function(){this.action.text.value&&(s(this.action.text.value),v({type:"text",value:this.action.text.value}),this.action.text.value="")},handle_action_select:function(){if(this.action.select.searchselect&&!this.action.select.multipleselect){if(!this.action.select.value.value)return;s(this.action.select.value[this.action.select.label]),v({type:"text",value:this.action.select.value.value,text:this.action.select.value.text,obj:this.action.select.value})}if(this.action.select.searchselect&&this.action.select.multipleselect){if(!this.action.select.value)return;for(var t=new Array,e=new Array,n=0;n