@robylon/react-native-sdk 2.0.19-staging.3 → 2.0.19-staging.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/lib/commonjs/Chatbotsdk.js +11 -69
  2. package/lib/commonjs/Chatbotsdk.js.map +1 -1
  3. package/lib/commonjs/components/ChatbotWebView.js +29 -0
  4. package/lib/commonjs/components/ChatbotWebView.js.map +1 -0
  5. package/lib/commonjs/constants.js +1 -1
  6. package/lib/commonjs/constants.js.map +1 -1
  7. package/lib/commonjs/utils/systemInfo.js +1 -1
  8. package/lib/commonjs/utils/systemInfo.js.map +1 -1
  9. package/lib/commonjs/version.js +1 -1
  10. package/lib/commonjs/version.js.map +1 -1
  11. package/lib/commonjs/versions/version.dev.js +2 -0
  12. package/lib/commonjs/versions/version.dev.js.map +1 -0
  13. package/lib/commonjs/versions/version.production.js +2 -0
  14. package/lib/commonjs/versions/version.production.js.map +1 -0
  15. package/lib/commonjs/versions/version.staging.js +2 -0
  16. package/lib/commonjs/versions/version.staging.js.map +1 -0
  17. package/lib/module/Chatbotsdk.js +11 -69
  18. package/lib/module/Chatbotsdk.js.map +1 -1
  19. package/lib/module/components/ChatbotWebView.js +29 -0
  20. package/lib/module/components/ChatbotWebView.js.map +1 -0
  21. package/lib/module/constants.js +1 -1
  22. package/lib/module/constants.js.map +1 -1
  23. package/lib/module/openChatbot.js +1 -2
  24. package/lib/module/openChatbot.js.map +1 -1
  25. package/lib/module/utils/systemInfo.js +1 -1
  26. package/lib/module/utils/systemInfo.js.map +1 -1
  27. package/lib/module/version.js +1 -1
  28. package/lib/module/version.js.map +1 -1
  29. package/lib/module/versions/version.dev.js +2 -0
  30. package/lib/module/versions/version.dev.js.map +1 -0
  31. package/lib/module/versions/version.production.js +2 -0
  32. package/lib/module/versions/version.production.js.map +1 -0
  33. package/lib/module/versions/version.staging.js +2 -0
  34. package/lib/module/versions/version.staging.js.map +1 -0
  35. package/lib/typescript/Chatbotsdk.d.ts.map +1 -1
  36. package/lib/typescript/components/ChatbotWebView.d.ts +17 -0
  37. package/lib/typescript/components/ChatbotWebView.d.ts.map +1 -0
  38. package/lib/typescript/utils/systemInfo.d.ts +1 -1
  39. package/lib/typescript/version.d.ts +1 -1
  40. package/lib/typescript/version.d.ts.map +1 -1
  41. package/lib/typescript/versions/version.dev.d.ts +2 -0
  42. package/lib/typescript/versions/version.dev.d.ts.map +1 -0
  43. package/lib/typescript/versions/version.production.d.ts +2 -0
  44. package/lib/typescript/versions/version.production.d.ts.map +1 -0
  45. package/lib/typescript/versions/version.staging.d.ts +2 -0
  46. package/lib/typescript/versions/version.staging.d.ts.map +1 -0
  47. package/package.json +10 -7
  48. package/scripts/update-version.js +21 -8
  49. package/src/Chatbotsdk.tsx +101 -127
  50. package/src/components/ChatbotWebView.tsx +74 -0
  51. package/src/utils/systemInfo.ts +2 -2
  52. package/src/version.ts +1 -1
  53. package/src/versions/version.dev.ts +2 -0
  54. package/src/versions/version.production.ts +2 -0
  55. package/src/versions/version.staging.ts +2 -0
