@tagadapay/plugin-sdk 3.1.8 → 3.1.9

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 (47) hide show
  1. package/README.md +1129 -1129
  2. package/build-cdn.js +220 -113
  3. package/dist/external-tracker.js +135 -81
  4. package/dist/external-tracker.min.js +2 -2
  5. package/dist/external-tracker.min.js.map +4 -4
  6. package/dist/react/providers/TagadaProvider.js +5 -5
  7. package/dist/tagada-sdk.js +10142 -0
  8. package/dist/tagada-sdk.min.js +43 -0
  9. package/dist/tagada-sdk.min.js.map +7 -0
  10. package/dist/v2/core/funnelClient.d.ts +91 -4
  11. package/dist/v2/core/funnelClient.js +42 -3
  12. package/dist/v2/core/resources/funnel.d.ts +10 -0
  13. package/dist/v2/core/resources/payments.d.ts +21 -1
  14. package/dist/v2/core/resources/payments.js +34 -0
  15. package/dist/v2/core/utils/index.d.ts +1 -0
  16. package/dist/v2/core/utils/index.js +2 -0
  17. package/dist/v2/core/utils/pluginConfig.d.ts +8 -0
  18. package/dist/v2/core/utils/pluginConfig.js +28 -0
  19. package/dist/v2/core/utils/previewMode.d.ts +4 -0
  20. package/dist/v2/core/utils/previewMode.js +28 -0
  21. package/dist/v2/core/utils/previewModeIndicator.js +101 -101
  22. package/dist/v2/index.d.ts +7 -6
  23. package/dist/v2/index.js +6 -6
  24. package/dist/v2/react/components/ApplePayButton.d.ts +1 -2
  25. package/dist/v2/react/components/ApplePayButton.js +57 -58
  26. package/dist/v2/react/components/FunnelScriptInjector.js +161 -172
  27. package/dist/v2/react/components/GooglePayButton.d.ts +2 -0
  28. package/dist/v2/react/components/GooglePayButton.js +80 -64
  29. package/dist/v2/react/hooks/useFunnel.d.ts +8 -2
  30. package/dist/v2/react/hooks/useFunnel.js +2 -2
  31. package/dist/v2/react/hooks/useGoogleAutocomplete.d.ts +10 -0
  32. package/dist/v2/react/hooks/useGoogleAutocomplete.js +48 -0
  33. package/dist/v2/react/hooks/useGooglePayCheckout.d.ts +21 -0
  34. package/dist/v2/react/hooks/useGooglePayCheckout.js +198 -0
  35. package/dist/v2/react/hooks/usePaymentPolling.d.ts +7 -1
  36. package/dist/v2/react/hooks/usePaymentQuery.d.ts +2 -0
  37. package/dist/v2/react/hooks/usePaymentQuery.js +435 -8
  38. package/dist/v2/react/hooks/usePixelTracking.d.ts +56 -0
  39. package/dist/v2/react/hooks/usePixelTracking.js +508 -0
  40. package/dist/v2/react/hooks/useStepConfig.d.ts +8 -6
  41. package/dist/v2/react/hooks/useStepConfig.js +3 -2
  42. package/dist/v2/react/index.d.ts +6 -2
  43. package/dist/v2/react/index.js +3 -1
  44. package/dist/v2/react/providers/ExpressPaymentMethodsProvider.d.ts +1 -0
  45. package/dist/v2/react/providers/ExpressPaymentMethodsProvider.js +33 -13
  46. package/dist/v2/react/providers/TagadaProvider.js +22 -21
  47. package/package.json +112 -112
