@thewhateverapp/tile-sdk 0.2.2 → 0.2.4
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TileBridge.d.ts","sourceRoot":"","sources":["../../src/bridge/TileBridge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,gBAAgB,CAAmD;IAC3E,OAAO,CAAC,aAAa,CAAoD;IACzE,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAS;gBAEjB,cAAc,GAAE,MAAkC;
|
|
1
|
+
{"version":3,"file":"TileBridge.d.ts","sourceRoot":"","sources":["../../src/bridge/TileBridge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,gBAAgB,CAAmD;IAC3E,OAAO,CAAC,aAAa,CAAoD;IACzE,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAS;gBAEjB,cAAc,GAAE,MAAkC;IA4B9D,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAsBpB;;OAEG;IACI,cAAc,IAAI,IAAI;IAa7B;;OAEG;IACI,cAAc,IAAI,IAAI;IAO7B;;OAEG;IACI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,QAAQ,GAAG,OAAkB,GAAG,IAAI;IAOxE;;OAEG;IACI,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAOtD;;OAEG;IACU,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B1D;;OAEG;IACU,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B/D;;OAEG;IACU,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAoBlD;;OAEG;IACI,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWzD;;OAEG;IACU,OAAO,CAAC,OAAO,CAAC,EAAE;QAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,GAAG,CAAC;IAiChB;;OAEG;IACU,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IA8B9D;;OAEG;IACU,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IAuB3C;;OAEG;IACI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI;IAgBlE;;OAEG;IACI,SAAS,IAAI,UAAU,GAAG,IAAI;IAIrC;;OAEG;IACI,OAAO,IAAI,OAAO;IAIzB;;OAEG;IACU,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC;IAehD,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,aAAa;CAKtB;AAKD,wBAAgB,aAAa,IAAI,UAAU,CAK1C"}
|
|
@@ -10,15 +10,39 @@ export class TileBridge {
|
|
|
10
10
|
this.eventHandlers = new Map();
|
|
11
11
|
this.ready = false;
|
|
12
12
|
this.parentOrigin = expectedOrigin;
|
|
13
|
-
//
|
|
14
|
-
if (typeof window !== 'undefined'
|
|
15
|
-
|
|
13
|
+
// Auto-detect parent origin based on environment
|
|
14
|
+
if (typeof window !== 'undefined') {
|
|
15
|
+
const isInIframe = window.self !== window.top;
|
|
16
|
+
// Development: localhost
|
|
17
|
+
if (window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1') {
|
|
18
|
+
this.parentOrigin = 'http://localhost:3000';
|
|
19
|
+
}
|
|
20
|
+
// Production preview: api.thewhatever.app serving iframe, parent is thewhatever.app
|
|
21
|
+
else if (isInIframe && window.location.hostname === 'api.thewhatever.app') {
|
|
22
|
+
this.parentOrigin = 'https://thewhatever.app';
|
|
23
|
+
}
|
|
24
|
+
// Production deployed: app running on its own pages.dev domain
|
|
25
|
+
else if (window.location.hostname.includes('.pages.dev')) {
|
|
26
|
+
this.parentOrigin = 'https://thewhatever.app';
|
|
27
|
+
}
|
|
28
|
+
// Default to provided expectedOrigin
|
|
29
|
+
else {
|
|
30
|
+
this.parentOrigin = expectedOrigin;
|
|
31
|
+
}
|
|
16
32
|
}
|
|
17
33
|
this.initialize();
|
|
18
34
|
}
|
|
19
35
|
initialize() {
|
|
20
36
|
if (typeof window === 'undefined')
|
|
21
37
|
return;
|
|
38
|
+
// Debug logging
|
|
39
|
+
if (this.isDevelopment()) {
|
|
40
|
+
console.log('[TileBridge] Initializing with config:', {
|
|
41
|
+
parentOrigin: this.parentOrigin,
|
|
42
|
+
currentOrigin: window.location.origin,
|
|
43
|
+
isInIframe: window.self !== window.top,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
22
46
|
// Listen for messages from parent
|
|
23
47
|
window.addEventListener('message', this.handleMessage.bind(this));
|
|
24
48
|
// Send ready signal to parent
|
|
@@ -96,6 +120,12 @@ export class TileBridge {
|
|
|
96
120
|
* Request to navigate to full page view
|
|
97
121
|
*/
|
|
98
122
|
navigateToPage() {
|
|
123
|
+
if (this.isDevelopment()) {
|
|
124
|
+
console.log('[TileBridge] Requesting navigation to page', {
|
|
125
|
+
ready: this.ready,
|
|
126
|
+
parentOrigin: this.parentOrigin,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
99
129
|
this.sendToParent({
|
|
100
130
|
type: 'tile:navigate',
|
|
101
131
|
payload: { target: 'page' },
|