@weaverse/hydrogen 1.1.17 → 1.1.19

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 CHANGED
@@ -1,9 +1,11 @@
1
- import React, { ForwardRefExoticComponent } from 'react';
2
- import { Params, NavigateFunction } from '@remix-run/react';
3
- import { LanguageCode, CountryCode, CurrencyCode } from '@shopify/hydrogen/storefront-api-types';
4
- import { LoaderArgs, AppLoadContext } from '@shopify/remix-oxygen';
5
1
  import { ElementData, ElementSchema, BasicInput, WeaverseElement, WeaverseItemStore, Weaverse } from '@weaverse/react';
6
2
  export * from '@weaverse/react';
3
+ import { createWithCache, Storefront } from '@shopify/hydrogen';
4
+ import { LoaderArgs, AppLoadContext } from '@shopify/remix-oxygen';
5
+ import { Params, NavigateFunction } from '@remix-run/react';
6
+ import { LanguageCode, CountryCode, CurrencyCode } from '@shopify/hydrogen/storefront-api-types';
7
+ import * as React from 'react';
8
+ import React__default, { ForwardRefExoticComponent } from 'react';
7
9
  import * as _shopify_hydrogen_react_storefront_api_types from '@shopify/hydrogen-react/storefront-api-types';
8
10
 