@@ -1,76 +1,18 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _reactNativeWebview=require("react-native-webview");var _FloatingButton=_interopRequireDefault(require("./FloatingButton"));var _constants=require("./constants");var _version=require("./version");var _systemInfo=require("./utils/systemInfo");var _useChatbotEvents2=require("./hooks/useChatbotEvents");var _events=require("./types/events");var _logger=require("./utils/logger");var _debugConfig=require("./utils/debugConfig");var _DebugButton=_interopRequireDefault(require("./components/DebugButton"));var _ErrorBoundary=require("./components/ErrorBoundary");var _errorConstants=require("./constants/errorConstants");var _ErrorTrackingService=require("./services/ErrorTrackingService");var _cookieUtils=require("./utils/cookieUtils");var _webViewStorage=require("./utils/webViewStorage");var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/Users/jobinabraham/Developer/personal/robylon-react-native-sdk/src/Chatbotsdk.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var Chatbot=function Chatbot(_ref){var api_key=_ref.api_key,user_id=_ref.user_id,user_token=_ref.user_token,_ref$show_floating_bu=_ref.show_floating_button,show_floating_button=_ref$show_floating_bu===void 0?true:_ref$show_floating_bu,onEvent=_ref.onEvent,onMessage=_ref.onMessage,_ref$isFullScreen=_ref.isFullScreen,isFullScreen=_ref$isFullScreen===void 0?true:_ref$isFullScreen,_ref$enableAnimation=_ref.enableAnimation,enableAnimation=_ref$enableAnimation===void 0?true:_ref$enableAnimation,onOpen=_ref.onOpen,onClose=_ref.onClose,user_profile=_ref.user_profile;var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isWebViewVisible=_useState2[0],setIsWebViewVisible=_useState2[1];var _useState3=(0,_react.useState)(null),_useState4=(0,_slicedToArray2.default)(_useState3,2),chatbotConfig=_useState4[0],setChatbotConfig=_useState4[1];var _useState5=(0,_react.useState)(true),_useState6=(0,_slicedToArray2.default)(_useState5,2),loading=_useState6[0],setLoading=_useState6[1];var webViewRef=(0,_react.useRef)(null);var fadeAnim=(0,_react.useRef)(new _reactNative.Animated.Value(0)).current;var isFirstLoadRef=(0,_react.useRef)(true);var _useState7=(0,_react.useState)(false),_useState8=(0,_slicedToArray2.default)(_useState7,2),toastVisible=_useState8[0],setToastVisible=_useState8[1];var _useState9=(0,_react.useState)(""),_useState10=(0,_slicedToArray2.default)(_useState9,2),toastMessage=_useState10[0],setToastMessage=_useState10[1];var _useState11=(0,_react.useState)(),_useState12=(0,_slicedToArray2.default)(_useState11,2),effectiveUserId=_useState12[0],setEffectiveUserId=_useState12[1];var _useState13=(0,_react.useState)(false),_useState14=(0,_slicedToArray2.default)(_useState13,2),isStorageReady=_useState14[0],setIsStorageReady=_useState14[1];var pendingStorageOps=(0,_react.useRef)([]);var memoryCache=(0,_react.useRef)({});var _useState15=(0,_react.useState)({os:"",browser:""}),_useState16=(0,_slicedToArray2.default)(_useState15,2),systemInfo=_useState16[0],setSystemInfo=_useState16[1];var chatbotConfigForEvents=(0,_react.useMemo)(function(){return{userId:effectiveUserId,isAnonymous:!user_id&&user_id!==0};},[effectiveUserId,user_id]);var _useChatbotEvents=(0,_useChatbotEvents2.useChatbotEvents)({api_key:api_key,chatbotConfig:chatbotConfigForEvents!=null?chatbotConfigForEvents:{},user_profile:user_profile,onEvent:onEvent,systemInfo:systemInfo!=null?systemInfo:{os:"",browser:""}}),emitEvent=_useChatbotEvents.emitEvent,onInternalEvent=_useChatbotEvents.onInternalEvent;var triggerAppInit=function triggerAppInit(){if(webViewRef.current){webViewRef.current.injectJavaScript(`
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _FloatingButton=_interopRequireDefault(require("./FloatingButton"));var _constants=require("./constants");var _version=require("./version");var _systemInfo=require("./utils/systemInfo");var _useChatbotEvents2=require("./hooks/useChatbotEvents");var _events=require("./types/events");var _logger=require("./utils/logger");var _debugConfig=require("./utils/debugConfig");var _ErrorBoundary=require("./components/ErrorBoundary");var _errorConstants=require("./constants/errorConstants");var _ErrorTrackingService=require("./services/ErrorTrackingService");var _cookieUtils=require("./utils/cookieUtils");var _webViewStorage=require("./utils/webViewStorage");var _ChatbotWebView=_interopRequireDefault(require("./components/ChatbotWebView"));var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/Users/jobinabraham/Developer/personal/robylon-react-native-sdk/src/Chatbotsdk.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var Chatbot=function Chatbot(_ref){var api_key=_ref.api_key,user_id=_ref.user_id,user_token=_ref.user_token,_ref$show_floating_bu=_ref.show_floating_button,show_floating_button=_ref$show_floating_bu===void 0?true:_ref$show_floating_bu,onEvent=_ref.onEvent,onMessage=_ref.onMessage,_ref$isFullScreen=_ref.isFullScreen,isFullScreen=_ref$isFullScreen===void 0?true:_ref$isFullScreen,_ref$enableAnimation=_ref.enableAnimation,enableAnimation=_ref$enableAnimation===void 0?true:_ref$enableAnimation,onOpen=_ref.onOpen,onClose=_ref.onClose,user_profile=_ref.user_profile;var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isWebViewVisible=_useState2[0],setIsWebViewVisible=_useState2[1];var _useState3=(0,_react.useState)(null),_useState4=(0,_slicedToArray2.default)(_useState3,2),chatbotConfig=_useState4[0],setChatbotConfig=_useState4[1];var _useState5=(0,_react.useState)(true),_useState6=(0,_slicedToArray2.default)(_useState5,2),loading=_useState6[0],setLoading=_useState6[1];var webViewRef=(0,_react.useRef)(null);var fadeAnim=(0,_react.useRef)(new _reactNative.Animated.Value(0)).current;var isFirstLoadRef=(0,_react.useRef)(true);var _useState7=(0,_react.useState)(false),_useState8=(0,_slicedToArray2.default)(_useState7,2),toastVisible=_useState8[0],setToastVisible=_useState8[1];var _useState9=(0,_react.useState)(""),_useState10=(0,_slicedToArray2.default)(_useState9,2),toastMessage=_useState10[0],setToastMessage=_useState10[1];var _useState11=(0,_react.useState)(),_useState12=(0,_slicedToArray2.default)(_useState11,2),effectiveUserId=_useState12[0],setEffectiveUserId=_useState12[1];var _useState13=(0,_react.useState)(false),_useState14=(0,_slicedToArray2.default)(_useState13,2),isStorageReady=_useState14[0],setIsStorageReady=_useState14[1];var pendingStorageOps=(0,_react.useRef)([]);var memoryCache=(0,_react.useRef)({});var _useState15=(0,_react.useState)({os:"",browser:""}),_useState16=(0,_slicedToArray2.default)(_useState15,2),systemInfo=_useState16[0],setSystemInfo=_useState16[1];var chatbotConfigForEvents=(0,_react.useMemo)(function(){return{userId:effectiveUserId,isAnonymous:!user_id&&user_id!==0};},[effectiveUserId,user_id]);var _useChatbotEvents=(0,_useChatbotEvents2.useChatbotEvents)({api_key:api_key,chatbotConfig:chatbotConfigForEvents!=null?chatbotConfigForEvents:{},user_profile:user_profile,onEvent:onEvent,systemInfo:systemInfo!=null?systemInfo:{os:"",browser:""}}),emitEvent=_useChatbotEvents.emitEvent,onInternalEvent=_useChatbotEvents.onInternalEvent;var triggerAppInit=function triggerAppInit(){if(webViewRef.current){webViewRef.current.injectJavaScript(`
2
2
  // Trigger APP_READY equivalent
3
3
  window.ReactNativeWebView.postMessage(JSON.stringify({ type: 'APP_READY' }));
4
4
  true;
5
5
  `);}};var executeStorageOp=(0,_react.useCallback)(function(operation){if(isStorageReady){operation();}else{pendingStorageOps.current.push(operation);}},[isStorageReady]);var handleMessage=(0,_react.useCallback)(function(event){var _webViewRef$current;var data=event.nativeEvent.data;try{var parsedData=JSON.parse(data);if(Object.values(_webViewStorage.StorageMessageType).includes(parsedData.type)){var storageMessage=parsedData;switch(storageMessage.type){case _webViewStorage.StorageMessageType.STORAGE_READY:setIsStorageReady(true);pendingStorageOps.current.forEach(function(op){return op();});pendingStorageOps.current=[];(_webViewRef$current=webViewRef.current)==null?void 0:_webViewRef$current.injectJavaScript((0,_webViewStorage.createStorageMessage)(_webViewStorage.StorageMessageType.GET_STORAGE,"rblyn_anon"));break;case _webViewStorage.StorageMessageType.STORAGE_RESPONSE:if(storageMessage.key&&storageMessage.value){memoryCache.current[storageMessage.key]=storageMessage.value;if(storageMessage.key==="rblyn_anon"){setEffectiveUserId(storageMessage.value);}}break;case _webViewStorage.StorageMessageType.STORAGE_ERROR:_logger.logger.error("WebView storage error:",storageMessage.error);break;}return;}if(__DEV__){if((parsedData==null?void 0:parsedData.type)==="CONSOLE"){console.log(`WebView ${parsedData==null?void 0:parsedData.level}:`,parsedData==null?void 0:parsedData.data);return;}if((parsedData==null?void 0:parsedData.type)==="ERROR"){console.error("WebView Error:",parsedData==null?void 0:parsedData.data);return;}}if((parsedData==null?void 0:parsedData.type)==="SYSTEM_INFO"){var _parsedData$data;setSystemInfo((_parsedData$data=parsedData==null?void 0:parsedData.data)!=null?_parsedData$data:{os:"",browser:""});return;}if((parsedData==null?void 0:parsedData.type)==="APP_READY"){emitEvent(_events.ChatbotEventType.CHATBOT_APP_READY);if(webViewRef.current&&isWebViewVisible){var _webViewRef$current2,_webViewRef$current3;(_webViewRef$current2=webViewRef.current)==null?void 0:_webViewRef$current2.injectJavaScript((0,_systemInfo.getBrowserAndOSInfoScript)());var messageData={name:"registerUserId",action:"registerUserId",data:{userId:effectiveUserId,token:user_token?`${user_token}`:undefined,userProfile:Object.assign({},user_profile,(0,_systemInfo.getSystemInfo)(systemInfo))}};_logger.logger.debug("messageData====>",JSON.stringify(messageData));(_webViewRef$current3=webViewRef.current)==null?void 0:_webViewRef$current3.injectJavaScript(`
6
6
  window.postMessage(${JSON.stringify({name:"openFrame",domain:"app-domain.com"})}, '*');
7
7
  window.postMessage(${JSON.stringify(messageData)}, '*');
8
- `);}}switch(parsedData==null?void 0:parsedData.type){case"close_chatbot":closeWebView();break;case"CHATBOT_LOADED":emitEvent(_events.ChatbotEventType.CHATBOT_LOADED,parsedData==null?void 0:parsedData.data);break;case"CHAT_INITIALIZED":emitEvent(_events.ChatbotEventType.CHAT_INITIALIZED,parsedData==null?void 0:parsedData.data);break;case"SESSION_REFRESHED":emitEvent(_events.ChatbotEventType.SESSION_REFRESHED,parsedData==null?void 0:parsedData.data);break;case"CHAT_INITIALIZATION_FAILED":emitEvent(_events.ChatbotEventType.CHAT_INITIALIZATION_FAILED,parsedData==null?void 0:parsedData.data);break;default:if(onMessage)onMessage(parsedData!=null?parsedData:{});}}catch(error){_ErrorTrackingService.errorTracker.trackError(error instanceof Error?error:new Error("Failed to parse WebView message"),"ChatbotSDK",{type:_errorConstants.ErrorTypes.RUNTIME_ERROR,context:{messageData:data}});}},[emitEvent,isWebViewVisible,onMessage,systemInfo,effectiveUserId,user_token,user_profile]);(0,_react.useEffect)(function(){var initializeUserId=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(){var userId=user_id?String(user_id):undefined;if(!userId){userId=memoryCache.current["rblyn_anon"];if(!userId){userId=(0,_cookieUtils.generateUUID)();executeStorageOp(function(){var _webViewRef$current4;(_webViewRef$current4=webViewRef.current)==null?void 0:_webViewRef$current4.injectJavaScript((0,_webViewStorage.createStorageMessage)(_webViewStorage.StorageMessageType.SET_STORAGE,"rblyn_anon",userId));});}}setEffectiveUserId(userId);});return function initializeUserId(){return _ref2.apply(this,arguments);};}();initializeUserId();},[user_id,executeStorageOp]);(0,_react.useEffect)(function(){if(webViewRef.current){webViewRef.current.injectJavaScript((0,_webViewStorage.getStorageScript)());executeStorageOp(function(){var _webViewRef$current5;(_webViewRef$current5=webViewRef.current)==null?void 0:_webViewRef$current5.injectJavaScript((0,_webViewStorage.createStorageMessage)(_webViewStorage.StorageMessageType.GET_STORAGE,"rblyn_anon"));});}},[]);(0,_react.useEffect)(function(){var fetchChatbotConfig=function(){var _ref3=(0,_asyncToGenerator2.default)(function*(){try{var _data$user;var endpointUrl=`${_constants.API_URL}/chat/chatbot/get/`;var payload={client_user_id:effectiveUserId,org_id:api_key,token:user_token,extra_info:{}};var response=yield fetch(endpointUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(payload)});if(!response.ok){throw new Error("Failed to fetch chatbot configuration");}var data=yield response.json();var orgInfo=data==null?void 0:(_data$user=data.user)==null?void 0:_data$user.org_info;if(orgInfo){var _orgInfo$config,_orgInfo$brand_config,_orgInfo$config2;setChatbotConfig({brand_color:(orgInfo==null?void 0:(_orgInfo$config=orgInfo.config)==null?void 0:_orgInfo$config.brand_colour)||"#007AFF",image_url:(orgInfo==null?void 0:(_orgInfo$brand_config=orgInfo.brand_config)==null?void 0:_orgInfo$brand_config.launcher_logo_url)||"",welcome_message:(orgInfo==null?void 0:(_orgInfo$config2=orgInfo.config)==null?void 0:_orgInfo$config2.welcome_message)||""});}}catch(error){_ErrorTrackingService.errorTracker.trackError(error instanceof Error?error:new Error("Failed to fetch chatbot configuration"),"ChatbotSDK",{type:_errorConstants.ErrorTypes.NETWORK_ERROR,context:{api_key:api_key,user_id:user_id}});}finally{setLoading(false);}});return function fetchChatbotConfig(){return _ref3.apply(this,arguments);};}();if(api_key&&effectiveUserId){fetchChatbotConfig();}},[api_key,effectiveUserId,user_token]);function constructUrl(){if(!effectiveUserId)return"";var params=new URLSearchParams({id:api_key});console.log("BASE_CHATBOT_URL SDK_VERSION",_constants.BASE_CHATBOT_URL,_version.SDK_VERSION);return`${_constants.BASE_CHATBOT_URL}?${params.toString()}`;}var openWebView=(0,_react.useCallback)(function(){setIsWebViewVisible(true);if(enableAnimation){_reactNative.Animated.timing(fadeAnim,{toValue:1,duration:250,useNativeDriver:true}).start(function(){onOpen==null?void 0:onOpen();emitEvent(_events.ChatbotEventType.CHATBOT_OPENED);if(!isFirstLoadRef.current){setTimeout(triggerAppInit,100);}});}else{fadeAnim.setValue(1);requestAnimationFrame(function(){onOpen==null?void 0:onOpen();emitEvent(_events.ChatbotEventType.CHATBOT_OPENED);if(!isFirstLoadRef.current){setTimeout(triggerAppInit,100);}});}},[enableAnimation,fadeAnim,onOpen,emitEvent]);var closeWebView=(0,_react.useCallback)(function(){if(webViewRef.current){webViewRef.current.postMessage(JSON.stringify({name:"closeFrame",domain:"app-domain.com"}));}var complete=function complete(){setIsWebViewVisible(false);onClose==null?void 0:onClose();emitEvent(_events.ChatbotEventType.CHATBOT_CLOSED);};if(enableAnimation){_reactNative.Animated.timing(fadeAnim,{toValue:0,duration:200,useNativeDriver:true}).start(complete);}else{fadeAnim.setValue(0);requestAnimationFrame(complete);}},[enableAnimation,fadeAnim,onClose,emitEvent]);(0,_react.useEffect)(function(){if(show_floating_button&&chatbotConfig){emitEvent(_events.ChatbotEventType.CHATBOT_BUTTON_LOADED);}},[show_floating_button,chatbotConfig,emitEvent]);var getScreenDimensions=function getScreenDimensions(){var windowHeight=_reactNative.Dimensions.get("window").height;var windowWidth=_reactNative.Dimensions.get("window").width;var statusBarHeight=_reactNative.Platform.OS==="ios"?0:_reactNative.StatusBar.currentHeight||0;return{height:windowHeight-statusBarHeight,width:windowWidth};};var screenDimensions=getScreenDimensions();(0,_react.useEffect)(function(){if(__DEV__){(0,_debugConfig.enableNetworkDebug)();}},[]);return(0,_jsxRuntime.jsx)(_ErrorBoundary.ErrorBoundary,{componentName:"ChatbotSDK",children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.mainContainer,children:[!loading&&(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_ErrorBoundary.ErrorBoundary,{componentName:"FloatingButton",children:show_floating_button&&api_key&&chatbotConfig&&(0,_jsxRuntime.jsx)(_FloatingButton.default,{onPress:function onPress(){emitEvent(_events.ChatbotEventType.CHATBOT_BUTTON_CLICKED);openWebView();},brandColor:chatbotConfig.brand_color,imageUrl:chatbotConfig.image_url})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.webViewWrapper,{height:isWebViewVisible?"100%":0}],pointerEvents:isWebViewVisible?"auto":"none",children:(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[styles.fullScreenContainer,{opacity:fadeAnim}],children:(0,_jsxRuntime.jsx)(_ErrorBoundary.ErrorBoundary,{componentName:"ChatbotWebView",children:(0,_jsxRuntime.jsx)(_reactNativeWebview.WebView,{ref:webViewRef,source:{uri:constructUrl()},onMessage:handleMessage,style:styles.webview,containerStyle:isFullScreen?{width:screenDimensions.width,height:screenDimensions.height}:undefined,allowsInlineMediaPlayback:true,mediaPlaybackRequiresUserAction:false,allowFileAccess:false,geolocationEnabled:false,javaScriptEnabled:true,domStorageEnabled:true,cacheEnabled:true,scrollEnabled:true,bounces:false,onShouldStartLoadWithRequest:function onShouldStartLoadWithRequest(request){return request.url.startsWith(_constants.BASE_CHATBOT_URL);},startInLoadingState:isFirstLoadRef.current,onLoadEnd:function onLoadEnd(){var _webViewRef$current6;if(__DEV__){(0,_debugConfig.enableWebViewDebug)(webViewRef);}(_webViewRef$current6=webViewRef.current)==null?void 0:_webViewRef$current6.injectJavaScript(`
9
- if (!document.querySelector('meta[name="viewport"]')) {
10
- var meta = document.createElement('meta');
11
- meta.name = 'viewport';
12
- meta.content = 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no';
13
- document.getElementsByTagName('head')[0].appendChild(meta);
14
- }
15
-
16
- if (!document.querySelector('#injectedStyle')) {
17
- const style = document.createElement('style');
18
- style.id = 'injectedStyle';
19
- style.textContent = \`
20
- html, body, #root, #__next {
21
- height: 100% !important;
22
- min-height: 100% !important;
23
- overflow: hidden !important;
24
- }
25
- \`;
26
- document.head.appendChild(style);
27
- }
28
-
29
- window.sendToChatbot = function(message) {
30
- window.ReactNativeWebView.postMessage(JSON.stringify(message));
31
- };
32
-
33
- // Only create observer if it doesn't exist
34
- if (!window.closeButtonObserver) {
35
- // Setup mutation observer to watch for close button
36
- window.closeButtonObserver = new MutationObserver(function(mutations) {
37
- const closeButton = document.querySelector('.chatbot-close-button');
38
- if (closeButton && !closeButton.hasAttribute('listener-attached')) {
39
- closeButton.setAttribute('listener-attached', 'true');
40
- closeButton.addEventListener('click', () => {
41
- try {
42
- const message = { type: 'close_chatbot' };
43
- window.ReactNativeWebView.postMessage(JSON.stringify(message));
44
- } catch (error) {
45
- console.error('Error sending close message:', error);
46
- }
47
- });
48
- console.log('Close button listener attached');
49
- }
50
- });
51
-
52
- // Start observing
53
- window.closeButtonObserver.observe(document.body, {
54
- childList: true,
55
- subtree: true
56
- });
57
-
58
- // Initial check for existing button
59
- const existingButton = document.querySelector('.chatbot-close-button');
60
- if (existingButton && !existingButton.hasAttribute('listener-attached')) {
61
- existingButton.setAttribute('listener-attached', 'true');
62
- existingButton.addEventListener('click', () => {
63
- try {
64
- const message = { type: 'close_chatbot' };
65
- window.ReactNativeWebView.postMessage(JSON.stringify(message));
66
- } catch (error) {
67
- console.error('Error sending close message:', error);
68
- }
69
- });
70
- console.log('Close button listener attached to existing button');
71
- }
72
- }
73
-
74
- true;
75
- `);isFirstLoadRef.current=false;},onError:function onError(syntheticEvent){var nativeEvent=syntheticEvent.nativeEvent;_ErrorTrackingService.errorTracker.trackError(new Error(nativeEvent.description),"ChatbotWebView",{type:_errorConstants.ErrorTypes.RUNTIME_ERROR,context:{url:nativeEvent.url,code:nativeEvent.code}});}})})})})]}),__DEV__&&(0,_jsxRuntime.jsx)(_DebugButton.default,{})]})});};var styles=_reactNative.StyleSheet.create({mainContainer:{flex:1,position:"relative"},webViewWrapper:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden",zIndex:1000},fullScreenContainer:{position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:"white",zIndex:1000},inlineContainer:{flex:1,backgroundColor:"white"},webview:{flex:1,backgroundColor:"white"}});var _default=exports.default=Chatbot;
8
+ `);}}switch(parsedData==null?void 0:parsedData.type){case"close_chatbot":closeWebView();break;case"CHATBOT_LOADED":emitEvent(_events.ChatbotEventType.CHATBOT_LOADED,parsedData==null?void 0:parsedData.data);break;case"CHAT_INITIALIZED":emitEvent(_events.ChatbotEventType.CHAT_INITIALIZED,parsedData==null?void 0:parsedData.data);break;case"SESSION_REFRESHED":emitEvent(_events.ChatbotEventType.SESSION_REFRESHED,parsedData==null?void 0:parsedData.data);break;case"CHAT_INITIALIZATION_FAILED":emitEvent(_events.ChatbotEventType.CHAT_INITIALIZATION_FAILED,parsedData==null?void 0:parsedData.data);break;default:if(onMessage)onMessage(parsedData!=null?parsedData:{});}}catch(error){_ErrorTrackingService.errorTracker.trackError(error instanceof Error?error:new Error("Failed to parse WebView message"),"ChatbotSDK",{type:_errorConstants.ErrorTypes.RUNTIME_ERROR,context:{messageData:data}});}},[emitEvent,isWebViewVisible,onMessage,systemInfo,effectiveUserId,user_token,user_profile]);(0,_react.useEffect)(function(){var initializeUserId=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(){var userId=user_id?String(user_id):undefined;if(!userId){userId=memoryCache.current["rblyn_anon"];if(!userId){userId=(0,_cookieUtils.generateUUID)();executeStorageOp(function(){var _webViewRef$current4;(_webViewRef$current4=webViewRef.current)==null?void 0:_webViewRef$current4.injectJavaScript((0,_webViewStorage.createStorageMessage)(_webViewStorage.StorageMessageType.SET_STORAGE,"rblyn_anon",userId));});}}setEffectiveUserId(userId);});return function initializeUserId(){return _ref2.apply(this,arguments);};}();initializeUserId();},[user_id,executeStorageOp]);(0,_react.useEffect)(function(){if(webViewRef.current){webViewRef.current.injectJavaScript((0,_webViewStorage.getStorageScript)());executeStorageOp(function(){var _webViewRef$current5;(_webViewRef$current5=webViewRef.current)==null?void 0:_webViewRef$current5.injectJavaScript((0,_webViewStorage.createStorageMessage)(_webViewStorage.StorageMessageType.GET_STORAGE,"rblyn_anon"));});}},[]);(0,_react.useEffect)(function(){var fetchChatbotConfig=function(){var _ref3=(0,_asyncToGenerator2.default)(function*(){try{var _data$user;var endpointUrl=`${_constants.API_URL}/chat/chatbot/get/`;var payload={client_user_id:effectiveUserId,org_id:api_key,token:user_token,extra_info:{}};var response=yield fetch(endpointUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(payload)});if(!response.ok){throw new Error("Failed to fetch chatbot configuration");}var data=yield response.json();var orgInfo=data==null?void 0:(_data$user=data.user)==null?void 0:_data$user.org_info;if(orgInfo){var _orgInfo$config,_orgInfo$brand_config,_orgInfo$config2;setChatbotConfig({brand_color:(orgInfo==null?void 0:(_orgInfo$config=orgInfo.config)==null?void 0:_orgInfo$config.brand_colour)||"#007AFF",image_url:(orgInfo==null?void 0:(_orgInfo$brand_config=orgInfo.brand_config)==null?void 0:_orgInfo$brand_config.launcher_logo_url)||"",welcome_message:(orgInfo==null?void 0:(_orgInfo$config2=orgInfo.config)==null?void 0:_orgInfo$config2.welcome_message)||""});}}catch(error){_ErrorTrackingService.errorTracker.trackError(error instanceof Error?error:new Error("Failed to fetch chatbot configuration"),"ChatbotSDK",{type:_errorConstants.ErrorTypes.NETWORK_ERROR,context:{api_key:api_key,user_id:user_id}});}finally{setLoading(false);}});return function fetchChatbotConfig(){return _ref3.apply(this,arguments);};}();if(api_key&&effectiveUserId){fetchChatbotConfig();}},[api_key,effectiveUserId,user_token]);function constructUrl(){if(!effectiveUserId)return"";var params=new URLSearchParams({id:api_key});console.log("BASE_CHATBOT_URL SDK_VERSION",_constants.BASE_CHATBOT_URL,_version.SDK_VERSION);return"https://demo.robylon.ai/chat/public/RG5x9i1fvk/";}var openWebView=(0,_react.useCallback)(function(){setIsWebViewVisible(true);if(enableAnimation){_reactNative.Animated.timing(fadeAnim,{toValue:1,duration:250,useNativeDriver:true}).start(function(){onOpen==null?void 0:onOpen();emitEvent(_events.ChatbotEventType.CHATBOT_OPENED);if(!isFirstLoadRef.current){setTimeout(triggerAppInit,100);}});}else{fadeAnim.setValue(1);requestAnimationFrame(function(){onOpen==null?void 0:onOpen();emitEvent(_events.ChatbotEventType.CHATBOT_OPENED);if(!isFirstLoadRef.current){setTimeout(triggerAppInit,100);}});}},[enableAnimation,fadeAnim,onOpen,emitEvent]);var closeWebView=(0,_react.useCallback)(function(){if(webViewRef.current){webViewRef.current.postMessage(JSON.stringify({name:"closeFrame",domain:"app-domain.com"}));}var complete=function complete(){setIsWebViewVisible(false);onClose==null?void 0:onClose();emitEvent(_events.ChatbotEventType.CHATBOT_CLOSED);};if(enableAnimation){_reactNative.Animated.timing(fadeAnim,{toValue:0,duration:200,useNativeDriver:true}).start(complete);}else{fadeAnim.setValue(0);requestAnimationFrame(complete);}},[enableAnimation,fadeAnim,onClose,emitEvent]);(0,_react.useEffect)(function(){if(show_floating_button&&chatbotConfig){emitEvent(_events.ChatbotEventType.CHATBOT_BUTTON_LOADED);}},[show_floating_button,chatbotConfig,emitEvent]);var getScreenDimensions=function getScreenDimensions(){var windowHeight=_reactNative.Dimensions.get("window").height;var windowWidth=_reactNative.Dimensions.get("window").width;var statusBarHeight=_reactNative.Platform.OS==="ios"?0:_reactNative.StatusBar.currentHeight||0;return{height:windowHeight-statusBarHeight,width:windowWidth};};var screenDimensions=getScreenDimensions();(0,_react.useEffect)(function(){if(__DEV__){(0,_debugConfig.enableNetworkDebug)();}},[]);var userAgent=_reactNative.Platform.select({android:"Mozilla/5.0 (Linux; Android 10; Android SDK built for x86) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.120 Mobile Safari/537.36",ios:"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"});return((0,_jsxRuntime.jsx)(_reactNative.SafeAreaView,{style:styles.mainContainer,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.mainContainer,children:!loading&&(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_ErrorBoundary.ErrorBoundary,{componentName:"FloatingButton",children:show_floating_button&&api_key&&chatbotConfig&&(0,_jsxRuntime.jsx)(_FloatingButton.default,{onPress:function onPress(){emitEvent(_events.ChatbotEventType.CHATBOT_BUTTON_CLICKED);openWebView();},brandColor:chatbotConfig.brand_color,imageUrl:chatbotConfig.image_url})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[{height:isWebViewVisible?"100%":0}],pointerEvents:"auto",children:(0,_jsxRuntime.jsx)(_ChatbotWebView.default,{ref:webViewRef,source:{uri:constructUrl()},onMessage:handleMessage,onDebugMessage:function onDebugMessage(message){console.log("WebView Debug:",message);},style:styles.webview,allowsInlineMediaPlayback:true,mediaPlaybackRequiresUserAction:false,allowFileAccess:false,geolocationEnabled:false,javaScriptEnabled:true,domStorageEnabled:true,cacheEnabled:true,scrollEnabled:true,bounces:false,onShouldStartLoadWithRequest:function onShouldStartLoadWithRequest(request){var allowedDomains=[_constants.BASE_CHATBOT_URL,"about:blank"];return allowedDomains.some(function(domain){return request.url.startsWith(domain);});},startInLoadingState:isFirstLoadRef.current,onLoadEnd:function onLoadEnd(){isFirstLoadRef.current=false;},onError:function onError(syntheticEvent){var nativeEvent=syntheticEvent.nativeEvent;_ErrorTrackingService.errorTracker.trackError(new Error(nativeEvent.description),"ChatbotWebView",{type:_errorConstants.ErrorTypes.RUNTIME_ERROR,context:{url:nativeEvent.url,code:nativeEvent.code}});},userAgent:userAgent,originWhitelist:["*"],mixedContentMode:"always",onContentProcessDidTerminate:function onContentProcessDidTerminate(){var _webViewRef$current6;(_webViewRef$current6=webViewRef.current)==null?void 0:_webViewRef$current6.reload();},injectedJavaScriptBeforeContentLoaded:`
9
+ window.onerror = function(message, source, lineno, colno, error) {
10
+ window.ReactNativeWebView.postMessage(JSON.stringify({
11
+ type: 'ERROR',
12
+ data: {message, source, lineno, colno}
13
+ }));
14
+ return true;
15
+ };
16
+ true;
17
+ `,androidLayerType:"hardware",overScrollMode:"never",textZoom:100,setSupportMultipleWindows:false,allowsBackForwardNavigationGestures:false,useWebKit:true,keyboardDisplayRequiresUserAction:false,hideKeyboardAccessoryView:true,applicationNameForUserAgent:"ChatbotApp"})})]})})}));};var styles=_reactNative.StyleSheet.create({mainContainer:{flex:1,position:"relative"},webViewWrapper:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden",zIndex:100},fullScreenContainer:{position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:"white",zIndex:100},inlineContainer:{flex:1,backgroundColor:"white"},webview:{flex:1,backgroundColor:"white"}});var _default=exports.default=Chatbot;
76
18
  //# sourceMappingURL=Chatbotsdk.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_FloatingButton","_interopRequireDefault","_constants","_version","_systemInfo","_useChatbotEvents2","_events","_logger","_debugConfig","_DebugButton","_ErrorBoundary","_errorConstants","_ErrorTrackingService","_cookieUtils","_webViewStorage","_jsxRuntime","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Chatbot","_ref","api_key","user_id","user_token","_ref$show_floating_bu","show_floating_button","onEvent","onMessage","_ref$isFullScreen","isFullScreen","_ref$enableAnimation","enableAnimation","onOpen","onClose","user_profile","_useState","useState","_useState2","_slicedToArray2","isWebViewVisible","setIsWebViewVisible","_useState3","_useState4","chatbotConfig","setChatbotConfig","_useState5","_useState6","loading","setLoading","webViewRef","useRef","fadeAnim","Animated","Value","current","isFirstLoadRef","_useState7","_useState8","toastVisible","setToastVisible","_useState9","_useState10","toastMessage","setToastMessage","_useState11","_useState12","effectiveUserId","setEffectiveUserId","_useState13","_useState14","isStorageReady","setIsStorageReady","pendingStorageOps","memoryCache","_useState15","os","browser","_useState16","systemInfo","setSystemInfo","chatbotConfigForEvents","useMemo","userId","isAnonymous","_useChatbotEvents","useChatbotEvents","emitEvent","onInternalEvent","triggerAppInit","injectJavaScript","executeStorageOp","useCallback","operation","push","handleMessage","event","_webViewRef$current","data","nativeEvent","parsedData","JSON","parse","values","StorageMessageType","includes","type","storageMessage","STORAGE_READY","forEach","op","createStorageMessage","GET_STORAGE","STORAGE_RESPONSE","key","value","STORAGE_ERROR","logger","error","__DEV__","console","log","level","_parsedData$data","ChatbotEventType","CHATBOT_APP_READY","_webViewRef$current2","_webViewRef$current3","getBrowserAndOSInfoScript","messageData","name","action","token","undefined","userProfile","assign","getSystemInfo","debug","stringify","domain","closeWebView","CHATBOT_LOADED","CHAT_INITIALIZED","SESSION_REFRESHED","CHAT_INITIALIZATION_FAILED","errorTracker","trackError","Error","ErrorTypes","RUNTIME_ERROR","context","useEffect","initializeUserId","_ref2","_asyncToGenerator2","String","generateUUID","_webViewRef$current4","SET_STORAGE","apply","arguments","getStorageScript","_webViewRef$current5","fetchChatbotConfig","_ref3","_data$user","endpointUrl","API_URL","payload","client_user_id","org_id","extra_info","response","fetch","method","headers","body","ok","json","orgInfo","user","org_info","_orgInfo$config","_orgInfo$brand_config","_orgInfo$config2","brand_color","config","brand_colour","image_url","brand_config","launcher_logo_url","welcome_message","NETWORK_ERROR","constructUrl","params","URLSearchParams","id","BASE_CHATBOT_URL","SDK_VERSION","toString","openWebView","timing","toValue","duration","useNativeDriver","start","CHATBOT_OPENED","setTimeout","setValue","requestAnimationFrame","postMessage","complete","CHATBOT_CLOSED","CHATBOT_BUTTON_LOADED","getScreenDimensions","windowHeight","Dimensions","height","windowWidth","width","statusBarHeight","Platform","OS","StatusBar","currentHeight","screenDimensions","enableNetworkDebug","jsx","ErrorBoundary","componentName","children","jsxs","View","style","styles","mainContainer","Fragment","onPress","CHATBOT_BUTTON_CLICKED","brandColor","imageUrl","webViewWrapper","pointerEvents","fullScreenContainer","opacity","WebView","ref","source","uri","webview","containerStyle","allowsInlineMediaPlayback","mediaPlaybackRequiresUserAction","allowFileAccess","geolocationEnabled","javaScriptEnabled","domStorageEnabled","cacheEnabled","scrollEnabled","bounces","onShouldStartLoadWithRequest","request","url","startsWith","startInLoadingState","onLoadEnd","_webViewRef$current6","enableWebViewDebug","onError","syntheticEvent","description","code","StyleSheet","create","flex","position","top","left","right","bottom","overflow","zIndex","backgroundColor","inlineContainer","_default","exports"],"sourceRoot":"../../src","sources":["Chatbotsdk.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_FloatingButton","_interopRequireDefault","_constants","_version","_systemInfo","_useChatbotEvents2","_events","_logger","_debugConfig","_ErrorBoundary","_errorConstants","_ErrorTrackingService","_cookieUtils","_webViewStorage","_ChatbotWebView","_jsxRuntime","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Chatbot","_ref","api_key","user_id","user_token","_ref$show_floating_bu","show_floating_button","onEvent","onMessage","_ref$isFullScreen","isFullScreen","_ref$enableAnimation","enableAnimation","onOpen","onClose","user_profile","_useState","useState","_useState2","_slicedToArray2","isWebViewVisible","setIsWebViewVisible","_useState3","_useState4","chatbotConfig","setChatbotConfig","_useState5","_useState6","loading","setLoading","webViewRef","useRef","fadeAnim","Animated","Value","current","isFirstLoadRef","_useState7","_useState8","toastVisible","setToastVisible","_useState9","_useState10","toastMessage","setToastMessage","_useState11","_useState12","effectiveUserId","setEffectiveUserId","_useState13","_useState14","isStorageReady","setIsStorageReady","pendingStorageOps","memoryCache","_useState15","os","browser","_useState16","systemInfo","setSystemInfo","chatbotConfigForEvents","useMemo","userId","isAnonymous","_useChatbotEvents","useChatbotEvents","emitEvent","onInternalEvent","triggerAppInit","injectJavaScript","executeStorageOp","useCallback","operation","push","handleMessage","event","_webViewRef$current","data","nativeEvent","parsedData","JSON","parse","values","StorageMessageType","includes","type","storageMessage","STORAGE_READY","forEach","op","createStorageMessage","GET_STORAGE","STORAGE_RESPONSE","key","value","STORAGE_ERROR","logger","error","__DEV__","console","log","level","_parsedData$data","ChatbotEventType","CHATBOT_APP_READY","_webViewRef$current2","_webViewRef$current3","getBrowserAndOSInfoScript","messageData","name","action","token","undefined","userProfile","assign","getSystemInfo","debug","stringify","domain","closeWebView","CHATBOT_LOADED","CHAT_INITIALIZED","SESSION_REFRESHED","CHAT_INITIALIZATION_FAILED","errorTracker","trackError","Error","ErrorTypes","RUNTIME_ERROR","context","useEffect","initializeUserId","_ref2","_asyncToGenerator2","String","generateUUID","_webViewRef$current4","SET_STORAGE","apply","arguments","getStorageScript","_webViewRef$current5","fetchChatbotConfig","_ref3","_data$user","endpointUrl","API_URL","payload","client_user_id","org_id","extra_info","response","fetch","method","headers","body","ok","json","orgInfo","user","org_info","_orgInfo$config","_orgInfo$brand_config","_orgInfo$config2","brand_color","config","brand_colour","image_url","brand_config","launcher_logo_url","welcome_message","NETWORK_ERROR","constructUrl","params","URLSearchParams","id","BASE_CHATBOT_URL","SDK_VERSION","openWebView","timing","toValue","duration","useNativeDriver","start","CHATBOT_OPENED","setTimeout","setValue","requestAnimationFrame","postMessage","complete","CHATBOT_CLOSED","CHATBOT_BUTTON_LOADED","getScreenDimensions","windowHeight","Dimensions","height","windowWidth","width","statusBarHeight","Platform","OS","StatusBar","currentHeight","screenDimensions","enableNetworkDebug","userAgent","select","android","ios","jsx","SafeAreaView","style","styles","mainContainer","children","View","jsxs","Fragment","ErrorBoundary","componentName","onPress","CHATBOT_BUTTON_CLICKED","brandColor","imageUrl","pointerEvents","ref","source","uri","onDebugMessage","message","webview","allowsInlineMediaPlayback","mediaPlaybackRequiresUserAction","allowFileAccess","geolocationEnabled","javaScriptEnabled","domStorageEnabled","cacheEnabled","scrollEnabled","bounces","onShouldStartLoadWithRequest","request","allowedDomains","some","url","startsWith","startInLoadingState","onLoadEnd","onError","syntheticEvent","description","code","originWhitelist","mixedContentMode","onContentProcessDidTerminate","_webViewRef$current6","reload","injectedJavaScriptBeforeContentLoaded","androidLayerType","overScrollMode","textZoom","setSupportMultipleWindows","allowsBackForwardNavigationGestures","useWebKit","keyboardDisplayRequiresUserAction","hideKeyboardAccessoryView","applicationNameForUserAgent","StyleSheet","create","flex","position","webViewWrapper","top","left","right","bottom","overflow","zIndex","fullScreenContainer","backgroundColor","inlineContainer","_default","exports"],"sourceRoot":"../../src","sources":["Chatbotsdk.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _reactNativeWebview=require("react-native-webview");var _jsxRuntime=require("react/jsx-runtime");var _excluded=["onDebugMessage"];var _this=this,_jsxFileName="/Users/jobinabraham/Developer/personal/robylon-react-native-sdk/src/components/ChatbotWebView.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var ChatbotWebView=(0,_react.forwardRef)(function(props,ref){var onDebugMessage=props.onDebugMessage,restProps=(0,_objectWithoutProperties2.default)(props,_excluded);var defaultInjectedJavaScript=`
2
+ // Set viewport
3
+ const meta = document.createElement('meta');
4
+ meta.name = 'viewport';
5
+ meta.content = 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover';
6
+ document.head.appendChild(meta);
7
+
8
+ // Basic touch handling
9
+ document.documentElement.style.webkitTouchCallout = 'none';
10
+ document.documentElement.style.webkitUserSelect = 'none';
11
+ document.documentElement.style.userSelect = 'none';
12
+
13
+ // Make all interactive elements clickable
14
+ const style = document.createElement('style');
15
+ style.textContent = \`
16
+ * { touch-action: manipulation; }
17
+ button, [role="button"], a, input, select, textarea {
18
+ cursor: pointer !important;
19
+ -webkit-tap-highlight-color: transparent;
20
+ }
21
+ \`;
22
+ document.head.appendChild(style);
23
+
24
+ true;
25
+ `;return(0,_jsxRuntime.jsx)(_reactNativeWebview.WebView,Object.assign({ref:ref},restProps,{injectedJavaScript:`
26
+ ${defaultInjectedJavaScript}
27
+ ${props.injectedJavaScript||""}
28
+ `,onMessage:props.onMessage,style:[{opacity:0.99},props.style],bounces:false,showsHorizontalScrollIndicator:false,showsVerticalScrollIndicator:false,scalesPageToFit:_reactNative.Platform.OS==="android",automaticallyAdjustContentInsets:false,contentInsetAdjustmentBehavior:"never",decelerationRate:"normal",javaScriptEnabled:true,domStorageEnabled:true,scrollEnabled:true,directionalLockEnabled:true}));});var _default=exports.default=ChatbotWebView;
29
+ //# sourceMappingURL=ChatbotWebView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_jsxRuntime","_excluded","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ChatbotWebView","forwardRef","props","ref","onDebugMessage","restProps","_objectWithoutProperties2","defaultInjectedJavaScript","jsx","WebView","assign","injectedJavaScript","onMessage","style","opacity","bounces","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","scalesPageToFit","Platform","OS","automaticallyAdjustContentInsets","contentInsetAdjustmentBehavior","decelerationRate","javaScriptEnabled","domStorageEnabled","scrollEnabled","directionalLockEnabled","_default","exports"],"sourceRoot":"../../../src","sources":["components/ChatbotWebView.tsx"],"mappings":"mRAAA,IAAAA,MAAA,CAAAC,uBAAA,CAAAC,OAAA,WACA,IAAAC,YAAA,CAAAD,OAAA,iBACA,IAAAE,mBAAA,CAAAF,OAAA,yBAA6D,IAAAG,WAAA,CAAAH,OAAA,0BAAAI,SAAA,wBAAAC,KAAA,MAAAC,YAAA,8GAAAC,yBAAAC,CAAA,wBAAAC,OAAA,iBAAAC,CAAA,KAAAD,OAAA,GAAAE,CAAA,KAAAF,OAAA,UAAAF,wBAAA,UAAAA,yBAAAC,CAAA,SAAAA,CAAA,CAAAG,CAAA,CAAAD,CAAA,IAAAF,CAAA,YAAAT,wBAAAS,CAAA,CAAAE,CAAA,MAAAA,CAAA,EAAAF,CAAA,EAAAA,CAAA,CAAAI,UAAA,QAAAJ,CAAA,WAAAA,CAAA,mBAAAA,CAAA,qBAAAA,CAAA,QAAAK,OAAA,CAAAL,CAAA,MAAAG,CAAA,CAAAJ,wBAAA,CAAAG,CAAA,KAAAC,CAAA,EAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,SAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,MAAAQ,CAAA,EAAAC,SAAA,OAAAC,CAAA,CAAAC,MAAA,CAAAC,cAAA,EAAAD,MAAA,CAAAE,wBAAA,SAAAC,CAAA,IAAAd,CAAA,gBAAAc,CAAA,KAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,CAAAc,CAAA,OAAAG,CAAA,CAAAP,CAAA,CAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,CAAAc,CAAA,OAAAG,CAAA,GAAAA,CAAA,CAAAV,GAAA,EAAAU,CAAA,CAAAC,GAAA,EAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,CAAAM,CAAA,CAAAG,CAAA,EAAAT,CAAA,CAAAM,CAAA,EAAAd,CAAA,CAAAc,CAAA,UAAAN,CAAA,CAAAH,OAAA,CAAAL,CAAA,CAAAG,CAAA,EAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,CAAAQ,CAAA,EAAAA,CAAA,EAe7D,GAAM,CAAAW,cAAc,CAAG,GAAAC,iBAAU,EAC/B,SAACC,KAAK,CAAEC,GAAG,CAAK,CACd,GAAQ,CAAAC,cAAc,CAAmBF,KAAK,CAAtCE,cAAc,CAAKC,SAAS,IAAAC,yBAAA,CAAApB,OAAA,EAAKgB,KAAK,CAAAzB,SAAA,EAE9C,GAAM,CAAA8B,yBAAyB,CAAG;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAED,MACE,GAAA/B,WAAA,CAAAgC,GAAA,EAACjC,mBAAA,CAAAkC,OAAO,CAAAjB,MAAA,CAAAkB,MAAA,EACNP,GAAG,CAAEA,GAAI,EACLE,SAAS,EACbM,kBAAkB,CAAE;AAC5B,YAAYJ,yBAAyB;AACrC,YAAYL,KAAK,CAACS,kBAAkB,EAAI,EAAE;AAC1C,SAAU,CACFC,SAAS,CAAEV,KAAK,CAACU,SAAU,CAC3BC,KAAK,CAAE,CAAC,CAAEC,OAAO,CAAE,IAAK,CAAC,CAAEZ,KAAK,CAACW,KAAK,CAAE,CACxCE,OAAO,CAAE,KAAM,CACfC,8BAA8B,CAAE,KAAM,CACtCC,4BAA4B,CAAE,KAAM,CACpCC,eAAe,CAAEC,qBAAQ,CAACC,EAAE,GAAK,SAAU,CAC3CC,gCAAgC,CAAE,KAAM,CACxCC,8BAA8B,CAAC,OAAO,CACtCC,gBAAgB,CAAC,QAAQ,CACzBC,iBAAiB,CAAE,IAAK,CACxBC,iBAAiB,CAAE,IAAK,CACxBC,aAAa,CAAE,IAAK,CACpBC,sBAAsB,CAAE,IAAK,EAC9B,CAAC,CAEN,CACF,CAAC,CAAC,IAAAC,QAAA,CAAAC,OAAA,CAAA3C,OAAA,CAEac,cAAc","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});exports.BASE_CHATBOT_URL=exports.API_URL=void 0;var BASE_CHATBOT_DOMAIN=process&&process.env&&process.env.CHATBOT_DOMAIN||"https://staging.d2s3wsqyyond1h.amplifyapp.com"||"";var CHATBOT_PATH=process&&process.env&&process.env.CHATBOT_PATH||"chatbot-plugin"||"";var BASE_CHATBOT_URL=exports.BASE_CHATBOT_URL=`${BASE_CHATBOT_DOMAIN}/${CHATBOT_PATH}`;var API_URL=exports.API_URL=process&&process.env&&process.env.API_URL||"https://stage-api.robylon.ai";
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.BASE_CHATBOT_URL=exports.API_URL=void 0;var BASE_CHATBOT_DOMAIN=process&&process.env&&process.env.CHATBOT_DOMAIN||"http://172.16.0.232:5174"||"";var CHATBOT_PATH=process&&process.env&&process.env.CHATBOT_PATH||"chatbot-plugin"||"";var BASE_CHATBOT_URL=exports.BASE_CHATBOT_URL=`${BASE_CHATBOT_DOMAIN}/${CHATBOT_PATH}`;var API_URL=exports.API_URL=process&&process.env&&process.env.API_URL||"https://stage-api.robylon.ai";
2
2
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_CHATBOT_DOMAIN","process","env","process.env","CHATBOT_DOMAIN","CHATBOT_PATH","BASE_CHATBOT_URL","exports","API_URL"],"sourceRoot":"../../src","sources":["constants.ts"],"mappings":"yGAAA,GAAM,CAAAA,mBAAmB,CAAGC,OAAA,EAAAA,OAAA,CAAAC,GAAA,EAAAC,WAAA,CAAAC,cAAA,mDAA8B,EAAE,CAC5D,GAAM,CAAAC,YAAY,CAAGJ,OAAA,EAAAA,OAAA,CAAAC,GAAA,EAAAC,WAAA,CAAAE,YAAA,oBAA4B,EAAE,CAC5C,GAAM,CAAAC,gBAAgB,CAAAC,OAAA,CAAAD,gBAAA,CAAG,GAAGN,mBAAmB,IAAIK,YAAY,EAAE,CACjE,GAAM,CAAAG,OAAO,CAAAD,OAAA,CAAAC,OAAA,CAAAP,OAAA,EAAAA,OAAA,CAAAC,GAAA,EAAAC,WAAA,CAAAK,OAAA,gCAAsB","ignoreList":[]}
1
+ {"version":3,"names":["BASE_CHATBOT_DOMAIN","process","env","process.env","CHATBOT_DOMAIN","CHATBOT_PATH","BASE_CHATBOT_URL","exports","API_URL"],"sourceRoot":"../../src","sources":["constants.ts"],"mappings":"yGAAA,GAAM,CAAAA,mBAAmB,CAAGC,OAAA,EAAAA,OAAA,CAAAC,GAAA,EAAAC,WAAA,CAAAC,cAAA,8BAA8B,EAAE,CAC5D,GAAM,CAAAC,YAAY,CAAGJ,OAAA,EAAAA,OAAA,CAAAC,GAAA,EAAAC,WAAA,CAAAE,YAAA,oBAA4B,EAAE,CAC5C,GAAM,CAAAC,gBAAgB,CAAAC,OAAA,CAAAD,gBAAA,CAAG,GAAGN,mBAAmB,IAAIK,YAAY,EAAE,CACjE,GAAM,CAAAG,OAAO,CAAAD,OAAA,CAAAC,OAAA,CAAAP,OAAA,EAAAA,OAAA,CAAAC,GAAA,EAAAC,WAAA,CAAAK,OAAA,gCAAsB","ignoreList":[]}
@@ -25,5 +25,5 @@ Object.defineProperty(exports,"__esModule",{value:true});exports.getSystemInfo=e
25
25
  }
