@weaverse/hydrogen 4.2.1 → 4.2.5
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/index.d.mts +73 -153
- package/dist/index.d.ts +73 -153
- package/dist/index.js +247 -300
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +250 -297
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.d.mts
CHANGED
|
@@ -1,41 +1,32 @@
|
|
|
1
|
+
import { SelectedOptionInput } from '@shopify/hydrogen/storefront-api-types';
|
|
1
2
|
import { EventEmitter, BasicInput as BasicInput$1, ElementData, WeaverseElement, ElementSchema, WeaverseProjectDataType, WeaverseCoreParams, WeaverseResourcePickerData, Weaverse, PlatformTypeEnum, WeaverseItemStore } from '@weaverse/react';
|
|
2
3
|
export { InputType, PositionInputValue, WeaverseImage, WeaverseVideo, isBrowser, isIframe, useChildInstances, useItemInstance, useParentInstance, useWeaverse } from '@weaverse/react';
|
|
3
4
|
import { NavigateFunction } from '@remix-run/react';
|
|
4
|
-
import { createWithCache, I18nBase, HydrogenContext
|
|
5
|
-
import { CurrencyCode, SelectedOptionInput } from '@shopify/hydrogen/storefront-api-types';
|
|
5
|
+
import { createWithCache, I18nBase, HydrogenContext } from '@shopify/hydrogen';
|
|
6
6
|
import { LoaderFunctionArgs, AppLoadContext } from '@shopify/remix-oxygen';
|
|
7
7
|
import * as react from 'react';
|
|
8
8
|
import { ForwardRefExoticComponent, ComponentType, JSX } from 'react';
|
|
9
9
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
COLLECTION: string;
|
|
16
|
-
COLLECTION_LIST: string;
|
|
17
|
-
PAGE: string;
|
|
18
|
-
BLOG: string;
|
|
19
|
-
ARTICLE: string;
|
|
20
|
-
CUSTOM: string;
|
|
11
|
+
type WeaverseThemeData = {
|
|
12
|
+
theme: HydrogenThemeSettings;
|
|
13
|
+
schema?: HydrogenThemeSchema;
|
|
14
|
+
publicEnv?: PublicEnv;
|
|
21
15
|
};
|
|
22
|
-
|
|
23
16
|
declare class ThemeSettingsStore extends EventEmitter {
|
|
24
17
|
settings: HydrogenThemeSettings;
|
|
25
|
-
countries?: Localizations;
|
|
26
18
|
schema?: HydrogenThemeSchema;
|
|
27
19
|
publicEnv?: PublicEnv;
|
|
28
|
-
constructor(data:
|
|
20
|
+
constructor(data: WeaverseThemeData);
|
|
29
21
|
updateThemeSettings: (newSettings: HydrogenThemeSettings) => void;
|
|
30
22
|
getSnapshot: () => HydrogenThemeSettings;
|
|
31
23
|
getServerSnapshot: () => HydrogenThemeSettings;
|
|
32
24
|
}
|
|
33
|
-
declare function useThemeSettings<T = HydrogenThemeSettings>(): T;
|
|
34
25
|
|
|
35
26
|
declare class WeaverseClient {
|
|
36
27
|
API: string;
|
|
37
28
|
basePageConfigs: Omit<WeaverseProjectConfigs, 'requestInfo'>;
|
|
38
|
-
basePageRequestBody: Omit<FetchProjectRequestBody, 'url'
|
|
29
|
+
basePageRequestBody: Omit<FetchProjectRequestBody, 'url'>;
|
|
39
30
|
configs: WeaverseProjectConfigs;
|
|
40
31
|
withCache: ReturnType<typeof createWithCache>;
|
|
41
32
|
request: WeaverseClientArgs['request'];
|
|
@@ -45,23 +36,22 @@ declare class WeaverseClient {
|
|
|
45
36
|
env: WeaverseClientArgs['env'];
|
|
46
37
|
cache: WeaverseClientArgs['cache'];
|
|
47
38
|
waitUntil: WeaverseClientArgs['waitUntil'];
|
|
48
|
-
countries?: WeaverseClientArgs['countries'];
|
|
49
39
|
constructor(args: WeaverseClientArgs);
|
|
50
40
|
private directFetch;
|
|
51
|
-
fetchWithCache<T extends object>(url: string, options?:
|
|
41
|
+
fetchWithCache<T extends object>(url: string, options?: RequestInit & {
|
|
42
|
+
strategy?: AllCacheOptions;
|
|
43
|
+
}): Promise<T>;
|
|
52
44
|
loadThemeSettings: (strategy?: AllCacheOptions) => Promise<any>;
|
|
53
45
|
generateFallbackPage: (message: string) => HydrogenPageData;
|
|
54
|
-
loadPage: (params?:
|
|
46
|
+
loadPage: (params?: {
|
|
47
|
+
type?: PageType;
|
|
48
|
+
locale?: string;
|
|
49
|
+
handle?: string;
|
|
50
|
+
strategy?: AllCacheOptions;
|
|
51
|
+
}) => Promise<WeaverseLoaderData | null>;
|
|
55
52
|
execComponentLoader: (item: HydrogenComponentData) => Promise<HydrogenComponentData>;
|
|
56
53
|
}
|
|
57
54
|
|
|
58
|
-
type Locale = I18nBase & {
|
|
59
|
-
label: string;
|
|
60
|
-
currency: CurrencyCode;
|
|
61
|
-
};
|
|
62
|
-
type Localizations = {
|
|
63
|
-
[key: string]: Locale;
|
|
64
|
-
};
|
|
65
55
|
interface AllCacheOptions {
|
|
66
56
|
mode?: string;
|
|
67
57
|
maxAge?: number;
|
|
@@ -89,7 +79,6 @@ interface HydrogenComponentData extends ElementData {
|
|
|
89
79
|
updatedAt?: string;
|
|
90
80
|
deletedAt?: string;
|
|
91
81
|
}
|
|
92
|
-
type HydrogenToolbarAction = 'general-settings' | 'global-section' | 'move-up' | 'move-down' | 'toggle-visibility' | 'duplicate' | 'delete';
|
|
93
82
|
interface HydrogenComponentSchema extends ElementSchema {
|
|
94
83
|
childTypes?: string[];
|
|
95
84
|
inspector: InspectorGroup[];
|
|
@@ -99,10 +88,10 @@ interface HydrogenComponentSchema extends ElementSchema {
|
|
|
99
88
|
pages?: ('*' | PageType)[];
|
|
100
89
|
groups?: ('*' | 'header' | 'footer' | 'body')[];
|
|
101
90
|
};
|
|
102
|
-
toolbar?: (HydrogenToolbarAction | HydrogenToolbarAction[])[];
|
|
103
91
|
}
|
|
104
|
-
type BasicInput = BasicInput$1 & {
|
|
92
|
+
type BasicInput = Omit<BasicInput$1, 'condition'> & {
|
|
105
93
|
shouldRevalidate?: boolean;
|
|
94
|
+
condition?: string | ((data: ElementData, weaverse: WeaverseHydrogen) => boolean);
|
|
106
95
|
};
|
|
107
96
|
type HeadingInputType = 'heading';
|
|
108
97
|
type HeadingInput = {
|
|
@@ -119,16 +108,13 @@ interface HydrogenComponentProps<L = any> extends WeaverseElement {
|
|
|
119
108
|
loaderData?: L;
|
|
120
109
|
children?: React.JSX.Element[];
|
|
121
110
|
}
|
|
122
|
-
type I18nLocale = Locale & {
|
|
123
|
-
pathPrefix: string;
|
|
124
|
-
};
|
|
125
111
|
type WeaverseLoaderRequestInfo = {
|
|
126
112
|
search: string;
|
|
127
113
|
pathname: string;
|
|
128
114
|
queries: {
|
|
129
115
|
[key: string]: string | boolean;
|
|
130
116
|
};
|
|
131
|
-
i18n:
|
|
117
|
+
i18n: WeaverseI18n;
|
|
132
118
|
};
|
|
133
119
|
type HydrogenThemeSettings = {
|
|
134
120
|
[key: string]: any;
|
|
@@ -197,11 +183,10 @@ type HydrogenPageAssignment = {
|
|
|
197
183
|
handle: string;
|
|
198
184
|
locale: string;
|
|
199
185
|
};
|
|
200
|
-
type HydrogenPageConfigs = Omit<WeaverseProjectConfigs, 'publicEnv'> & {
|
|
201
|
-
requestInfo: WeaverseLoaderRequestInfo;
|
|
202
|
-
};
|
|
203
186
|
interface WeaverseLoaderData {
|
|
204
|
-
configs:
|
|
187
|
+
configs: Omit<WeaverseProjectConfigs, 'publicEnv'> & {
|
|
188
|
+
requestInfo: WeaverseLoaderRequestInfo;
|
|
189
|
+
};
|
|
205
190
|
page: HydrogenPageData;
|
|
206
191
|
project: HydrogenProjectType;
|
|
207
192
|
pageAssignment: HydrogenPageAssignment;
|
|
@@ -213,45 +198,37 @@ interface HydrogenPageData extends WeaverseProjectDataType {
|
|
|
213
198
|
__cacheId?: string;
|
|
214
199
|
[key: string]: any;
|
|
215
200
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
message: string;
|
|
221
|
-
stack?: string;
|
|
222
|
-
};
|
|
223
|
-
}>;
|
|
224
|
-
}
|
|
225
|
-
type HydrogenThemeInfo = {
|
|
226
|
-
name: string;
|
|
227
|
-
version: string;
|
|
228
|
-
author: string;
|
|
229
|
-
authorProfilePhoto: string;
|
|
230
|
-
documentationUrl: string;
|
|
231
|
-
supportUrl: string;
|
|
201
|
+
type WeaverseI18n = I18nBase & {
|
|
202
|
+
label?: string;
|
|
203
|
+
pathPrefix?: string;
|
|
204
|
+
[key: string]: any;
|
|
232
205
|
};
|
|
233
206
|
interface HydrogenThemeSchema {
|
|
234
|
-
info:
|
|
207
|
+
info: {
|
|
208
|
+
name: string;
|
|
209
|
+
version: string;
|
|
210
|
+
author: string;
|
|
211
|
+
authorProfilePhoto: string;
|
|
212
|
+
documentationUrl: string;
|
|
213
|
+
supportUrl: string;
|
|
214
|
+
};
|
|
235
215
|
inspector: InspectorGroup[];
|
|
236
|
-
i18n?:
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
216
|
+
i18n?: {
|
|
217
|
+
urlStructure: 'url-path' | 'subdomain' | 'top-level-domain';
|
|
218
|
+
defaultLocale: WeaverseI18n;
|
|
219
|
+
shopLocales: WeaverseI18n[];
|
|
220
|
+
};
|
|
240
221
|
}
|
|
241
|
-
type PageType =
|
|
242
|
-
type PageAssignmentParams = {
|
|
243
|
-
type?: PageType;
|
|
244
|
-
locale?: string;
|
|
245
|
-
handle?: string;
|
|
246
|
-
};
|
|
247
|
-
type LoadPageParams = PageAssignmentParams & {
|
|
248
|
-
strategy?: AllCacheOptions;
|
|
249
|
-
};
|
|
222
|
+
type PageType = 'INDEX' | 'PRODUCT' | 'ALL_PRODUCTS' | 'COLLECTION' | 'COLLECTION_LIST' | 'PAGE' | 'BLOG' | 'ARTICLE' | 'CUSTOM';
|
|
250
223
|
type FetchProjectRequestBody = {
|
|
251
224
|
projectId: string;
|
|
252
225
|
url: string;
|
|
253
|
-
i18n?:
|
|
254
|
-
params?:
|
|
226
|
+
i18n?: WeaverseI18n;
|
|
227
|
+
params?: {
|
|
228
|
+
type?: PageType;
|
|
229
|
+
locale?: string;
|
|
230
|
+
handle?: string;
|
|
231
|
+
};
|
|
255
232
|
isDesignMode?: boolean;
|
|
256
233
|
};
|
|
257
234
|
type FetchProjectPayload = {
|
|
@@ -262,23 +239,10 @@ type FetchProjectPayload = {
|
|
|
262
239
|
};
|
|
263
240
|
type WeaverseClientArgs = HydrogenContext & {
|
|
264
241
|
components: HydrogenComponent[];
|
|
265
|
-
countries?: Localizations;
|
|
266
242
|
themeSchema: HydrogenThemeSchema;
|
|
267
243
|
request: Request;
|
|
268
244
|
cache: Cache;
|
|
269
245
|
};
|
|
270
|
-
type FetchWithCacheOptions = RequestInit & {
|
|
271
|
-
strategy?: AllCacheOptions;
|
|
272
|
-
};
|
|
273
|
-
type RootRouteData = {
|
|
274
|
-
weaverseTheme?: {
|
|
275
|
-
theme: HydrogenThemeSettings;
|
|
276
|
-
countries?: Localizations;
|
|
277
|
-
schema?: HydrogenThemeSchema;
|
|
278
|
-
publicEnv?: PublicEnv;
|
|
279
|
-
};
|
|
280
|
-
[key: string]: any;
|
|
281
|
-
};
|
|
282
246
|
type WeaverseProduct = WeaverseResourcePickerData;
|
|
283
247
|
type WeaverseCollection = WeaverseResourcePickerData;
|
|
284
248
|
type WeaverseBlog = WeaverseResourcePickerData;
|
|
@@ -309,60 +273,34 @@ declare module '@shopify/hydrogen' {
|
|
|
309
273
|
}
|
|
310
274
|
}
|
|
311
275
|
|
|
312
|
-
declare
|
|
276
|
+
declare class WeaverseHydrogenItem extends WeaverseItemStore {
|
|
277
|
+
weaverse: WeaverseHydrogen;
|
|
278
|
+
constructor(initialData: HydrogenComponentData, weaverse: WeaverseHydrogen);
|
|
279
|
+
get Element(): HydrogenElement;
|
|
280
|
+
get _schemaData(): Record<string, any>;
|
|
281
|
+
}
|
|
282
|
+
declare class WeaverseHydrogen extends Weaverse {
|
|
283
|
+
platformType: PlatformTypeEnum;
|
|
284
|
+
pageId: string;
|
|
285
|
+
internal: Partial<WeaverseInternal>;
|
|
286
|
+
requestInfo: WeaverseLoaderRequestInfo;
|
|
287
|
+
ItemConstructor: typeof WeaverseHydrogenItem;
|
|
288
|
+
data: HydrogenPageData;
|
|
289
|
+
static itemInstances: Map<string, WeaverseHydrogenItem>;
|
|
290
|
+
static elementRegistry: Map<string, HydrogenElement>;
|
|
291
|
+
constructor(params: WeaverseHydrogenParams);
|
|
292
|
+
}
|
|
293
|
+
declare let WeaverseHydrogenRoot: react.MemoExoticComponent<({ components, errorComponent: ErrorComponent, }: {
|
|
294
|
+
components: HydrogenComponent[];
|
|
295
|
+
errorComponent?: React.FC<{
|
|
296
|
+
error: any;
|
|
297
|
+
}>;
|
|
298
|
+
}) => react_jsx_runtime.JSX.Element>;
|
|
313
299
|
declare function withWeaverse(Component: ComponentType<any>): (props: JSX.IntrinsicAttributes) => react_jsx_runtime.JSX.Element;
|
|
314
|
-
|
|
315
|
-
declare function getRequestQueries<T = Record<string, string | boolean>>(request: Request): T;
|
|
316
|
-
declare function getWeaverseConfigs(request: Request, env: HydrogenEnv): WeaverseProjectConfigs;
|
|
317
|
-
declare function generateDataFromSchema({ inspector, }: HydrogenComponentSchema | HydrogenThemeSchema): Record<string, any>;
|
|
318
|
-
/**
|
|
319
|
-
* Resize an image to the specified dimensions.
|
|
320
|
-
*
|
|
321
|
-
* @param imageURL {string} URL of the image
|
|
322
|
-
* @param size {string} Shopify size attribute
|
|
323
|
-
* @returns {string} URL with size attribute
|
|
324
|
-
*
|
|
325
|
-
* @example
|
|
326
|
-
* resizeImage('https://cdn.shopify.com/image.jpg', '100x')
|
|
327
|
-
* resizeImage('https://cdn.shopify.com/image.jpg', '100x100')
|
|
328
|
-
*/
|
|
329
|
-
declare function resizeShopifyImage(imageURL: string, size: string): string;
|
|
330
|
-
declare function recursivelyAddDataItem(type: string, components: HydrogenComponent<any>[], items: any[], initData?: object): `${string}-${string}-${string}-${string}-${string}`;
|
|
331
|
-
declare function getPreviewData(type: string, components: any, weaverseHost: string): {
|
|
332
|
-
page: {
|
|
333
|
-
id: string;
|
|
334
|
-
name: string;
|
|
335
|
-
rootId: string;
|
|
336
|
-
items: any[];
|
|
337
|
-
};
|
|
338
|
-
project: {
|
|
339
|
-
id: string;
|
|
340
|
-
weaverseShopId: string;
|
|
341
|
-
name: string;
|
|
342
|
-
};
|
|
343
|
-
configs: {
|
|
344
|
-
projectId: string;
|
|
345
|
-
weaverseHost: string;
|
|
346
|
-
isDesignMode: boolean;
|
|
347
|
-
isPreviewMode: boolean;
|
|
348
|
-
requestInfo: {
|
|
349
|
-
i18n: {
|
|
350
|
-
label: string;
|
|
351
|
-
language: string;
|
|
352
|
-
country: string;
|
|
353
|
-
currency: string;
|
|
354
|
-
pathPrefix: string;
|
|
355
|
-
};
|
|
356
|
-
queries: {};
|
|
357
|
-
pathname: string;
|
|
358
|
-
search: string;
|
|
359
|
-
};
|
|
360
|
-
};
|
|
361
|
-
};
|
|
300
|
+
declare function useThemeSettings<T = HydrogenThemeSettings>(): T;
|
|
362
301
|
|
|
363
302
|
declare function getSelectedProductOptions(request: Request): SelectedOptionInput[];
|
|
364
|
-
|
|
365
|
-
declare let IMAGES_PLACEHOLDERS: {
|
|
303
|
+
declare const IMAGES_PLACEHOLDERS: {
|
|
366
304
|
logo_white: string;
|
|
367
305
|
logo_black: string;
|
|
368
306
|
image: string;
|
|
@@ -394,22 +332,4 @@ declare let IMAGES_PLACEHOLDERS: {
|
|
|
394
332
|
product_18: string;
|
|
395
333
|
};
|
|
396
334
|
|
|
397
|
-
|
|
398
|
-
platformType: PlatformTypeEnum;
|
|
399
|
-
pageId: string;
|
|
400
|
-
internal: Partial<WeaverseInternal>;
|
|
401
|
-
requestInfo: WeaverseLoaderRequestInfo;
|
|
402
|
-
ItemConstructor: typeof WeaverseHydrogenItem;
|
|
403
|
-
data: HydrogenPageData;
|
|
404
|
-
static itemInstances: Map<string, WeaverseHydrogenItem>;
|
|
405
|
-
static elementRegistry: Map<string, HydrogenElement>;
|
|
406
|
-
constructor(params: WeaverseHydrogenParams);
|
|
407
|
-
}
|
|
408
|
-
declare class WeaverseHydrogenItem extends WeaverseItemStore {
|
|
409
|
-
weaverse: WeaverseHydrogen;
|
|
410
|
-
constructor(initialData: HydrogenComponentData, weaverse: WeaverseHydrogen);
|
|
411
|
-
get Element(): HydrogenElement;
|
|
412
|
-
get _schemaData(): Record<string, any>;
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
export { type AllCacheOptions, type BasicInput, type ComponentLoaderArgs, type FetchProjectPayload, type FetchProjectRequestBody, type FetchWithCacheOptions, type HeadingInput, type HeadingInputType, type HydrogenComponent, type HydrogenComponentData, type HydrogenComponentPresets, type HydrogenComponentProps, type HydrogenComponentSchema, type HydrogenElement, type HydrogenPageAssignment, type HydrogenPageConfigs, type HydrogenPageData, type HydrogenProjectType, type HydrogenThemeInfo, type HydrogenThemeSchema, type HydrogenThemeSettings, type HydrogenToolbarAction, type I18nLocale, IMAGES_PLACEHOLDERS, type InspectorGroup, type LoadPageParams, type Locale, type Localizations, type PageAssignmentParams, type PageType, type PublicEnv, type RootRouteData, type RouteLoaderArgs, type WeaverseArticle, type WeaverseBlog, WeaverseClient, type WeaverseClientArgs, type WeaverseCollection, WeaverseHydrogen, WeaverseHydrogenItem, type WeaverseHydrogenParams, WeaverseHydrogenRoot, type WeaverseHydrogenRootProps, type WeaverseInternal, type WeaverseLoaderData, type WeaverseLoaderRequestInfo, type WeaverseMetaObject, type WeaverseProduct, type WeaverseProjectConfigs, type WeaverseStudioQueries, generateDataFromSchema, getPreviewData, getRequestQueries, getSelectedProductOptions, getWeaverseConfigs, recursivelyAddDataItem, resizeShopifyImage, useThemeSettings, withWeaverse };
|
|
335
|
+
export { type AllCacheOptions, type BasicInput, type ComponentLoaderArgs, type FetchProjectPayload, type FetchProjectRequestBody, type HeadingInput, type HeadingInputType, type HydrogenComponent, type HydrogenComponentData, type HydrogenComponentPresets, type HydrogenComponentProps, type HydrogenComponentSchema, type HydrogenElement, type HydrogenPageAssignment, type HydrogenPageData, type HydrogenProjectType, type HydrogenThemeSchema, type HydrogenThemeSettings, IMAGES_PLACEHOLDERS, type InspectorGroup, type PageType, type PublicEnv, type RouteLoaderArgs, type WeaverseArticle, type WeaverseBlog, WeaverseClient, type WeaverseClientArgs, type WeaverseCollection, WeaverseHydrogen, WeaverseHydrogenItem, type WeaverseHydrogenParams, WeaverseHydrogenRoot, type WeaverseI18n, type WeaverseInternal, type WeaverseLoaderData, type WeaverseLoaderRequestInfo, type WeaverseMetaObject, type WeaverseProduct, type WeaverseProjectConfigs, type WeaverseStudioQueries, getSelectedProductOptions, useThemeSettings, withWeaverse };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,41 +1,32 @@
|
|
|
1
|
+
import { SelectedOptionInput } from '@shopify/hydrogen/storefront-api-types';
|
|
1
2
|
import { EventEmitter, BasicInput as BasicInput$1, ElementData, WeaverseElement, ElementSchema, WeaverseProjectDataType, WeaverseCoreParams, WeaverseResourcePickerData, Weaverse, PlatformTypeEnum, WeaverseItemStore } from '@weaverse/react';
|
|
2
3
|
export { InputType, PositionInputValue, WeaverseImage, WeaverseVideo, isBrowser, isIframe, useChildInstances, useItemInstance, useParentInstance, useWeaverse } from '@weaverse/react';
|
|
3
4
|
import { NavigateFunction } from '@remix-run/react';
|
|
4
|
-
import { createWithCache, I18nBase, HydrogenContext
|
|
5
|
-
import { CurrencyCode, SelectedOptionInput } from '@shopify/hydrogen/storefront-api-types';
|
|
5
|
+
import { createWithCache, I18nBase, HydrogenContext } from '@shopify/hydrogen';
|
|
6
6
|
import { LoaderFunctionArgs, AppLoadContext } from '@shopify/remix-oxygen';
|
|
7
7
|
import * as react from 'react';
|
|
8
8
|
import { ForwardRefExoticComponent, ComponentType, JSX } from 'react';
|
|
9
9
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
COLLECTION: string;
|
|
16
|
-
COLLECTION_LIST: string;
|
|
17
|
-
PAGE: string;
|
|
18
|
-
BLOG: string;
|
|
19
|
-
ARTICLE: string;
|
|
20
|
-
CUSTOM: string;
|
|
11
|
+
type WeaverseThemeData = {
|
|
12
|
+
theme: HydrogenThemeSettings;
|
|
13
|
+
schema?: HydrogenThemeSchema;
|
|
14
|
+
publicEnv?: PublicEnv;
|
|
21
15
|
};
|
|
22
|
-
|
|
23
16
|
declare class ThemeSettingsStore extends EventEmitter {
|
|
24
17
|
settings: HydrogenThemeSettings;
|
|
25
|
-
countries?: Localizations;
|
|
26
18
|
schema?: HydrogenThemeSchema;
|
|
27
19
|
publicEnv?: PublicEnv;
|
|
28
|
-
constructor(data:
|
|
20
|
+
constructor(data: WeaverseThemeData);
|
|
29
21
|
updateThemeSettings: (newSettings: HydrogenThemeSettings) => void;
|
|
30
22
|
getSnapshot: () => HydrogenThemeSettings;
|
|
31
23
|
getServerSnapshot: () => HydrogenThemeSettings;
|
|
32
24
|
}
|
|
33
|
-
declare function useThemeSettings<T = HydrogenThemeSettings>(): T;
|
|
34
25
|
|
|
35
26
|
declare class WeaverseClient {
|
|
36
27
|
API: string;
|
|
37
28
|
basePageConfigs: Omit<WeaverseProjectConfigs, 'requestInfo'>;
|
|
38
|
-
basePageRequestBody: Omit<FetchProjectRequestBody, 'url'
|
|
29
|
+
basePageRequestBody: Omit<FetchProjectRequestBody, 'url'>;
|
|
39
30
|
configs: WeaverseProjectConfigs;
|
|
40
31
|
withCache: ReturnType<typeof createWithCache>;
|
|
41
32
|
request: WeaverseClientArgs['request'];
|
|
@@ -45,23 +36,22 @@ declare class WeaverseClient {
|
|
|
45
36
|
env: WeaverseClientArgs['env'];
|
|
46
37
|
cache: WeaverseClientArgs['cache'];
|
|
47
38
|
waitUntil: WeaverseClientArgs['waitUntil'];
|
|
48
|
-
countries?: WeaverseClientArgs['countries'];
|
|
49
39
|
constructor(args: WeaverseClientArgs);
|
|
50
40
|
private directFetch;
|
|
51
|
-
fetchWithCache<T extends object>(url: string, options?:
|
|
41
|
+
fetchWithCache<T extends object>(url: string, options?: RequestInit & {
|
|
42
|
+
strategy?: AllCacheOptions;
|
|
43
|
+
}): Promise<T>;
|
|
52
44
|
loadThemeSettings: (strategy?: AllCacheOptions) => Promise<any>;
|
|
53
45
|
generateFallbackPage: (message: string) => HydrogenPageData;
|
|
54
|
-
loadPage: (params?:
|
|
46
|
+
loadPage: (params?: {
|
|
47
|
+
type?: PageType;
|
|
48
|
+
locale?: string;
|
|
49
|
+
handle?: string;
|
|
50
|
+
strategy?: AllCacheOptions;
|
|
51
|
+
}) => Promise<WeaverseLoaderData | null>;
|
|
55
52
|
execComponentLoader: (item: HydrogenComponentData) => Promise<HydrogenComponentData>;
|
|
56
53
|
}
|
|
57
54
|
|
|
58
|
-
type Locale = I18nBase & {
|
|
59
|
-
label: string;
|
|
60
|
-
currency: CurrencyCode;
|
|
61
|
-
};
|
|
62
|
-
type Localizations = {
|
|
63
|
-
[key: string]: Locale;
|
|
64
|
-
};
|
|
65
55
|
interface AllCacheOptions {
|
|
66
56
|
mode?: string;
|
|
67
57
|
maxAge?: number;
|
|
@@ -89,7 +79,6 @@ interface HydrogenComponentData extends ElementData {
|
|
|
89
79
|
updatedAt?: string;
|
|
90
80
|
deletedAt?: string;
|
|
91
81
|
}
|
|
92
|
-
type HydrogenToolbarAction = 'general-settings' | 'global-section' | 'move-up' | 'move-down' | 'toggle-visibility' | 'duplicate' | 'delete';
|
|
93
82
|
interface HydrogenComponentSchema extends ElementSchema {
|
|
94
83
|
childTypes?: string[];
|
|
95
84
|
inspector: InspectorGroup[];
|
|
@@ -99,10 +88,10 @@ interface HydrogenComponentSchema extends ElementSchema {
|
|
|
99
88
|
pages?: ('*' | PageType)[];
|
|
100
89
|
groups?: ('*' | 'header' | 'footer' | 'body')[];
|
|
101
90
|
};
|
|
102
|
-
toolbar?: (HydrogenToolbarAction | HydrogenToolbarAction[])[];
|
|
103
91
|
}
|
|
104
|
-
type BasicInput = BasicInput$1 & {
|
|
92
|
+
type BasicInput = Omit<BasicInput$1, 'condition'> & {
|
|
105
93
|
shouldRevalidate?: boolean;
|
|
94
|
+
condition?: string | ((data: ElementData, weaverse: WeaverseHydrogen) => boolean);
|
|
106
95
|
};
|
|
107
96
|
type HeadingInputType = 'heading';
|
|
108
97
|
type HeadingInput = {
|
|
@@ -119,16 +108,13 @@ interface HydrogenComponentProps<L = any> extends WeaverseElement {
|
|
|
119
108
|
loaderData?: L;
|
|
120
109
|
children?: React.JSX.Element[];
|
|
121
110
|
}
|
|
122
|
-
type I18nLocale = Locale & {
|
|
123
|
-
pathPrefix: string;
|
|
124
|
-
};
|
|
125
111
|
type WeaverseLoaderRequestInfo = {
|
|
126
112
|
search: string;
|
|
127
113
|
pathname: string;
|
|
128
114
|
queries: {
|
|
129
115
|
[key: string]: string | boolean;
|
|
130
116
|
};
|
|
131
|
-
i18n:
|
|
117
|
+
i18n: WeaverseI18n;
|
|
132
118
|
};
|
|
133
119
|
type HydrogenThemeSettings = {
|
|
134
120
|
[key: string]: any;
|
|
@@ -197,11 +183,10 @@ type HydrogenPageAssignment = {
|
|
|
197
183
|
handle: string;
|
|
198
184
|
locale: string;
|
|
199
185
|
};
|
|
200
|
-
type HydrogenPageConfigs = Omit<WeaverseProjectConfigs, 'publicEnv'> & {
|
|
201
|
-
requestInfo: WeaverseLoaderRequestInfo;
|
|
202
|
-
};
|
|
203
186
|
interface WeaverseLoaderData {
|
|
204
|
-
configs:
|
|
187
|
+
configs: Omit<WeaverseProjectConfigs, 'publicEnv'> & {
|
|
188
|
+
requestInfo: WeaverseLoaderRequestInfo;
|
|
189
|
+
};
|
|
205
190
|
page: HydrogenPageData;
|
|
206
191
|
project: HydrogenProjectType;
|
|
207
192
|
pageAssignment: HydrogenPageAssignment;
|
|
@@ -213,45 +198,37 @@ interface HydrogenPageData extends WeaverseProjectDataType {
|
|
|
213
198
|
__cacheId?: string;
|
|
214
199
|
[key: string]: any;
|
|
215
200
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
message: string;
|
|
221
|
-
stack?: string;
|
|
222
|
-
};
|
|
223
|
-
}>;
|
|
224
|
-
}
|
|
225
|
-
type HydrogenThemeInfo = {
|
|
226
|
-
name: string;
|
|
227
|
-
version: string;
|
|
228
|
-
author: string;
|
|
229
|
-
authorProfilePhoto: string;
|
|
230
|
-
documentationUrl: string;
|
|
231
|
-
supportUrl: string;
|
|
201
|
+
type WeaverseI18n = I18nBase & {
|
|
202
|
+
label?: string;
|
|
203
|
+
pathPrefix?: string;
|
|
204
|
+
[key: string]: any;
|
|
232
205
|
};
|
|
233
206
|
interface HydrogenThemeSchema {
|
|
234
|
-
info:
|
|
207
|
+
info: {
|
|
208
|
+
name: string;
|
|
209
|
+
version: string;
|
|
210
|
+
author: string;
|
|
211
|
+
authorProfilePhoto: string;
|
|
212
|
+
documentationUrl: string;
|
|
213
|
+
supportUrl: string;
|
|
214
|
+
};
|
|
235
215
|
inspector: InspectorGroup[];
|
|
236
|
-
i18n?:
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
216
|
+
i18n?: {
|
|
217
|
+
urlStructure: 'url-path' | 'subdomain' | 'top-level-domain';
|
|
218
|
+
defaultLocale: WeaverseI18n;
|
|
219
|
+
shopLocales: WeaverseI18n[];
|
|
220
|
+
};
|
|
240
221
|
}
|
|
241
|
-
type PageType =
|
|
242
|
-
type PageAssignmentParams = {
|
|
243
|
-
type?: PageType;
|
|
244
|
-
locale?: string;
|
|
245
|
-
handle?: string;
|
|
246
|
-
};
|
|
247
|
-
type LoadPageParams = PageAssignmentParams & {
|
|
248
|
-
strategy?: AllCacheOptions;
|
|
249
|
-
};
|
|
222
|
+
type PageType = 'INDEX' | 'PRODUCT' | 'ALL_PRODUCTS' | 'COLLECTION' | 'COLLECTION_LIST' | 'PAGE' | 'BLOG' | 'ARTICLE' | 'CUSTOM';
|
|
250
223
|
type FetchProjectRequestBody = {
|
|
251
224
|
projectId: string;
|
|
252
225
|
url: string;
|
|
253
|
-
i18n?:
|
|
254
|
-
params?:
|
|
226
|
+
i18n?: WeaverseI18n;
|
|
227
|
+
params?: {
|
|
228
|
+
type?: PageType;
|
|
229
|
+
locale?: string;
|
|
230
|
+
handle?: string;
|
|
231
|
+
};
|
|
255
232
|
isDesignMode?: boolean;
|
|
256
233
|
};
|
|
257
234
|
type FetchProjectPayload = {
|
|
@@ -262,23 +239,10 @@ type FetchProjectPayload = {
|
|
|
262
239
|
};
|
|
263
240
|
type WeaverseClientArgs = HydrogenContext & {
|
|
264
241
|
components: HydrogenComponent[];
|
|
265
|
-
countries?: Localizations;
|
|
266
242
|
themeSchema: HydrogenThemeSchema;
|
|
267
243
|
request: Request;
|
|
268
244
|
cache: Cache;
|
|
269
245
|
};
|
|
270
|
-
type FetchWithCacheOptions = RequestInit & {
|
|
271
|
-
strategy?: AllCacheOptions;
|
|
272
|
-
};
|
|
273
|
-
type RootRouteData = {
|
|
274
|
-
weaverseTheme?: {
|
|
275
|
-
theme: HydrogenThemeSettings;
|
|
276
|
-
countries?: Localizations;
|
|
277
|
-
schema?: HydrogenThemeSchema;
|
|
278
|
-
publicEnv?: PublicEnv;
|
|
279
|
-
};
|
|
280
|
-
[key: string]: any;
|
|
281
|
-
};
|
|
282
246
|
type WeaverseProduct = WeaverseResourcePickerData;
|
|
283
247
|
type WeaverseCollection = WeaverseResourcePickerData;
|
|
284
248
|
type WeaverseBlog = WeaverseResourcePickerData;
|
|
@@ -309,60 +273,34 @@ declare module '@shopify/hydrogen' {
|
|
|
309
273
|
}
|
|
310
274
|
}
|
|
311
275
|
|
|
312
|
-
declare
|
|
276
|
+
declare class WeaverseHydrogenItem extends WeaverseItemStore {
|
|
277
|
+
weaverse: WeaverseHydrogen;
|
|
278
|
+
constructor(initialData: HydrogenComponentData, weaverse: WeaverseHydrogen);
|
|
279
|
+
get Element(): HydrogenElement;
|
|
280
|
+
get _schemaData(): Record<string, any>;
|
|
281
|
+
}
|
|
282
|
+
declare class WeaverseHydrogen extends Weaverse {
|
|
283
|
+
platformType: PlatformTypeEnum;
|
|
284
|
+
pageId: string;
|
|
285
|
+
internal: Partial<WeaverseInternal>;
|
|
286
|
+
requestInfo: WeaverseLoaderRequestInfo;
|
|
287
|
+
ItemConstructor: typeof WeaverseHydrogenItem;
|
|
288
|
+
data: HydrogenPageData;
|
|
289
|
+
static itemInstances: Map<string, WeaverseHydrogenItem>;
|
|
290
|
+
static elementRegistry: Map<string, HydrogenElement>;
|
|
291
|
+
constructor(params: WeaverseHydrogenParams);
|
|
292
|
+
}
|
|
293
|
+
declare let WeaverseHydrogenRoot: react.MemoExoticComponent<({ components, errorComponent: ErrorComponent, }: {
|
|
294
|
+
components: HydrogenComponent[];
|
|
295
|
+
errorComponent?: React.FC<{
|
|
296
|
+
error: any;
|
|
297
|
+
}>;
|
|
298
|
+
}) => react_jsx_runtime.JSX.Element>;
|
|
313
299
|
declare function withWeaverse(Component: ComponentType<any>): (props: JSX.IntrinsicAttributes) => react_jsx_runtime.JSX.Element;
|
|
314
|
-
|
|
315
|
-
declare function getRequestQueries<T = Record<string, string | boolean>>(request: Request): T;
|
|
316
|
-
declare function getWeaverseConfigs(request: Request, env: HydrogenEnv): WeaverseProjectConfigs;
|
|
317
|
-
declare function generateDataFromSchema({ inspector, }: HydrogenComponentSchema | HydrogenThemeSchema): Record<string, any>;
|
|
318
|
-
/**
|
|
319
|
-
* Resize an image to the specified dimensions.
|
|
320
|
-
*
|
|
321
|
-
* @param imageURL {string} URL of the image
|
|
322
|
-
* @param size {string} Shopify size attribute
|
|
323
|
-
* @returns {string} URL with size attribute
|
|
324
|
-
*
|
|
325
|
-
* @example
|
|
326
|
-
* resizeImage('https://cdn.shopify.com/image.jpg', '100x')
|
|
327
|
-
* resizeImage('https://cdn.shopify.com/image.jpg', '100x100')
|
|
328
|
-
*/
|
|
329
|
-
declare function resizeShopifyImage(imageURL: string, size: string): string;
|
|
330
|
-
declare function recursivelyAddDataItem(type: string, components: HydrogenComponent<any>[], items: any[], initData?: object): `${string}-${string}-${string}-${string}-${string}`;
|
|
331
|
-
declare function getPreviewData(type: string, components: any, weaverseHost: string): {
|
|
332
|
-
page: {
|
|
333
|
-
id: string;
|
|
334
|
-
name: string;
|
|
335
|
-
rootId: string;
|
|
336
|
-
items: any[];
|
|
337
|
-
};
|
|
338
|
-
project: {
|
|
339
|
-
id: string;
|
|
340
|
-
weaverseShopId: string;
|
|
341
|
-
name: string;
|
|
342
|
-
};
|
|
343
|
-
configs: {
|
|
344
|
-
projectId: string;
|
|
345
|
-
weaverseHost: string;
|
|
346
|
-
isDesignMode: boolean;
|
|
347
|
-
isPreviewMode: boolean;
|
|
348
|
-
requestInfo: {
|
|
349
|
-
i18n: {
|
|
350
|
-
label: string;
|
|
351
|
-
language: string;
|
|
352
|
-
country: string;
|
|
353
|
-
currency: string;
|
|
354
|
-
pathPrefix: string;
|
|
355
|
-
};
|
|
356
|
-
queries: {};
|
|
357
|
-
pathname: string;
|
|
358
|
-
search: string;
|
|
359
|
-
};
|
|
360
|
-
};
|
|
361
|
-
};
|
|
300
|
+
declare function useThemeSettings<T = HydrogenThemeSettings>(): T;
|
|
362
301
|
|
|
363
302
|
declare function getSelectedProductOptions(request: Request): SelectedOptionInput[];
|
|
364
|
-
|
|
365
|
-
declare let IMAGES_PLACEHOLDERS: {
|
|
303
|
+
declare const IMAGES_PLACEHOLDERS: {
|
|
366
304
|
logo_white: string;
|
|
367
305
|
logo_black: string;
|
|
368
306
|
image: string;
|
|
@@ -394,22 +332,4 @@ declare let IMAGES_PLACEHOLDERS: {
|
|
|
394
332
|
product_18: string;
|
|
395
333
|
};
|
|
396
334
|
|
|
397
|
-
|
|
398
|
-
platformType: PlatformTypeEnum;
|
|
399
|
-
pageId: string;
|
|
400
|
-
internal: Partial<WeaverseInternal>;
|
|
401
|
-
requestInfo: WeaverseLoaderRequestInfo;
|
|
402
|
-
ItemConstructor: typeof WeaverseHydrogenItem;
|
|
403
|
-
data: HydrogenPageData;
|
|
404
|
-
static itemInstances: Map<string, WeaverseHydrogenItem>;
|
|
405
|
-
static elementRegistry: Map<string, HydrogenElement>;
|
|
406
|
-
constructor(params: WeaverseHydrogenParams);
|
|
407
|
-
}
|
|
408
|
-
declare class WeaverseHydrogenItem extends WeaverseItemStore {
|
|
409
|
-
weaverse: WeaverseHydrogen;
|
|
410
|
-
constructor(initialData: HydrogenComponentData, weaverse: WeaverseHydrogen);
|
|
411
|
-
get Element(): HydrogenElement;
|
|
412
|
-
get _schemaData(): Record<string, any>;
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
export { type AllCacheOptions, type BasicInput, type ComponentLoaderArgs, type FetchProjectPayload, type FetchProjectRequestBody, type FetchWithCacheOptions, type HeadingInput, type HeadingInputType, type HydrogenComponent, type HydrogenComponentData, type HydrogenComponentPresets, type HydrogenComponentProps, type HydrogenComponentSchema, type HydrogenElement, type HydrogenPageAssignment, type HydrogenPageConfigs, type HydrogenPageData, type HydrogenProjectType, type HydrogenThemeInfo, type HydrogenThemeSchema, type HydrogenThemeSettings, type HydrogenToolbarAction, type I18nLocale, IMAGES_PLACEHOLDERS, type InspectorGroup, type LoadPageParams, type Locale, type Localizations, type PageAssignmentParams, type PageType, type PublicEnv, type RootRouteData, type RouteLoaderArgs, type WeaverseArticle, type WeaverseBlog, WeaverseClient, type WeaverseClientArgs, type WeaverseCollection, WeaverseHydrogen, WeaverseHydrogenItem, type WeaverseHydrogenParams, WeaverseHydrogenRoot, type WeaverseHydrogenRootProps, type WeaverseInternal, type WeaverseLoaderData, type WeaverseLoaderRequestInfo, type WeaverseMetaObject, type WeaverseProduct, type WeaverseProjectConfigs, type WeaverseStudioQueries, generateDataFromSchema, getPreviewData, getRequestQueries, getSelectedProductOptions, getWeaverseConfigs, recursivelyAddDataItem, resizeShopifyImage, useThemeSettings, withWeaverse };
|
|
335
|
+
export { type AllCacheOptions, type BasicInput, type ComponentLoaderArgs, type FetchProjectPayload, type FetchProjectRequestBody, type HeadingInput, type HeadingInputType, type HydrogenComponent, type HydrogenComponentData, type HydrogenComponentPresets, type HydrogenComponentProps, type HydrogenComponentSchema, type HydrogenElement, type HydrogenPageAssignment, type HydrogenPageData, type HydrogenProjectType, type HydrogenThemeSchema, type HydrogenThemeSettings, IMAGES_PLACEHOLDERS, type InspectorGroup, type PageType, type PublicEnv, type RouteLoaderArgs, type WeaverseArticle, type WeaverseBlog, WeaverseClient, type WeaverseClientArgs, type WeaverseCollection, WeaverseHydrogen, WeaverseHydrogenItem, type WeaverseHydrogenParams, WeaverseHydrogenRoot, type WeaverseI18n, type WeaverseInternal, type WeaverseLoaderData, type WeaverseLoaderRequestInfo, type WeaverseMetaObject, type WeaverseProduct, type WeaverseProjectConfigs, type WeaverseStudioQueries, getSelectedProductOptions, useThemeSettings, withWeaverse };
|