@makeswift/runtime 0.9.9 → 0.9.11
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/PreviewProvider.es.js +2 -2
- package/dist/ReadOnlyText.es.js +1 -1
- package/dist/ReadOnlyTextV2.cjs.js +3 -1
- package/dist/ReadOnlyTextV2.cjs.js.map +1 -1
- package/dist/ReadOnlyTextV2.es.js +4 -2
- package/dist/ReadOnlyTextV2.es.js.map +1 -1
- package/dist/api.cjs.js +19 -0
- package/dist/api.cjs.js.map +1 -1
- package/dist/api.es.js +19 -0
- package/dist/api.es.js.map +1 -1
- package/dist/controls.cjs.js +2 -0
- package/dist/controls.cjs.js.map +1 -1
- package/dist/controls.es.js +1 -1
- package/dist/index.cjs.js +127 -32
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.cjs10.js +6 -2
- package/dist/index.cjs10.js.map +1 -1
- package/dist/index.cjs5.js +30 -75
- package/dist/index.cjs5.js.map +1 -1
- package/dist/index.cjs9.js +4 -1
- package/dist/index.cjs9.js.map +1 -1
- package/dist/index.es.js +128 -33
- package/dist/index.es.js.map +1 -1
- package/dist/index.es10.js +8 -4
- package/dist/index.es10.js.map +1 -1
- package/dist/index.es5.js +31 -73
- package/dist/index.es5.js.map +1 -1
- package/dist/index.es6.js +1 -1
- package/dist/index.es9.js +5 -2
- package/dist/index.es9.js.map +1 -1
- package/dist/react-page.cjs.js +37 -17
- package/dist/react-page.cjs.js.map +1 -1
- package/dist/react-page.es.js +36 -18
- package/dist/react-page.es.js.map +1 -1
- package/dist/slate.cjs.js +69 -6
- package/dist/slate.cjs.js.map +1 -1
- package/dist/slate.es.js +69 -7
- package/dist/slate.es.js.map +1 -1
- package/dist/types/src/api/graphql/documents/fragments.d.ts +1 -0
- package/dist/types/src/api/graphql/documents/fragments.d.ts.map +1 -1
- package/dist/types/src/api/graphql/documents/queries.d.ts +1 -0
- package/dist/types/src/api/graphql/documents/queries.d.ts.map +1 -1
- package/dist/types/src/api/graphql/generated/fragment-document-nodes.d.ts +1 -0
- package/dist/types/src/api/graphql/generated/fragment-document-nodes.d.ts.map +1 -1
- package/dist/types/src/api/graphql/generated/types.d.ts +17 -0
- package/dist/types/src/api/graphql/generated/types.d.ts.map +1 -1
- package/dist/types/src/api/graphql/types.d.ts +3 -3
- package/dist/types/src/api/graphql/types.d.ts.map +1 -1
- package/dist/types/src/api/react.d.ts +14 -3
- package/dist/types/src/api/react.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Button/Button.d.ts +3 -39
- package/dist/types/src/components/builtin/Button/Button.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +2 -2
- package/dist/types/src/components/builtin/Form/components/Field/components/Input/index.d.ts +1 -1
- package/dist/types/src/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts +0 -1
- package/dist/types/src/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Form/components/Field/components/RadioButton/index.d.ts +2 -2
- package/dist/types/src/components/builtin/Form/components/Field/components/TextArea/index.d.ts +1 -1
- package/dist/types/src/components/builtin/Form/components/Field/index.d.ts +0 -1
- package/dist/types/src/components/builtin/Form/components/Field/index.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Form/components/Spinner/index.d.ts +0 -1
- package/dist/types/src/components/builtin/Form/components/Spinner/index.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Navigation/components/DropDownButton/index.d.ts +1 -1
- package/dist/types/src/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts +0 -1
- package/dist/types/src/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts +1 -1
- package/dist/types/src/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Navigation/components/MobileMenu/index.d.ts +0 -1
- package/dist/types/src/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
- package/dist/types/src/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts +0 -1
- package/dist/types/src/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts.map +1 -1
- package/dist/types/src/components/builtin/SocialLinks/options.d.ts +23 -24
- package/dist/types/src/components/builtin/SocialLinks/options.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Text/ReadOnlyText.d.ts +2 -2
- package/dist/types/src/components/builtin/Text/ReadOnlyText.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Text/components/Element/block.d.ts +1 -2
- package/dist/types/src/components/builtin/Text/components/Element/block.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Text/components/Element/element.d.ts +1 -2
- package/dist/types/src/components/builtin/Text/components/Element/element.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Text/components/Element/inline.d.ts +1 -2
- package/dist/types/src/components/builtin/Text/components/Element/inline.d.ts.map +1 -1
- package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts +1 -2
- package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts.map +1 -1
- package/dist/types/src/components/page/Page.d.ts +0 -1
- package/dist/types/src/components/page/Page.d.ts.map +1 -1
- package/dist/types/src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts +0 -1
- package/dist/types/src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -1
- package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts +0 -1
- package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -1
- package/dist/types/src/components/shared/BackgroundsContainer/index.d.ts +1 -1
- package/dist/types/src/components/shared/GutterContainer/index.d.ts +1 -1
- package/dist/types/src/components/shared/GutterContainer/index.d.ts.map +1 -1
- package/dist/types/src/components/shared/Link/index.d.ts +1 -1
- package/dist/types/src/components/shared/Link/index.d.ts.map +1 -1
- package/dist/types/src/components/shared/grid-item.d.ts +1 -1
- package/dist/types/src/components/shared/grid-item.d.ts.map +1 -1
- package/dist/types/src/controls/rich-text/fixtures/v2-data-types.d.ts +3 -0
- package/dist/types/src/controls/rich-text/fixtures/v2-data-types.d.ts.map +1 -0
- package/dist/types/src/controls/rich-text/translation.d.ts.map +1 -1
- package/dist/types/src/controls/rich-text-v2/index.d.ts +1 -0
- package/dist/types/src/controls/rich-text-v2/index.d.ts.map +1 -1
- package/dist/types/src/controls/rich-text-v2/rich-text-v2.d.ts +15 -11
- package/dist/types/src/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
- package/dist/types/src/controls/rich-text-v2/translation.d.ts +5 -0
- package/dist/types/src/controls/rich-text-v2/translation.d.ts.map +1 -0
- package/dist/types/src/controls/typography.d.ts +2 -2
- package/dist/types/src/controls/typography.d.ts.map +1 -1
- package/dist/types/src/next/api-handler/index.d.ts.map +1 -1
- package/dist/types/src/next/client.d.ts +7 -2
- package/dist/types/src/next/client.d.ts.map +1 -1
- package/dist/types/src/next/document.d.ts +1 -2
- package/dist/types/src/next/document.d.ts.map +1 -1
- package/dist/types/src/next/index.d.ts +1 -1
- package/dist/types/src/next/index.d.ts.map +1 -1
- package/dist/types/src/next/preview-mode.d.ts +1 -2
- package/dist/types/src/next/preview-mode.d.ts.map +1 -1
- package/dist/types/src/prop-controllers/introspection.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/components/render-hook.d.ts +0 -1
- package/dist/types/src/runtimes/react/components/render-hook.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/control.d.ts +0 -1
- package/dist/types/src/runtimes/react/controls/control.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/list.d.ts +0 -1
- package/dist/types/src/runtimes/react/controls/list.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts +2 -2
- package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts +1 -2
- package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts +1 -2
- package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts +2 -2
- package/dist/types/src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts +1 -1
- package/dist/types/src/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/rich-text.d.ts +1 -1
- package/dist/types/src/runtimes/react/controls/rich-text.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/shape.d.ts +0 -1
- package/dist/types/src/runtimes/react/controls/shape.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/slot.d.ts +2 -2
- package/dist/types/src/runtimes/react/controls/slot.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/style-v2.d.ts +0 -1
- package/dist/types/src/runtimes/react/controls/style-v2.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls/typography.d.ts +5 -5
- package/dist/types/src/runtimes/react/controls/typography.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/controls.d.ts +0 -1
- package/dist/types/src/runtimes/react/controls.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/find-dom-node.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/hooks/makeswift-api.d.ts +2 -1
- package/dist/types/src/runtimes/react/hooks/makeswift-api.d.ts.map +1 -1
- package/dist/types/src/runtimes/react/index.d.ts +1 -1
- package/dist/types/src/runtimes/react/index.d.ts.map +1 -1
- package/dist/types/src/slate/TextAlignPlugin/index.d.ts +3 -3
- package/dist/types/src/slate/TextAlignPlugin/index.d.ts.map +1 -1
- package/dist/types/src/slate/TypographyPlugin/getValue.d.ts +1 -1
- package/dist/types/src/slate/TypographyPlugin/getValue.d.ts.map +1 -1
- package/dist/types/src/slate/TypographyPlugin/index.d.ts.map +1 -1
- package/dist/types/src/slate/utils/responsive.d.ts +1 -1
- package/dist/types/src/slate/utils/responsive.d.ts.map +1 -1
- package/dist/types/src/state/makeswift-api-client.d.ts +1 -1
- package/dist/types/src/state/makeswift-api-client.d.ts.map +1 -1
- package/dist/types/src/state/modules/api-resources.d.ts.map +1 -1
- package/dist/types/src/state/modules/react-components.d.ts +2 -2
- package/dist/types/src/state/modules/react-components.d.ts.map +1 -1
- package/dist/types.cjs.js +1 -0
- package/dist/types.cjs.js.map +1 -1
- package/dist/types.cjs2.js +1 -5
- package/dist/types.cjs2.js.map +1 -1
- package/dist/types.es.js +1 -0
- package/dist/types.es.js.map +1 -1
- package/dist/types.es2.js +2 -6
- package/dist/types.es2.js.map +1 -1
- package/dist/typography.cjs.js.map +1 -1
- package/dist/typography.es.js.map +1 -1
- package/package.json +4 -4
package/dist/index.cjs.js
CHANGED
|
@@ -191,7 +191,8 @@ function getInitialState(serializedState = {
|
|
|
191
191
|
Table: [],
|
|
192
192
|
Snippet: [],
|
|
193
193
|
Page: [],
|
|
194
|
-
Site: []
|
|
194
|
+
Site: [],
|
|
195
|
+
LocalizedGlobalElement: []
|
|
195
196
|
}) {
|
|
196
197
|
return new Map(Object.entries(serializedState).map(([apiResourceType, resources]) => [
|
|
197
198
|
apiResourceType,
|
|
@@ -252,7 +253,7 @@ async function fetchJson(url) {
|
|
|
252
253
|
}
|
|
253
254
|
return response.json();
|
|
254
255
|
}
|
|
255
|
-
function fetchAPIResource(resourceType, resourceId) {
|
|
256
|
+
function fetchAPIResource(resourceType, resourceId, locale) {
|
|
256
257
|
return async (dispatch, getState) => {
|
|
257
258
|
const state = getState();
|
|
258
259
|
if (getHasAPIResource(state, resourceType, resourceId)) {
|
|
@@ -272,6 +273,12 @@ function fetchAPIResource(resourceType, resourceId) {
|
|
|
272
273
|
case types.APIResourceType.GlobalElement:
|
|
273
274
|
resource = await fetchJson(`/api/makeswift/global-elements/${resourceId}`);
|
|
274
275
|
break;
|
|
276
|
+
case types.APIResourceType.LocalizedGlobalElement: {
|
|
277
|
+
if (locale == null)
|
|
278
|
+
throw new Error("Locale is required to fetch LocalizedGlobalElement");
|
|
279
|
+
resource = await fetchJson(`/api/makeswift/localized-global-elements/${resourceId}/${locale}`);
|
|
280
|
+
break;
|
|
281
|
+
}
|
|
275
282
|
case types.APIResourceType.PagePathnameSlice:
|
|
276
283
|
resource = await fetchJson(`/api/makeswift/page-pathname-slices/${resourceId}`);
|
|
277
284
|
break;
|
|
@@ -366,6 +373,13 @@ const GlobalElementFragment = `
|
|
|
366
373
|
data
|
|
367
374
|
}
|
|
368
375
|
`;
|
|
376
|
+
const LocalizedGlobalElementFragment = `
|
|
377
|
+
fragment LocalizedGlobalElement on LocalizedGlobalElement {
|
|
378
|
+
__typename
|
|
379
|
+
id
|
|
380
|
+
data
|
|
381
|
+
}
|
|
382
|
+
`;
|
|
369
383
|
const TableFragment = `
|
|
370
384
|
fragment Table on Table {
|
|
371
385
|
__typename
|
|
@@ -465,6 +479,15 @@ const GlobalElementQuery = `
|
|
|
465
479
|
|
|
466
480
|
${GlobalElementFragment}
|
|
467
481
|
`;
|
|
482
|
+
const LocalizedGlobalElementQuery = `
|
|
483
|
+
query LocalizedGlobalElement($globalElementId: ID!, $locale: Locale!) {
|
|
484
|
+
localizedGlobalElement(globalElementId: $globalElementId, locale: $locale) {
|
|
485
|
+
...LocalizedGlobalElement
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
${LocalizedGlobalElementFragment}
|
|
490
|
+
`;
|
|
468
491
|
const CreateTableRecordMutation = `
|
|
469
492
|
mutation CreateTableRecord($input: CreateTableRecordInput!) {
|
|
470
493
|
createTableRecord(input: $input) {
|
|
@@ -477,16 +500,22 @@ const CreateTableRecordMutation = `
|
|
|
477
500
|
class MakeswiftClient {
|
|
478
501
|
constructor({
|
|
479
502
|
uri,
|
|
480
|
-
cacheData
|
|
503
|
+
cacheData,
|
|
504
|
+
localizedResourcesMap = {},
|
|
505
|
+
locale
|
|
481
506
|
}) {
|
|
482
507
|
__publicField(this, "graphqlClient");
|
|
483
508
|
__publicField(this, "makeswiftApiClient");
|
|
484
509
|
__publicField(this, "subscribe");
|
|
510
|
+
__publicField(this, "localizedResourcesMap");
|
|
511
|
+
__publicField(this, "locale");
|
|
485
512
|
this.graphqlClient = new GraphQLClient(uri);
|
|
486
513
|
this.makeswiftApiClient = configureStore({
|
|
487
514
|
serializedState: cacheData
|
|
488
515
|
});
|
|
489
516
|
this.subscribe = this.makeswiftApiClient.subscribe;
|
|
517
|
+
this.localizedResourcesMap = new Map(Object.entries(localizedResourcesMap));
|
|
518
|
+
this.locale = locale;
|
|
490
519
|
}
|
|
491
520
|
readSwatch(swatchId) {
|
|
492
521
|
return getAPIResource(this.makeswiftApiClient.getState(), types.APIResourceType.Swatch, swatchId);
|
|
@@ -512,6 +541,21 @@ class MakeswiftClient {
|
|
|
512
541
|
async fetchGlobalElement(globalElementId) {
|
|
513
542
|
return await this.makeswiftApiClient.dispatch(fetchAPIResource(types.APIResourceType.GlobalElement, globalElementId));
|
|
514
543
|
}
|
|
544
|
+
readLocalizedGlobalElement(globalElementId) {
|
|
545
|
+
const localizedGlobalElementId = this.getLocalizedResourceId(globalElementId);
|
|
546
|
+
if (localizedGlobalElementId == null)
|
|
547
|
+
return null;
|
|
548
|
+
return getAPIResource(this.makeswiftApiClient.getState(), types.APIResourceType.LocalizedGlobalElement, localizedGlobalElementId);
|
|
549
|
+
}
|
|
550
|
+
async fetchLocalizedGlobalElement(globalElementId) {
|
|
551
|
+
const locale = this.locale;
|
|
552
|
+
if (locale == null)
|
|
553
|
+
return null;
|
|
554
|
+
const result = await this.makeswiftApiClient.dispatch(fetchAPIResource(types.APIResourceType.LocalizedGlobalElement, globalElementId, locale));
|
|
555
|
+
if (result != null)
|
|
556
|
+
this.setLocalizedResourceId(globalElementId, result.id);
|
|
557
|
+
return result;
|
|
558
|
+
}
|
|
515
559
|
readPagePathnameSlice(pageId) {
|
|
516
560
|
return getAPIResource(this.makeswiftApiClient.getState(), types.APIResourceType.PagePathnameSlice, pageId);
|
|
517
561
|
}
|
|
@@ -543,6 +587,13 @@ class MakeswiftClient {
|
|
|
543
587
|
readSnippet(snippetId) {
|
|
544
588
|
return getAPIResource(this.makeswiftApiClient.getState(), types.APIResourceType.Snippet, snippetId);
|
|
545
589
|
}
|
|
590
|
+
getLocalizedResourceId(resourceId) {
|
|
591
|
+
var _a, _b;
|
|
592
|
+
return (_b = (_a = this.localizedResourcesMap) == null ? void 0 : _a.get(resourceId)) != null ? _b : null;
|
|
593
|
+
}
|
|
594
|
+
setLocalizedResourceId(resourceId, localizedResourceId) {
|
|
595
|
+
this.localizedResourcesMap.set(resourceId, localizedResourceId);
|
|
596
|
+
}
|
|
546
597
|
}
|
|
547
598
|
const Context$1 = React.createContext(new MakeswiftClient({
|
|
548
599
|
uri: "https://api.makeswift.com/graphql"
|
|
@@ -597,7 +648,7 @@ const filterUsedSnippetProperties = ({
|
|
|
597
648
|
function Page$1({
|
|
598
649
|
document: page
|
|
599
650
|
}) {
|
|
600
|
-
var _a, _b;
|
|
651
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
601
652
|
const isInBuilder = useIsInBuilder();
|
|
602
653
|
const [snippets, setSnippets] = React.useState(page.snippets);
|
|
603
654
|
const cachedPage = useCachedPage(isInBuilder ? page.id : null);
|
|
@@ -611,17 +662,16 @@ function Page$1({
|
|
|
611
662
|
setSnippets(cachedPage.snippets);
|
|
612
663
|
}, [cachedPage]);
|
|
613
664
|
const site = useCachedSite(isInBuilder ? page.site.id : null);
|
|
665
|
+
const baseLocalizedPage = page.localizedPages.find(({
|
|
666
|
+
parentId
|
|
667
|
+
}) => parentId == null);
|
|
614
668
|
const favicon = (_a = page.meta.favicon) != null ? _a : defaultFavicon;
|
|
615
|
-
const
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
const {
|
|
622
|
-
canonicalUrl,
|
|
623
|
-
isIndexingBlocked
|
|
624
|
-
} = page.seo;
|
|
669
|
+
const title = (_b = baseLocalizedPage == null ? void 0 : baseLocalizedPage.meta.title) != null ? _b : page.meta.title;
|
|
670
|
+
const description = (_c = baseLocalizedPage == null ? void 0 : baseLocalizedPage.meta.description) != null ? _c : page.meta.description;
|
|
671
|
+
const keywords = (_d = baseLocalizedPage == null ? void 0 : baseLocalizedPage.meta.keywords) != null ? _d : page.meta.keywords;
|
|
672
|
+
const socialImage = (_e = baseLocalizedPage == null ? void 0 : baseLocalizedPage.meta.socialImage) != null ? _e : page.meta.socialImage;
|
|
673
|
+
const canonicalUrl = (_f = baseLocalizedPage == null ? void 0 : baseLocalizedPage.seo.canonicalUrl) != null ? _f : page.seo.canonicalUrl;
|
|
674
|
+
const isIndexingBlocked = (_g = baseLocalizedPage == null ? void 0 : baseLocalizedPage.seo.isIndexingBlocked) != null ? _g : page.seo.isIndexingBlocked;
|
|
625
675
|
const fontFamilyParamValue = React.useMemo(() => {
|
|
626
676
|
if (site == null) {
|
|
627
677
|
return page.fonts.map(({
|
|
@@ -659,10 +709,7 @@ function Page$1({
|
|
|
659
709
|
});
|
|
660
710
|
previousHeadSnippets.current = headSnippets;
|
|
661
711
|
}, [headSnippets]);
|
|
662
|
-
const
|
|
663
|
-
parentId
|
|
664
|
-
}) => parentId == null);
|
|
665
|
-
const documentId = (_b = baseLocalizedPage == null ? void 0 : baseLocalizedPage.elementTreeId) != null ? _b : page.id;
|
|
712
|
+
const documentId = (_h = baseLocalizedPage == null ? void 0 : baseLocalizedPage.elementTreeId) != null ? _h : page.id;
|
|
666
713
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
667
714
|
children: [/* @__PURE__ */ jsxRuntime.jsxs(Head__default["default"], {
|
|
668
715
|
children: [/* @__PURE__ */ jsxRuntime.jsx("style", {
|
|
@@ -903,7 +950,8 @@ Received "${apiKey}" instead.`);
|
|
|
903
950
|
return response;
|
|
904
951
|
}
|
|
905
952
|
async getPages() {
|
|
906
|
-
const
|
|
953
|
+
const isUsingVersioning = this.siteVersion != null;
|
|
954
|
+
const response = await this.fetch(`/${isUsingVersioning ? "v3" : "v2"}/pages`, {
|
|
907
955
|
headers: {
|
|
908
956
|
"Makeswift-Site-Version": MakeswiftSiteVersion.Live
|
|
909
957
|
}
|
|
@@ -921,7 +969,8 @@ Received "${apiKey}" instead.`);
|
|
|
921
969
|
}
|
|
922
970
|
async getSwatches(ids, preview) {
|
|
923
971
|
var _a;
|
|
924
|
-
const
|
|
972
|
+
const isUsingVersioning = this.siteVersion != null;
|
|
973
|
+
const url = new URL(`${isUsingVersioning ? "v2" : "v1"}/swatches/bulk`, this.apiOrigin);
|
|
925
974
|
ids.forEach((id) => {
|
|
926
975
|
url.searchParams.append("ids", id);
|
|
927
976
|
});
|
|
@@ -946,7 +995,7 @@ Received "${apiKey}" instead.`);
|
|
|
946
995
|
const swatches = await this.getSwatches(swatchIds, preview);
|
|
947
996
|
return __spreadProps(__spreadValues({}, result), { swatches });
|
|
948
997
|
}
|
|
949
|
-
async introspect(element, preview) {
|
|
998
|
+
async introspect(element, preview, locale) {
|
|
950
999
|
const runtime = this.runtime;
|
|
951
1000
|
const descriptors = reactPage.getPropControllerDescriptors(runtime.store.getState());
|
|
952
1001
|
const swatchIds = /* @__PURE__ */ new Set();
|
|
@@ -955,6 +1004,8 @@ Received "${apiKey}" instead.`);
|
|
|
955
1004
|
const tableIds = /* @__PURE__ */ new Set();
|
|
956
1005
|
const pageIds = /* @__PURE__ */ new Set();
|
|
957
1006
|
const globalElements = /* @__PURE__ */ new Map();
|
|
1007
|
+
const localizedGlobalElements = /* @__PURE__ */ new Map();
|
|
1008
|
+
const localizedResourcesMap = /* @__PURE__ */ new Map();
|
|
958
1009
|
const remaining = [element];
|
|
959
1010
|
const seen = /* @__PURE__ */ new Set();
|
|
960
1011
|
let current;
|
|
@@ -978,9 +1029,18 @@ Received "${apiKey}" instead.`);
|
|
|
978
1029
|
};
|
|
979
1030
|
let element2;
|
|
980
1031
|
if (reactPage.isElementReference(current)) {
|
|
981
|
-
const
|
|
982
|
-
|
|
983
|
-
|
|
1032
|
+
const globalElementId = current.value;
|
|
1033
|
+
const globalElement = await this.getGlobalElement(globalElementId);
|
|
1034
|
+
let elementData = globalElement == null ? void 0 : globalElement.data;
|
|
1035
|
+
if (locale) {
|
|
1036
|
+
const localizedGlobalElement = await this.getLocalizedGlobalElement(globalElementId, locale);
|
|
1037
|
+
if (localizedGlobalElement) {
|
|
1038
|
+
elementData = localizedGlobalElement.data;
|
|
1039
|
+
localizedResourcesMap.set(globalElementId, localizedGlobalElement.id);
|
|
1040
|
+
localizedGlobalElements.set(localizedGlobalElement.id, localizedGlobalElement);
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
globalElements.set(globalElementId, globalElement);
|
|
984
1044
|
if (elementData == null)
|
|
985
1045
|
continue;
|
|
986
1046
|
element2 = elementData;
|
|
@@ -1010,7 +1070,7 @@ Received "${apiKey}" instead.`);
|
|
|
1010
1070
|
const pagePathnameSlices = pagePathnamesById.map((pagePathnameSlice) => pagePathnameSlice && __spreadProps(__spreadValues({}, pagePathnameSlice), {
|
|
1011
1071
|
id: Buffer.from(`Page:${pagePathnameSlice.id}`).toString("base64")
|
|
1012
1072
|
}));
|
|
1013
|
-
|
|
1073
|
+
const cacheData = {
|
|
1014
1074
|
[types.APIResourceType.Swatch]: [...swatchIds].map((id) => {
|
|
1015
1075
|
var _a;
|
|
1016
1076
|
return {
|
|
@@ -1049,19 +1109,25 @@ Received "${apiKey}" instead.`);
|
|
|
1049
1109
|
[types.APIResourceType.GlobalElement]: [...globalElements.entries()].map(([id, value]) => ({
|
|
1050
1110
|
id,
|
|
1051
1111
|
value
|
|
1112
|
+
})),
|
|
1113
|
+
[types.APIResourceType.LocalizedGlobalElement]: [...localizedGlobalElements.entries()].map(([id, value]) => ({
|
|
1114
|
+
id,
|
|
1115
|
+
value
|
|
1052
1116
|
}))
|
|
1053
1117
|
};
|
|
1118
|
+
return { cacheData, localizedResourcesMap: Object.fromEntries(localizedResourcesMap.entries()) };
|
|
1054
1119
|
}
|
|
1055
1120
|
async getPageSnapshot(pathname, {
|
|
1056
1121
|
preview: previewOverride = false,
|
|
1057
1122
|
unstable_locale
|
|
1058
1123
|
} = {}) {
|
|
1059
1124
|
var _a;
|
|
1125
|
+
const isUsingVersioning = this.siteVersion != null;
|
|
1060
1126
|
const siteVersion = (_a = this.siteVersion) != null ? _a : previewOverride ? MakeswiftSiteVersion.Working : MakeswiftSiteVersion.Live;
|
|
1061
1127
|
const searchParams = new URLSearchParams();
|
|
1062
1128
|
if (unstable_locale)
|
|
1063
1129
|
searchParams.set("locale", unstable_locale);
|
|
1064
|
-
const response = await this.fetch(
|
|
1130
|
+
const response = await this.fetch(`/${isUsingVersioning ? "v3" : "v2"}/pages/${encodeURIComponent(pathname)}/document?${searchParams.toString()}`, {
|
|
1065
1131
|
headers: { "Makeswift-Site-Version": siteVersion }
|
|
1066
1132
|
});
|
|
1067
1133
|
if (!response.ok) {
|
|
@@ -1071,13 +1137,21 @@ Received "${apiKey}" instead.`);
|
|
|
1071
1137
|
throw new Error(`Failed to get page snapshot with error: "${response.statusText}"`);
|
|
1072
1138
|
}
|
|
1073
1139
|
const document2 = await response.json();
|
|
1074
|
-
const cacheData = await this.introspect(document2.data, previewOverride);
|
|
1140
|
+
const { cacheData, localizedResourcesMap } = await this.introspect(document2.data, previewOverride, unstable_locale);
|
|
1075
1141
|
const apiOrigin = this.apiOrigin.href;
|
|
1076
1142
|
const preview = siteVersion === MakeswiftSiteVersion.Working;
|
|
1077
|
-
return {
|
|
1143
|
+
return {
|
|
1144
|
+
document: document2,
|
|
1145
|
+
cacheData,
|
|
1146
|
+
apiOrigin,
|
|
1147
|
+
preview,
|
|
1148
|
+
localizedResourcesMap,
|
|
1149
|
+
locale: unstable_locale != null ? unstable_locale : null
|
|
1150
|
+
};
|
|
1078
1151
|
}
|
|
1079
1152
|
async getSwatch(swatchId) {
|
|
1080
|
-
const
|
|
1153
|
+
const isUsingVersioning = this.siteVersion != null;
|
|
1154
|
+
const response = await this.fetch(`${isUsingVersioning ? "v2" : "v1"}/swatches/${swatchId}`);
|
|
1081
1155
|
if (!response.ok) {
|
|
1082
1156
|
if (response.status !== 404)
|
|
1083
1157
|
console.error("Failed to get swatch", await response.json());
|
|
@@ -1098,6 +1172,10 @@ Received "${apiKey}" instead.`);
|
|
|
1098
1172
|
const result = await this.graphqlClient.request(GlobalElementQuery, { globalElementId });
|
|
1099
1173
|
return result.globalElement;
|
|
1100
1174
|
}
|
|
1175
|
+
async getLocalizedGlobalElement(globalElementId, locale) {
|
|
1176
|
+
const result = await this.graphqlClient.request(LocalizedGlobalElementQuery, { globalElementId, locale });
|
|
1177
|
+
return result.localizedGlobalElement;
|
|
1178
|
+
}
|
|
1101
1179
|
async getPagePathnameSlice(pageId) {
|
|
1102
1180
|
var _a;
|
|
1103
1181
|
const result = await this.graphqlClient.request(PagePathnamesByIdQuery, { pageIds: [pageId] });
|
|
@@ -1162,7 +1240,7 @@ async function fonts(_req, res, { getFonts } = {}) {
|
|
|
1162
1240
|
const fonts2 = (_a = await (getFonts == null ? void 0 : getFonts())) != null ? _a : [];
|
|
1163
1241
|
return res.json(fonts2);
|
|
1164
1242
|
}
|
|
1165
|
-
const version = "0.9.
|
|
1243
|
+
const version = "0.9.11";
|
|
1166
1244
|
async function handler(req, res, { apiKey, unstable_siteVersions }) {
|
|
1167
1245
|
if (req.query.secret !== apiKey) {
|
|
1168
1246
|
return res.status(401).json({ message: "Unauthorized" });
|
|
@@ -1301,6 +1379,9 @@ Read more about dynamic catch-all routes here: https://nextjs.org/docs/routing/d
|
|
|
1301
1379
|
if (m = matches("/global-elements/:id")) {
|
|
1302
1380
|
return client.getGlobalElement(m.params.id).then(handleResource);
|
|
1303
1381
|
}
|
|
1382
|
+
if (m = matches("/localized-global-elements/:globalElementId/:locale")) {
|
|
1383
|
+
return client.getLocalizedGlobalElement(m.params.globalElementId, m.params.locale).then(handleResource);
|
|
1384
|
+
}
|
|
1304
1385
|
if (m = matches("/page-pathname-slices/:id")) {
|
|
1305
1386
|
return client.getPagePathnameSlice(m.params.id).then(handleResource);
|
|
1306
1387
|
}
|
|
@@ -1431,7 +1512,8 @@ const Page = React.memo(({
|
|
|
1431
1512
|
}) => {
|
|
1432
1513
|
const client = React.useMemo(() => new MakeswiftClient({
|
|
1433
1514
|
uri: new URL("graphql", snapshot.apiOrigin).href,
|
|
1434
|
-
cacheData: snapshot.cacheData
|
|
1515
|
+
cacheData: snapshot.cacheData,
|
|
1516
|
+
localizedResourcesMap: snapshot.localizedResourcesMap
|
|
1435
1517
|
}), [snapshot]);
|
|
1436
1518
|
const rootElements = /* @__PURE__ */ new Map([[snapshot.document.id, snapshot.document.data]]);
|
|
1437
1519
|
snapshot.document.localizedPages.forEach((localizedPage) => {
|
|
@@ -2587,6 +2669,17 @@ function useGlobalElement(globalElementId) {
|
|
|
2587
2669
|
}, [client, globalElementId]);
|
|
2588
2670
|
return globalElement;
|
|
2589
2671
|
}
|
|
2672
|
+
function useLocalizedGlobalElement(globalElementId) {
|
|
2673
|
+
const client = useMakeswiftClient();
|
|
2674
|
+
const readLocalizedGlobalElement = () => globalElementId == null ? null : client.readLocalizedGlobalElement(globalElementId);
|
|
2675
|
+
const localizedGlobalElement = shim.useSyncExternalStore(client.subscribe, readLocalizedGlobalElement, readLocalizedGlobalElement);
|
|
2676
|
+
React.useEffect(() => {
|
|
2677
|
+
if (globalElementId != null) {
|
|
2678
|
+
client.fetchLocalizedGlobalElement(globalElementId).catch(console.error);
|
|
2679
|
+
}
|
|
2680
|
+
}, [client, globalElementId]);
|
|
2681
|
+
return localizedGlobalElement;
|
|
2682
|
+
}
|
|
2590
2683
|
function usePagePathnameSlice(pageId) {
|
|
2591
2684
|
const client = useMakeswiftClient();
|
|
2592
2685
|
const readPagePathnameSlice = () => pageId == null ? null : client.readPagePathnameSlice(pageId);
|
|
@@ -4103,8 +4196,10 @@ const DisableRegisterElement = React.createContext(false);
|
|
|
4103
4196
|
const ElementReference = React.memo(React.forwardRef(function ElementReference2({
|
|
4104
4197
|
elementReference
|
|
4105
4198
|
}, ref) {
|
|
4199
|
+
var _a;
|
|
4106
4200
|
const globalElement = useGlobalElement(elementReference.value);
|
|
4107
|
-
const
|
|
4201
|
+
const localizedGlobalElement = useLocalizedGlobalElement(elementReference.value);
|
|
4202
|
+
const globalElementData = (_a = localizedGlobalElement == null ? void 0 : localizedGlobalElement.data) != null ? _a : globalElement == null ? void 0 : globalElement.data;
|
|
4108
4203
|
const elementReferenceDocument = useDocument(elementReference.key);
|
|
4109
4204
|
const documentKey = elementReference.key;
|
|
4110
4205
|
const documentKeys = React.useContext(DocumentCyclesContext);
|