@datlv-trustshop/shopify-inapp-components 0.2.8 → 0.2.10

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 (220) hide show
  1. package/dist/components/AppList.d.ts +1 -0
  2. package/dist/components/AppList.d.ts.map +1 -0
  3. package/dist/components/AppList.js +1 -0
  4. package/dist/components/AppList.js.map +1 -0
  5. package/dist/components/ArticleList.d.ts +1 -0
  6. package/dist/components/ArticleList.d.ts.map +1 -0
  7. package/dist/components/ArticleList.js +1 -0
  8. package/dist/components/ArticleList.js.map +1 -0
  9. package/dist/components/ArticleSlide.d.ts +1 -0
  10. package/dist/components/ArticleSlide.d.ts.map +1 -0
  11. package/dist/components/ArticleSlide.js +1 -0
  12. package/dist/components/ArticleSlide.js.map +1 -0
  13. package/dist/components/FloatingCard.d.ts +1 -0
  14. package/dist/components/FloatingCard.d.ts.map +1 -0
  15. package/dist/components/FloatingCard.js +5 -4
  16. package/dist/components/FloatingCard.js.map +1 -0
  17. package/dist/components/FooterBanner.d.ts +1 -0
  18. package/dist/components/FooterBanner.d.ts.map +1 -0
  19. package/dist/components/FooterBanner.js +1 -0
  20. package/dist/components/FooterBanner.js.map +1 -0
  21. package/dist/components/GrowApps.d.ts +6 -6
  22. package/dist/components/GrowApps.d.ts.map +1 -0
  23. package/dist/components/GrowApps.js +11 -3
  24. package/dist/components/GrowApps.js.map +1 -0
  25. package/dist/components/ImageLoading.d.ts +1 -0
  26. package/dist/components/ImageLoading.d.ts.map +1 -0
  27. package/dist/components/ImageLoading.js +1 -0
  28. package/dist/components/ImageLoading.js.map +1 -0
  29. package/dist/components/PartnerIntegration.d.ts +8 -8
  30. package/dist/components/PartnerIntegration.d.ts.map +1 -0
  31. package/dist/components/PartnerIntegration.js +15 -76
  32. package/dist/components/PartnerIntegration.js.map +1 -0
  33. package/dist/components/PartnerList.d.ts +1 -0
  34. package/dist/components/PartnerList.d.ts.map +1 -0
  35. package/dist/components/PartnerList.js +1 -0
  36. package/dist/components/PartnerList.js.map +1 -0
  37. package/dist/components/PopupBanner.d.ts +4 -4
  38. package/dist/components/PopupBanner.d.ts.map +1 -0
  39. package/dist/components/PopupBanner.js +5 -1
  40. package/dist/components/PopupBanner.js.map +1 -0
  41. package/dist/components/TopBanner.d.ts +7 -7
  42. package/dist/components/TopBanner.d.ts.map +1 -0
  43. package/dist/components/TopBanner.js +15 -30
  44. package/dist/components/TopBanner.js.map +1 -0
  45. package/dist/components/WhatsNew.d.ts +6 -7
  46. package/dist/components/WhatsNew.d.ts.map +1 -0
  47. package/dist/components/WhatsNew.js +23 -25
  48. package/dist/components/WhatsNew.js.map +1 -0
  49. package/dist/components/index.d.ts +1 -0
  50. package/dist/components/index.d.ts.map +1 -0
  51. package/dist/components/index.js +1 -0
  52. package/dist/components/index.js.map +1 -0
  53. package/dist/components/inlineStyles.d.ts +1 -0
  54. package/dist/components/inlineStyles.d.ts.map +1 -0
  55. package/dist/components/inlineStyles.js +1 -0
  56. package/dist/components/inlineStyles.js.map +1 -0
  57. package/dist/components/styles.d.ts +1 -0
  58. package/dist/components/styles.d.ts.map +1 -0
  59. package/dist/components/styles.js +1 -0
  60. package/dist/components/styles.js.map +1 -0
  61. package/dist/config/component-defaults.d.ts +71 -0
  62. package/dist/config/component-defaults.d.ts.map +1 -0
  63. package/dist/config/component-defaults.js +106 -0
  64. package/dist/config/component-defaults.js.map +1 -0
  65. package/dist/config/internal-config.d.ts +28 -0
  66. package/dist/config/internal-config.d.ts.map +1 -0
  67. package/dist/config/internal-config.js +100 -0
  68. package/dist/config/internal-config.js.map +1 -0
  69. package/dist/core/SDKManager.d.ts +262 -0
  70. package/dist/core/SDKManager.d.ts.map +1 -0
  71. package/dist/core/SDKManager.js +527 -0
  72. package/dist/core/SDKManager.js.map +1 -0
  73. package/dist/core/adapter.d.ts +1 -0
  74. package/dist/core/adapter.d.ts.map +1 -0
  75. package/dist/core/adapter.js +1 -0
  76. package/dist/core/adapter.js.map +1 -0
  77. package/dist/core/engine.d.ts +1 -0
  78. package/dist/core/engine.d.ts.map +1 -0
  79. package/dist/core/engine.js +1 -0
  80. package/dist/core/engine.js.map +1 -0
  81. package/dist/core/fetcher.d.ts +1 -0
  82. package/dist/core/fetcher.d.ts.map +1 -0
  83. package/dist/core/fetcher.js +1 -0
  84. package/dist/core/fetcher.js.map +1 -0
  85. package/dist/core/global-manager.d.ts +1 -0
  86. package/dist/core/global-manager.d.ts.map +1 -0
  87. package/dist/core/global-manager.js +1 -0
  88. package/dist/core/global-manager.js.map +1 -0
  89. package/dist/hooks/index.d.ts +2 -3
  90. package/dist/hooks/index.d.ts.map +1 -0
  91. package/dist/hooks/index.js +2 -3
  92. package/dist/hooks/index.js.map +1 -0
  93. package/dist/hooks/useApps.d.ts +1 -0
  94. package/dist/hooks/useApps.d.ts.map +1 -0
  95. package/dist/hooks/useApps.js +10 -9
  96. package/dist/hooks/useApps.js.map +1 -0
  97. package/dist/hooks/useArticles.d.ts +1 -0
  98. package/dist/hooks/useArticles.d.ts.map +1 -0
  99. package/dist/hooks/useArticles.js +10 -14
  100. package/dist/hooks/useArticles.js.map +1 -0
  101. package/dist/hooks/useBanner.d.ts +1 -0
  102. package/dist/hooks/useBanner.d.ts.map +1 -0
  103. package/dist/hooks/useBanner.js +6 -5
  104. package/dist/hooks/useBanner.js.map +1 -0
  105. package/dist/hooks/useCampaignTracking.d.ts +1 -0
  106. package/dist/hooks/useCampaignTracking.d.ts.map +1 -0
  107. package/dist/hooks/useCampaignTracking.js +1 -0
  108. package/dist/hooks/useCampaignTracking.js.map +1 -0
  109. package/dist/hooks/useDashboard.d.ts +1 -0
  110. package/dist/hooks/useDashboard.d.ts.map +1 -0
  111. package/dist/hooks/useDashboard.js +18 -9
  112. package/dist/hooks/useDashboard.js.map +1 -0
  113. package/dist/hooks/useFloatingCards.d.ts +4 -2
  114. package/dist/hooks/useFloatingCards.d.ts.map +1 -0
  115. package/dist/hooks/useFloatingCards.js +52 -76
  116. package/dist/hooks/useFloatingCards.js.map +1 -0
  117. package/dist/hooks/usePartnerIntegration.d.ts +7 -2
  118. package/dist/hooks/usePartnerIntegration.d.ts.map +1 -0
  119. package/dist/hooks/usePartnerIntegration.js +26 -37
  120. package/dist/hooks/usePartnerIntegration.js.map +1 -0
  121. package/dist/hooks/useTranslations.d.ts +1 -0
  122. package/dist/hooks/useTranslations.d.ts.map +1 -0
  123. package/dist/hooks/useTranslations.js +5 -3
  124. package/dist/hooks/useTranslations.js.map +1 -0
  125. package/dist/hooks/useWhatsNew.d.ts +1 -0
  126. package/dist/hooks/useWhatsNew.d.ts.map +1 -0
  127. package/dist/hooks/useWhatsNew.js +9 -8
  128. package/dist/hooks/useWhatsNew.js.map +1 -0
  129. package/dist/index.d.ts +38 -22
  130. package/dist/index.d.ts.map +1 -0
  131. package/dist/index.js +76 -22
  132. package/dist/index.js.map +1 -0
  133. package/dist/translations/default.d.ts +1 -0
  134. package/dist/translations/default.d.ts.map +1 -0
  135. package/dist/translations/default.js +1 -0
  136. package/dist/translations/default.js.map +1 -0
  137. package/dist/translations/locales/cn.json +39 -0
  138. package/dist/translations/locales/de.json +39 -0
  139. package/dist/translations/locales/dk.json +39 -0
  140. package/dist/translations/locales/en.json +39 -0
  141. package/dist/translations/locales/es.json +39 -0
  142. package/dist/translations/locales/fr.json +39 -0
  143. package/dist/translations/locales/ie.json +39 -0
  144. package/dist/translations/locales/in.json +39 -0
  145. package/dist/translations/locales/it.json +39 -0
  146. package/dist/translations/locales/jp.json +39 -0
  147. package/dist/translations/locales/nl.json +39 -0
  148. package/dist/translations/locales/nz.json +39 -0
  149. package/dist/translations/locales/pt.json +39 -0
  150. package/dist/translations/locales/se.json +39 -0
  151. package/dist/translations/locales/vi.json +39 -0
  152. package/dist/translations/translation-manager.d.ts +89 -0
  153. package/dist/translations/translation-manager.d.ts.map +1 -0
  154. package/dist/translations/translation-manager.js +239 -0
  155. package/dist/translations/translation-manager.js.map +1 -0
  156. package/dist/types/app.d.ts +1 -0
  157. package/dist/types/app.d.ts.map +1 -0
  158. package/dist/types/app.js +1 -0
  159. package/dist/types/app.js.map +1 -0
  160. package/dist/types/article.d.ts +1 -0
  161. package/dist/types/article.d.ts.map +1 -0
  162. package/dist/types/article.js +1 -0
  163. package/dist/types/article.js.map +1 -0
  164. package/dist/types/banner.d.ts +1 -0
  165. package/dist/types/banner.d.ts.map +1 -0
  166. package/dist/types/banner.js +1 -0
  167. package/dist/types/banner.js.map +1 -0
  168. package/dist/types/component-props.d.ts +140 -0
  169. package/dist/types/component-props.d.ts.map +1 -0
  170. package/dist/types/component-props.js +6 -0
  171. package/dist/types/component-props.js.map +1 -0
  172. package/dist/types/dashboard.d.ts +1 -0
  173. package/dist/types/dashboard.d.ts.map +1 -0
  174. package/dist/types/dashboard.js +1 -0
  175. package/dist/types/dashboard.js.map +1 -0
  176. package/dist/types/index.d.ts +1 -0
  177. package/dist/types/index.d.ts.map +1 -0
  178. package/dist/types/index.js +1 -0
  179. package/dist/types/index.js.map +1 -0
  180. package/dist/types/integration.d.ts +1 -0
  181. package/dist/types/integration.d.ts.map +1 -0
  182. package/dist/types/integration.js +1 -0
  183. package/dist/types/integration.js.map +1 -0
  184. package/dist/types/partner.d.ts +1 -0
  185. package/dist/types/partner.d.ts.map +1 -0
  186. package/dist/types/partner.js +1 -0
  187. package/dist/types/partner.js.map +1 -0
  188. package/dist/types/product-update.d.ts +1 -0
  189. package/dist/types/product-update.d.ts.map +1 -0
  190. package/dist/types/product-update.js +1 -0
  191. package/dist/types/product-update.js.map +1 -0
  192. package/dist/types/translations.d.ts +1 -0
  193. package/dist/types/translations.d.ts.map +1 -0
  194. package/dist/types/translations.js +1 -0
  195. package/dist/types/translations.js.map +1 -0
  196. package/dist/utils/campaignTracking.d.ts +1 -0
  197. package/dist/utils/campaignTracking.d.ts.map +1 -0
  198. package/dist/utils/campaignTracking.js +1 -0
  199. package/dist/utils/campaignTracking.js.map +1 -0
  200. package/dist/utils/cls-monitor.d.ts +1 -0
  201. package/dist/utils/cls-monitor.d.ts.map +1 -0
  202. package/dist/utils/cls-monitor.js +1 -0
  203. package/dist/utils/cls-monitor.js.map +1 -0
  204. package/dist/utils/injectStyles.d.ts +1 -0
  205. package/dist/utils/injectStyles.d.ts.map +1 -0
  206. package/dist/utils/injectStyles.js +1 -0
  207. package/dist/utils/injectStyles.js.map +1 -0
  208. package/dist/utils/sessionManager.d.ts +1 -0
  209. package/dist/utils/sessionManager.d.ts.map +1 -0
  210. package/dist/utils/sessionManager.js +1 -0
  211. package/dist/utils/sessionManager.js.map +1 -0
  212. package/package.json +4 -3
  213. package/dist/hooks/useFloatingCardActions.d.ts +0 -17
  214. package/dist/hooks/useFloatingCardActions.js +0 -54
  215. package/dist/hooks/useFloatingCardEngine.d.ts +0 -21
  216. package/dist/hooks/useFloatingCardEngine.js +0 -39
  217. package/dist/hooks/useGrowApps.d.ts +0 -10
  218. package/dist/hooks/useGrowApps.js +0 -14
  219. package/dist/provider/DashboardProvider.d.ts +0 -36
  220. package/dist/provider/DashboardProvider.js +0 -200
