@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.mjs CHANGED
@@ -1,10 +1,10 @@
1
- import { WeaverseRoot, Weaverse, loadScript, WeaverseItemStore, isBrowser, EventEmitter } from '@weaverse/react';
1
+ import { createWithCache, generateCacheControlHeader, getSelectedProductOptions as getSelectedProductOptions$1 } from '@shopify/hydrogen';
2
+ import { Weaverse, WeaverseItemStore, loadScript, WeaverseRoot, isBrowser, EventEmitter } from '@weaverse/react';
2
3
  export { isBrowser, isIframe, useChildInstances, useItemInstance, useParentInstance, useWeaverse } from '@weaverse/react';
3
4
  import { useLoaderData, Await, useRevalidator, useNavigation, useLocation, useNavigate, useRouteLoaderData } from '@remix-run/react';
4
- import { memo, forwardRef, createContext, Suspense, useEffect, useSyncExternalStore } from 'react';
5
+ import { forwardRef, memo, Suspense, createContext, useEffect, useSyncExternalStore } from 'react';
5
6
  import { ErrorBoundary } from 'react-error-boundary';
6
7
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
- import { createWithCache, generateCacheControlHeader, getSelectedProductOptions as getSelectedProductOptions$1 } from '@shopify/hydrogen';
8
8
 
9
9
  var __defProp = Object.defineProperty;