26
26
  getOSAndBrowser();
27
27
  true;
28
- `;};var getSystemInfo=exports.getSystemInfo=function getSystemInfo(webViewSystemInfo){return{platform:_reactNative.Platform.OS,os:webViewSystemInfo.os||_reactNative.Platform.OS,browser:webViewSystemInfo.browser||"WebView",SDK_VERSION:_version.SDK_VERSION,device:getDeviceType(),screen_size:getScreenSize()};};
28
+ `;};var getSystemInfo=exports.getSystemInfo=function getSystemInfo(webViewSystemInfo){return{platform:_reactNative.Platform.OS,os:webViewSystemInfo.os||_reactNative.Platform.OS,browser:webViewSystemInfo.browser||"WebView",sdk_version:_version.SDK_VERSION,device:getDeviceType(),screen_size:getScreenSize()};};
29
29
  //# sourceMappingURL=systemInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_version","getDeviceType","_Dimensions$get","Dimensions","get","width","height","aspectRatio","Platform","OS","isPad","getScreenSize","Math","round","PixelRatio","getBrowserAndOSInfoScript","exports","getSystemInfo","webViewSystemInfo","platform","os","browser","SDK_VERSION","device","screen_size"],"sourceRoot":"../../../src","sources":["utils/systemInfo.ts"],"mappings":"wHAAA,IAAAA,YAAA,CAAAC,OAAA,iBACA,IAAAC,QAAA,CAAAD,OAAA,eAiBA,GAAM,CAAAE,aAAa,CAAG,QAAhB,CAAAA,aAAaA,CAAA,CAAiB,CAClC,IAAAC,eAAA,CAA0BC,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAA1CC,KAAK,CAAAH,eAAA,CAALG,KAAK,CAAEC,MAAM,CAAAJ,eAAA,CAANI,MAAM,CACrB,GAAM,CAAAC,WAAW,CAAGD,MAAM,CAAGD,KAAK,CAElC,GAAIG,qBAAQ,CAACC,EAAE,GAAK,KAAK,CAAE,CACzB,MAAO,CAAAD,qBAAQ,CAACE,KAAK,CAAG,MAAM,CAAG,QAAQ,CAC3C,CAAC,IAAM,IAAIF,qBAAQ,CAACC,EAAE,GAAK,SAAS,CAAE,CACpC,MAAO,CAAAF,WAAW,CAAG,GAAG,CAAG,gBAAgB,CAAG,eAAe,CAC/D,CACA,MAAO,SAAS,CAClB,CAAC,CAGD,GAAM,CAAAI,aAAa,CAAG,QAAhB,CAAAA,aAAaA,CAAA,CAAqB,CACtC,MAAO,CACLN,KAAK,CAAEO,IAAI,CAACC,KAAK,CAACV,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,CAAGS,uBAAU,CAACV,GAAG,CAAC,CAAC,CAAC,CACpEE,MAAM,CAAEM,IAAI,CAACC,KAAK,CAACV,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACE,MAAM,CAAGQ,uBAAU,CAACV,GAAG,CAAC,CAAC,CACvE,CAAC,CACH,CAAC,CAGM,GAAM,CAAAW,yBAAyB,CAAAC,OAAA,CAAAD,yBAAA,CAAG,QAA5B,CAAAA,yBAAyBA,CAAA,CAAiB,CACrD,MAAO;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,CACH,CAAC,CAGM,GAAM,CAAAE,aAAa,CAAAD,OAAA,CAAAC,aAAA,CAAG,QAAhB,CAAAA,aAAaA,CAAIC,iBAG7B,CAAiB,CAChB,MAAO,CACLC,QAAQ,CAAEX,qBAAQ,CAACC,EAAE,CACrBW,EAAE,CAAEF,iBAAiB,CAACE,EAAE,EAAIZ,qBAAQ,CAACC,EAAE,CACvCY,OAAO,CAAEH,iBAAiB,CAACG,OAAO,EAAI,SAAS,CAC/CC,WAAW,CAAXA,oBAAW,CACXC,MAAM,CAAEtB,aAAa,CAAC,CAAC,CACvBuB,WAAW,CAAEb,aAAa,CAAC,CAC7B,CAAC,CACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_version","getDeviceType","_Dimensions$get","Dimensions","get","width","height","aspectRatio","Platform","OS","isPad","getScreenSize","Math","round","PixelRatio","getBrowserAndOSInfoScript","exports","getSystemInfo","webViewSystemInfo","platform","os","browser","sdk_version","SDK_VERSION","device","screen_size"],"sourceRoot":"../../../src","sources":["utils/systemInfo.ts"],"mappings":"wHAAA,IAAAA,YAAA,CAAAC,OAAA,iBACA,IAAAC,QAAA,CAAAD,OAAA,eAiBA,GAAM,CAAAE,aAAa,CAAG,QAAhB,CAAAA,aAAaA,CAAA,CAAiB,CAClC,IAAAC,eAAA,CAA0BC,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAA1CC,KAAK,CAAAH,eAAA,CAALG,KAAK,CAAEC,MAAM,CAAAJ,eAAA,CAANI,MAAM,CACrB,GAAM,CAAAC,WAAW,CAAGD,MAAM,CAAGD,KAAK,CAElC,GAAIG,qBAAQ,CAACC,EAAE,GAAK,KAAK,CAAE,CACzB,MAAO,CAAAD,qBAAQ,CAACE,KAAK,CAAG,MAAM,CAAG,QAAQ,CAC3C,CAAC,IAAM,IAAIF,qBAAQ,CAACC,EAAE,GAAK,SAAS,CAAE,CACpC,MAAO,CAAAF,WAAW,CAAG,GAAG,CAAG,gBAAgB,CAAG,eAAe,CAC/D,CACA,MAAO,SAAS,CAClB,CAAC,CAGD,GAAM,CAAAI,aAAa,CAAG,QAAhB,CAAAA,aAAaA,CAAA,CAAqB,CACtC,MAAO,CACLN,KAAK,CAAEO,IAAI,CAACC,KAAK,CAACV,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK,CAAGS,uBAAU,CAACV,GAAG,CAAC,CAAC,CAAC,CACpEE,MAAM,CAAEM,IAAI,CAACC,KAAK,CAACV,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACE,MAAM,CAAGQ,uBAAU,CAACV,GAAG,CAAC,CAAC,CACvE,CAAC,CACH,CAAC,CAGM,GAAM,CAAAW,yBAAyB,CAAAC,OAAA,CAAAD,yBAAA,CAAG,QAA5B,CAAAA,yBAAyBA,CAAA,CAAiB,CACrD,MAAO;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,CACH,CAAC,CAGM,GAAM,CAAAE,aAAa,CAAAD,OAAA,CAAAC,aAAA,CAAG,QAAhB,CAAAA,aAAaA,CAAIC,iBAG7B,CAAiB,CAChB,MAAO,CACLC,QAAQ,CAAEX,qBAAQ,CAACC,EAAE,CACrBW,EAAE,CAAEF,iBAAiB,CAACE,EAAE,EAAIZ,qBAAQ,CAACC,EAAE,CACvCY,OAAO,CAAEH,iBAAiB,CAACG,OAAO,EAAI,SAAS,CAC/CC,WAAW,CAAEC,oBAAW,CACxBC,MAAM,CAAEvB,aAAa,CAAC,CAAC,CACvBwB,WAAW,CAAEd,aAAa,CAAC,CAC7B,CAAC,CACH,CAAC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});exports.SDK_VERSION=void 0;var SDK_VERSION=exports.SDK_VERSION='2.0.16-staging.2';