@@ -1,200 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import React, { createContext, useEffect, useState, useCallback, useMemo, useRef, } from "react";
3
- import { GlobalDashboardManager } from "../core/global-manager";
4
- import { defaultTranslations } from "../translations/default";
5
- import { injectClsStyles } from "../utils/injectStyles";
6
- export const DashboardContext = createContext(null);
7
- export const useDashboardContext = () => {
8
- const context = React.useContext(DashboardContext);
9
- if (!context) {
10
- throw new Error('useDashboardContext must be used within a DashboardProvider');
11
- }
12
- return context;
13
- };
14
- /**
15
- * DashboardProvider - Lightweight provider that connects to the global manager
16
- *
17
- * Multiple providers can be used throughout the app and they will all share:
18
- * - The same engine instance
19
- * - The same data/cache
20
- * - The same locale state
21
- * - Deduplicated API calls
22
- */
23
- export const DashboardProvider = ({ children, config, locale, translations, autoInit = true, autoRefreshOnLocaleChange = true, onError, onLoad, onLocaleChange, onFallbackUsed, }) => {
24
- const [state, setState] = useState({
25
- data: null,
26
- loading: false,
27
- error: null,
28
- lastFetch: null,
29
- });
30
- // Generate unique ID for this provider instance
31
- const providerIdRef = useRef(`provider-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`);
32
- // Track if we've called onLoad for this data
33
- const lastDataRef = useRef(null);
34
- const lastLocaleRef = useRef(locale || config.locale || "en");
35
- // Get the global manager
36
- const manager = useMemo(() => GlobalDashboardManager.getInstance(), []);
37
- // Create config with current locale
38
- const currentConfig = useMemo(() => ({
39
- ...config,
40
- locale: locale || config.locale || "en",
41
- }), [config, locale]);
42
- // Inject CLS fix styles on mount (only once globally)
43
- useEffect(() => {
44
- injectClsStyles();
45
- }, []);
46
- // Register this provider
47
- useEffect(() => {
48
- const providerId = providerIdRef.current;
49
- manager.registerProvider(providerId, currentConfig, autoRefreshOnLocaleChange);
50
- return () => {
51
- manager.unregisterProvider(providerId);
52
- };
53
- }, [manager, currentConfig, autoRefreshOnLocaleChange]);
54
- // Subscribe to global state changes
55
- useEffect(() => {
56
- const providerId = providerIdRef.current;
57
- const unsubscribe = manager.subscribe(providerId, (globalState) => {
58
- setState(globalState);
59
- // Handle callbacks
60
- if (globalState.data && globalState.data !== lastDataRef.current) {
61
- lastDataRef.current = globalState.data;
62
- // Check for fallback usage
63
- if (globalState.data.fallback_used && onFallbackUsed) {
64
- onFallbackUsed(globalState.data.requested_locale || locale || "en", globalState.data.locale || "en");
65
- }
66
- if (onLoad) {
67
- onLoad(globalState.data);
68
- }
69
- }
70
- if (globalState.error && onError) {
71
- onError(globalState.error);
72
- }
73
- });
74
- return unsubscribe;
75
- }, [manager, locale, onError, onLoad, onFallbackUsed]);
76
- // Handle locale changes
77
- useEffect(() => {
78
- if (!locale)
79
- return;
80
- const currentLocale = manager.getCurrentLocale();
81
- if (currentLocale !== locale) {
82
- const oldLocale = lastLocaleRef.current;
83
- lastLocaleRef.current = locale;
84
- if (autoRefreshOnLocaleChange) {
85
- // Always call setLocale which will handle initialization if needed
86
- manager.setLocale(locale).catch((error) => {
87
- console.error('Failed to set locale:', error);
88
- if (onError) {
89
- onError(error instanceof Error ? error : new Error('Failed to set locale'));
90
- }
91
- });
92
- }
93
- else {
94
- // Just update config without refresh
95
- const engine = manager.getEngine();
96
- if (engine) {
97
- engine.updateLocale(locale);
98
- }
99
- else {
100
- // No engine yet, update config for future initialization
101
- manager.registerProvider(providerIdRef.current, currentConfig);
102
- }
103
- }
104
- if (onLocaleChange) {
105
- onLocaleChange(locale, oldLocale);
106
- }
107
- }
108
- }, [locale, manager, autoRefreshOnLocaleChange, onLocaleChange, onError, currentConfig]);
109
- // Auto-init on mount if requested
110
- useEffect(() => {
111
- if (autoInit) {
112
- // Always attempt to initialize when autoInit is true
113
- // The manager will handle deduplication
114
- manager.init(currentConfig).catch((error) => {
115
- console.error("Failed to auto-initialize dashboard:", error);
116
- if (onError) {
117
- onError(error instanceof Error
118
- ? error
119
- : new Error("Failed to initialize dashboard"));
120
- }
121
- });
122
- }
123
- }, [autoInit, manager, currentConfig, onError]);
124
- // Create refresh function
125
- const refresh = useCallback(async () => {
126
- try {
127
- await manager.refresh();
128
- }
129
- catch (error) {
130
- console.error("Failed to refresh dashboard:", error);
131
- if (onError) {
132
- onError(error instanceof Error
133
- ? error
134
- : new Error("Failed to refresh dashboard"));
135
- }
136
- throw error;
137
- }
138
- }, [manager, onError]);
139
- // Merge translations with defaults
140
- const mergedTranslations = useMemo(() => {
141
- if (!translations)
142
- return defaultTranslations;
143
- return {
144
- whatsNew: {
145
- ...defaultTranslations.whatsNew,
146
- ...translations.whatsNew,
147
- tabs: {
148
- ...defaultTranslations.whatsNew.tabs,
149
- ...translations.whatsNew?.tabs,
150
- },
151
- buttonViewAll: {
152
- ...defaultTranslations.whatsNew.buttonViewAll,
153
- ...translations.whatsNew?.buttonViewAll,
154
- },
155
- },
156
- growApps: {
157
- ...defaultTranslations.growApps,
158
- ...translations.growApps,
159
- },
160
- banner: {
161
- ...defaultTranslations.banner,
162
- ...translations.banner,
163
- },
164
- partnerIntegration: {
165
- ...defaultTranslations.partnerIntegration,
166
- ...translations.partnerIntegration,
167
- },
168
- };
169
- }, [translations]);
170
- // Get engine from manager (might be null initially)
171
- const engine = manager.getEngine();
172
- // Create stable context value
173
- const contextValue = useMemo(() => {
174
- if (!engine)
175
- return null;
176
- return {
177
- engine,
178
- state,
179
- refresh,
180
- isInitialized: manager.isInitialized(),
181
- locale: manager.getCurrentLocale(),
182
- translations: mergedTranslations,
183
- };
184
- }, [engine, state, refresh, manager, mergedTranslations]);
185
- // If engine not ready yet, we can still render children
186
- // This allows components to mount even if engine isn't initialized
187
- if (!contextValue) {
188
- // Create a placeholder context that will update once engine is ready
189
- const placeholderContext = {
190
- engine: null, // Will be replaced when ready
191
- state,
192
- refresh,
193
- isInitialized: false,
194
- locale: manager.getCurrentLocale(),
195
- translations: mergedTranslations,
196
- };
197
- return (_jsx(DashboardContext.Provider, { value: placeholderContext, children: children }));
198
- }
199
- return (_jsx(DashboardContext.Provider, { value: contextValue, children: children }));
200
- };