10
10
  var __export = (target, all) => {
@@ -12,7 +12,7 @@ var __export = (target, all) => {
12
12
  __defProp(target, name, { get: all[name], enumerable: true });
13
13
  };
14
14
 
15
- // src/utils.ts
15
+ // src/utils/index.ts
16
16
  function getRequestQueries(request) {
17
17
  let url = new URL(request.url);
18
18
  return Array.from(url.searchParams.entries()).reduce(
@@ -72,17 +72,6 @@ function generateDataFromSchema({
72
72
  }
73
73
  return data;
74
74
  }
75
- function resizeShopifyImage(imageURL, size) {
76
- try {
77
- if (!imageURL.includes("cdn.shopify.com") || size === "original") {
78
- return imageURL;
79
- }
80
- let [, path, ext] = imageURL.match(/(.*\/[\w-_.]+)\.(\w{2,4})/);
81
- return `${path}_${size}.${ext}`;
82
- } catch (e) {
83
- return imageURL;
84
- }
85
- }
86
75
  function recursivelyAddDataItem(type, components, items, initData) {
87
76
  const component = components.find((c) => c.schema.type === type);
88
77
  if (!component) {
@@ -114,18 +103,8 @@ function recursivelyAddDataItem(type, components, items, initData) {
114
103
  return id;
115
104
  }
116
105
  function getPreviewData(type, components, weaverseHost) {
117
- const initialData = {
118
- project: {
119
- id: "x",
120
- weaverseShopId: "shopid",
121
- name: "Section Preview"
122
- },
123
- // pageAssignment: {
124
- // projectId: "x",
125
- // type: "CUSTOM",
126
- // locale: "en-us",
127
- // handle: "",
128
- // },
106
+ return {
107
+ project: { id: "x", weaverseShopId: "shop-id", name: "Section Preview" },
129
108
  configs: {
130
109
  projectId: "x",
131
110
  weaverseHost,
@@ -143,238 +122,24 @@ function getPreviewData(type, components, weaverseHost) {
143
122
  pathname: "/",
144
123
  search: ""
145
124
  }
125
+ },
126
+ page: {
127
+ id: "0",
128
+ name: "Preview section",
129
+ rootId: "1",
130
+ items: [
131
+ {
132
+ data: {},
133
+ id: "1",
134
+ type: "main",
135
+ children: [{ id: recursivelyAddDataItem(type, components, []) }]
136
+ }
137
+ ]
146
138
  }
147
139
  };
148
- let items = [];
149
- const id = recursivelyAddDataItem(type, components, items);
150
- const page = {
151
- id: "0",
152
- name: "Preview section",
153
- rootId: "1",
154
- items: [
155
- {
156
- data: {},
157
- id: "1",
158
- type: "main",
159
- children: [
160
- {
161
- id
162
- }
163
- ]
164
- },
165
- ...items
166
- ]
167
- };
168
- const previewData = {
169
- ...initialData,
170
- page
171
- };
172
- return previewData;
173
- }
174
- var ThemeSettingsStore = class extends EventEmitter {
175
- settings = {};
176
- countries;
177
- schema;
178
- publicEnv;
179
- constructor(data) {
180
- super();
181
- let { theme, countries, schema: schema2, publicEnv } = data || {};
182
- this.settings = { ...theme };
183
- this.countries = countries;
184
- this.schema = schema2;
185
- this.publicEnv = publicEnv;
186
- if (isBrowser) {
187
- window.__weaverseThemeSettingsStore = this;
188
- }
189
- }
190
- updateThemeSettings = (newSettings) => {
191
- this.settings = {
192
- ...this.settings,
193
- ...newSettings
194
- };
195
- this.emit(this.settings);
196
- };
197
- getSnapshot = () => {
198
- return this.settings;
199
- };
200
- getServerSnapshot = () => {
201
- return this.settings;
202
- };
203
- };
204
- function useThemeSettingsStore() {
205
- let data = useRouteLoaderData("root");
206
- if (isBrowser && window.__weaverseThemeSettingsStore) {
207
- return window.__weaverseThemeSettingsStore;
208
- }
209
- return new ThemeSettingsStore(data?.weaverseTheme);
210
140
  }
211
- function useThemeSettings() {
212
- let themeSettingsStore = useThemeSettingsStore();
213
- let settings = useSyncExternalStore(
214
- themeSettingsStore.subscribe,
215
- themeSettingsStore.getSnapshot,
216
- themeSettingsStore.getServerSnapshot
217
- );
218
- return settings;
219
- }
220
-
221
- // src/hooks/use-studio.ts
222
- function useStudio(weaverse) {
223
- let { revalidate } = useRevalidator();
224
- let navigation = useNavigation();
225
- let { pathname, search } = useLocation();
226
- let navigate = useNavigate();
227
- let themeSettingsStore = useThemeSettingsStore();
228
- let { isDesignMode, weaverseHost, weaverseVersion, isPreviewMode } = weaverse;
229
- useEffect(() => {
230
- if (navigation.state === "idle") {
231
- if (isPreviewMode) {
232
- let previewSrc = `${weaverseHost}/static/studio/hydrogen/preview.js?v=${weaverseVersion}`;
233
- loadScript(previewSrc).catch(console.error);
234
- } else if (isDesignMode) {
235
- weaverse.internal = {
236
- ...weaverse.internal,
237
- navigate,
238
- revalidate,
239
- themeSettingsStore
240
- };
241
- let studioSrc = `${weaverseHost}/static/studio/hydrogen/index.js?v=${weaverseVersion}`;
242
- loadScript(studioSrc).then(() => {
243
- window.weaverseStudio?.init(weaverse);
244
- }).catch(console.error);
245
- }
246
- }
247
- }, [pathname, search, navigation.state]);
248
- usePixel(weaverse);
249
- }
250
- function usePixel(context) {
251
- let { projectId, pageId, weaverseHost, isDesignMode } = context;
252
- useEffect(() => {
253
- if (!projectId || !pageId || !weaverseHost || isDesignMode) return;
254
- let url = `${weaverseHost}/api/public/px`;
255
- let img = new Image();
256
- img.onload = () => {
257
- };
258
- img.src = `${url}?projectId=${projectId}&pageId=${pageId}`;
259
- }, []);
260
- }
261
-
262
- // src/Effect.tsx
263
- var WeaverseEffect = memo(
264
- ({ context }) => {
265
- useStudio(context);
266
- return null;
267
- }
268
- );
269
141
 
270
- // src/components/main.tsx
271
- var main_exports = {};
272
- __export(main_exports, {
273
- default: () => main_default,
274
- schema: () => schema
275
- });
276
- var Main = forwardRef((props, ref) => {
277
- let { children, dangerouslySetInnerHTML, ...rest } = props;
278
- return /* @__PURE__ */ jsx(
279
- "div",
280
- {
281
- ref,
282
- ...rest,
283
- children,
284
- dangerouslySetInnerHTML: children ? void 0 : dangerouslySetInnerHTML
285
- }
286
- );
287
- });
288
- var main_default = Main;
289
- var schema = {
290
- type: "main",
291
- title: "Main",
292
- inspector: []
293
- };
294
-
295
- // src/components/index.ts
296
- var defaultComponents = [main_exports];
297
-
298
- // src/context.ts
299
- function registerComponents(components) {
300
- for (const comp of components) {
301
- comp?.schema?.type && WeaverseHydrogen.registerElement({
302
- type: comp?.schema.type,
303
- Component: comp.default,
304
- schema: comp.schema,
305
- loader: comp.loader
306
- });
307
- }
308
- }
309
- function createCachedWeaverseInstance(params) {
310
- if (isBrowser) {
311
- window.__weaverses = window.__weaverses || {};
312
- let weaverse = window.__weaverses[params.pageId];
313
- if (!weaverse || weaverse?.requestInfo?.pathname !== params.requestInfo.pathname || weaverse?.requestInfo?.search !== params.requestInfo.search) {
314
- weaverse = new WeaverseHydrogen(params);
315
- window.__weaverses[params.pageId] = weaverse;
316
- }
317
- if (weaverse?.isDesignMode) {
318
- weaverse.requestInfo = params.requestInfo;
319
- window.weaverseStudio?.refreshStudio(params);
320
- }
321
- return weaverse;
322
- }
323
- return new WeaverseHydrogen(params);
324
- }
325
- function createWeaverseInstance(weaverseData, components) {
326
- let { page, configs, project, pageAssignment } = weaverseData || {};
327
- registerComponents(components);
328
- registerComponents(defaultComponents);
329
- return createCachedWeaverseInstance({
330
- ...configs,
331
- data: page,
332
- pageId: page?.id,
333
- internal: { project, pageAssignment }
334
- });
335
- }
336
- var ThemeSettingsProvider = createContext(
337
- null
338
- );
339
- ThemeSettingsProvider.displayName = "WeaverseThemeSettingsProvider";
340
- var WeaverseHydrogenRoot = memo(
341
- ({
342
- errorComponent: ErrorComponent = FallbackError,
343
- components
344
- }) => {
345
- let loaderData = useLoaderData();
346
- let data = loaderData?.weaverseData;
347
- if (data) {
348
- if (data instanceof Promise) {
349
- return /* @__PURE__ */ jsx(ErrorBoundary, { fallbackRender: ErrorComponent, children: /* @__PURE__ */ jsx(Suspense, { children: /* @__PURE__ */ jsx(Await, { resolve: data, children: (resolvedData) => /* @__PURE__ */ jsx(RenderRoot, { data: resolvedData, components }) }) }) });
350
- }
351
- return /* @__PURE__ */ jsx(RenderRoot, { data, components });
352
- }
353
- return /* @__PURE__ */ jsx(
354
- ErrorComponent,
355
- {
356
- error: { message: "No Weaverse data return from route loader!" }
357
- }
358
- );
359
- }
360
- );
361
- function RenderRoot(props) {
362
- let { data, components } = props;
363
- let weaverse = createWeaverseInstance(data, components);
364
- return /* @__PURE__ */ jsxs(Fragment, { children: [
365
- /* @__PURE__ */ jsx(WeaverseRoot, { context: weaverse }),
366
- /* @__PURE__ */ jsx(WeaverseEffect, { context: weaverse })
367
- ] });
368
- }
369
- function withWeaverse(Component) {
370
- return (props) => {
371
- let { settings } = useThemeSettingsStore();
372
- return /* @__PURE__ */ jsx(ThemeSettingsProvider.Provider, { value: settings, children: /* @__PURE__ */ jsx(Component, { ...props }) });
373
- };
374
- }
375
- function FallbackError({ error }) {
376
- return /* @__PURE__ */ jsx("div", { children: error?.message || "An unexpected error occurred" });
377
- }
142
+ // src/weaverse-client.ts
378
143
  var API_PATH = "api/public";
379
144
  var DEFAULT_CACHE_STRATEGY = {
380
145
  maxAge: 5,
@@ -395,13 +160,11 @@ var WeaverseClient = class {
395
160
  env;
396
161
  cache;
397
162
  waitUntil;
398
- countries;
399
163
  constructor(args) {
400
164
  const {
401
165
  env,
402
166
  storefront,
403
167
  components,
404
- countries,
405
168
  cache,
406
169
  waitUntil,
407
170
  themeSchema,
@@ -414,7 +177,6 @@ var WeaverseClient = class {
414
177
  this.env = env;
415
178
  this.cache = cache;
416
179
  this.waitUntil = waitUntil;
417
- this.countries = countries;
418
180
  this.withCache = createWithCache({ cache, waitUntil, request });
419
181
  this.configs = getWeaverseConfigs(request, env);
420
182
  this.basePageConfigs = {
@@ -505,7 +267,6 @@ var WeaverseClient = class {
505
267
  data = {
506
268
  ...data,
507
269
  schema: this.themeSchema,
508
- countries: this.countries || [],
509
270
  publicEnv: this.configs.publicEnv
510
271
  };
511
272
  }
@@ -599,7 +360,6 @@ var WeaverseClient = class {
599
360
  ...basePageConfigs,
600
361
  requestInfo: {
601
362
  i18n: storefront.i18n,
602
- // TODO: @hta218 - migrate to Remix hooks
603
363
  queries: getRequestQueries(request),
604
364
  pathname: new URL(request.url).pathname,
605
365
  search: new URL(request.url).search
@@ -634,14 +394,241 @@ var WeaverseClient = class {
634
394
  return item;
635
395
  };
636
396
  };
397
+
398
+ // src/components/main.tsx
399
+ var main_exports = {};
400
+ __export(main_exports, {
401
+ default: () => main_default,
402
+ schema: () => schema
403
+ });
404
+ var Main = forwardRef((props, ref) => {
405
+ let { children, dangerouslySetInnerHTML, ...rest } = props;
406
+ return /* @__PURE__ */ jsx(
407
+ "div",
408
+ {
409
+ ref,
410
+ ...rest,
411
+ children,
412
+ dangerouslySetInnerHTML: children ? void 0 : dangerouslySetInnerHTML
413
+ }
414
+ );
415
+ });
416
+ var main_default = Main;
417
+ var schema = {
418
+ type: "main",
419
+ title: "Main",
420
+ inspector: []
421
+ };
422
+
423
+ // src/components/index.ts
424
+ var defaultComponents = [main_exports];
425
+ var ThemeSettingsStore = class extends EventEmitter {
426
+ settings = {};
427
+ schema;
428
+ publicEnv;
429
+ constructor(data) {
430
+ super();
431
+ let { theme, schema: schema2, publicEnv } = data || {};
432
+ this.settings = { ...theme };
433
+ this.schema = schema2;
434
+ this.publicEnv = publicEnv;
435
+ if (isBrowser) {
436
+ window.__weaverseThemeSettingsStore = this;
437
+ }
438
+ }
439
+ updateThemeSettings = (newSettings) => {
440
+ this.settings = {
441
+ ...this.settings,
442
+ ...newSettings
443
+ };
444
+ this.emit(this.settings);
445
+ };
446
+ getSnapshot = () => {
447
+ return this.settings;
448
+ };
449
+ getServerSnapshot = () => {
450
+ return this.settings;
451
+ };
452
+ };
453
+ function useThemeSettingsStore() {
454
+ let data = useRouteLoaderData("root");
455
+ if (isBrowser && window.__weaverseThemeSettingsStore) {
456
+ return window.__weaverseThemeSettingsStore;
457
+ }
458
+ return new ThemeSettingsStore(data?.weaverseTheme);
459
+ }
460
+
461
+ // src/utils/use-studio.ts
462
+ function useStudio(weaverse) {
463
+ let { revalidate } = useRevalidator();
464
+ let navigation = useNavigation();
465
+ let { pathname, search } = useLocation();
466
+ let navigate = useNavigate();
467
+ let themeSettingsStore = useThemeSettingsStore();
468
+ let { isDesignMode, weaverseHost, weaverseVersion, isPreviewMode } = weaverse;
469
+ useEffect(() => {
470
+ if (navigation.state === "idle") {
471
+ if (isPreviewMode) {
472
+ let previewSrc = `${weaverseHost}/static/studio/hydrogen/preview.js?v=${weaverseVersion}`;
473
+ loadScript(previewSrc).catch(console.error);
474
+ } else if (isDesignMode) {
475
+ weaverse.internal = {
476
+ ...weaverse.internal,
477
+ navigate,
478
+ revalidate,
479
+ themeSettingsStore
480
+ };
481
+ let studioSrc = `${weaverseHost}/static/studio/hydrogen/index.js?v=${weaverseVersion}`;
482
+ loadScript(studioSrc).then(() => {
483
+ window.weaverseStudio?.init(weaverse);
484
+ }).catch(console.error);
485
+ }
486
+ }
487
+ }, [pathname, search, navigation.state]);
488
+ usePixel(weaverse);
489
+ }
490
+ function usePixel(context) {
491
+ let { projectId, pageId, weaverseHost, isDesignMode } = context;
492
+ useEffect(() => {
493
+ if (!projectId || !pageId || !weaverseHost || isDesignMode) return;
494
+ let url = `${weaverseHost}/api/public/px`;
495
+ let img = new Image();
496
+ img.onload = () => img.remove();
497
+ img.src = `${url}?projectId=${projectId}&pageId=${pageId}`;
498
+ }, []);
499
+ }
500
+ var WeaverseHydrogenItem = class extends WeaverseItemStore {
501
+ constructor(initialData, weaverse) {
502
+ super(initialData, weaverse);
503
+ let { data, ...rest } = initialData;
504
+ Object.assign(this._store, this._schemaData, data, rest);
505
+ }
506
+ get Element() {
507
+ return super.Element;
508
+ }
509
+ get _schemaData() {
510
+ if (this.Element?.schema) {
511
+ let data = {};
512
+ let { inspector } = this.Element.schema;
513
+ if (inspector) {
514
+ for (let group of inspector) {
515
+ for (let input of group.inputs) {
516
+ let { name, defaultValue } = input;
517
+ if (name && defaultValue !== null && defaultValue !== void 0) {
518
+ data[name] = defaultValue;
519
+ }
520
+ }
521
+ }
522
+ }
523
+ return data;
524
+ }
525
+ return {};
526
+ }
527
+ };
528
+ Weaverse.ItemConstructor = WeaverseHydrogenItem;
529
+ var WeaverseHydrogen = class extends Weaverse {
530
+ platformType = "shopify-hydrogen";
531
+ pageId;
532
+ internal;
533
+ requestInfo;
534
+ static itemInstances;
535
+ static elementRegistry;
536
+ constructor(params) {
537
+ let { internal, pageId, requestInfo, ...coreParams } = params;
538
+ super({ ...coreParams });
539
+ this.internal = internal;
540
+ this.pageId = pageId;
541
+ this.requestInfo = requestInfo;
542
+ }
543
+ };
544
+ function createWeaverseInstance(params) {
545
+ if (isBrowser) {
546
+ window.__weaverses = window.__weaverses || {};
547
+ let weaverse = window.__weaverses[params.pageId];
548
+ if (!weaverse || weaverse?.requestInfo?.pathname !== params.requestInfo.pathname || weaverse?.requestInfo?.search !== params.requestInfo.search) {
549
+ weaverse = new WeaverseHydrogen(params);
550
+ window.__weaverses[params.pageId] = weaverse;
551
+ }
552
+ if (weaverse?.isDesignMode) {
553
+ weaverse.requestInfo = params.requestInfo;
554
+ window.weaverseStudio?.refreshStudio(params);
555
+ }
556
+ return weaverse;
557
+ }
558
+ return new WeaverseHydrogen(params);
559
+ }
560
+ var StudioBridge = memo(({ context }) => {
561
+ useStudio(context);
562
+ return null;
563
+ });
564
+ function RenderRoot(props) {
565
+ let { data, components } = props;
566
+ for (let comp of [...components, ...defaultComponents]) {
567
+ comp?.schema?.type && WeaverseHydrogen.registerElement({
568
+ type: comp?.schema.type,
569
+ Component: comp.default,
570
+ schema: comp.schema,
571
+ loader: comp.loader
572
+ });
573
+ }
574
+ let { page, configs, project, pageAssignment } = data || {};
575
+ let weaverse = createWeaverseInstance({
576
+ ...configs,
577
+ data: page,
578
+ pageId: page?.id,
579
+ internal: { project, pageAssignment }
580
+ });
581
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
582
+ /* @__PURE__ */ jsx(WeaverseRoot, { context: weaverse }),
583
+ /* @__PURE__ */ jsx(StudioBridge, { context: weaverse })
584
+ ] });
585
+ }
586
+ var WeaverseHydrogenRoot = memo(
587
+ ({
588
+ components,
589
+ errorComponent: ErrorComponent = ({ error }) => /* @__PURE__ */ jsx("div", { children: error?.message || "An unexpected error occurred" })
590
+ }) => {
591
+ let loaderData = useLoaderData();
592
+ let data = loaderData?.weaverseData;
593
+ if (data) {
594
+ if (data instanceof Promise) {
595
+ return /* @__PURE__ */ jsx(ErrorBoundary, { fallbackRender: ErrorComponent, children: /* @__PURE__ */ jsx(Suspense, { children: /* @__PURE__ */ jsx(Await, { resolve: data, children: (resolvedData) => /* @__PURE__ */ jsx(RenderRoot, { data: resolvedData, components }) }) }) });
596
+ }
597
+ return /* @__PURE__ */ jsx(RenderRoot, { data, components });
598
+ }
599
+ return /* @__PURE__ */ jsx(
600
+ ErrorComponent,
601
+ {
602
+ error: { message: "No Weaverse data return from route loader!" }
603
+ }
604
+ );
605
+ }
606
+ );
607
+ var ThemeSettingsProvider = createContext(null);
608
+ ThemeSettingsProvider.displayName = "WeaverseThemeSettingsProvider";
609
+ function withWeaverse(Component) {
610
+ return (props) => {
611
+ let { settings } = useThemeSettingsStore();
612
+ return /* @__PURE__ */ jsx(ThemeSettingsProvider.Provider, { value: settings, children: /* @__PURE__ */ jsx(Component, { ...props }) });
613
+ };
614
+ }
615
+ function useThemeSettings() {
616
+ let themeSettingsStore = useThemeSettingsStore();
617
+ let settings = useSyncExternalStore(
618
+ themeSettingsStore.subscribe,
619
+ themeSettingsStore.getSnapshot,
620
+ themeSettingsStore.getServerSnapshot
621
+ );
622
+ return settings;
623
+ }
624
+
625
+ // src/index.ts
637
626
  function getSelectedProductOptions(request) {
638
627
  let options = getSelectedProductOptions$1(request);
639
628
  return options.filter(
640
629
  ({ name }) => name !== "isDesignMode" && !name.startsWith("weaverse")
641
630
  );
642
631
  }
643
-
644
- // src/placeholders.ts
645
632
  var IMAGES_PLACEHOLDERS = {
646
633
  logo_white: "https://cdn.shopify.com/s/files/1/0838/0052/3057/files/fpo-logo-w-600x200.svg",
647
634
  logo_black: "https://cdn.shopify.com/s/files/1/0838/0052/3057/files/fpo-logo-k-600x200.svg",
@@ -674,40 +661,6 @@ var IMAGES_PLACEHOLDERS = {
674
661
  product_18: "https://cdn.shopify.com/s/files/1/0838/0052/3057/files/fpo-product-watch-2-1024x1024.svg"
675
662
  };
676
663
 
677
- // src/index.ts
678
- var WeaverseHydrogen = class extends Weaverse {
679
- platformType = "shopify-hydrogen";
680
- pageId;
681
- internal;
682
- requestInfo;
683
- static itemInstances;
684
- static elementRegistry;
685
- constructor(params) {
686
- let { internal, pageId, requestInfo, ...coreParams } = params;
687
- super({ ...coreParams });
688
- this.internal = internal;
689
- this.pageId = pageId;
690
- this.requestInfo = requestInfo;
691
- }
692
- };
693
- var WeaverseHydrogenItem = class extends WeaverseItemStore {
694
- constructor(initialData, weaverse) {
695
- super(initialData, weaverse);
696
- let { data, ...rest } = initialData;
697
- Object.assign(this._store, this._schemaData, data, rest);
698
- }
699
- get Element() {
700
- return super.Element;
701
- }
702
- get _schemaData() {
703
- if (this.Element?.schema) {
704
- return generateDataFromSchema(this.Element.schema);
705
- }
706
- return {};
707
- }
708
- };
709
- Weaverse.ItemConstructor = WeaverseHydrogenItem;
710
-
711
- export { IMAGES_PLACEHOLDERS, WeaverseClient, WeaverseHydrogen, WeaverseHydrogenItem, WeaverseHydrogenRoot, generateDataFromSchema, getPreviewData, getRequestQueries, getSelectedProductOptions, getWeaverseConfigs, recursivelyAddDataItem, resizeShopifyImage, useThemeSettings, withWeaverse };
664
+ export { IMAGES_PLACEHOLDERS, WeaverseClient, WeaverseHydrogen, WeaverseHydrogenItem, WeaverseHydrogenRoot, getSelectedProductOptions, useThemeSettings, withWeaverse };
712
665
  //# sourceMappingURL=index.mjs.map
713
666
  //# sourceMappingURL=index.mjs.map