package/build-cdn.js CHANGED
@@ -1,113 +1,220 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Build script for creating standalone CDN bundles
5
- *
6
- * This creates:
7
- * - dist/external-tracker.min.js - Minified UMD bundle for CDN
8
- * - dist/external-tracker.js - Non-minified for debugging
9
- *
10
- * Usage:
11
- * node build-cdn.js
12
- * npm run build:cdn
13
- */
14
-
15
- const esbuild = require('esbuild');
16
- const path = require('path');
17
-
18
- const ENTRY_POINT = path.join(__dirname, 'src/v2/standalone/external-tracker.ts');
19
- const OUT_DIR = path.join(__dirname, 'dist');
20
-
21
- async function build() {
22
- console.log('šŸ”Ø Building external-tracker CDN bundles...\n');
23
-
24
- // Build minified UMD bundle
25
- await esbuild.build({
26
- entryPoints: [ENTRY_POINT],
27
- bundle: true,
28
- minify: true,
29
- sourcemap: true,
30
- target: ['es2018', 'chrome58', 'firefox57', 'safari11', 'edge79'],
31
- format: 'iife',
32
- globalName: 'TagadaTrackerBundle',
33
- outfile: path.join(OUT_DIR, 'external-tracker.min.js'),
34
- // Don't include React - this is a standalone script
35
- external: [],
36
- // Define globals for browser environment
37
- define: {
38
- 'process.env.NODE_ENV': '"production"',
39
- },
40
- // Footer to expose TagadaTracker on window
41
- footer: {
42
- js: `
43
- // Expose TagadaTracker globally (if not already done in bundle)
44
- if (typeof window !== 'undefined' && TagadaTrackerBundle && TagadaTrackerBundle.TagadaTracker) {
45
- window.TagadaTracker = TagadaTrackerBundle.TagadaTracker;
46
- }
47
- `.trim(),
48
- },
49
- banner: {
50
- js: `/**
51
- * TagadaPay External Tracker v${require('./package.json').version}
52
- * CDN Bundle - Standalone tracking for external pages
53
- * @license MIT
54
- */`,
55
- },
56
- });
57
-
58
- console.log(' āœ… dist/external-tracker.min.js (minified + sourcemap)');
59
-
60
- // Build non-minified version for debugging
61
- await esbuild.build({
62
- entryPoints: [ENTRY_POINT],
63
- bundle: true,
64
- minify: false,
65
- sourcemap: false,
66
- target: ['es2018', 'chrome58', 'firefox57', 'safari11', 'edge79'],
67
- format: 'iife',
68
- globalName: 'TagadaTrackerBundle',
69
- outfile: path.join(OUT_DIR, 'external-tracker.js'),
70
- external: [],
71
- define: {
72
- 'process.env.NODE_ENV': '"development"',
73
- },
74
- footer: {
75
- js: `
76
- // Expose TagadaTracker globally
77
- if (typeof window !== 'undefined' && TagadaTrackerBundle && TagadaTrackerBundle.TagadaTracker) {
78
- window.TagadaTracker = TagadaTrackerBundle.TagadaTracker;
79
- }
80
- `.trim(),
81
- },
82
- banner: {
83
- js: `/**
84
- * TagadaPay External Tracker v${require('./package.json').version}
85
- * CDN Bundle - Standalone tracking for external pages (Debug Build)
86
- * @license MIT
87
- */`,
88
- },
89
- });
90
-
91
- console.log(' āœ… dist/external-tracker.js (non-minified for debugging)');
92
-
93
- // Get file sizes
94
- const fs = require('fs');
95
- const minSize = fs.statSync(path.join(OUT_DIR, 'external-tracker.min.js')).size;
96
- const fullSize = fs.statSync(path.join(OUT_DIR, 'external-tracker.js')).size;
97
-
98
- console.log('\nšŸ“¦ Bundle sizes:');
99
- console.log(` external-tracker.min.js: ${(minSize / 1024).toFixed(2)} KB`);
100
- console.log(` external-tracker.js: ${(fullSize / 1024).toFixed(2)} KB`);
101
-
102
- console.log('\n✨ CDN build complete!\n');
103
- console.log('Usage via CDN:');
104
- console.log(' <script src="https://cdn.jsdelivr.net/npm/@tagadapay/plugin-sdk/dist/external-tracker.min.js"></script>');
105
- console.log(' <script>TagadaTracker.init({ storeId: "store_xxx", ... });</script>\n');
106
- }
107
-
108
- build().catch((err) => {
109
- console.error('Build failed:', err);
110
- process.exit(1);
111
- });
112
-
113
-
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Build script for creating standalone CDN bundles
5
+ *
6
+ * This creates:
7
+ * - dist/external-tracker.min.js - Minified UMD bundle for CDN (tracking only)
8
+ * - dist/external-tracker.js - Non-minified for debugging
9
+ * - dist/tagada-sdk.min.js - Full standalone SDK bundle for CDN
10
+ * - dist/tagada-sdk.js - Non-minified for debugging
11
+ *
12
+ * Usage:
13
+ * node build-cdn.js
14
+ * npm run build:cdn
15
+ */
16
+
17
+ const esbuild = require('esbuild');
18
+ const path = require('path');
19
+ const fs = require('fs');
20
+
21
+ const TRACKER_ENTRY = path.join(__dirname, 'src/v2/standalone/external-tracker.ts');
22
+ const SDK_ENTRY = path.join(__dirname, 'src/v2/standalone/index.ts');
23
+ const OUT_DIR = path.join(__dirname, 'dist');
24
+
25
+ async function build() {
26
+ console.log('šŸ”Ø Building CDN bundles...\n');
27
+
28
+ // ==========================================================================
29
+ // EXTERNAL TRACKER (lightweight, tracking only)
30
+ // ==========================================================================
31
+ console.log('šŸ“¦ Building external-tracker...');
32
+
33
+ // Build minified UMD bundle
34
+ await esbuild.build({
35
+ entryPoints: [TRACKER_ENTRY],
36
+ bundle: true,
37
+ minify: true,
38
+ sourcemap: true,
39
+ target: ['es2018', 'chrome58', 'firefox57', 'safari11', 'edge79'],
40
+ format: 'iife',
41
+ globalName: 'TagadaTrackerBundle',
42
+ outfile: path.join(OUT_DIR, 'external-tracker.min.js'),
43
+ // Don't include React - this is a standalone script
44
+ external: [],
45
+ // Define globals for browser environment
46
+ define: {
47
+ 'process.env.NODE_ENV': '"production"',
48
+ },
49
+ // Footer to expose TagadaTracker on window
50
+ footer: {
51
+ js: `
52
+ // Expose TagadaTracker globally (if not already done in bundle)
53
+ if (typeof window !== 'undefined' && TagadaTrackerBundle && TagadaTrackerBundle.TagadaTracker) {
54
+ window.TagadaTracker = TagadaTrackerBundle.TagadaTracker;
55
+ }
56
+ `.trim(),
57
+ },
58
+ banner: {
59
+ js: `/**
60
+ * TagadaPay External Tracker v${require('./package.json').version}
61
+ * CDN Bundle - Standalone tracking for external pages
62
+ * @license MIT
63
+ */`,
64
+ },
65
+ });
66
+
67
+ console.log(' āœ… dist/external-tracker.min.js (minified + sourcemap)');
68
+
69
+ // Build non-minified version for debugging
70
+ await esbuild.build({
71
+ entryPoints: [TRACKER_ENTRY],
72
+ bundle: true,
73
+ minify: false,
74
+ sourcemap: false,
75
+ target: ['es2018', 'chrome58', 'firefox57', 'safari11', 'edge79'],
76
+ format: 'iife',
77
+ globalName: 'TagadaTrackerBundle',
78
+ outfile: path.join(OUT_DIR, 'external-tracker.js'),
79
+ external: [],
80
+ define: {
81
+ 'process.env.NODE_ENV': '"development"',
82
+ },
83
+ footer: {
84
+ js: `
85
+ // Expose TagadaTracker globally
86
+ if (typeof window !== 'undefined' && TagadaTrackerBundle && TagadaTrackerBundle.TagadaTracker) {
87
+ window.TagadaTracker = TagadaTrackerBundle.TagadaTracker;
88
+ }
89
+ `.trim(),
90
+ },
91
+ banner: {
92
+ js: `/**
93
+ * TagadaPay External Tracker v${require('./package.json').version}
94
+ * CDN Bundle - Standalone tracking for external pages (Debug Build)
95
+ * @license MIT
96
+ */`,
97
+ },
98
+ });
99
+
100
+ console.log(' āœ… dist/external-tracker.js (non-minified for debugging)');
101
+
102
+ // ==========================================================================
103
+ // FULL STANDALONE SDK (createTagadaClient, config loading, hot reload, etc.)
104
+ // ==========================================================================
105
+ console.log('\nšŸ“¦ Building tagada-sdk (full standalone SDK)...');
106
+
107
+ // Build minified SDK bundle
108
+ await esbuild.build({
109
+ entryPoints: [SDK_ENTRY],
110
+ bundle: true,
111
+ minify: true,
112
+ sourcemap: true,
113
+ target: ['es2018', 'chrome58', 'firefox57', 'safari11', 'edge79'],
114
+ format: 'iife',
115
+ globalName: 'TagadaSDKBundle',
116
+ outfile: path.join(OUT_DIR, 'tagada-sdk.min.js'),
117
+ external: [],
118
+ define: {
119
+ 'process.env.NODE_ENV': '"production"',
120
+ },
121
+ footer: {
122
+ js: `
123
+ // Expose SDK exports globally
124
+ if (typeof window !== 'undefined' && TagadaSDKBundle) {
125
+ window.TagadaSDK = TagadaSDKBundle;
126
+ window.createTagadaClient = TagadaSDKBundle.createTagadaClient;
127
+ // Config utilities (sync and async)
128
+ window.getPluginConfig = TagadaSDKBundle.getPluginConfig; // Sync - reads from meta tags
129
+ window.loadPluginConfig = TagadaSDKBundle.loadPluginConfig; // Async - full config loading
130
+ // Hot reload utilities
131
+ window.onConfigUpdate = TagadaSDKBundle.onConfigUpdate; // Listen for config changes
132
+ window.sendConfigUpdate = TagadaSDKBundle.sendConfigUpdate; // Send config updates to iframes
133
+ window.broadcastConfigUpdate = TagadaSDKBundle.broadcastConfigUpdate;
134
+ }
135
+ `.trim(),
136
+ },
137
+ banner: {
138
+ js: `/**
139
+ * TagadaPay SDK v${require('./package.json').version}
140
+ * CDN Bundle - Full standalone SDK for external/vanilla pages
141
+ * Includes: createTagadaClient, getPluginConfig, onConfigUpdate (hot reload)
142
+ * @license MIT
143
+ */`,
144
+ },
145
+ });
146
+
147
+ console.log(' āœ… dist/tagada-sdk.min.js (minified + sourcemap)');
148
+
149
+ // Build non-minified SDK version for debugging
150
+ await esbuild.build({
151
+ entryPoints: [SDK_ENTRY],
152
+ bundle: true,
153
+ minify: false,
154
+ sourcemap: false,
155
+ target: ['es2018', 'chrome58', 'firefox57', 'safari11', 'edge79'],
156
+ format: 'iife',
157
+ globalName: 'TagadaSDKBundle',
158
+ outfile: path.join(OUT_DIR, 'tagada-sdk.js'),
159
+ external: [],
160
+ define: {
161
+ 'process.env.NODE_ENV': '"development"',
162
+ },
163
+ footer: {
164
+ js: `
165
+ // Expose SDK exports globally
166
+ if (typeof window !== 'undefined' && TagadaSDKBundle) {
167
+ window.TagadaSDK = TagadaSDKBundle;
168
+ window.createTagadaClient = TagadaSDKBundle.createTagadaClient;
169
+ window.getPluginConfig = TagadaSDKBundle.getPluginConfig;
170
+ window.loadPluginConfig = TagadaSDKBundle.loadPluginConfig;
171
+ window.onConfigUpdate = TagadaSDKBundle.onConfigUpdate;
172
+ window.sendConfigUpdate = TagadaSDKBundle.sendConfigUpdate;
173
+ window.broadcastConfigUpdate = TagadaSDKBundle.broadcastConfigUpdate;
174
+ }
175
+ `.trim(),
176
+ },
177
+ banner: {
178
+ js: `/**
179
+ * TagadaPay SDK v${require('./package.json').version}
180
+ * CDN Bundle - Full standalone SDK for external/vanilla pages (Debug Build)
181
+ * @license MIT
182
+ */`,
183
+ },
184
+ });
185
+
186
+ console.log(' āœ… dist/tagada-sdk.js (non-minified for debugging)');
187
+
188
+ // Get file sizes
189
+ const trackerMinSize = fs.statSync(path.join(OUT_DIR, 'external-tracker.min.js')).size;
190
+ const trackerFullSize = fs.statSync(path.join(OUT_DIR, 'external-tracker.js')).size;
191
+ const sdkMinSize = fs.statSync(path.join(OUT_DIR, 'tagada-sdk.min.js')).size;
192
+ const sdkFullSize = fs.statSync(path.join(OUT_DIR, 'tagada-sdk.js')).size;
193
+
194
+ console.log('\nšŸ“¦ Bundle sizes:');
195
+ console.log(` external-tracker.min.js: ${(trackerMinSize / 1024).toFixed(2)} KB`);
196
+ console.log(` external-tracker.js: ${(trackerFullSize / 1024).toFixed(2)} KB`);
197
+ console.log(` tagada-sdk.min.js: ${(sdkMinSize / 1024).toFixed(2)} KB`);
198
+ console.log(` tagada-sdk.js: ${(sdkFullSize / 1024).toFixed(2)} KB`);
199
+
200
+ console.log('\n✨ CDN build complete!\n');
201
+ console.log('Usage via CDN:');
202
+ console.log('');
203
+ console.log(' // External Tracker (lightweight, tracking only):');
204
+ console.log(' <script src="https://cdn.jsdelivr.net/npm/@tagadapay/plugin-sdk/dist/external-tracker.min.js"></script>');
205
+ console.log(' <script>TagadaTracker.init({ storeId: "store_xxx", ... });</script>');
206
+ console.log('');
207
+ console.log(' // Full SDK (createTagadaClient, config, hot reload):');
208
+ console.log(' <script src="https://cdn.jsdelivr.net/npm/@tagadapay/plugin-sdk/dist/tagada-sdk.min.js"></script>');
209
+ console.log(' <script>');
210
+ console.log(' const client = createTagadaClient({ features: { funnel: true } });');
211
+ console.log(' client.subscribe((state) => console.log(state));');
212
+ console.log(' </script>\n');
213
+ }
214
+
215
+ build().catch((err) => {
216
+ console.error('Build failed:', err);
217
+ process.exit(1);
218
+ });
219
+
220
+