@weaverse/hydrogen 4.2.2 → 4.2.6

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(
@@ -56,10 +56,9 @@ function getWeaverseConfigs(request, env) {
56
56
  }
57
57
  };
58
58
  }
59
- function generateDataFromSchema({
60
- inspector
61
- }) {
59
+ function generateDataFromSchema(schema2) {
62
60
  let data = {};
61
+ let inspector = schema2?.inspector;
63
62
  if (inspector) {
64
63
  for (let group of inspector) {
65
64
  for (let input of group.inputs) {
@@ -72,36 +71,19 @@ function generateDataFromSchema({
72
71
  }
73
72
  return data;
74
73
  }
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
74
  function recursivelyAddDataItem(type, components, items, initData) {
87
- const component = components.find((c) => c.schema.type === type);
75
+ let component = components.find((c) => c.schema.type === type);
88
76
  if (!component) {
89
77
  return;
90
78
  }
91
- let childIDs = [];
92
- const id = crypto.randomUUID();
93
- const { children, ...data } = component.schema?.presets || {};
79
+ let childIds = [];
80
+ let id = crypto.randomUUID();
81
+ let { children, ...data } = component.schema?.presets || {};
94
82
  if (children) {
95
- for (const child of children) {
96
- const { type: type2, children: children2, ...data2 } = child;
97
- const childID = recursivelyAddDataItem(
98
- child.type,
99
- components,
100
- items,
101
- data2
102
- );
103
- childIDs.push({
104
- id: childID
83
+ for (let c of children) {
84
+ let { type: type2, children: children2, ...data2 } = c;
85
+ childIds.push({
86
+ id: recursivelyAddDataItem(type2, components, items, data2)
105
87
  });
106
88
  }
107
89
  }
@@ -109,23 +91,13 @@ function recursivelyAddDataItem(type, components, items, initData) {
109
91
  data: { ...data, ...initData },
110
92
  id,
111
93
  type,
112
- children: childIDs
94
+ children: childIds
113
95
  });
114
96
  return id;
115
97
  }
116
98
  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
- // },
99
+ return {
100
+ project: { id: "x", weaverseShopId: "shop-id", name: "Section Preview" },
129
101
  configs: {
130
102
  projectId: "x",
131
103
  weaverseHost,
@@ -143,239 +115,24 @@ function getPreviewData(type, components, weaverseHost) {
143
115
  pathname: "/",
144
116
  search: ""
145
117
  }
118
+ },
119
+ page: {
120
+ id: "0",
121
+ name: "Preview section",
122
+ rootId: "1",
123
+ items: [
124
+ {
125
+ data: {},
126
+ id: "1",
127
+ type: "main",
128
+ children: [{ id: recursivelyAddDataItem(type, components, []) }]
129
+ }
130
+ ]
146
131
  }
147
132
  };
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
- }
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
133
  }
220
134
 
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
- img.remove();
258
- };
259
- img.src = `${url}?projectId=${projectId}&pageId=${pageId}`;
260
- }, []);
261
- }
262
-
263
- // src/Effect.tsx
264
- var WeaverseEffect = memo(
265
- ({ context }) => {
266
- useStudio(context);
267
- return null;
268
- }
269
- );
270
-
271
- // src/components/main.tsx
272
- var main_exports = {};
273
- __export(main_exports, {
274
- default: () => main_default,
275
- schema: () => schema
276
- });
277
- var Main = forwardRef((props, ref) => {
278
- let { children, dangerouslySetInnerHTML, ...rest } = props;
279
- return /* @__PURE__ */ jsx(
280
- "div",
281
- {
282
- ref,
283
- ...rest,
284
- children,
285
- dangerouslySetInnerHTML: children ? void 0 : dangerouslySetInnerHTML
286
- }
287
- );
288
- });
289
- var main_default = Main;
290
- var schema = {
291
- type: "main",
292
- title: "Main",
293
- inspector: []
294
- };
295
-
296
- // src/components/index.ts
297
- var defaultComponents = [main_exports];
298
-
299
- // src/context.ts
300
- function registerComponents(components) {
301
- for (const comp of components) {
302
- comp?.schema?.type && WeaverseHydrogen.registerElement({
303
- type: comp?.schema.type,
304
- Component: comp.default,
305
- schema: comp.schema,
306
- loader: comp.loader
307
- });
308
- }
309
- }
310
- function createCachedWeaverseInstance(params) {
311
- if (isBrowser) {
312
- window.__weaverses = window.__weaverses || {};
313
- let weaverse = window.__weaverses[params.pageId];
314
- if (!weaverse || weaverse?.requestInfo?.pathname !== params.requestInfo.pathname || weaverse?.requestInfo?.search !== params.requestInfo.search) {
315
- weaverse = new WeaverseHydrogen(params);
316
- window.__weaverses[params.pageId] = weaverse;
317
- }
318
- if (weaverse?.isDesignMode) {
319
- weaverse.requestInfo = params.requestInfo;
320
- window.weaverseStudio?.refreshStudio(params);
321
- }
322
- return weaverse;
323
- }
324
- return new WeaverseHydrogen(params);
325
- }
326
- function createWeaverseInstance(weaverseData, components) {
327
- let { page, configs, project, pageAssignment } = weaverseData || {};
328
- registerComponents(components);
329
- registerComponents(defaultComponents);
330
- return createCachedWeaverseInstance({
331
- ...configs,
332
- data: page,
333
- pageId: page?.id,
334
- internal: { project, pageAssignment }
335
- });
336
- }
337
- var ThemeSettingsProvider = createContext(
338
- null
339
- );
340
- ThemeSettingsProvider.displayName = "WeaverseThemeSettingsProvider";
341
- var WeaverseHydrogenRoot = memo(
342
- ({
343
- errorComponent: ErrorComponent = FallbackError,
344
- components
345
- }) => {
346
- let loaderData = useLoaderData();
347
- let data = loaderData?.weaverseData;
348
- if (data) {
349
- if (data instanceof Promise) {
350
- return /* @__PURE__ */ jsx(ErrorBoundary, { fallbackRender: ErrorComponent, children: /* @__PURE__ */ jsx(Suspense, { children: /* @__PURE__ */ jsx(Await, { resolve: data, children: (resolvedData) => /* @__PURE__ */ jsx(RenderRoot, { data: resolvedData, components }) }) }) });
351
- }
352
- return /* @__PURE__ */ jsx(RenderRoot, { data, components });
353
- }
354
- return /* @__PURE__ */ jsx(
355
- ErrorComponent,
356
- {
357
- error: { message: "No Weaverse data return from route loader!" }
358
- }
359
- );
360
- }
361
- );
362
- function RenderRoot(props) {
363
- let { data, components } = props;
364
- let weaverse = createWeaverseInstance(data, components);
365
- return /* @__PURE__ */ jsxs(Fragment, { children: [
366
- /* @__PURE__ */ jsx(WeaverseRoot, { context: weaverse }),
367
- /* @__PURE__ */ jsx(WeaverseEffect, { context: weaverse })
368
- ] });
369
- }
370
- function withWeaverse(Component) {
371
- return (props) => {
372
- let { settings } = useThemeSettingsStore();
373
- return /* @__PURE__ */ jsx(ThemeSettingsProvider.Provider, { value: settings, children: /* @__PURE__ */ jsx(Component, { ...props }) });
374
- };
375
- }
376
- function FallbackError({ error }) {
377
- return /* @__PURE__ */ jsx("div", { children: error?.message || "An unexpected error occurred" });
378
- }
135
+ // src/weaverse-client.ts
379
136
  var API_PATH = "api/public";
380
137
  var DEFAULT_CACHE_STRATEGY = {
381
138
  maxAge: 5,
@@ -396,13 +153,11 @@ var WeaverseClient = class {
396
153
  env;
397
154
  cache;
398
155
  waitUntil;
399
- countries;
400
156
  constructor(args) {
401
157
  const {
402
158
  env,
403
159
  storefront,
404
160
  components,
405
- countries,
406
161
  cache,
407
162
  waitUntil,
408
163
  themeSchema,
@@ -415,7 +170,6 @@ var WeaverseClient = class {
415
170
  this.env = env;
416
171
  this.cache = cache;
417
172
  this.waitUntil = waitUntil;
418
- this.countries = countries;
419
173
  this.withCache = createWithCache({ cache, waitUntil, request });
420
174
  this.configs = getWeaverseConfigs(request, env);
421
175
  this.basePageConfigs = {
@@ -471,10 +225,7 @@ var WeaverseClient = class {
471
225
  );
472
226
  }
473
227
  loadThemeSettings = async (strategy) => {
474
- let defaultThemeSettings = {};
475
- if (this.themeSchema) {
476
- defaultThemeSettings = generateDataFromSchema(this.themeSchema);
477
- }
228
+ let defaultThemeSettings = generateDataFromSchema(this.themeSchema);
478
229
  try {
479
230
  let { API, configs } = this;
480
231
  let { weaverseHost, projectId, isDesignMode } = configs;
@@ -496,7 +247,7 @@ var WeaverseClient = class {
496
247
  });
497
248
  }
498
249
  let data = res || {};
499
- if (data?.theme && this.themeSchema?.inspector) {
250
+ if (this.themeSchema?.inspector) {
500
251
  data.theme = {
501
252
  ...defaultThemeSettings,
502
253
  ...data.theme
@@ -506,7 +257,6 @@ var WeaverseClient = class {
506
257
  data = {
507
258
  ...data,
508
259
  schema: this.themeSchema,
509
- countries: this.countries || [],
510
260
  publicEnv: this.configs.publicEnv
511
261
  };
512
262
  }
@@ -600,7 +350,6 @@ var WeaverseClient = class {
600
350
  ...basePageConfigs,
601
351
  requestInfo: {
602
352
  i18n: storefront.i18n,
603
- // TODO: @hta218 - migrate to Remix hooks
604
353
  queries: getRequestQueries(request),
605
354
  pathname: new URL(request.url).pathname,
606
355
  search: new URL(request.url).search
@@ -635,14 +384,224 @@ var WeaverseClient = class {
635
384
  return item;
636
385
  };
637
386
  };
387
+
388
+ // src/components/main.tsx
389
+ var main_exports = {};
390
+ __export(main_exports, {
391
+ default: () => main_default,
392
+ schema: () => schema
393
+ });
394
+ var Main = forwardRef((props, ref) => {
395
+ let { children, dangerouslySetInnerHTML, ...rest } = props;
396
+ return /* @__PURE__ */ jsx(
397
+ "div",
398
+ {
399
+ ref,
400
+ ...rest,
401
+ children,
402
+ dangerouslySetInnerHTML: children ? void 0 : dangerouslySetInnerHTML
403
+ }
404
+ );
405
+ });
406
+ var main_default = Main;
407
+ var schema = {
408
+ type: "main",
409
+ title: "Main",
410
+ inspector: []
411
+ };
412
+
413
+ // src/components/index.ts
414
+ var defaultComponents = [main_exports];
415
+ var ThemeSettingsStore = class extends EventEmitter {
416
+ settings = {};
417
+ schema;
418
+ publicEnv;
419
+ constructor(data) {
420
+ super();
421
+ let { theme, schema: schema2, publicEnv } = data || {};
422
+ this.settings = { ...theme };
423
+ this.schema = schema2;
424
+ this.publicEnv = publicEnv;
425
+ if (isBrowser) {
426
+ window.__weaverseThemeSettingsStore = this;
427
+ }
428
+ }
429
+ updateThemeSettings = (newSettings) => {
430
+ this.settings = {
431
+ ...this.settings,
432
+ ...newSettings
433
+ };
434
+ this.emit(this.settings);
435
+ };
436
+ getSnapshot = () => {
437
+ return this.settings;
438
+ };
439
+ getServerSnapshot = () => {
440
+ return this.settings;
441
+ };
442
+ };
443
+ function useThemeSettingsStore() {
444
+ let data = useRouteLoaderData("root");
445
+ if (isBrowser && window.__weaverseThemeSettingsStore) {
446
+ return window.__weaverseThemeSettingsStore;
447
+ }
448
+ return new ThemeSettingsStore(data?.weaverseTheme);
449
+ }
450
+
451
+ // src/utils/use-studio.ts
452
+ function useStudio(weaverse) {
453
+ let { revalidate } = useRevalidator();
454
+ let navigation = useNavigation();
455
+ let { pathname, search } = useLocation();
456
+ let navigate = useNavigate();
457
+ let themeSettingsStore = useThemeSettingsStore();
458
+ let { isDesignMode, weaverseHost, weaverseVersion, isPreviewMode } = weaverse;
459
+ useEffect(() => {
460
+ if (navigation.state === "idle") {
461
+ if (isPreviewMode) {
462
+ let previewSrc = `${weaverseHost}/static/studio/hydrogen/preview.js?v=${weaverseVersion}`;
463
+ loadScript(previewSrc).catch(console.error);
464
+ } else if (isDesignMode) {
465
+ weaverse.internal = {
466
+ ...weaverse.internal,
467
+ navigate,
468
+ revalidate,
469
+ themeSettingsStore
470
+ };
471
+ let studioSrc = `${weaverseHost}/static/studio/hydrogen/index.js?v=${weaverseVersion}`;
472
+ loadScript(studioSrc).then(() => {
473
+ window.weaverseStudio?.init(weaverse);
474
+ }).catch(console.error);
475
+ }
476
+ }
477
+ }, [pathname, search, navigation.state]);
478
+ usePixel(weaverse);
479
+ }
480
+ function usePixel(context) {
481
+ let { projectId, pageId, weaverseHost, isDesignMode } = context;
482
+ useEffect(() => {
483
+ if (!projectId || !pageId || !weaverseHost || isDesignMode) return;
484
+ let url = `${weaverseHost}/api/public/px`;
485
+ let img = new Image();
486
+ img.onload = () => img.remove();
487
+ img.src = `${url}?projectId=${projectId}&pageId=${pageId}`;
488
+ }, []);
489
+ }
490
+ var WeaverseHydrogenItem = class extends WeaverseItemStore {
491
+ constructor(initialData, weaverse) {
492
+ super(initialData, weaverse);
493
+ let { data, ...rest } = initialData;
494
+ let schemaData = generateDataFromSchema(this.Element.schema);
495
+ Object.assign(this._store, schemaData, data, rest);
496
+ }
497
+ get Element() {
498
+ return super.Element;
499
+ }
500
+ };
501
+ Weaverse.ItemConstructor = WeaverseHydrogenItem;
502
+ var WeaverseHydrogen = class extends Weaverse {
503
+ platformType = "shopify-hydrogen";
504
+ pageId;
505
+ internal;
506
+ requestInfo;
507
+ static itemInstances;
508
+ static elementRegistry;
509
+ constructor(params) {
510
+ let { internal, pageId, requestInfo, ...coreParams } = params;
511
+ super({ ...coreParams });
512
+ this.internal = internal;
513
+ this.pageId = pageId;
514
+ this.requestInfo = requestInfo;
515
+ }
516
+ };
517
+ function createWeaverseInstance(params) {
518
+ if (isBrowser) {
519
+ window.__weaverses = window.__weaverses || {};
520
+ let weaverse = window.__weaverses[params.pageId];
521
+ if (!weaverse || weaverse?.requestInfo?.pathname !== params.requestInfo.pathname || weaverse?.requestInfo?.search !== params.requestInfo.search) {
522
+ weaverse = new WeaverseHydrogen(params);
523
+ window.__weaverses[params.pageId] = weaverse;
524
+ }
525
+ if (weaverse?.isDesignMode) {
526
+ weaverse.requestInfo = params.requestInfo;
527
+ window.weaverseStudio?.refreshStudio(params);
528
+ }
529
+ return weaverse;
530
+ }
531
+ return new WeaverseHydrogen(params);
532
+ }
533
+ var StudioBridge = memo(({ context }) => {
534
+ useStudio(context);
535
+ return null;
536
+ });
537
+ function RenderRoot(props) {
538
+ let { data, components } = props;
539
+ for (let comp of [...components, ...defaultComponents]) {
540
+ comp?.schema?.type && WeaverseHydrogen.registerElement({
541
+ type: comp?.schema.type,
542
+ Component: comp.default,
543
+ schema: comp.schema,
544
+ loader: comp.loader
545
+ });
546
+ }
547
+ let { page, configs, project, pageAssignment } = data || {};
548
+ let weaverse = createWeaverseInstance({
549
+ ...configs,
550
+ data: page,
551
+ pageId: page?.id,
552
+ internal: { project, pageAssignment }
553
+ });
554
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
555
+ /* @__PURE__ */ jsx(WeaverseRoot, { context: weaverse }),
556
+ /* @__PURE__ */ jsx(StudioBridge, { context: weaverse })
557
+ ] });
558
+ }
559
+ var WeaverseHydrogenRoot = memo(
560
+ ({
561
+ components,
562
+ errorComponent: ErrorComponent = ({ error }) => /* @__PURE__ */ jsx("div", { children: error?.message || "An unexpected error occurred" })
563
+ }) => {
564
+ let loaderData = useLoaderData();
565
+ let data = loaderData?.weaverseData;
566
+ if (data) {
567
+ if (data instanceof Promise) {
568
+ return /* @__PURE__ */ jsx(ErrorBoundary, { fallbackRender: ErrorComponent, children: /* @__PURE__ */ jsx(Suspense, { children: /* @__PURE__ */ jsx(Await, { resolve: data, children: (resolvedData) => /* @__PURE__ */ jsx(RenderRoot, { data: resolvedData, components }) }) }) });
569
+ }
570
+ return /* @__PURE__ */ jsx(RenderRoot, { data, components });
571
+ }
572
+ return /* @__PURE__ */ jsx(
573
+ ErrorComponent,
574
+ {
575
+ error: { message: "No Weaverse data return from route loader!" }
576
+ }
577
+ );
578
+ }
579
+ );
580
+ var ThemeSettingsProvider = createContext(null);
581
+ ThemeSettingsProvider.displayName = "WeaverseThemeSettingsProvider";
582
+ function withWeaverse(Component) {
583
+ return (props) => {
584
+ let { settings } = useThemeSettingsStore();
585
+ return /* @__PURE__ */ jsx(ThemeSettingsProvider.Provider, { value: settings, children: /* @__PURE__ */ jsx(Component, { ...props }) });
586
+ };
587
+ }
588
+ function useThemeSettings() {
589
+ let themeSettingsStore = useThemeSettingsStore();
590
+ let settings = useSyncExternalStore(
591
+ themeSettingsStore.subscribe,
592
+ themeSettingsStore.getSnapshot,
593
+ themeSettingsStore.getServerSnapshot
594
+ );
595
+ return settings;
596
+ }
597
+
598
+ // src/index.ts
638
599
  function getSelectedProductOptions(request) {
639
600
  let options = getSelectedProductOptions$1(request);
640
601
  return options.filter(
641
602
  ({ name }) => name !== "isDesignMode" && !name.startsWith("weaverse")
642
603
  );
643
604
  }
644
-
645
- // src/placeholders.ts
646
605
  var IMAGES_PLACEHOLDERS = {
647
606
  logo_white: "https://cdn.shopify.com/s/files/1/0838/0052/3057/files/fpo-logo-w-600x200.svg",
648
607
  logo_black: "https://cdn.shopify.com/s/files/1/0838/0052/3057/files/fpo-logo-k-600x200.svg",
@@ -675,40 +634,6 @@ var IMAGES_PLACEHOLDERS = {
675
634
  product_18: "https://cdn.shopify.com/s/files/1/0838/0052/3057/files/fpo-product-watch-2-1024x1024.svg"
676
635
  };
677
636
 
678
- // src/index.ts
679
- var WeaverseHydrogen = class extends Weaverse {
680
- platformType = "shopify-hydrogen";
681
- pageId;
682
- internal;
683
- requestInfo;
684
- static itemInstances;
685
- static elementRegistry;
686
- constructor(params) {
687
- let { internal, pageId, requestInfo, ...coreParams } = params;
688
- super({ ...coreParams });
689
- this.internal = internal;
690
- this.pageId = pageId;
691
- this.requestInfo = requestInfo;
692
- }
693
- };
694
- var WeaverseHydrogenItem = class extends WeaverseItemStore {
695
- constructor(initialData, weaverse) {
696
- super(initialData, weaverse);
697
- let { data, ...rest } = initialData;
698
- Object.assign(this._store, this._schemaData, data, rest);
699
- }
700
- get Element() {
701
- return super.Element;
702
- }
703
- get _schemaData() {
704
- if (this.Element?.schema) {
705
- return generateDataFromSchema(this.Element.schema);
706
- }
707
- return {};
708
- }
709
- };
710
- Weaverse.ItemConstructor = WeaverseHydrogenItem;
711
-
712
- export { IMAGES_PLACEHOLDERS, WeaverseClient, WeaverseHydrogen, WeaverseHydrogenItem, WeaverseHydrogenRoot, generateDataFromSchema, getPreviewData, getRequestQueries, getSelectedProductOptions, getWeaverseConfigs, recursivelyAddDataItem, resizeShopifyImage, useThemeSettings, withWeaverse };
637
+ export { IMAGES_PLACEHOLDERS, WeaverseClient, WeaverseHydrogen, WeaverseHydrogenItem, WeaverseHydrogenRoot, getSelectedProductOptions, useThemeSettings, withWeaverse };
713
638
  //# sourceMappingURL=index.mjs.map
714
639
  //# sourceMappingURL=index.mjs.map