1
+ Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"SDK_VERSION",{enumerable:true,get:function get(){return _version.SDK_VERSION;}});var _version=require("./versions/version.staging");
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SDK_VERSION","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":"oFACO,GAAM,CAAAA,WAAW,CAAAC,OAAA,CAAAD,WAAA,CAAG,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["_version","require"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":"yKACA,IAAAA,QAAA,CAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.SDK_VERSION=void 0;var SDK_VERSION=exports.SDK_VERSION="0.0.0-dev.0";
2
+ //# sourceMappingURL=version.dev.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SDK_VERSION","exports"],"sourceRoot":"../../../src","sources":["versions/version.dev.ts"],"mappings":"oFACO,GAAM,CAAAA,WAAW,CAAAC,OAAA,CAAAD,WAAA,CAAG,aAAa","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.SDK_VERSION=void 0;var SDK_VERSION=exports.SDK_VERSION="0.0.0";
2
+ //# sourceMappingURL=version.production.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SDK_VERSION","exports"],"sourceRoot":"../../../src","sources":["versions/version.production.ts"],"mappings":"oFACO,GAAM,CAAAA,WAAW,CAAAC,OAAA,CAAAD,WAAA,CAAG,OAAO","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.SDK_VERSION=void 0;var SDK_VERSION=exports.SDK_VERSION='2.0.19-staging.30';
2
+ //# sourceMappingURL=version.staging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SDK_VERSION","exports"],"sourceRoot":"../../../src","sources":["versions/version.staging.ts"],"mappings":"oFACO,GAAM,CAAAA,WAAW,CAAAC,OAAA,CAAAD,WAAA,CAAG,mBAAmB","ignoreList":[]}
@@ -1,76 +1,18 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _reactNativeWebview=require("react-native-webview");var _FloatingButton=_interopRequireDefault(require("./FloatingButton"));var _constants=require("./constants");var _version=require("./version");var _systemInfo=require("./utils/systemInfo");var _useChatbotEvents2=require("./hooks/useChatbotEvents");var _events=require("./types/events");var _logger=require("./utils/logger");var _debugConfig=require("./utils/debugConfig");var _DebugButton=_interopRequireDefault(require("./components/DebugButton"));var _ErrorBoundary=require("./components/ErrorBoundary");var _errorConstants=require("./constants/errorConstants");var _ErrorTrackingService=require("./services/ErrorTrackingService");var _cookieUtils=require("./utils/cookieUtils");var _webViewStorage=require("./utils/webViewStorage");var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/Users/jobinabraham/Developer/personal/robylon-react-native-sdk/src/Chatbotsdk.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var Chatbot=function Chatbot(_ref){var api_key=_ref.api_key,user_id=_ref.user_id,user_token=_ref.user_token,_ref$show_floating_bu=_ref.show_floating_button,show_floating_button=_ref$show_floating_bu===void 0?true:_ref$show_floating_bu,onEvent=_ref.onEvent,onMessage=_ref.onMessage,_ref$isFullScreen=_ref.isFullScreen,isFullScreen=_ref$isFullScreen===void 0?true:_ref$isFullScreen,_ref$enableAnimation=_ref.enableAnimation,enableAnimation=_ref$enableAnimation===void 0?true:_ref$enableAnimation,onOpen=_ref.onOpen,onClose=_ref.onClose,user_profile=_ref.user_profile;var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isWebViewVisible=_useState2[0],setIsWebViewVisible=_useState2[1];var _useState3=(0,_react.useState)(null),_useState4=(0,_slicedToArray2.default)(_useState3,2),chatbotConfig=_useState4[0],setChatbotConfig=_useState4[1];var _useState5=(0,_react.useState)(true),_useState6=(0,_slicedToArray2.default)(_useState5,2),loading=_useState6[0],setLoading=_useState6[1];var webViewRef=(0,_react.useRef)(null);var fadeAnim=(0,_react.useRef)(new _reactNative.Animated.Value(0)).current;var isFirstLoadRef=(0,_react.useRef)(true);var _useState7=(0,_react.useState)(false),_useState8=(0,_slicedToArray2.default)(_useState7,2),toastVisible=_useState8[0],setToastVisible=_useState8[1];var _useState9=(0,_react.useState)(""),_useState10=(0,_slicedToArray2.default)(_useState9,2),toastMessage=_useState10[0],setToastMessage=_useState10[1];var _useState11=(0,_react.useState)(),_useState12=(0,_slicedToArray2.default)(_useState11,2),effectiveUserId=_useState12[0],setEffectiveUserId=_useState12[1];var _useState13=(0,_react.useState)(false),_useState14=(0,_slicedToArray2.default)(_useState13,2),isStorageReady=_useState14[0],setIsStorageReady=_useState14[1];var pendingStorageOps=(0,_react.useRef)([]);var memoryCache=(0,_react.useRef)({});var _useState15=(0,_react.useState)({os:"",browser:""}),_useState16=(0,_slicedToArray2.default)(_useState15,2),systemInfo=_useState16[0],setSystemInfo=_useState16[1];var chatbotConfigForEvents=(0,_react.useMemo)(function(){return{userId:effectiveUserId,isAnonymous:!user_id&&user_id!==0};},[effectiveUserId,user_id]);var _useChatbotEvents=(0,_useChatbotEvents2.useChatbotEvents)({api_key:api_key,chatbotConfig:chatbotConfigForEvents!=null?chatbotConfigForEvents:{},user_profile:user_profile,onEvent:onEvent,systemInfo:systemInfo!=null?systemInfo:{os:"",browser:""}}),emitEvent=_useChatbotEvents.emitEvent,onInternalEvent=_useChatbotEvents.onInternalEvent;var triggerAppInit=function triggerAppInit(){if(webViewRef.current){webViewRef.current.injectJavaScript(`
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _FloatingButton=_interopRequireDefault(require("./FloatingButton"));var _constants=require("./constants");var _version=require("./version");var _systemInfo=require("./utils/systemInfo");var _useChatbotEvents2=require("./hooks/useChatbotEvents");var _events=require("./types/events");var _logger=require("./utils/logger");var _debugConfig=require("./utils/debugConfig");var _ErrorBoundary=require("./components/ErrorBoundary");var _errorConstants=require("./constants/errorConstants");var _ErrorTrackingService=require("./services/ErrorTrackingService");var _cookieUtils=require("./utils/cookieUtils");var _webViewStorage=require("./utils/webViewStorage");var _ChatbotWebView=_interopRequireDefault(require("./components/ChatbotWebView"));var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/Users/jobinabraham/Developer/personal/robylon-react-native-sdk/src/Chatbotsdk.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var Chatbot=function Chatbot(_ref){var api_key=_ref.api_key,user_id=_ref.user_id,user_token=_ref.user_token,_ref$show_floating_bu=_ref.show_floating_button,show_floating_button=_ref$show_floating_bu===void 0?true:_ref$show_floating_bu,onEvent=_ref.onEvent,onMessage=_ref.onMessage,_ref$isFullScreen=_ref.isFullScreen,isFullScreen=_ref$isFullScreen===void 0?true:_ref$isFullScreen,_ref$enableAnimation=_ref.enableAnimation,enableAnimation=_ref$enableAnimation===void 0?true:_ref$enableAnimation,onOpen=_ref.onOpen,onClose=_ref.onClose,user_profile=_ref.user_profile;var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isWebViewVisible=_useState2[0],setIsWebViewVisible=_useState2[1];var _useState3=(0,_react.useState)(null),_useState4=(0,_slicedToArray2.default)(_useState3,2),chatbotConfig=_useState4[0],setChatbotConfig=_useState4[1];var _useState5=(0,_react.useState)(true),_useState6=(0,_slicedToArray2.default)(_useState5,2),loading=_useState6[0],setLoading=_useState6[1];var webViewRef=(0,_react.useRef)(null);var fadeAnim=(0,_react.useRef)(new _reactNative.Animated.Value(0)).current;var isFirstLoadRef=(0,_react.useRef)(true);var _useState7=(0,_react.useState)(false),_useState8=(0,_slicedToArray2.default)(_useState7,2),toastVisible=_useState8[0],setToastVisible=_useState8[1];var _useState9=(0,_react.useState)(""),_useState10=(0,_slicedToArray2.default)(_useState9,2),toastMessage=_useState10[0],setToastMessage=_useState10[1];var _useState11=(0,_react.useState)(),_useState12=(0,_slicedToArray2.default)(_useState11,2),effectiveUserId=_useState12[0],setEffectiveUserId=_useState12[1];var _useState13=(0,_react.useState)(false),_useState14=(0,_slicedToArray2.default)(_useState13,2),isStorageReady=_useState14[0],setIsStorageReady=_useState14[1];var pendingStorageOps=(0,_react.useRef)([]);var memoryCache=(0,_react.useRef)({});var _useState15=(0,_react.useState)({os:"",browser:""}),_useState16=(0,_slicedToArray2.default)(_useState15,2),systemInfo=_useState16[0],setSystemInfo=_useState16[1];var chatbotConfigForEvents=(0,_react.useMemo)(function(){return{userId:effectiveUserId,isAnonymous:!user_id&&user_id!==0};},[effectiveUserId,user_id]);var _useChatbotEvents=(0,_useChatbotEvents2.useChatbotEvents)({api_key:api_key,chatbotConfig:chatbotConfigForEvents!=null?chatbotConfigForEvents:{},user_profile:user_profile,onEvent:onEvent,systemInfo:systemInfo!=null?systemInfo:{os:"",browser:""}}),emitEvent=_useChatbotEvents.emitEvent,onInternalEvent=_useChatbotEvents.onInternalEvent;var triggerAppInit=function triggerAppInit(){if(webViewRef.current){webViewRef.current.injectJavaScript(`
2
2
  // Trigger APP_READY equivalent
3
3
  window.ReactNativeWebView.postMessage(JSON.stringify({ type: 'APP_READY' }));
4
4
  true;
5
5
  `);}};var executeStorageOp=(0,_react.useCallback)(function(operation){if(isStorageReady){operation();}else{pendingStorageOps.current.push(operation);}},[isStorageReady]);var handleMessage=(0,_react.useCallback)(function(event){var _webViewRef$current;var data=event.nativeEvent.data;try{var parsedData=JSON.parse(data);if(Object.values(_webViewStorage.StorageMessageType).includes(parsedData.type)){var storageMessage=parsedData;switch(storageMessage.type){case _webViewStorage.StorageMessageType.STORAGE_READY:setIsStorageReady(true);pendingStorageOps.current.forEach(function(op){return op();});pendingStorageOps.current=[];(_webViewRef$current=webViewRef.current)==null?void 0:_webViewRef$current.injectJavaScript((0,_webViewStorage.createStorageMessage)(_webViewStorage.StorageMessageType.GET_STORAGE,"rblyn_anon"));break;case _webViewStorage.StorageMessageType.STORAGE_RESPONSE:if(storageMessage.key&&storageMessage.value){memoryCache.current[storageMessage.key]=storageMessage.value;if(storageMessage.key==="rblyn_anon"){setEffectiveUserId(storageMessage.value);}}break;case _webViewStorage.StorageMessageType.STORAGE_ERROR:_logger.logger.error("WebView storage error:",storageMessage.error);break;}return;}if(__DEV__){if((parsedData==null?void 0:parsedData.type)==="CONSOLE"){console.log(`WebView ${parsedData==null?void 0:parsedData.level}:`,parsedData==null?void 0:parsedData.data);return;}if((parsedData==null?void 0:parsedData.type)==="ERROR"){console.error("WebView Error:",parsedData==null?void 0:parsedData.data);return;}}if((parsedData==null?void 0:parsedData.type)==="SYSTEM_INFO"){var _parsedData$data;setSystemInfo((_parsedData$data=parsedData==null?void 0:parsedData.data)!=null?_parsedData$data:{os:"",browser:""});return;}if((parsedData==null?void 0:parsedData.type)==="APP_READY"){emitEvent(_events.ChatbotEventType.CHATBOT_APP_READY);if(webViewRef.current&&isWebViewVisible){var _webViewRef$current2,_webViewRef$current3;(_webViewRef$current2=webViewRef.current)==null?void 0:_webViewRef$current2.injectJavaScript((0,_systemInfo.getBrowserAndOSInfoScript)());var messageData={name:"registerUserId",action:"registerUserId",data:{userId:effectiveUserId,token:user_token?`${user_token}`:undefined,userProfile:Object.assign({},user_profile,(0,_systemInfo.getSystemInfo)(systemInfo))}};_logger.logger.debug("messageData====>",JSON.stringify(messageData));(_webViewRef$current3=webViewRef.current)==null?void 0:_webViewRef$current3.injectJavaScript(`
6
6
  window.postMessage(${JSON.stringify({name:"openFrame",domain:"app-domain.com"})}, '*');
7
7
  window.postMessage(${JSON.stringify(messageData)}, '*');
8
- `);}}switch(parsedData==null?void 0:parsedData.type){case"close_chatbot":closeWebView();break;case"CHATBOT_LOADED":emitEvent(_events.ChatbotEventType.CHATBOT_LOADED,parsedData==null?void 0:parsedData.data);break;case"CHAT_INITIALIZED":emitEvent(_events.ChatbotEventType.CHAT_INITIALIZED,parsedData==null?void 0:parsedData.data);break;case"SESSION_REFRESHED":emitEvent(_events.ChatbotEventType.SESSION_REFRESHED,parsedData==null?void 0:parsedData.data);break;case"CHAT_INITIALIZATION_FAILED":emitEvent(_events.ChatbotEventType.CHAT_INITIALIZATION_FAILED,parsedData==null?void 0:parsedData.data);break;default:if(onMessage)onMessage(parsedData!=null?parsedData:{});}}catch(error){_ErrorTrackingService.errorTracker.trackError(error instanceof Error?error:new Error("Failed to parse WebView message"),"ChatbotSDK",{type:_errorConstants.ErrorTypes.RUNTIME_ERROR,context:{messageData:data}});}},[emitEvent,isWebViewVisible,onMessage,systemInfo,effectiveUserId,user_token,user_profile]);(0,_react.useEffect)(function(){var initializeUserId=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(){var userId=user_id?String(user_id):undefined;if(!userId){userId=memoryCache.current["rblyn_anon"];if(!userId){userId=(0,_cookieUtils.generateUUID)();executeStorageOp(function(){var _webViewRef$current4;(_webViewRef$current4=webViewRef.current)==null?void 0:_webViewRef$current4.injectJavaScript((0,_webViewStorage.createStorageMessage)(_webViewStorage.StorageMessageType.SET_STORAGE,"rblyn_anon",userId));});}}setEffectiveUserId(userId);});return function initializeUserId(){return _ref2.apply(this,arguments);};}();initializeUserId();},[user_id,executeStorageOp]);(0,_react.useEffect)(function(){if(webViewRef.current){webViewRef.current.injectJavaScript((0,_webViewStorage.getStorageScript)());executeStorageOp(function(){var _webViewRef$current5;(_webViewRef$current5=webViewRef.current)==null?void 0:_webViewRef$current5.injectJavaScript((0,_webViewStorage.createStorageMessage)(_webViewStorage.StorageMessageType.GET_STORAGE,"rblyn_anon"));});}},[]);(0,_react.useEffect)(function(){var fetchChatbotConfig=function(){var _ref3=(0,_asyncToGenerator2.default)(function*(){try{var _data$user;var endpointUrl=`${_constants.API_URL}/chat/chatbot/get/`;var payload={client_user_id:effectiveUserId,org_id:api_key,token:user_token,extra_info:{}};var response=yield fetch(endpointUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(payload)});if(!response.ok){throw new Error("Failed to fetch chatbot configuration");}var data=yield response.json();var orgInfo=data==null?void 0:(_data$user=data.user)==null?void 0:_data$user.org_info;if(orgInfo){var _orgInfo$config,_orgInfo$brand_config,_orgInfo$config2;setChatbotConfig({brand_color:(orgInfo==null?void 0:(_orgInfo$config=orgInfo.config)==null?void 0:_orgInfo$config.brand_colour)||"#007AFF",image_url:(orgInfo==null?void 0:(_orgInfo$brand_config=orgInfo.brand_config)==null?void 0:_orgInfo$brand_config.launcher_logo_url)||"",welcome_message:(orgInfo==null?void 0:(_orgInfo$config2=orgInfo.config)==null?void 0:_orgInfo$config2.welcome_message)||""});}}catch(error){_ErrorTrackingService.errorTracker.trackError(error instanceof Error?error:new Error("Failed to fetch chatbot configuration"),"ChatbotSDK",{type:_errorConstants.ErrorTypes.NETWORK_ERROR,context:{api_key:api_key,user_id:user_id}});}finally{setLoading(false);}});return function fetchChatbotConfig(){return _ref3.apply(this,arguments);};}();if(api_key&&effectiveUserId){fetchChatbotConfig();}},[api_key,effectiveUserId,user_token]);function constructUrl(){if(!effectiveUserId)return"";var params=new URLSearchParams({id:api_key});console.log("BASE_CHATBOT_URL SDK_VERSION",_constants.BASE_CHATBOT_URL,_version.SDK_VERSION);return`${_constants.BASE_CHATBOT_URL}?${params.toString()}`;}var openWebView=(0,_react.useCallback)(function(){setIsWebViewVisible(true);if(enableAnimation){_reactNative.Animated.timing(fadeAnim,{toValue:1,duration:250,useNativeDriver:true}).start(function(){onOpen==null?void 0:onOpen();emitEvent(_events.ChatbotEventType.CHATBOT_OPENED);if(!isFirstLoadRef.current){setTimeout(triggerAppInit,100);}});}else{fadeAnim.setValue(1);requestAnimationFrame(function(){onOpen==null?void 0:onOpen();emitEvent(_events.ChatbotEventType.CHATBOT_OPENED);if(!isFirstLoadRef.current){setTimeout(triggerAppInit,100);}});}},[enableAnimation,fadeAnim,onOpen,emitEvent]);var closeWebView=(0,_react.useCallback)(function(){if(webViewRef.current){webViewRef.current.postMessage(JSON.stringify({name:"closeFrame",domain:"app-domain.com"}));}var complete=function complete(){setIsWebViewVisible(false);onClose==null?void 0:onClose();emitEvent(_events.ChatbotEventType.CHATBOT_CLOSED);};if(enableAnimation){_reactNative.Animated.timing(fadeAnim,{toValue:0,duration:200,useNativeDriver:true}).start(complete);}else{fadeAnim.setValue(0);requestAnimationFrame(complete);}},[enableAnimation,fadeAnim,onClose,emitEvent]);(0,_react.useEffect)(function(){if(show_floating_button&&chatbotConfig){emitEvent(_events.ChatbotEventType.CHATBOT_BUTTON_LOADED);}},[show_floating_button,chatbotConfig,emitEvent]);var getScreenDimensions=function getScreenDimensions(){var windowHeight=_reactNative.Dimensions.get("window").height;var windowWidth=_reactNative.Dimensions.get("window").width;var statusBarHeight=_reactNative.Platform.OS==="ios"?0:_reactNative.StatusBar.currentHeight||0;return{height:windowHeight-statusBarHeight,width:windowWidth};};var screenDimensions=getScreenDimensions();(0,_react.useEffect)(function(){if(__DEV__){(0,_debugConfig.enableNetworkDebug)();}},[]);return(0,_jsxRuntime.jsx)(_ErrorBoundary.ErrorBoundary,{componentName:"ChatbotSDK",children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.mainContainer,children:[!loading&&(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_ErrorBoundary.ErrorBoundary,{componentName:"FloatingButton",children:show_floating_button&&api_key&&chatbotConfig&&(0,_jsxRuntime.jsx)(_FloatingButton.default,{onPress:function onPress(){emitEvent(_events.ChatbotEventType.CHATBOT_BUTTON_CLICKED);openWebView();},brandColor:chatbotConfig.brand_color,imageUrl:chatbotConfig.image_url})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.webViewWrapper,{height:isWebViewVisible?"100%":0}],pointerEvents:isWebViewVisible?"auto":"none",children:(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[styles.fullScreenContainer,{opacity:fadeAnim}],children:(0,_jsxRuntime.jsx)(_ErrorBoundary.ErrorBoundary,{componentName:"ChatbotWebView",children:(0,_jsxRuntime.jsx)(_reactNativeWebview.WebView,{ref:webViewRef,source:{uri:constructUrl()},onMessage:handleMessage,style:styles.webview,containerStyle:isFullScreen?{width:screenDimensions.width,height:screenDimensions.height}:undefined,allowsInlineMediaPlayback:true,mediaPlaybackRequiresUserAction:false,allowFileAccess:false,geolocationEnabled:false,javaScriptEnabled:true,domStorageEnabled:true,cacheEnabled:true,scrollEnabled:true,bounces:false,onShouldStartLoadWithRequest:function onShouldStartLoadWithRequest(request){return request.url.startsWith(_constants.BASE_CHATBOT_URL);},startInLoadingState:isFirstLoadRef.current,onLoadEnd:function onLoadEnd(){var _webViewRef$current6;if(__DEV__){(0,_debugConfig.enableWebViewDebug)(webViewRef);}(_webViewRef$current6=webViewRef.current)==null?void 0:_webViewRef$current6.injectJavaScript(`
9
- if (!document.querySelector('meta[name="viewport"]')) {
10
- var meta = document.createElement('meta');
11
- meta.name = 'viewport';
12
- meta.content = 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no';
13
- document.getElementsByTagName('head')[0].appendChild(meta);
14
- }
15
-
16
- if (!document.querySelector('#injectedStyle')) {
17
- const style = document.createElement('style');
18
- style.id = 'injectedStyle';
19
- style.textContent = \`
20
- html, body, #root, #__next {
21
- height: 100% !important;
22
- min-height: 100% !important;
23
- overflow: hidden !important;
24
- }
25
- \`;
26
- document.head.appendChild(style);
27
- }
28
-
29
- window.sendToChatbot = function(message) {
30
- window.ReactNativeWebView.postMessage(JSON.stringify(message));
31
- };
32
-
33
- // Only create observer if it doesn't exist
34
- if (!window.closeButtonObserver) {
35
- // Setup mutation observer to watch for close button
36
- window.closeButtonObserver = new MutationObserver(function(mutations) {
37
- const closeButton = document.querySelector('.chatbot-close-button');
38
- if (closeButton && !closeButton.hasAttribute('listener-attached')) {
39
- closeButton.setAttribute('listener-attached', 'true');
40
- closeButton.addEventListener('click', () => {
41
- try {
42
- const message = { type: 'close_chatbot' };
43
- window.ReactNativeWebView.postMessage(JSON.stringify(message));
44
- } catch (error) {
45
- console.error('Error sending close message:', error);
46
- }
47
- });
48
- console.log('Close button listener attached');
49
- }
50
- });
51
-
52
- // Start observing
53
- window.closeButtonObserver.observe(document.body, {
54
- childList: true,
55
- subtree: true
56
- });
57
-
58
- // Initial check for existing button
59
- const existingButton = document.querySelector('.chatbot-close-button');
60
- if (existingButton && !existingButton.hasAttribute('listener-attached')) {
61
- existingButton.setAttribute('listener-attached', 'true');
62
- existingButton.addEventListener('click', () => {
63
- try {
64
- const message = { type: 'close_chatbot' };
65
- window.ReactNativeWebView.postMessage(JSON.stringify(message));
66
- } catch (error) {
67
- console.error('Error sending close message:', error);
68
- }
69
- });
70
- console.log('Close button listener attached to existing button');
71
- }
72
- }
73
-
74
- true;
75
- `);isFirstLoadRef.current=false;},onError:function onError(syntheticEvent){var nativeEvent=syntheticEvent.nativeEvent;_ErrorTrackingService.errorTracker.trackError(new Error(nativeEvent.description),"ChatbotWebView",{type:_errorConstants.ErrorTypes.RUNTIME_ERROR,context:{url:nativeEvent.url,code:nativeEvent.code}});}})})})})]}),__DEV__&&(0,_jsxRuntime.jsx)(_DebugButton.default,{})]})});};var styles=_reactNative.StyleSheet.create({mainContainer:{flex:1,position:"relative"},webViewWrapper:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden",zIndex:1000},fullScreenContainer:{position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:"white",zIndex:1000},inlineContainer:{flex:1,backgroundColor:"white"},webview:{flex:1,backgroundColor:"white"}});var _default=exports.default=Chatbot;
8
+ `);}}switch(parsedData==null?void 0:parsedData.type){case"close_chatbot":closeWebView();break;case"CHATBOT_LOADED":emitEvent(_events.ChatbotEventType.CHATBOT_LOADED,parsedData==null?void 0:parsedData.data);break;case"CHAT_INITIALIZED":emitEvent(_events.ChatbotEventType.CHAT_INITIALIZED,parsedData==null?void 0:parsedData.data);break;case"SESSION_REFRESHED":emitEvent(_events.ChatbotEventType.SESSION_REFRESHED,parsedData==null?void 0:parsedData.data);break;case"CHAT_INITIALIZATION_FAILED":emitEvent(_events.ChatbotEventType.CHAT_INITIALIZATION_FAILED,parsedData==null?void 0:parsedData.data);break;default:if(onMessage)onMessage(parsedData!=null?parsedData:{});}}catch(error){_ErrorTrackingService.errorTracker.trackError(error instanceof Error?error:new Error("Failed to parse WebView message"),"ChatbotSDK",{type:_errorConstants.ErrorTypes.RUNTIME_ERROR,context:{messageData:data}});}},[emitEvent,isWebViewVisible,onMessage,systemInfo,effectiveUserId,user_token,user_profile]);(0,_react.useEffect)(function(){var initializeUserId=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(){var userId=user_id?String(user_id):undefined;if(!userId){userId=memoryCache.current["rblyn_anon"];if(!userId){userId=(0,_cookieUtils.generateUUID)();executeStorageOp(function(){var _webViewRef$current4;(_webViewRef$current4=webViewRef.current)==null?void 0:_webViewRef$current4.injectJavaScript((0,_webViewStorage.createStorageMessage)(_webViewStorage.StorageMessageType.SET_STORAGE,"rblyn_anon",userId));});}}setEffectiveUserId(userId);});return function initializeUserId(){return _ref2.apply(this,arguments);};}();initializeUserId();},[user_id,executeStorageOp]);(0,_react.useEffect)(function(){if(webViewRef.current){webViewRef.current.injectJavaScript((0,_webViewStorage.getStorageScript)());executeStorageOp(function(){var _webViewRef$current5;(_webViewRef$current5=webViewRef.current)==null?void 0:_webViewRef$current5.injectJavaScript((0,_webViewStorage.createStorageMessage)(_webViewStorage.StorageMessageType.GET_STORAGE,"rblyn_anon"));});}},[]);(0,_react.useEffect)(function(){var fetchChatbotConfig=function(){var _ref3=(0,_asyncToGenerator2.default)(function*(){try{var _data$user;var endpointUrl=`${_constants.API_URL}/chat/chatbot/get/`;var payload={client_user_id:effectiveUserId,org_id:api_key,token:user_token,extra_info:{}};var response=yield fetch(endpointUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(payload)});if(!response.ok){throw new Error("Failed to fetch chatbot configuration");}var data=yield response.json();var orgInfo=data==null?void 0:(_data$user=data.user)==null?void 0:_data$user.org_info;if(orgInfo){var _orgInfo$config,_orgInfo$brand_config,_orgInfo$config2;setChatbotConfig({brand_color:(orgInfo==null?void 0:(_orgInfo$config=orgInfo.config)==null?void 0:_orgInfo$config.brand_colour)||"#007AFF",image_url:(orgInfo==null?void 0:(_orgInfo$brand_config=orgInfo.brand_config)==null?void 0:_orgInfo$brand_config.launcher_logo_url)||"",welcome_message:(orgInfo==null?void 0:(_orgInfo$config2=orgInfo.config)==null?void 0:_orgInfo$config2.welcome_message)||""});}}catch(error){_ErrorTrackingService.errorTracker.trackError(error instanceof Error?error:new Error("Failed to fetch chatbot configuration"),"ChatbotSDK",{type:_errorConstants.ErrorTypes.NETWORK_ERROR,context:{api_key:api_key,user_id:user_id}});}finally{setLoading(false);}});return function fetchChatbotConfig(){return _ref3.apply(this,arguments);};}();if(api_key&&effectiveUserId){fetchChatbotConfig();}},[api_key,effectiveUserId,user_token]);function constructUrl(){if(!effectiveUserId)return"";var params=new URLSearchParams({id:api_key});console.log("BASE_CHATBOT_URL SDK_VERSION",_constants.BASE_CHATBOT_URL,_version.SDK_VERSION);return"https://demo.robylon.ai/chat/public/RG5x9i1fvk/";}var openWebView=(0,_react.useCallback)(function(){setIsWebViewVisible(true);if(enableAnimation){_reactNative.Animated.timing(fadeAnim,{toValue:1,duration:250,useNativeDriver:true}).start(function(){onOpen==null?void 0:onOpen();emitEvent(_events.ChatbotEventType.CHATBOT_OPENED);if(!isFirstLoadRef.current){setTimeout(triggerAppInit,100);}});}else{fadeAnim.setValue(1);requestAnimationFrame(function(){onOpen==null?void 0:onOpen();emitEvent(_events.ChatbotEventType.CHATBOT_OPENED);if(!isFirstLoadRef.current){setTimeout(triggerAppInit,100);}});}},[enableAnimation,fadeAnim,onOpen,emitEvent]);var closeWebView=(0,_react.useCallback)(function(){if(webViewRef.current){webViewRef.current.postMessage(JSON.stringify({name:"closeFrame",domain:"app-domain.com"}));}var complete=function complete(){setIsWebViewVisible(false);onClose==null?void 0:onClose();emitEvent(_events.ChatbotEventType.CHATBOT_CLOSED);};if(enableAnimation){_reactNative.Animated.timing(fadeAnim,{toValue:0,duration:200,useNativeDriver:true}).start(complete);}else{fadeAnim.setValue(0);requestAnimationFrame(complete);}},[enableAnimation,fadeAnim,onClose,emitEvent]);(0,_react.useEffect)(function(){if(show_floating_button&&chatbotConfig){emitEvent(_events.ChatbotEventType.CHATBOT_BUTTON_LOADED);}},[show_floating_button,chatbotConfig,emitEvent]);var getScreenDimensions=function getScreenDimensions(){var windowHeight=_reactNative.Dimensions.get("window").height;var windowWidth=_reactNative.Dimensions.get("window").width;var statusBarHeight=_reactNative.Platform.OS==="ios"?0:_reactNative.StatusBar.currentHeight||0;return{height:windowHeight-statusBarHeight,width:windowWidth};};var screenDimensions=getScreenDimensions();(0,_react.useEffect)(function(){if(__DEV__){(0,_debugConfig.enableNetworkDebug)();}},[]);var userAgent=_reactNative.Platform.select({android:"Mozilla/5.0 (Linux; Android 10; Android SDK built for x86) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.120 Mobile Safari/537.36",ios:"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"});return((0,_jsxRuntime.jsx)(_reactNative.SafeAreaView,{style:styles.mainContainer,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.mainContainer,children:!loading&&(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_ErrorBoundary.ErrorBoundary,{componentName:"FloatingButton",children:show_floating_button&&api_key&&chatbotConfig&&(0,_jsxRuntime.jsx)(_FloatingButton.default,{onPress:function onPress(){emitEvent(_events.ChatbotEventType.CHATBOT_BUTTON_CLICKED);openWebView();},brandColor:chatbotConfig.brand_color,imageUrl:chatbotConfig.image_url})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[{height:isWebViewVisible?"100%":0}],pointerEvents:"auto",children:(0,_jsxRuntime.jsx)(_ChatbotWebView.default,{ref:webViewRef,source:{uri:constructUrl()},onMessage:handleMessage,onDebugMessage:function onDebugMessage(message){console.log("WebView Debug:",message);},style:styles.webview,allowsInlineMediaPlayback:true,mediaPlaybackRequiresUserAction:false,allowFileAccess:false,geolocationEnabled:false,javaScriptEnabled:true,domStorageEnabled:true,cacheEnabled:true,scrollEnabled:true,bounces:false,onShouldStartLoadWithRequest:function onShouldStartLoadWithRequest(request){var allowedDomains=[_constants.BASE_CHATBOT_URL,"about:blank"];return allowedDomains.some(function(domain){return request.url.startsWith(domain);});},startInLoadingState:isFirstLoadRef.current,onLoadEnd:function onLoadEnd(){isFirstLoadRef.current=false;},onError:function onError(syntheticEvent){var nativeEvent=syntheticEvent.nativeEvent;_ErrorTrackingService.errorTracker.trackError(new Error(nativeEvent.description),"ChatbotWebView",{type:_errorConstants.ErrorTypes.RUNTIME_ERROR,context:{url:nativeEvent.url,code:nativeEvent.code}});},userAgent:userAgent,originWhitelist:["*"],mixedContentMode:"always",onContentProcessDidTerminate:function onContentProcessDidTerminate(){var _webViewRef$current6;(_webViewRef$current6=webViewRef.current)==null?void 0:_webViewRef$current6.reload();},injectedJavaScriptBeforeContentLoaded:`
9
+ window.onerror = function(message, source, lineno, colno, error) {
10
+ window.ReactNativeWebView.postMessage(JSON.stringify({
11
+ type: 'ERROR',
12
+ data: {message, source, lineno, colno}
13
+ }));
14
+ return true;
15
+ };
16
+ true;
17
+ `,androidLayerType:"hardware",overScrollMode:"never",textZoom:100,setSupportMultipleWindows:false,allowsBackForwardNavigationGestures:false,useWebKit:true,keyboardDisplayRequiresUserAction:false,hideKeyboardAccessoryView:true,applicationNameForUserAgent:"ChatbotApp"})})]})})}));};var styles=_reactNative.StyleSheet.create({mainContainer:{flex:1,position:"relative"},webViewWrapper:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden",zIndex:100},fullScreenContainer:{position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:"white",zIndex:100},inlineContainer:{flex:1,backgroundColor:"white"},webview:{flex:1,backgroundColor:"white"}});var _default=exports.default=Chatbot;
76
18
  //# sourceMappingURL=Chatbotsdk.js.map