@vibecodeapp/sdk 0.2.0 → 0.3.0
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.
- package/dist/dev/VibeDevWrapper.d.ts +9 -0
- package/dist/dev/VibeDevWrapper.d.ts.map +1 -0
- package/dist/dev/VibeDevWrapper.js +6 -0
- package/dist/dev/VibeDevWrapper.js.map +1 -0
- package/dist/dev/safe-insets.d.ts +9 -0
- package/dist/dev/safe-insets.d.ts.map +1 -0
- package/dist/dev/safe-insets.js +5 -0
- package/dist/dev/safe-insets.js.map +1 -0
- package/dist/dev/safe-insets.web.d.ts +9 -0
- package/dist/dev/safe-insets.web.d.ts.map +1 -0
- package/dist/dev/safe-insets.web.js +30 -0
- package/dist/dev/safe-insets.web.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/polyfills/alert.web.d.ts +1 -1
- package/dist/polyfills/alert.web.d.ts.map +1 -1
- package/dist/polyfills/alert.web.js +1 -1
- package/dist/polyfills/alert.web.js.map +1 -1
- package/dist/polyfills/fetch.web.d.ts +14 -0
- package/dist/polyfills/fetch.web.d.ts.map +1 -0
- package/dist/polyfills/fetch.web.js +170 -0
- package/dist/polyfills/fetch.web.js.map +1 -0
- package/dist/polyfills/haptics.web.d.ts.map +1 -1
- package/dist/polyfills/haptics.web.js +3 -3
- package/dist/polyfills/haptics.web.js.map +1 -1
- package/dist/polyfills/maps.web.d.ts +2 -2
- package/dist/polyfills/maps.web.d.ts.map +1 -1
- package/dist/polyfills/maps.web.js +4 -4
- package/dist/polyfills/maps.web.js.map +1 -1
- package/dist/polyfills/refresh-control-component.d.ts +2 -2
- package/dist/polyfills/refresh-control-component.d.ts.map +1 -1
- package/dist/polyfills/refresh-control-component.js +19 -10
- package/dist/polyfills/refresh-control-component.js.map +1 -1
- package/dist/polyfills/secure-store.web.d.ts.map +1 -1
- package/dist/polyfills/secure-store.web.js +6 -6
- package/dist/polyfills/secure-store.web.js.map +1 -1
- package/metro/index.cjs +137 -108
- package/metro/index.d.ts +18 -18
- package/metro/metro-http-store.cjs +254 -254
- package/metro/transformer.cjs +69 -0
- package/package.json +59 -57
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VibeDevWrapper - Development wrapper component
|
|
3
|
+
*
|
|
4
|
+
* Automatically wraps the root layout with necessary providers.
|
|
5
|
+
* Currently includes VibeSafeInsets for safe area handling on web.
|
|
6
|
+
*/
|
|
7
|
+
import type { PropsWithChildren } from 'react';
|
|
8
|
+
export declare function VibeDevWrapper({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=VibeDevWrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VibeDevWrapper.d.ts","sourceRoot":"","sources":["../../src/dev/VibeDevWrapper.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAG9C,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAE7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VibeDevWrapper.js","sourceRoot":"","sources":["../../src/dev/VibeDevWrapper.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,UAAU,cAAc,CAAC,EAAE,QAAQ,EAAqB;IAC7D,OAAO,KAAC,cAAc,cAAE,QAAQ,GAAkB,CAAA;AACnD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Native version of VibeSafeInsets - no-op component
|
|
3
|
+
*
|
|
4
|
+
* On native platforms, react-native-safe-area-context is already provided
|
|
5
|
+
* by expo-router, so this component simply passes through its children.
|
|
6
|
+
*/
|
|
7
|
+
import type { PropsWithChildren } from 'react';
|
|
8
|
+
export declare function VibeSafeInsets({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=safe-insets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-insets.d.ts","sourceRoot":"","sources":["../../src/dev/safe-insets.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAE9C,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAE7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-insets.js","sourceRoot":"","sources":["../../src/dev/safe-insets.tsx"],"names":[],"mappings":";AASA,MAAM,UAAU,cAAc,CAAC,EAAE,QAAQ,EAAqB;IAC7D,OAAO,4BAAG,QAAQ,GAAI,CAAA;AACvB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web version of VibeSafeInsets
|
|
3
|
+
*
|
|
4
|
+
* Provides SafeAreaInsetsContext for web applications running in a WebView.
|
|
5
|
+
* Listens for postMessage events to receive safe area insets from the parent frame.
|
|
6
|
+
*/
|
|
7
|
+
import type { PropsWithChildren } from 'react';
|
|
8
|
+
export declare function VibeSafeInsets({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=safe-insets.web.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-insets.web.d.ts","sourceRoot":"","sources":["../../src/dev/safe-insets.web.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAW9C,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CA6B7D"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
|
|
4
|
+
const DEFAULT_IPHONE_LIKE_WEB_INSETS = {
|
|
5
|
+
top: 44,
|
|
6
|
+
right: 0,
|
|
7
|
+
bottom: 34,
|
|
8
|
+
left: 0,
|
|
9
|
+
};
|
|
10
|
+
export function VibeSafeInsets({ children }) {
|
|
11
|
+
const [insets, setInsets] = useState(DEFAULT_IPHONE_LIKE_WEB_INSETS);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
const handleMessage = (event) => {
|
|
14
|
+
if (event.data?.type === 'update-safe-area-insets') {
|
|
15
|
+
const { top, right, bottom, left } = event.data.insets;
|
|
16
|
+
if (typeof top === 'number' &&
|
|
17
|
+
typeof right === 'number' &&
|
|
18
|
+
typeof bottom === 'number' &&
|
|
19
|
+
typeof left === 'number') {
|
|
20
|
+
setInsets({ top, right, bottom, left });
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
window.addEventListener('message', handleMessage);
|
|
25
|
+
window.parent.postMessage({ type: 'safe-insets-ready' }, '*');
|
|
26
|
+
return () => window.removeEventListener('message', handleMessage);
|
|
27
|
+
}, []);
|
|
28
|
+
return (_jsx(SafeAreaInsetsContext.Provider, { value: insets, children: children }));
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=safe-insets.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-insets.web.js","sourceRoot":"","sources":["../../src/dev/safe-insets.web.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAEtE,MAAM,8BAA8B,GAAG;IACtC,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,CAAC;CACP,CAAA;AAED,MAAM,UAAU,cAAc,CAAC,EAAE,QAAQ,EAAqB;IAC7D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,8BAA8B,CAAC,CAAA;IAEpE,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,aAAa,GAAG,CAAC,KAAmB,EAAE,EAAE;YAC7C,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,yBAAyB,EAAE,CAAC;gBACpD,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA;gBACtD,IACC,OAAO,GAAG,KAAK,QAAQ;oBACvB,OAAO,KAAK,KAAK,QAAQ;oBACzB,OAAO,MAAM,KAAK,QAAQ;oBAC1B,OAAO,IAAI,KAAK,QAAQ,EACvB,CAAC;oBACF,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;gBACxC,CAAC;YACF,CAAC;QACF,CAAC,CAAA;QAED,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACjD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAA;QAE7D,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;IAClE,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CACN,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,YAC3C,QAAQ,GACuB,CACjC,CAAA;AACF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Vibecode SDK - AI-powered mobile app builder toolkit
|
|
3
3
|
*
|
|
4
|
+
* The fetch proxy polyfill is auto-injected via Metro's getModulesRunBeforeMainModule.
|
|
5
|
+
* No manual import required when using withVibecodeMetro in metro.config.js.
|
|
6
|
+
*
|
|
4
7
|
* @packageDocumentation
|
|
5
8
|
*/
|
|
6
|
-
export {};
|
|
9
|
+
export { VibeSafeInsets } from './dev/safe-insets';
|
|
10
|
+
export { VibeDevWrapper } from './dev/VibeDevWrapper';
|
|
7
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Vibecode SDK - AI-powered mobile app builder toolkit
|
|
3
3
|
*
|
|
4
|
+
* The fetch proxy polyfill is auto-injected via Metro's getModulesRunBeforeMainModule.
|
|
5
|
+
* No manual import required when using withVibecodeMetro in metro.config.js.
|
|
6
|
+
*
|
|
4
7
|
* @packageDocumentation
|
|
5
8
|
*/
|
|
6
|
-
export {};
|
|
9
|
+
export { VibeSafeInsets } from './dev/safe-insets';
|
|
10
|
+
export { VibeDevWrapper } from './dev/VibeDevWrapper';
|
|
7
11
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.web.d.ts","sourceRoot":"","sources":["../../src/polyfills/alert.web.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,QAAQ,MAAM,kCAAkC,
|
|
1
|
+
{"version":3,"file":"alert.web.d.ts","sourceRoot":"","sources":["../../src/polyfills/alert.web.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,QAAQ,MAAM,kCAAkC,CAAA;AAEvD,eAAe,QAAQ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.web.js","sourceRoot":"","sources":["../../src/polyfills/alert.web.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,QAAQ,MAAM,kCAAkC,
|
|
1
|
+
{"version":3,"file":"alert.web.js","sourceRoot":"","sources":["../../src/polyfills/alert.web.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,QAAQ,MAAM,kCAAkC,CAAA;AAEvD,eAAe,QAAQ,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web polyfill for expo/fetch with Vibecode proxy support
|
|
3
|
+
*
|
|
4
|
+
* This wraps the global fetch to add proxy functionality for specified domains.
|
|
5
|
+
* Similar to the iOS native implementation in ExpoURLSessionTask.swift.
|
|
6
|
+
*
|
|
7
|
+
* Auto-configures on import - no manual setup required.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Proxied fetch implementation.
|
|
11
|
+
* Wraps the global fetch to add proxy support for specified domains.
|
|
12
|
+
*/
|
|
13
|
+
export declare function fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
|
|
14
|
+
//# sourceMappingURL=fetch.web.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.web.d.ts","sourceRoot":"","sources":["../../src/polyfills/fetch.web.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAkFH;;;GAGG;AACH,wBAAsB,KAAK,CAC1B,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GAChB,OAAO,CAAC,QAAQ,CAAC,CAiDnB"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web polyfill for expo/fetch with Vibecode proxy support
|
|
3
|
+
*
|
|
4
|
+
* This wraps the global fetch to add proxy functionality for specified domains.
|
|
5
|
+
* Similar to the iOS native implementation in ExpoURLSessionTask.swift.
|
|
6
|
+
*
|
|
7
|
+
* Auto-configures on import - no manual setup required.
|
|
8
|
+
*/
|
|
9
|
+
// Symbol to mark that we've already initialized (prevents double-init)
|
|
10
|
+
const VIBECODE_FETCH_INSTALLED = Symbol.for('vibecode.fetch.installed');
|
|
11
|
+
// Check if already initialized to prevent double-wrapping
|
|
12
|
+
const alreadyInstalled = typeof globalThis !== 'undefined' &&
|
|
13
|
+
globalThis[VIBECODE_FETCH_INSTALLED];
|
|
14
|
+
// Constants
|
|
15
|
+
const PROXY_HOST = 'proxy.vibecodeapp.com';
|
|
16
|
+
const DOMAINS_API_URL = 'https://proxy.vibecodeapp.com/v1/domains';
|
|
17
|
+
// Default list of proxied domains
|
|
18
|
+
const DEFAULT_PROXIED_DOMAINS = [
|
|
19
|
+
'openrouter.ai',
|
|
20
|
+
'api.openai.com',
|
|
21
|
+
'api.anthropic.com',
|
|
22
|
+
'api.x.ai',
|
|
23
|
+
'bedrock-runtime.us-west-2.amazonaws.com',
|
|
24
|
+
'generativelanguage.googleapis.com',
|
|
25
|
+
'api.elevenlabs.io',
|
|
26
|
+
'api.groq.com',
|
|
27
|
+
'api.openweathermap.org',
|
|
28
|
+
'api.themoviedb.org',
|
|
29
|
+
'api.ideogram.ai',
|
|
30
|
+
'api.resend.com',
|
|
31
|
+
'www.alphavantage.co',
|
|
32
|
+
];
|
|
33
|
+
// Store the original fetch before we do anything (only if not already installed)
|
|
34
|
+
const originalFetch = alreadyInstalled
|
|
35
|
+
? globalThis.fetch
|
|
36
|
+
: globalThis.fetch;
|
|
37
|
+
// Proxy configuration
|
|
38
|
+
const proxiedDomains = new Set(DEFAULT_PROXIED_DOMAINS);
|
|
39
|
+
/**
|
|
40
|
+
* Get the project ID from environment variables.
|
|
41
|
+
* Checks multiple common env var naming conventions.
|
|
42
|
+
*/
|
|
43
|
+
function getProjectId() {
|
|
44
|
+
if (typeof process !== 'undefined' && process.env) {
|
|
45
|
+
return (process.env.EXPO_PUBLIC_VIBECODE_PROJECT_ID ||
|
|
46
|
+
process.env.VIBECODE_PROJECT_ID ||
|
|
47
|
+
process.env.VITE_VIBECODE_PROJECT_ID ||
|
|
48
|
+
process.env.NEXT_PUBLIC_VIBECODE_PROJECT_ID);
|
|
49
|
+
}
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Check if a host should be proxied.
|
|
54
|
+
*/
|
|
55
|
+
function shouldProxyHost(host) {
|
|
56
|
+
for (const domain of proxiedDomains) {
|
|
57
|
+
if (host === domain || host.endsWith(`.${domain}`)) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Apply proxy transformation to a URL if it matches proxied domains.
|
|
65
|
+
* Returns an object with the (possibly modified) URL and whether it was proxied.
|
|
66
|
+
*/
|
|
67
|
+
function applyProxyToUrl(url) {
|
|
68
|
+
if (!shouldProxyHost(url.hostname)) {
|
|
69
|
+
return { url, wasProxied: false };
|
|
70
|
+
}
|
|
71
|
+
const proxiedUrl = new URL(url.toString());
|
|
72
|
+
proxiedUrl.hostname = `${url.hostname}.${PROXY_HOST}`;
|
|
73
|
+
return { url: proxiedUrl, wasProxied: true };
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Proxied fetch implementation.
|
|
77
|
+
* Wraps the global fetch to add proxy support for specified domains.
|
|
78
|
+
*/
|
|
79
|
+
export async function fetch(input, init) {
|
|
80
|
+
const projectId = getProjectId();
|
|
81
|
+
// Parse the URL from the input
|
|
82
|
+
let url;
|
|
83
|
+
let requestInit = init ? { ...init } : {};
|
|
84
|
+
if (input instanceof Request) {
|
|
85
|
+
url = new URL(input.url);
|
|
86
|
+
// Merge headers from Request and init
|
|
87
|
+
const requestHeaders = new Headers(input.headers);
|
|
88
|
+
if (init?.headers) {
|
|
89
|
+
const initHeaders = new Headers(init.headers);
|
|
90
|
+
initHeaders.forEach((value, key) => {
|
|
91
|
+
requestHeaders.set(key, value);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
requestInit = {
|
|
95
|
+
method: init?.method ?? input.method,
|
|
96
|
+
headers: requestHeaders,
|
|
97
|
+
body: init?.body ?? input.body,
|
|
98
|
+
mode: init?.mode ?? input.mode,
|
|
99
|
+
credentials: init?.credentials ?? input.credentials,
|
|
100
|
+
cache: init?.cache ?? input.cache,
|
|
101
|
+
redirect: init?.redirect ?? input.redirect,
|
|
102
|
+
referrer: init?.referrer ?? input.referrer,
|
|
103
|
+
referrerPolicy: init?.referrerPolicy ?? input.referrerPolicy,
|
|
104
|
+
integrity: init?.integrity ?? input.integrity,
|
|
105
|
+
keepalive: init?.keepalive ?? input.keepalive,
|
|
106
|
+
signal: init?.signal ?? input.signal,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
else if (input instanceof URL) {
|
|
110
|
+
url = input;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
url = new URL(input, globalThis.location?.origin);
|
|
114
|
+
}
|
|
115
|
+
// Apply proxy transformation
|
|
116
|
+
const { url: proxiedUrl, wasProxied } = applyProxyToUrl(url);
|
|
117
|
+
// Add proxy header if the URL was proxied and we have a project ID
|
|
118
|
+
if (wasProxied && projectId) {
|
|
119
|
+
const headers = new Headers(requestInit.headers);
|
|
120
|
+
headers.set('X-Vibecode-Project', projectId);
|
|
121
|
+
requestInit.headers = headers;
|
|
122
|
+
}
|
|
123
|
+
// Make the request with the (possibly) proxied URL
|
|
124
|
+
return originalFetch(proxiedUrl.toString(), requestInit);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Fetch additional domains from the API and add them to the proxy list.
|
|
128
|
+
* This runs in the background and doesn't block initialization.
|
|
129
|
+
*/
|
|
130
|
+
async function fetchAndAddDomains() {
|
|
131
|
+
try {
|
|
132
|
+
const response = await originalFetch(DOMAINS_API_URL);
|
|
133
|
+
if (response.ok) {
|
|
134
|
+
const data = await response.json();
|
|
135
|
+
if (Array.isArray(data)) {
|
|
136
|
+
for (const domain of data) {
|
|
137
|
+
if (typeof domain === 'string') {
|
|
138
|
+
proxiedDomains.add(domain);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else if (data.domains && Array.isArray(data.domains)) {
|
|
143
|
+
for (const domain of data.domains) {
|
|
144
|
+
if (typeof domain === 'string') {
|
|
145
|
+
proxiedDomains.add(domain);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
// Silently fail - we have default domains as fallback
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Install the proxied fetch as the global fetch.
|
|
157
|
+
*/
|
|
158
|
+
function installGlobalFetch() {
|
|
159
|
+
if (typeof globalThis !== 'undefined' && !alreadyInstalled) {
|
|
160
|
+
;
|
|
161
|
+
globalThis.fetch = fetch;
|
|
162
|
+
globalThis[VIBECODE_FETCH_INSTALLED] = true;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
// Auto-initialize on import (skips if already done)
|
|
166
|
+
if (!alreadyInstalled) {
|
|
167
|
+
installGlobalFetch();
|
|
168
|
+
fetchAndAddDomains();
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=fetch.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.web.js","sourceRoot":"","sources":["../../src/polyfills/fetch.web.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"haptics.web.d.ts","sourceRoot":"","sources":["../../src/polyfills/haptics.web.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oBAAY,wBAAwB;
|
|
1
|
+
{"version":3,"file":"haptics.web.d.ts","sourceRoot":"","sources":["../../src/polyfills/haptics.web.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oBAAY,wBAAwB;IACnC,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,KAAK,UAAU;CACf;AAED,oBAAY,mBAAmB;IAC9B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,KAAK,UAAU;CACf;AAsBD,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAKpD;AAED,wBAAsB,iBAAiB,CACtC,IAAI,GAAE,wBAA2D,GAC/D,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,WAAW,CAChC,KAAK,GAAE,mBAAgD,GACrD,OAAO,CAAC,IAAI,CAAC,CAKf"}
|
|
@@ -29,9 +29,9 @@ const vibrationPatterns = {
|
|
|
29
29
|
selection: [50],
|
|
30
30
|
};
|
|
31
31
|
function isVibrationAvailable() {
|
|
32
|
-
return (typeof window !==
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
return (typeof window !== 'undefined' &&
|
|
33
|
+
'navigator' in window &&
|
|
34
|
+
'vibrate' in navigator);
|
|
35
35
|
}
|
|
36
36
|
export async function selectionAsync() {
|
|
37
37
|
if (!isVibrationAvailable()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"haptics.web.js","sourceRoot":"","sources":["../../src/polyfills/haptics.web.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAN,IAAY,wBAIX;AAJD,WAAY,wBAAwB;
|
|
1
|
+
{"version":3,"file":"haptics.web.js","sourceRoot":"","sources":["../../src/polyfills/haptics.web.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAN,IAAY,wBAIX;AAJD,WAAY,wBAAwB;IACnC,+CAAmB,CAAA;IACnB,+CAAmB,CAAA;IACnB,2CAAe,CAAA;AAChB,CAAC,EAJW,wBAAwB,KAAxB,wBAAwB,QAInC;AAED,MAAM,CAAN,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC9B,sCAAe,CAAA;IACf,wCAAiB,CAAA;IACjB,sCAAe,CAAA;IACf,oCAAa,CAAA;IACb,sCAAe,CAAA;AAChB,CAAC,EANW,mBAAmB,KAAnB,mBAAmB,QAM9B;AAED,MAAM,iBAAiB,GAAsC;IAC5D,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACjD,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACjD,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACxD,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACjC,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IAClC,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACjC,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IAChC,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACjC,SAAS,EAAE,CAAC,EAAE,CAAC;CACf,CAAA;AAED,SAAS,oBAAoB;IAC5B,OAAO,CACN,OAAO,MAAM,KAAK,WAAW;QAC7B,WAAW,IAAI,MAAM;QACrB,SAAS,IAAI,SAAS,CACtB,CAAA;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IACnC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAC7B,OAAM;IACP,CAAC;IACD,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,OAAiC,wBAAwB,CAAC,OAAO;IAEjE,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAC7B,OAAM;IACP,CAAC;IACD,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,QAA6B,mBAAmB,CAAC,MAAM;IAEvD,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAC7B,OAAM;IACP,CAAC;IACD,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAA;AAC5C,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Web polyfill for react-native-maps using Google Maps
|
|
3
3
|
*/
|
|
4
|
-
import React from
|
|
4
|
+
import React from 'react';
|
|
5
5
|
export declare const PROVIDER_GOOGLE = "google";
|
|
6
6
|
export declare const PROVIDER_DEFAULT: undefined;
|
|
7
|
-
declare const MapView: React.ForwardRefExoticComponent<Omit<
|
|
7
|
+
declare const MapView: React.ForwardRefExoticComponent<Omit<Record<string, unknown>, "ref"> & React.RefAttributes<unknown>>;
|
|
8
8
|
export declare const Marker: any, Callout: any, Polyline: any, Polygon: any, Circle: any, Overlay: any, Heatmap: any, UrlTile: any, WMSTile: any, LocalTile: any;
|
|
9
9
|
export default MapView;
|
|
10
10
|
//# sourceMappingURL=maps.web.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maps.web.d.ts","sourceRoot":"","sources":["../../src/polyfills/maps.web.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"maps.web.d.ts","sourceRoot":"","sources":["../../src/polyfills/maps.web.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,eAAe,WAAW,CAAA;AACvC,eAAO,MAAM,gBAAgB,WAAY,CAAA;AAKzC,QAAA,MAAM,OAAO,sGAOX,CAAA;AAUF,eAAO,MACN,MAAM,OACN,OAAO,OACP,QAAQ,OACR,OAAO,OACP,MAAM,OACN,OAAO,OACP,OAAO,OACP,OAAO,OACP,OAAO,OACP,SAAS,KACC,CAAA;AAEX,eAAe,OAAO,CAAA"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Web polyfill for react-native-maps using Google Maps
|
|
3
3
|
*/
|
|
4
4
|
// @ts-nocheck
|
|
5
|
-
import WebMapView, * as WebMaps from
|
|
6
|
-
import React from
|
|
7
|
-
export const PROVIDER_GOOGLE =
|
|
5
|
+
import WebMapView, * as WebMaps from '@teovilla/react-native-web-maps';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
export const PROVIDER_GOOGLE = 'google';
|
|
8
8
|
export const PROVIDER_DEFAULT = undefined;
|
|
9
9
|
const GOOGLE_MAPS_API_KEY = process.env
|
|
10
10
|
.EXPO_PUBLIC_GOOGLE_MAPS_API_KEY;
|
|
@@ -16,7 +16,7 @@ const MapView = React.forwardRef((props, ref) => {
|
|
|
16
16
|
provider: PROVIDER_GOOGLE,
|
|
17
17
|
});
|
|
18
18
|
});
|
|
19
|
-
MapView.displayName =
|
|
19
|
+
MapView.displayName = 'MapView';
|
|
20
20
|
Object.assign(MapView, {
|
|
21
21
|
...WebMaps,
|
|
22
22
|
PROVIDER_GOOGLE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maps.web.js","sourceRoot":"","sources":["../../src/polyfills/maps.web.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc;AACd,OAAO,UAAU,EAAE,KAAK,OAAO,MAAM,iCAAiC,
|
|
1
|
+
{"version":3,"file":"maps.web.js","sourceRoot":"","sources":["../../src/polyfills/maps.web.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc;AACd,OAAO,UAAU,EAAE,KAAK,OAAO,MAAM,iCAAiC,CAAA;AACtE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAA;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAA;AAEzC,MAAM,mBAAmB,GAAI,OAAO,CAAC,GAA0C;KAC7E,+BAA+B,CAAA;AAEjC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,KAA8B,EAAE,GAAG,EAAE,EAAE;IACxE,OAAO,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE;QACtC,GAAG;QACH,gBAAgB,EAAE,mBAAmB;QACrC,GAAG,KAAK;QACR,QAAQ,EAAE,eAAe;KACzB,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,WAAW,GAAG,SAAS,CAAA;AAE/B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;IACtB,GAAG,OAAO;IACV,eAAe;IACf,gBAAgB;CAChB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,EACZ,MAAM,EACN,OAAO,EACP,QAAQ,EACR,OAAO,EACP,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,SAAS,GACT,GAAG,OAAO,CAAA;AAEX,eAAe,OAAO,CAAA"}
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Implements pull-to-refresh functionality using PanResponder on web.
|
|
5
5
|
*/
|
|
6
|
-
import React from
|
|
6
|
+
import React from 'react';
|
|
7
7
|
interface WebRefreshControlProps {
|
|
8
8
|
refreshing: boolean;
|
|
9
9
|
tintColor?: string;
|
|
10
10
|
colors?: string[];
|
|
11
|
-
style?:
|
|
11
|
+
style?: React.CSSProperties;
|
|
12
12
|
progressViewOffset?: number;
|
|
13
13
|
children?: React.ReactNode;
|
|
14
14
|
onRefresh?: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-control-component.d.ts","sourceRoot":"","sources":["../../src/polyfills/refresh-control-component.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAkD,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"refresh-control-component.d.ts","sourceRoot":"","sources":["../../src/polyfills/refresh-control-component.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAkD,MAAM,OAAO,CAAA;AAUtE,UAAU,sBAAsB;IAC/B,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACzC,UAAU,EACV,SAAS,EACT,MAAM,EACN,KAAK,EACL,kBAAkB,EAClB,QAAQ,EACR,SAAS,EACT,OAAO,GACP,EAAE,sBAAsB,2CA2JxB"}
|
|
@@ -5,10 +5,10 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
|
|
|
5
5
|
* Implements pull-to-refresh functionality using PanResponder on web.
|
|
6
6
|
*/
|
|
7
7
|
// @ts-nocheck
|
|
8
|
-
import React, { useCallback, useEffect, useMemo, useRef } from
|
|
8
|
+
import React, { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
9
9
|
// Import from react-native-web directly to avoid infinite loop
|
|
10
10
|
// (metro redirects "react-native" to our polyfill on web)
|
|
11
|
-
import { ActivityIndicator, Animated, PanResponder, View, } from
|
|
11
|
+
import { ActivityIndicator, Animated, PanResponder, View, } from 'react-native-web';
|
|
12
12
|
export default function WebRefreshControl({ refreshing, tintColor, colors, style, progressViewOffset, children, onRefresh, enabled, }) {
|
|
13
13
|
const onRefreshRef = useRef(onRefresh);
|
|
14
14
|
useEffect(() => {
|
|
@@ -74,16 +74,20 @@ export default function WebRefreshControl({ refreshing, tintColor, colors, style
|
|
|
74
74
|
onPanResponderRelease: onPanResponderFinish,
|
|
75
75
|
onPanResponderTerminate: onPanResponderFinish,
|
|
76
76
|
}));
|
|
77
|
-
const refreshIndicatorColor = useMemo(() => (tintColor ? tintColor : colors
|
|
77
|
+
const refreshIndicatorColor = useMemo(() => (tintColor ? tintColor : colors?.length ? colors[0] : null), [colors, tintColor]);
|
|
78
78
|
const containerStyle = useMemo(() => [
|
|
79
79
|
style,
|
|
80
|
-
// @ts-
|
|
81
|
-
{
|
|
80
|
+
// @ts-expect-error - overflowY is valid on web
|
|
81
|
+
{
|
|
82
|
+
overflowY: 'hidden',
|
|
83
|
+
overflow: 'hidden',
|
|
84
|
+
paddingTop: progressViewOffset,
|
|
85
|
+
},
|
|
82
86
|
], [progressViewOffset, style]);
|
|
83
87
|
const indicatorTransformStyle = useMemo(() => ({
|
|
84
|
-
alignSelf:
|
|
85
|
-
justifyContent:
|
|
86
|
-
alignItems:
|
|
88
|
+
alignSelf: 'center',
|
|
89
|
+
justifyContent: 'center',
|
|
90
|
+
alignItems: 'center',
|
|
87
91
|
marginTop: -40,
|
|
88
92
|
height: 40,
|
|
89
93
|
transform: [{ translateY: pullDownSwipeMargin.current }],
|
|
@@ -91,11 +95,14 @@ export default function WebRefreshControl({ refreshing, tintColor, colors, style
|
|
|
91
95
|
// This is messing with react-native-web's internal implementation
|
|
92
96
|
// Will probably break if anything changes on their end
|
|
93
97
|
const AnimatedContentContainer = useMemo(() => {
|
|
98
|
+
// biome-ignore lint/suspicious/noExplicitAny: Required for react-native-web internals
|
|
94
99
|
const childElement = children;
|
|
95
100
|
if (!childElement?.props?.children?.type)
|
|
96
101
|
return null;
|
|
102
|
+
// biome-ignore lint/suspicious/noExplicitAny: Required for react-native-web internals
|
|
97
103
|
return withAnimated((childProps) => React.createElement(childElement.props.children.type, childProps));
|
|
98
104
|
}, [children]);
|
|
105
|
+
// biome-ignore lint/suspicious/noExplicitAny: Required for react-native-web internals
|
|
99
106
|
const childElement = children;
|
|
100
107
|
const newContentContainerStyle = useMemo(() => [
|
|
101
108
|
childElement?.props?.children?.props?.style,
|
|
@@ -104,11 +111,13 @@ export default function WebRefreshControl({ refreshing, tintColor, colors, style
|
|
|
104
111
|
if (!childElement || !AnimatedContentContainer) {
|
|
105
112
|
return _jsx(_Fragment, { children: children });
|
|
106
113
|
}
|
|
107
|
-
const newChildren = React.cloneElement(childElement, {}, _jsxs(_Fragment, { children: [_jsx(Animated.View, { style: indicatorTransformStyle, children: _jsx(ActivityIndicator, { color: refreshIndicatorColor ||
|
|
114
|
+
const newChildren = React.cloneElement(childElement, {}, _jsxs(_Fragment, { children: [_jsx(Animated.View, { style: indicatorTransformStyle, children: _jsx(ActivityIndicator, { color: refreshIndicatorColor || '#999999', size: "small" }) }), _jsx(AnimatedContentContainer, { ...childElement.props.children.props, style: newContentContainerStyle })] }));
|
|
108
115
|
return (_jsx(View, { ref: containerRef, style: containerStyle, ...panResponder.current.panHandlers, children: newChildren }));
|
|
109
116
|
}
|
|
117
|
+
// biome-ignore lint/suspicious/noExplicitAny: Required for react-native-web internals
|
|
110
118
|
function withAnimated(WrappedComponent) {
|
|
111
|
-
const displayName = WrappedComponent.displayName || WrappedComponent.name ||
|
|
119
|
+
const displayName = WrappedComponent.displayName || WrappedComponent.name || 'Component';
|
|
120
|
+
// biome-ignore lint/suspicious/noExplicitAny: Required for react-native-web internals
|
|
112
121
|
class WithAnimated extends React.Component {
|
|
113
122
|
render() {
|
|
114
123
|
return _jsx(WrappedComponent, { ...this.props });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-control-component.js","sourceRoot":"","sources":["../../src/polyfills/refresh-control-component.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,cAAc;AACd,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"refresh-control-component.js","sourceRoot":"","sources":["../../src/polyfills/refresh-control-component.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secure-store.web.d.ts","sourceRoot":"","sources":["../../src/polyfills/secure-store.web.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,MAAM,MAAM,6BAA6B,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"secure-store.web.d.ts","sourceRoot":"","sources":["../../src/polyfills/secure-store.web.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,MAAM,MAAM,6BAA6B,GAAG,MAAM,CAAA;AAElD,eAAO,MACN,kBAAkB,UAClB,mCAAmC,UACnC,MAAM,UACN,kCAAkC,UAClC,uBAAuB,UACvB,aAAa,UACb,8BAA8B,QACT,CAAA;AAEtB,MAAM,MAAM,kBAAkB,GAAG;IAChC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,kBAAkB,CAAC,EAAE,6BAA6B,CAAA;CAClD,CAAA;AAkBD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAYzD;AAED,wBAAsB,eAAe,CACpC,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,YAAY,CACjC,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,kBAAuB,GAC/B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExB;AAED,wBAAsB,YAAY,CACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAgB,OAAO,CACtB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,kBAAuB,GAC/B,IAAI,CAON;AAED,wBAAgB,OAAO,CACtB,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,kBAAuB,GAC/B,MAAM,GAAG,IAAI,CAEf;AAED,wBAAgB,6BAA6B,IAAI,OAAO,CAEvD"}
|