9
11
  declare let STORE_PAGES: {
@@ -30,24 +32,21 @@ type Locale = {
30
32
  currency: CurrencyCode;
31
33
  };
32
34
  type Localizations = Record<string, Locale>;
33
- type TODO = any;
34
- declare module '@shopify/remix-oxygen' {
35
- interface AppLoadContext {
36
- waitUntil: ExecutionContext['waitUntil'];
37
- session: TODO;
38
- storefront: TODO;
39
- env: TODO;
40
- cart: TODO;
41
- withCache?: TODO;
42
- }
35
+ interface AllCacheOptions {
36
+ mode?: string;
37
+ maxAge?: number;
38
+ staleWhileRevalidate?: number;
39
+ sMaxAge?: number;
40
+ staleIfError?: number;
43
41
  }
44
- type WeaverseLoaderArgs = LoaderArgs & {
42
+ type ComponentLoaderArgs = LoaderArgs & {
45
43
  itemData: HydrogenComponentData;
46
- configs: {
47
- projectId: string;
48
- weaverseHost: string;
49
- };
50
44
  };
45
+ interface RouteLoaderArgs extends LoaderArgs {
46
+ context: AppLoadContext & {
47
+ weaverse: WeaverseClient;
48
+ };
49
+ }
51
50
  interface HydrogenComponentData extends Omit<ElementData, 'childIds' | 'css'> {
52
51
  id: string;
53
52
  type: string;
@@ -78,7 +77,7 @@ interface InspectorGroup {
78
77
  interface HydrogenComponentProps<L = any> extends WeaverseElement {
79
78
  className?: string;
80
79
  loaderData?: L;
81
- children?: React.JSX.Element[];
80
+ children?: React__default.JSX.Element[];
82
81
  }
83
82
  type I18nLocale = Locale & {
84
83
  pathPrefix: string;
@@ -142,11 +141,12 @@ interface HydrogenElement {
142
141
  schema?: HydrogenComponentSchema;
143
142
  loader?: HydrogenComponentLoaderFunction;
144
143
  }
145
- interface WeaverseHydrogenInit extends HydrogenPageConfigs {
144
+ interface WeaverseHydrogenInit extends WeaverseProjectConfigs {
146
145
  data: HydrogenPageData;
147
146
  pageId: string;
148
147
  platformType: 'shopify-hydrogen';
149
148
  internal: Partial<WeaverseInternal>;
149
+ requestInfo: WeaverseLoaderRequestInfo;
150
150
  }
151
151
  interface HydrogenComponentInstance extends Omit<WeaverseItemStore, '_flags' | 'data' | 'Element'> {
152
152
  get _element(): HTMLElement | null;
@@ -154,7 +154,7 @@ interface HydrogenComponentInstance extends Omit<WeaverseItemStore, '_flags' | '
154
154
  get data(): HydrogenComponentData;
155
155
  _store: HydrogenComponentData;
156
156
  }
157
- type HydrogenComponentLoaderFunction = (args: WeaverseLoaderArgs) => Promise<unknown>;
157
+ type HydrogenComponentLoaderFunction = (args: ComponentLoaderArgs) => Promise<unknown>;
158
158
  interface HydrogenComponent<T extends HydrogenComponentProps = any> {
159
159
  default: ForwardRefExoticComponent<T>;
160
160
  schema: HydrogenComponentSchema;
@@ -170,12 +170,11 @@ type PublicEnv = {
170
170
  PUBLIC_STORE_DOMAIN: string;
171
171
  PUBLIC_STOREFRONT_API_TOKEN: string;
172
172
  };
173
- type HydrogenPageConfigs = {
173
+ type WeaverseProjectConfigs = {
174
174
  projectId: string;
175
175
  weaverseHost: string;
176
176
  weaverseVersion?: string;
177
177
  isDesignMode?: boolean;
178
- requestInfo: WeaverseLoaderRequestInfo;
179
178
  publicEnv?: PublicEnv;
180
179
  };
181
180
  type HydrogenPageAssignment = {
@@ -184,6 +183,9 @@ type HydrogenPageAssignment = {
184
183
  handle: string;
185
184
  locale: string;
186
185
  };
186
+ type HydrogenPageConfigs = Omit<WeaverseProjectConfigs, 'publicEnv'> & {
187
+ requestInfo: WeaverseLoaderRequestInfo;
188
+ };
187
189
  interface WeaverseLoaderData {
188
190
  configs: HydrogenPageConfigs;
189
191
  page: HydrogenPageData;
@@ -199,9 +201,7 @@ type HydrogenPageData = {
199
201
  };
200
202
  interface WeaverseHydrogenRootProps {
201
203
  components: HydrogenComponent[];
202
- countries: Localizations;
203
- themeSchema: HydrogenThemeSchema;
204
- errorComponent: React.FC<{
204
+ errorComponent: React__default.FC<{
205
205
  error: {
206
206
  message: string;
207
207
  stack?: string;
@@ -221,8 +221,8 @@ interface HydrogenThemeSchema {
221
221
  inspector: InspectorGroup[];
222
222
  }
223
223
  type PageType = keyof typeof STORE_PAGES;
224
- type WeaverseLoaderConfigs = {
225
- type: PageType;
224
+ type PageLoadParams = {
225
+ type?: PageType;
226
226
  locale?: string;
227
227
  handle?: string;
228
228
  };
@@ -231,7 +231,7 @@ type FetchProjectRequestBody = {
231
231
  url: string;
232
232
  countries: Localizations;
233
233
  i18n?: I18nLocale;
234
- loaderConfigs?: WeaverseLoaderConfigs;
234
+ params?: PageLoadParams;
235
235
  isDesignMode?: boolean;
236
236
  };
237
237
  type FetchProjectPayload = {
@@ -239,31 +239,77 @@ type FetchProjectPayload = {
239
239
  project: HydrogenProjectType;
240
240
  pageAssignment: HydrogenPageAssignment;
241
241
  };
242
+ type WeaverseThemeSettingsStore = {
243
+ updateThemeSettings(newSettings: HydrogenThemeSettings): void;
244
+ subscribe(listener: () => void): () => void;
245
+ getSnapshot(): HydrogenThemeSettings | null;
246
+ getServerSnapshot(): HydrogenThemeSettings | null;
247
+ };
248
+ type HydrogenThemeEnv = {
249
+ WEAVERSE_PROJECT_ID: string;
250
+ WEAVERSE_HOST: string;
251
+ PUBLIC_STORE_DOMAIN: string;
252
+ PUBLIC_STOREFRONT_API_TOKEN: string;
253
+ };
254
+ type WeaverseClientArgs = {
255
+ withCache: ReturnType<typeof createWithCache>;
256
+ configs: WeaverseProjectConfigs;
257
+ storefront: Storefront<I18nLocale>;
258
+ components: HydrogenComponent[];
259
+ countries: Localizations;
260
+ themeSchema: HydrogenThemeSchema;
261
+ };
262
+ type FetchWithCacheOptions = RequestInit & {
263
+ strategy?: AllCacheOptions;
264
+ };
242
265
  declare global {
243
266
  interface Window {
244
267
  __weaverse: WeaverseHydrogen;
245
268
  __weaverses: WeaverseHydrogen[];
269
+ __weaverseThemeSettingsStore: WeaverseThemeSettingsStore;
246
270
  }
247
271
  }
248
272
 
249
- type FetchWithServerCacheParams = {
250
- url: string;
251
- options?: RequestInit | Request;
252
- context: AppLoadContext;
253
- };
254
- /**
255
- * Fetch with server cache requires a storefront.cache instance which is Cloudflare Cache and a waitUntil function, otherwise it will just fetch the url.
256
- */
257
- declare function fetchWithServerCache(params: FetchWithServerCacheParams): Promise<any>;
273
+ declare class WeaverseClient {
274
+ API: string;
275
+ clientVersion: string;
276
+ storefront: Storefront<I18nLocale>;
277
+ components: HydrogenComponent[];
278
+ countries: Localizations;
279
+ themeSchema: HydrogenThemeSchema;
280
+ configs: WeaverseProjectConfigs;
281
+ basePageConfigs: Omit<WeaverseProjectConfigs, 'requestInfo'>;
282
+ basePageRequestBody: Omit<FetchProjectRequestBody, 'url'>;
283
+ withCache: ReturnType<typeof createWithCache>;
284
+ constructor(args: WeaverseClientArgs);
285
+ fetchWithCache: <T>(url: string, options: FetchWithCacheOptions) => Promise<T>;
286
+ loadThemeSettings: (strategy?: AllCacheOptions) => Promise<any>;
287
+ loadPage: (args: LoaderArgs, configs?: PageLoadParams & {
288
+ strategy?: AllCacheOptions;
289
+ }) => Promise<WeaverseLoaderData | null>;
290
+ execComponentLoader: (item: HydrogenComponentData, args: LoaderArgs) => Promise<HydrogenComponentData>;
291
+ }
292
+ declare function createWeaverseClient(args: WeaverseClientArgs): WeaverseClient;
258
293
 
259
- declare function weaverseLoader(args: LoaderArgs, components: HydrogenComponent[], countries: Localizations, loaderConfigs?: WeaverseLoaderConfigs): Promise<WeaverseLoaderData | null>;
294
+ declare function useThemeSettings<T = HydrogenThemeSettings>(): T;
260
295
 
261
296
  declare function getRequestQueries<T = Record<string, string | boolean>>(request: Request): T;
297
+ declare function getWeaverseConfigs(request: Request, env: HydrogenThemeEnv): WeaverseProjectConfigs;
298
+ declare function getWeaverseCsp(request: Request): {
299
+ frameAncestors: string[];
300
+ defaultSrc: string[];
301
+ styleSrc: string[];
302
+ };
262
303
 
263
304
  declare function getSelectedProductOptions(request: Request): _shopify_hydrogen_react_storefront_api_types.SelectedOptionInput[];
305
+ declare function createContentSecurityPolicy(request: Request, directives?: Record<string, string[] | string | boolean>): {
306
+ nonce: string;
307
+ header: string;
308
+ NonceProvider: React.ComponentType<{
309
+ children: React.ReactNode;
310
+ }>;
311
+ };
264
312
 
265
- declare function useThemeSettings<T = HydrogenThemeSettings>(): T;
266
-
267
- declare function WeaverseHydrogenRoot({ errorComponent: ErrorComponent, ...themeConfigs }: WeaverseHydrogenRootProps): React.JSX.Element;
313
+ declare function WeaverseHydrogenRoot({ errorComponent: ErrorComponent, components, }: WeaverseHydrogenRootProps): React__default.JSX.Element;
268
314
 
269
- export { FetchProjectPayload, FetchProjectRequestBody, HydrogenComponent, HydrogenComponentData, HydrogenComponentInstance, HydrogenComponentLoaderFunction, HydrogenComponentPresets, HydrogenComponentProps, HydrogenComponentSchema, HydrogenElement, HydrogenPageAssignment, HydrogenPageConfigs, HydrogenPageData, HydrogenProjectConfig, HydrogenProjectType, HydrogenThemeInfo, HydrogenThemeSchema, HydrogenThemeSettings, HydrogenToolbarAction, I18nLocale, InspectorGroup, Locale, Localizations, PageType, PublicEnv, TODO, WeaverseHydrogen, WeaverseHydrogenInit, WeaverseHydrogenRoot, WeaverseHydrogenRootProps, WeaverseInternal, WeaverseLoaderArgs, WeaverseLoaderConfigs, WeaverseLoaderData, WeaverseLoaderRequestInfo, WeaverseStorefrontData, WeaverseStudioQueries, WeaverseThemeConfigs, fetchWithServerCache, getRequestQueries, getSelectedProductOptions, useThemeSettings, weaverseLoader };
315
+ export { AllCacheOptions, ComponentLoaderArgs, FetchProjectPayload, FetchProjectRequestBody, FetchWithCacheOptions, HydrogenComponent, HydrogenComponentData, HydrogenComponentInstance, HydrogenComponentLoaderFunction, HydrogenComponentPresets, HydrogenComponentProps, HydrogenComponentSchema, HydrogenElement, HydrogenPageAssignment, HydrogenPageConfigs, HydrogenPageData, HydrogenProjectConfig, HydrogenProjectType, HydrogenThemeEnv, HydrogenThemeInfo, HydrogenThemeSchema, HydrogenThemeSettings, HydrogenToolbarAction, I18nLocale, InspectorGroup, Locale, Localizations, PageLoadParams, PageType, PublicEnv, RouteLoaderArgs, WeaverseClient, WeaverseClientArgs, WeaverseHydrogen, WeaverseHydrogenInit, WeaverseHydrogenRoot, WeaverseHydrogenRootProps, WeaverseInternal, WeaverseLoaderData, WeaverseLoaderRequestInfo, WeaverseProjectConfigs, WeaverseStorefrontData, WeaverseStudioQueries, WeaverseThemeConfigs, WeaverseThemeSettingsStore, createContentSecurityPolicy, createWeaverseClient, getRequestQueries, getSelectedProductOptions, getWeaverseConfigs, getWeaverseCsp, useThemeSettings };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,11 @@
1
- import React, { ForwardRefExoticComponent } from 'react';
2
- import { Params, NavigateFunction } from '@remix-run/react';
3
- import { LanguageCode, CountryCode, CurrencyCode } from '@shopify/hydrogen/storefront-api-types';
4
- import { LoaderArgs, AppLoadContext } from '@shopify/remix-oxygen';
5
1
  import { ElementData, ElementSchema, BasicInput, WeaverseElement, WeaverseItemStore, Weaverse } from '@weaverse/react';
6
2
  export * from '@weaverse/react';
3
+ import { createWithCache, Storefront } from '@shopify/hydrogen';
4
+ import { LoaderArgs, AppLoadContext } from '@shopify/remix-oxygen';
5
+ import { Params, NavigateFunction } from '@remix-run/react';
6
+ import { LanguageCode, CountryCode, CurrencyCode } from '@shopify/hydrogen/storefront-api-types';
7
+ import * as React from 'react';
8
+ import React__default, { ForwardRefExoticComponent } from 'react';
7
9
  import * as _shopify_hydrogen_react_storefront_api_types from '@shopify/hydrogen-react/storefront-api-types';
8
10
 
9
11
  declare let STORE_PAGES: {
@@ -30,24 +32,21 @@ type Locale = {
30
32
  currency: CurrencyCode;
31
33
  };
32
34
  type Localizations = Record<string, Locale>;
33
- type TODO = any;
34
- declare module '@shopify/remix-oxygen' {
35
- interface AppLoadContext {
36
- waitUntil: ExecutionContext['waitUntil'];
37
- session: TODO;
38
- storefront: TODO;
39
- env: TODO;
40
- cart: TODO;
41
- withCache?: TODO;
42
- }
35
+ interface AllCacheOptions {
36
+ mode?: string;
37
+ maxAge?: number;
38
+ staleWhileRevalidate?: number;
39
+ sMaxAge?: number;
40
+ staleIfError?: number;
43
41
  }
44
- type WeaverseLoaderArgs = LoaderArgs & {
42
+ type ComponentLoaderArgs = LoaderArgs & {
45
43
  itemData: HydrogenComponentData;
46
- configs: {
47
- projectId: string;
48
- weaverseHost: string;
49
- };
50
44
  };
45
+ interface RouteLoaderArgs extends LoaderArgs {
46
+ context: AppLoadContext & {
47
+ weaverse: WeaverseClient;
48
+ };
49
+ }
51
50
  interface HydrogenComponentData extends Omit<ElementData, 'childIds' | 'css'> {
52
51
  id: string;
53
52
  type: string;
@@ -78,7 +77,7 @@ interface InspectorGroup {
78
77
  interface HydrogenComponentProps<L = any> extends WeaverseElement {
79
78
  className?: string;
80
79
  loaderData?: L;
81
- children?: React.JSX.Element[];
80
+ children?: React__default.JSX.Element[];
82
81
  }
83
82
  type I18nLocale = Locale & {
84
83
  pathPrefix: string;
@@ -142,11 +141,12 @@ interface HydrogenElement {
142
141
  schema?: HydrogenComponentSchema;
143
142
  loader?: HydrogenComponentLoaderFunction;
144
143
  }
145
- interface WeaverseHydrogenInit extends HydrogenPageConfigs {
144
+ interface WeaverseHydrogenInit extends WeaverseProjectConfigs {
146
145
  data: HydrogenPageData;
147
146
  pageId: string;
148
147
  platformType: 'shopify-hydrogen';
149
148
  internal: Partial<WeaverseInternal>;
149
+ requestInfo: WeaverseLoaderRequestInfo;
150
150
  }
151
151
  interface HydrogenComponentInstance extends Omit<WeaverseItemStore, '_flags' | 'data' | 'Element'> {
152
152
  get _element(): HTMLElement | null;
@@ -154,7 +154,7 @@ interface HydrogenComponentInstance extends Omit<WeaverseItemStore, '_flags' | '
154
154
  get data(): HydrogenComponentData;
155
155
  _store: HydrogenComponentData;
156
156
  }
157
- type HydrogenComponentLoaderFunction = (args: WeaverseLoaderArgs) => Promise<unknown>;
157
+ type HydrogenComponentLoaderFunction = (args: ComponentLoaderArgs) => Promise<unknown>;
158
158
  interface HydrogenComponent<T extends HydrogenComponentProps = any> {
159
159
  default: ForwardRefExoticComponent<T>;
160
160
  schema: HydrogenComponentSchema;
@@ -170,12 +170,11 @@ type PublicEnv = {
170
170
  PUBLIC_STORE_DOMAIN: string;
171
171
  PUBLIC_STOREFRONT_API_TOKEN: string;
172
172
  };
173
- type HydrogenPageConfigs = {
173
+ type WeaverseProjectConfigs = {
174
174
  projectId: string;
175
175
  weaverseHost: string;
176
176
  weaverseVersion?: string;
177
177
  isDesignMode?: boolean;
178
- requestInfo: WeaverseLoaderRequestInfo;
179
178
  publicEnv?: PublicEnv;
180
179
  };
181
180
  type HydrogenPageAssignment = {
@@ -184,6 +183,9 @@ type HydrogenPageAssignment = {
184
183
  handle: string;
185
184
  locale: string;
186
185
  };
186
+ type HydrogenPageConfigs = Omit<WeaverseProjectConfigs, 'publicEnv'> & {
187
+ requestInfo: WeaverseLoaderRequestInfo;
188
+ };
187
189
  interface WeaverseLoaderData {
188
190
  configs: HydrogenPageConfigs;
189
191
  page: HydrogenPageData;
@@ -199,9 +201,7 @@ type HydrogenPageData = {
199
201
  };
200
202
  interface WeaverseHydrogenRootProps {
201
203
  components: HydrogenComponent[];
202
- countries: Localizations;
203
- themeSchema: HydrogenThemeSchema;
204
- errorComponent: React.FC<{
204
+ errorComponent: React__default.FC<{
205
205
  error: {
206
206
  message: string;
207
207
  stack?: string;
@@ -221,8 +221,8 @@ interface HydrogenThemeSchema {
221
221
  inspector: InspectorGroup[];
222
222
  }
223
223
  type PageType = keyof typeof STORE_PAGES;
224
- type WeaverseLoaderConfigs = {
225
- type: PageType;
224
+ type PageLoadParams = {
225
+ type?: PageType;
226
226
  locale?: string;
227
227
  handle?: string;
228
228
  };
@@ -231,7 +231,7 @@ type FetchProjectRequestBody = {
231
231
  url: string;
232
232
  countries: Localizations;
233
233
  i18n?: I18nLocale;
234
- loaderConfigs?: WeaverseLoaderConfigs;
234
+ params?: PageLoadParams;
235
235
  isDesignMode?: boolean;
236
236
  };
237
237
  type FetchProjectPayload = {
@@ -239,31 +239,77 @@ type FetchProjectPayload = {
239
239
  project: HydrogenProjectType;
240
240
  pageAssignment: HydrogenPageAssignment;
241
241
  };
242
+ type WeaverseThemeSettingsStore = {
243
+ updateThemeSettings(newSettings: HydrogenThemeSettings): void;
244
+ subscribe(listener: () => void): () => void;
245
+ getSnapshot(): HydrogenThemeSettings | null;
246
+ getServerSnapshot(): HydrogenThemeSettings | null;
247
+ };
248
+ type HydrogenThemeEnv = {
249
+ WEAVERSE_PROJECT_ID: string;
250
+ WEAVERSE_HOST: string;
251
+ PUBLIC_STORE_DOMAIN: string;
252
+ PUBLIC_STOREFRONT_API_TOKEN: string;
253
+ };
254
+ type WeaverseClientArgs = {
255
+ withCache: ReturnType<typeof createWithCache>;
256
+ configs: WeaverseProjectConfigs;
257
+ storefront: Storefront<I18nLocale>;
258
+ components: HydrogenComponent[];
259
+ countries: Localizations;
260
+ themeSchema: HydrogenThemeSchema;
261
+ };
262
+ type FetchWithCacheOptions = RequestInit & {
263
+ strategy?: AllCacheOptions;
264
+ };
242
265
  declare global {
243
266
  interface Window {
244
267
  __weaverse: WeaverseHydrogen;
245
268
  __weaverses: WeaverseHydrogen[];
269
+ __weaverseThemeSettingsStore: WeaverseThemeSettingsStore;
246
270
  }
247
271
  }
248
272
 
249
- type FetchWithServerCacheParams = {
250
- url: string;
251
- options?: RequestInit | Request;
252
- context: AppLoadContext;
253
- };
254
- /**
255
- * Fetch with server cache requires a storefront.cache instance which is Cloudflare Cache and a waitUntil function, otherwise it will just fetch the url.
256
- */
257
- declare function fetchWithServerCache(params: FetchWithServerCacheParams): Promise<any>;
273
+ declare class WeaverseClient {
274
+ API: string;
275
+ clientVersion: string;
276
+ storefront: Storefront<I18nLocale>;
277
+ components: HydrogenComponent[];
278
+ countries: Localizations;
279
+ themeSchema: HydrogenThemeSchema;
280
+ configs: WeaverseProjectConfigs;
281
+ basePageConfigs: Omit<WeaverseProjectConfigs, 'requestInfo'>;
282
+ basePageRequestBody: Omit<FetchProjectRequestBody, 'url'>;
283
+ withCache: ReturnType<typeof createWithCache>;
284
+ constructor(args: WeaverseClientArgs);
285
+ fetchWithCache: <T>(url: string, options: FetchWithCacheOptions) => Promise<T>;
286
+ loadThemeSettings: (strategy?: AllCacheOptions) => Promise<any>;
287
+ loadPage: (args: LoaderArgs, configs?: PageLoadParams & {
288
+ strategy?: AllCacheOptions;
289
+ }) => Promise<WeaverseLoaderData | null>;
290
+ execComponentLoader: (item: HydrogenComponentData, args: LoaderArgs) => Promise<HydrogenComponentData>;
291
+ }
292
+ declare function createWeaverseClient(args: WeaverseClientArgs): WeaverseClient;
258
293
 
259
- declare function weaverseLoader(args: LoaderArgs, components: HydrogenComponent[], countries: Localizations, loaderConfigs?: WeaverseLoaderConfigs): Promise<WeaverseLoaderData | null>;
294
+ declare function useThemeSettings<T = HydrogenThemeSettings>(): T;
260
295
 
261
296
  declare function getRequestQueries<T = Record<string, string | boolean>>(request: Request): T;
297
+ declare function getWeaverseConfigs(request: Request, env: HydrogenThemeEnv): WeaverseProjectConfigs;
298
+ declare function getWeaverseCsp(request: Request): {
299
+ frameAncestors: string[];
300
+ defaultSrc: string[];
301
+ styleSrc: string[];
302
+ };
262
303
 
263
304
  declare function getSelectedProductOptions(request: Request): _shopify_hydrogen_react_storefront_api_types.SelectedOptionInput[];
305
+ declare function createContentSecurityPolicy(request: Request, directives?: Record<string, string[] | string | boolean>): {
306
+ nonce: string;
307
+ header: string;
308
+ NonceProvider: React.ComponentType<{
309
+ children: React.ReactNode;
310
+ }>;
311
+ };
264
312
 
265
- declare function useThemeSettings<T = HydrogenThemeSettings>(): T;
266
-
267
- declare function WeaverseHydrogenRoot({ errorComponent: ErrorComponent, ...themeConfigs }: WeaverseHydrogenRootProps): React.JSX.Element;
313
+ declare function WeaverseHydrogenRoot({ errorComponent: ErrorComponent, components, }: WeaverseHydrogenRootProps): React__default.JSX.Element;
268
314
 
269
- export { FetchProjectPayload, FetchProjectRequestBody, HydrogenComponent, HydrogenComponentData, HydrogenComponentInstance, HydrogenComponentLoaderFunction, HydrogenComponentPresets, HydrogenComponentProps, HydrogenComponentSchema, HydrogenElement, HydrogenPageAssignment, HydrogenPageConfigs, HydrogenPageData, HydrogenProjectConfig, HydrogenProjectType, HydrogenThemeInfo, HydrogenThemeSchema, HydrogenThemeSettings, HydrogenToolbarAction, I18nLocale, InspectorGroup, Locale, Localizations, PageType, PublicEnv, TODO, WeaverseHydrogen, WeaverseHydrogenInit, WeaverseHydrogenRoot, WeaverseHydrogenRootProps, WeaverseInternal, WeaverseLoaderArgs, WeaverseLoaderConfigs, WeaverseLoaderData, WeaverseLoaderRequestInfo, WeaverseStorefrontData, WeaverseStudioQueries, WeaverseThemeConfigs, fetchWithServerCache, getRequestQueries, getSelectedProductOptions, useThemeSettings, weaverseLoader };
315
+ export { AllCacheOptions, ComponentLoaderArgs, FetchProjectPayload, FetchProjectRequestBody, FetchWithCacheOptions, HydrogenComponent, HydrogenComponentData, HydrogenComponentInstance, HydrogenComponentLoaderFunction, HydrogenComponentPresets, HydrogenComponentProps, HydrogenComponentSchema, HydrogenElement, HydrogenPageAssignment, HydrogenPageConfigs, HydrogenPageData, HydrogenProjectConfig, HydrogenProjectType, HydrogenThemeEnv, HydrogenThemeInfo, HydrogenThemeSchema, HydrogenThemeSettings, HydrogenToolbarAction, I18nLocale, InspectorGroup, Locale, Localizations, PageLoadParams, PageType, PublicEnv, RouteLoaderArgs, WeaverseClient, WeaverseClientArgs, WeaverseHydrogen, WeaverseHydrogenInit, WeaverseHydrogenRoot, WeaverseHydrogenRootProps, WeaverseInternal, WeaverseLoaderData, WeaverseLoaderRequestInfo, WeaverseProjectConfigs, WeaverseStorefrontData, WeaverseStudioQueries, WeaverseThemeConfigs, WeaverseThemeSettingsStore, createContentSecurityPolicy, createWeaverseClient, getRequestQueries, getSelectedProductOptions, getWeaverseConfigs, getWeaverseCsp, useThemeSettings };