@@ -13,6 +13,8 @@ declare global {
1313 }
1414}
1515
16+ const isWidgetDefined = ( ) => window . HubSpotConversations && window . HubSpotConversations . widget ;
17+
1618const loadScript = ( hsId : string ) => {
1719 // Detect the provider is already loaded and return early
1820 if ( window . HubSpotConversations ) {
@@ -54,7 +56,7 @@ const load = ({
5456} ) : boolean => {
5557 window . hsConversationsOnReady = [
5658 ( ) => {
57- window . HubSpotConversations . widget . load ( )
59+ isWidgetDefined ( ) && window . HubSpotConversations . widget . load ( )
5860 }
5961 ]
6062 const loaded = loadScript ( providerKey )
@@ -64,14 +66,13 @@ const load = ({
6466 waitForLoad (
6567 ( ) => {
6668 return Boolean (
67- window . HubSpotConversations &&
68- window . HubSpotConversations . widget &&
69+ isWidgetDefined ( ) &&
6970 window . HubSpotConversations . widget . status ( ) . loaded
7071 )
7172 } ,
7273 // Allow hubspot to complete loading before removing fake widget
7374 ( ) => {
74- window . HubSpotConversations . widget . open ( )
75+ isWidgetDefined ( ) && window . HubSpotConversations . widget . open ( )
7576 setState ( 'complete' )
7677 onReady ( )
7778 }
@@ -81,18 +82,16 @@ const load = ({
8182}
8283
8384const open = ( ) : unknown => {
84- window . HubSpotConversations &&
85- window . HubSpotConversations . widget &&
85+ isWidgetDefined ( ) &&
8686 ! window . HubSpotConversations . widget . status ( ) . loaded &&
8787 window . HubSpotConversations . widget . load ( )
8888
8989 return (
90- window . HubSpotConversations &&
91- window . HubSpotConversations . widget &&
90+ isWidgetDefined ( ) &&
9291 window . HubSpotConversations . widget . open ( )
9392 )
9493} // Open provider
95- const close = ( ) : unknown => window . HubSpotConversations . widget . close ( ) // Close provider
94+ const close = ( ) : unknown => isWidgetDefined ( ) && window . HubSpotConversations . widget . close ( ) // Close provider
9695
9796export default {
9897 load,
0 commit comments