@weaverse/hydrogen 1.1.7 → 1.1.9

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,8 +1,9 @@
1
1
  import React, { ForwardRefExoticComponent } from 'react';
2
2
  import { LoaderArgs, AppLoadContext } from '@shopify/remix-oxygen';
3
- import { ElementData, ElementSchema, BasicInput, WeaverseElement, Weaverse, WeaverseItemStore } from '@weaverse/react';
3
+ import { ElementData, ElementSchema, BasicInput, WeaverseElement, WeaverseItemStore, Weaverse } from '@weaverse/react';
4
4
  export * from '@weaverse/react';
5
5
  import { LanguageCode, CountryCode, CurrencyCode } from '@shopify/hydrogen/storefront-api-types';
6
+ import { NavigateFunction } from '@remix-run/react';
6
7
  import * as _shopify_hydrogen_react_storefront_api_types from '@shopify/hydrogen-react/storefront-api-types';
7
8
 
8
9
  declare let STORE_PAGES: {
@@ -89,7 +90,8 @@ type WeaverseLoaderRequestInfo = {
89
90
  queries: Record<string, string | boolean>;
90
91
  i18n: I18nLocale;
91
92
  };
92
- interface WeaverseHydrogen extends Omit<Weaverse, 'itemInstances' | 'elementInstances' | 'registerElement' | 'data'> {
93
+ type WeaverseCore = Omit<Weaverse, 'itemInstances' | 'elementInstances' | 'registerElement' | 'data'>;
94
+ interface WeaverseHydrogen extends WeaverseCore {
93
95
  itemInstances: Map<string | number, HydrogenComponentInstance>;
94
96
  elementInstances: Map<string, HydrogenElement>;
95
97
  registerElement(element: HydrogenElement): void;
@@ -122,7 +124,7 @@ type WeaverseInternal = {
122
124
  pageAssignment: HydrogenPageAssignment;
123
125
  project: HydrogenProjectType;
124
126
  navigate: NavigateFunction;
125
- revalidator: TODO;
127
+ revalidate: () => void;
126
128
  };
127
129
  type HydrogenComponentPresets = {
128
130
  type: string;
@@ -133,6 +135,13 @@ interface HydrogenElement {
133
135
  Component: ForwardRefExoticComponent<HydrogenComponentProps>;
134
136
  type: string;
135
137
  schema?: HydrogenComponentSchema;
138
+ loader?: HydrogenComponentLoaderFunction;
139
+ }
140
+ interface WeaverseHydrogenInit extends HydrogenPageConfigs {
141
+ data: HydrogenPageData;
142
+ pageId: string;
143
+ platformType: 'shopify-hydrogen';
144
+ internal: Partial<WeaverseInternal>;
136
145
  }
137
146
  interface HydrogenComponentInstance extends Omit<WeaverseItemStore, '_flags' | 'data' | 'Element'> {
138
147
  get _element(): HTMLElement | null;
@@ -140,18 +149,24 @@ interface HydrogenComponentInstance extends Omit<WeaverseItemStore, '_flags' | '
140
149
  get data(): HydrogenComponentData;
141
150
  _store: HydrogenComponentData;
142
151
  }
152
+ type HydrogenComponentLoaderFunction = (args: WeaverseLoaderArgs) => Promise<unknown>;
143
153
  interface HydrogenComponent<T extends HydrogenComponentProps = any> {
144
154
  default: ForwardRefExoticComponent<T>;
145
155
  schema: HydrogenComponentSchema;
146
- loader?: (args: WeaverseLoaderArgs) => Promise<unknown>;
156
+ loader?: HydrogenComponentLoaderFunction;
147
157
  }
158
+ type WeaverseStudioQueries = {
159
+ weaverseProjectId: string;
160
+ weaverseHost: string;
161
+ weaverseVersion: string;
162
+ isDesignMode: boolean;
163
+ };
148
164
  type HydrogenPageConfigs = {
149
165
  projectId: string;
150
166
  weaverseHost: string;
151
167
  weaverseVersion?: string;
152
168
  isDesignMode?: boolean;
153
169
  requestInfo: WeaverseLoaderRequestInfo;
154
- [key: string]: any;
155
170
  };
156
171
  type HydrogenPageAssignment = {
157
172
  projectId: string;
@@ -172,20 +187,6 @@ type HydrogenPageData = {
172
187
  items: HydrogenComponentData[];
173
188
  [key: string]: any;
174
189
  };
175
- type RelativeRoutingType = 'route' | 'path';
176
- type To = string | Partial<Path>;
177
- type Path = {
178
- pathname: string;
179
- search: string;
180
- hash: string;
181
- };
182
- type NavigateOptions = {
183
- replace?: boolean;
184
- state?: any;
185
- preventScrollReset?: boolean;
186
- relative?: RelativeRoutingType;
187
- };
188
- type NavigateFunction = (to: To, options?: NavigateOptions) => void;
189
190
  interface WeaverseHydrogenRootProps {
190
191
  components: HydrogenComponent[];
191
192
  countries: Localizations;
@@ -250,4 +251,4 @@ declare function useThemeSettings(): (Record<string, any> | ((newSettings: any)
250
251
 
251
252
  declare function WeaverseHydrogenRoot({ errorComponent: ErrorComponent, ...themeConfigs }: WeaverseHydrogenRootProps): React.JSX.Element;
252
253
 
253
- export { FetchProjectRequestBody, HydrogenComponent, HydrogenComponentData, HydrogenComponentInstance, HydrogenComponentPresets, HydrogenComponentProps, HydrogenComponentSchema, HydrogenElement, HydrogenPageAssignment, HydrogenPageConfigs, HydrogenPageData, HydrogenProjectConfig, HydrogenProjectType, HydrogenThemeInfo, HydrogenThemeSchema, HydrogenToolbarAction, I18nLocale, InspectorGroup, Locale, Localizations, NavigateFunction, PageType, TODO, WeaverseHydrogen, WeaverseHydrogenRoot, WeaverseHydrogenRootProps, WeaverseInternal, WeaverseLoaderArgs, WeaverseLoaderConfigs, WeaverseLoaderData, WeaverseLoaderRequestInfo, WeaverseStorefrontData, WeaverseThemeConfigs, fetchWithServerCache, getRequestQueries, getSelectedProductOptions, useThemeSettings, weaverseLoader };
254
+ export { FetchProjectRequestBody, HydrogenComponent, HydrogenComponentData, HydrogenComponentInstance, HydrogenComponentLoaderFunction, HydrogenComponentPresets, HydrogenComponentProps, HydrogenComponentSchema, HydrogenElement, HydrogenPageAssignment, HydrogenPageConfigs, HydrogenPageData, HydrogenProjectConfig, HydrogenProjectType, HydrogenThemeInfo, HydrogenThemeSchema, HydrogenToolbarAction, I18nLocale, InspectorGroup, Locale, Localizations, PageType, TODO, WeaverseHydrogen, WeaverseHydrogenInit, WeaverseHydrogenRoot, WeaverseHydrogenRootProps, WeaverseInternal, WeaverseLoaderArgs, WeaverseLoaderConfigs, WeaverseLoaderData, WeaverseLoaderRequestInfo, WeaverseStorefrontData, WeaverseStudioQueries, WeaverseThemeConfigs, fetchWithServerCache, getRequestQueries, getSelectedProductOptions, useThemeSettings, weaverseLoader };
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import React, { ForwardRefExoticComponent } from 'react';
2
2
  import { LoaderArgs, AppLoadContext } from '@shopify/remix-oxygen';
3
- import { ElementData, ElementSchema, BasicInput, WeaverseElement, Weaverse, WeaverseItemStore } from '@weaverse/react';
3
+ import { ElementData, ElementSchema, BasicInput, WeaverseElement, WeaverseItemStore, Weaverse } from '@weaverse/react';
4
4
  export * from '@weaverse/react';
5
5
  import { LanguageCode, CountryCode, CurrencyCode } from '@shopify/hydrogen/storefront-api-types';
6
+ import { NavigateFunction } from '@remix-run/react';
6
7
  import * as _shopify_hydrogen_react_storefront_api_types from '@shopify/hydrogen-react/storefront-api-types';
7
8
 
8
9
  declare let STORE_PAGES: {
@@ -89,7 +90,8 @@ type WeaverseLoaderRequestInfo = {
89
90
  queries: Record<string, string | boolean>;
90
91
  i18n: I18nLocale;
91
92
  };
92
- interface WeaverseHydrogen extends Omit<Weaverse, 'itemInstances' | 'elementInstances' | 'registerElement' | 'data'> {
93
+ type WeaverseCore = Omit<Weaverse, 'itemInstances' | 'elementInstances' | 'registerElement' | 'data'>;
94
+ interface WeaverseHydrogen extends WeaverseCore {
93
95
  itemInstances: Map<string | number, HydrogenComponentInstance>;
94
96
  elementInstances: Map<string, HydrogenElement>;
95
97
  registerElement(element: HydrogenElement): void;
@@ -122,7 +124,7 @@ type WeaverseInternal = {
122
124
  pageAssignment: HydrogenPageAssignment;
123
125
  project: HydrogenProjectType;
124
126
  navigate: NavigateFunction;
125
- revalidator: TODO;
127
+ revalidate: () => void;
126
128
  };
127
129
  type HydrogenComponentPresets = {
128
130
  type: string;
@@ -133,6 +135,13 @@ interface HydrogenElement {
133
135
  Component: ForwardRefExoticComponent<HydrogenComponentProps>;
134
136
  type: string;
135
137
  schema?: HydrogenComponentSchema;
138
+ loader?: HydrogenComponentLoaderFunction;
139
+ }
140
+ interface WeaverseHydrogenInit extends HydrogenPageConfigs {
141
+ data: HydrogenPageData;
142
+ pageId: string;
143
+ platformType: 'shopify-hydrogen';
144
+ internal: Partial<WeaverseInternal>;
136
145
  }
137
146
  interface HydrogenComponentInstance extends Omit<WeaverseItemStore, '_flags' | 'data' | 'Element'> {
138
147
  get _element(): HTMLElement | null;
@@ -140,18 +149,24 @@ interface HydrogenComponentInstance extends Omit<WeaverseItemStore, '_flags' | '
140
149
  get data(): HydrogenComponentData;
141
150
  _store: HydrogenComponentData;
142
151
  }
152
+ type HydrogenComponentLoaderFunction = (args: WeaverseLoaderArgs) => Promise<unknown>;
143
153
  interface HydrogenComponent<T extends HydrogenComponentProps = any> {
144
154
  default: ForwardRefExoticComponent<T>;
145
155
  schema: HydrogenComponentSchema;
146
- loader?: (args: WeaverseLoaderArgs) => Promise<unknown>;
156
+ loader?: HydrogenComponentLoaderFunction;
147
157
  }
158
+ type WeaverseStudioQueries = {
159
+ weaverseProjectId: string;
160
+ weaverseHost: string;
161
+ weaverseVersion: string;
162
+ isDesignMode: boolean;
163
+ };
148
164
  type HydrogenPageConfigs = {
149
165
  projectId: string;
150
166
  weaverseHost: string;
151
167
  weaverseVersion?: string;
152
168
  isDesignMode?: boolean;
153
169
  requestInfo: WeaverseLoaderRequestInfo;
154
- [key: string]: any;
155
170
  };
156
171
  type HydrogenPageAssignment = {
157
172
  projectId: string;
@@ -172,20 +187,6 @@ type HydrogenPageData = {
172
187
  items: HydrogenComponentData[];
173
188
  [key: string]: any;
174
189
  };
175
- type RelativeRoutingType = 'route' | 'path';
176
- type To = string | Partial<Path>;
177
- type Path = {
178
- pathname: string;
179
- search: string;
180
- hash: string;
181
- };
182
- type NavigateOptions = {
183
- replace?: boolean;
184
- state?: any;
185
- preventScrollReset?: boolean;
186
- relative?: RelativeRoutingType;
187
- };
188
- type NavigateFunction = (to: To, options?: NavigateOptions) => void;
189
190
  interface WeaverseHydrogenRootProps {
190
191
  components: HydrogenComponent[];
191
192
  countries: Localizations;
@@ -250,4 +251,4 @@ declare function useThemeSettings(): (Record<string, any> | ((newSettings: any)
250
251
 
251
252
  declare function WeaverseHydrogenRoot({ errorComponent: ErrorComponent, ...themeConfigs }: WeaverseHydrogenRootProps): React.JSX.Element;
252
253
 
253
- export { FetchProjectRequestBody, HydrogenComponent, HydrogenComponentData, HydrogenComponentInstance, HydrogenComponentPresets, HydrogenComponentProps, HydrogenComponentSchema, HydrogenElement, HydrogenPageAssignment, HydrogenPageConfigs, HydrogenPageData, HydrogenProjectConfig, HydrogenProjectType, HydrogenThemeInfo, HydrogenThemeSchema, HydrogenToolbarAction, I18nLocale, InspectorGroup, Locale, Localizations, NavigateFunction, PageType, TODO, WeaverseHydrogen, WeaverseHydrogenRoot, WeaverseHydrogenRootProps, WeaverseInternal, WeaverseLoaderArgs, WeaverseLoaderConfigs, WeaverseLoaderData, WeaverseLoaderRequestInfo, WeaverseStorefrontData, WeaverseThemeConfigs, fetchWithServerCache, getRequestQueries, getSelectedProductOptions, useThemeSettings, weaverseLoader };
254
+ export { FetchProjectRequestBody, HydrogenComponent, HydrogenComponentData, HydrogenComponentInstance, HydrogenComponentLoaderFunction, HydrogenComponentPresets, HydrogenComponentProps, HydrogenComponentSchema, HydrogenElement, HydrogenPageAssignment, HydrogenPageConfigs, HydrogenPageData, HydrogenProjectConfig, HydrogenProjectType, HydrogenThemeInfo, HydrogenThemeSchema, HydrogenToolbarAction, I18nLocale, InspectorGroup, Locale, Localizations, PageType, TODO, WeaverseHydrogen, WeaverseHydrogenInit, WeaverseHydrogenRoot, WeaverseHydrogenRootProps, WeaverseInternal, WeaverseLoaderArgs, WeaverseLoaderConfigs, WeaverseLoaderData, WeaverseLoaderRequestInfo, WeaverseStorefrontData, WeaverseStudioQueries, WeaverseThemeConfigs, fetchWithServerCache, getRequestQueries, getSelectedProductOptions, useThemeSettings, weaverseLoader };
package/dist/index.js CHANGED
@@ -79,7 +79,8 @@ function createWeaverseInstance(weaverseData, components) {
79
79
  weaverse.registerElement({
80
80
  type: comp?.schema?.type,
81
81
  Component: comp?.default,
82
- schema: comp?.schema
82
+ schema: comp?.schema,
83
+ loader: comp?.loader
83
84
  });
84
85
  });
85
86
  return weaverse;
@@ -91,7 +92,7 @@ var import_react3 = require("@weaverse/react");
91
92
  var import_react4 = require("react");
92
93
  function useStudio(weaverse, countries, schema) {
93
94
  let navigate = (0, import_react2.useNavigate)();
94
- let revalidator = (0, import_react2.useRevalidator)();
95
+ let { revalidate } = (0, import_react2.useRevalidator)();
95
96
  let { isDesignMode, weaverseHost, weaverseVersion } = weaverse;
96
97
  let isStudio = import_react3.isIframe && isDesignMode && weaverseHost && weaverseVersion;
97
98
  (0, import_react4.useEffect)(() => {
@@ -99,7 +100,7 @@ function useStudio(weaverse, countries, schema) {
99
100
  weaverse.internal = {
100
101
  ...weaverse.internal,
101
102
  navigate,
102
- revalidator,
103
+ revalidate,
103
104
  themeConfigs: { schema, countries }
104
105
  };
105
106
  window.__weaverse = weaverse;
@@ -111,7 +112,7 @@ function useStudio(weaverse, countries, schema) {
111
112
  );
112
113
  }
113
114
  }
114
- }, [weaverse, revalidator]);
115
+ }, [weaverse]);
115
116
  }
116
117
 
117
118
  // src/index.tsx
package/dist/index.mjs CHANGED
@@ -39,7 +39,8 @@ function createWeaverseInstance(weaverseData, components) {
39
39
  weaverse.registerElement({
40
40
  type: comp?.schema?.type,
41
41
  Component: comp?.default,
42
- schema: comp?.schema
42
+ schema: comp?.schema,
43
+ loader: comp?.loader
43
44
  });
44
45
  });
45
46
  return weaverse;
@@ -51,7 +52,7 @@ import { isIframe, loadScript } from "@weaverse/react";
51
52
  import { useEffect } from "react";
52
53
  function useStudio(weaverse, countries, schema) {
53
54
  let navigate = useNavigate();
54
- let revalidator = useRevalidator();
55
+ let { revalidate } = useRevalidator();
55
56
  let { isDesignMode, weaverseHost, weaverseVersion } = weaverse;
56
57
  let isStudio = isIframe && isDesignMode && weaverseHost && weaverseVersion;
57
58
  useEffect(() => {
@@ -59,7 +60,7 @@ function useStudio(weaverse, countries, schema) {
59
60
  weaverse.internal = {
60
61
  ...weaverse.internal,
61
62
  navigate,
62
- revalidator,
63
+ revalidate,
63
64
  themeConfigs: { schema, countries }
64
65
  };
65
66
  window.__weaverse = weaverse;
@@ -71,7 +72,7 @@ function useStudio(weaverse, countries, schema) {
71
72
  );
72
73
  }
73
74
  }
74
- }, [weaverse, revalidator]);
75
+ }, [weaverse]);
75
76
  }
76
77
 
77
78
  // src/index.tsx
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.1.7",
2
+ "version": "1.1.9",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -33,8 +33,8 @@
33
33
  "author": "Weaverse Team",
34
34
  "dependencies": {
35
35
  "@remix-run/react": "1.19.1",
36
- "@shopify/hydrogen": "2023.7.2",
37
- "@weaverse/react": "1.1.7",
36
+ "@shopify/hydrogen": "2023.7.3",
37
+ "@weaverse/react": "1.1.9",
38
38
  "react-error-boundary": "^4.0.11"
39
39
  },
40
40
  "devDependencies": {