@enonic/nextjs-adapter 6.0.0-beta.2 → 6.0.0-beta.4
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/README.md +65 -106
- package/dist/client/DraftModeButton.d.ts +2 -0
- package/dist/client/DraftModeButton.jsx +28 -0
- package/dist/client/DraftModeButton.jsx.map +1 -0
- package/dist/client/DraftModeButton.module.css +43 -0
- package/dist/client/replaceLocation.d.ts +1 -0
- package/dist/client/replaceLocation.js +5 -0
- package/dist/client/replaceLocation.js.map +1 -0
- package/dist/common/constants.d.ts +4 -0
- package/dist/common/constants.js +4 -0
- package/dist/common/constants.js.map +1 -1
- package/dist/common/env.d.ts +8 -3
- package/dist/common/env.js +26 -20
- package/dist/common/env.js.map +1 -1
- package/dist/guillotine/applyProcessors.js +18 -29
- package/dist/guillotine/applyProcessors.js.map +1 -1
- package/dist/guillotine/fetchContent.js +180 -191
- package/dist/guillotine/fetchContent.js.map +1 -1
- package/dist/guillotine/fetchContentData.js +3 -12
- package/dist/guillotine/fetchContentData.js.map +1 -1
- package/dist/guillotine/fetchContentPathsForAllLocales.js +4 -15
- package/dist/guillotine/fetchContentPathsForAllLocales.js.map +1 -1
- package/dist/guillotine/fetchContentPathsForLocale.js +25 -36
- package/dist/guillotine/fetchContentPathsForLocale.js.map +1 -1
- package/dist/guillotine/fetchFromApi.js +48 -59
- package/dist/guillotine/fetchFromApi.js.map +1 -1
- package/dist/guillotine/fetchGuillotine.js +49 -60
- package/dist/guillotine/fetchGuillotine.js.map +1 -1
- package/dist/guillotine/fetchMetaData.js +3 -12
- package/dist/guillotine/fetchMetaData.js.map +1 -1
- package/dist/guillotine/getMetaData.js +3 -1
- package/dist/guillotine/getMetaData.js.map +1 -1
- package/dist/guillotine/metadata/richTextQuery.js +5 -3
- package/dist/guillotine/metadata/richTextQuery.js.map +1 -1
- package/dist/guillotine/urlQueries.d.ts +5 -0
- package/dist/guillotine/urlQueries.js +23 -0
- package/dist/guillotine/urlQueries.js.map +1 -0
- package/dist/guillotine/urls.d.ts +9 -0
- package/dist/guillotine/urls.js +18 -0
- package/dist/guillotine/urls.js.map +1 -0
- package/dist/guillotine/validateShortcut.js +3 -4
- package/dist/guillotine/validateShortcut.js.map +1 -1
- package/dist/i18n/LocaleContext.jsx +2 -11
- package/dist/i18n/LocaleContext.jsx.map +1 -1
- package/dist/i18n/i18n.js +9 -20
- package/dist/i18n/i18n.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/query/Shortcut.js +2 -1
- package/dist/query/Shortcut.js.map +1 -1
- package/dist/server/disableDraftMode.d.ts +1 -0
- package/dist/server/disableDraftMode.js +7 -0
- package/dist/server/disableDraftMode.js.map +1 -0
- package/dist/types/guillotine.d.ts +28 -2
- package/dist/types/index.d.ts +6 -0
- package/dist/types/urls.d.ts +34 -0
- package/dist/types/urls.js +2 -0
- package/dist/types/urls.js.map +1 -0
- package/dist/utils/getMediaUrl.d.ts +3 -0
- package/dist/utils/getMediaUrl.js +17 -0
- package/dist/utils/getMediaUrl.js.map +1 -0
- package/dist/utils/getPageUrl.d.ts +3 -0
- package/dist/utils/getPageUrl.js +8 -0
- package/dist/utils/getPageUrl.js.map +1 -0
- package/dist/utils/localizeMappings.d.ts +3 -0
- package/dist/utils/localizeMappings.js +6 -0
- package/dist/utils/localizeMappings.js.map +1 -0
- package/dist/views/DraftModeIndicator.d.ts +2 -0
- package/dist/views/DraftModeIndicator.jsx +12 -0
- package/dist/views/DraftModeIndicator.jsx.map +1 -0
- package/dist/views/RichTextView.jsx +11 -6
- package/dist/views/RichTextView.jsx.map +1 -1
- package/package.json +18 -18
- package/dist/common/UrlProcessor.d.ts +0 -19
- package/dist/common/UrlProcessor.js +0 -97
- package/dist/common/UrlProcessor.js.map +0 -1
|
@@ -1,63 +1,52 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
/** Generic fetch */
|
|
11
|
-
export function fetchFromApi(apiUrl, options) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
return json;
|
|
60
|
-
});
|
|
2
|
+
export async function fetchFromApi(apiUrl, options) {
|
|
3
|
+
const opts = {
|
|
4
|
+
method: (options === null || options === void 0 ? void 0 : options.method) || 'POST',
|
|
5
|
+
body: (options === null || options === void 0 ? void 0 : options.body) ? JSON.stringify(options === null || options === void 0 ? void 0 : options.body) : null,
|
|
6
|
+
headers: mergeHeaders(options === null || options === void 0 ? void 0 : options.headers),
|
|
7
|
+
next: options === null || options === void 0 ? void 0 : options.next,
|
|
8
|
+
cache: options === null || options === void 0 ? void 0 : options.cache
|
|
9
|
+
};
|
|
10
|
+
let res;
|
|
11
|
+
try {
|
|
12
|
+
res = await fetch(apiUrl, opts);
|
|
13
|
+
}
|
|
14
|
+
catch (e) {
|
|
15
|
+
console.warn(apiUrl, e);
|
|
16
|
+
throw new Error(JSON.stringify({
|
|
17
|
+
code: 'API',
|
|
18
|
+
message: e.message
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
if (!res.ok) {
|
|
22
|
+
throw new Error(JSON.stringify({
|
|
23
|
+
code: res.status,
|
|
24
|
+
message: `Data fetching failed (message: '${await res.text()}')`
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
let json;
|
|
28
|
+
try {
|
|
29
|
+
json = await res.json();
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
throw new Error(JSON.stringify({
|
|
33
|
+
code: 500,
|
|
34
|
+
message: `API call completed but with non-JSON data: ${JSON.stringify(await res.text())}`
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
if (!json) {
|
|
38
|
+
throw new Error(JSON.stringify({
|
|
39
|
+
code: 500,
|
|
40
|
+
message: `API call completed but with unexpectedly empty data: ${JSON.stringify(await res.text())}`
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
if (Array.isArray(json)) {
|
|
44
|
+
throw new Error(JSON.stringify({
|
|
45
|
+
code: 500,
|
|
46
|
+
message: `API call completed but with unexpected array data: ${JSON.stringify(json)}`
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
return json;
|
|
61
50
|
}
|
|
62
51
|
function mergeHeaders(headers) {
|
|
63
52
|
const newHeaders = new Headers({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchFromApi.js","sourceRoot":"","sources":["../../src/guillotine/fetchFromApi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetchFromApi.js","sourceRoot":"","sources":["../../src/guillotine/fetchFromApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,75 +1,64 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import gqlmin from 'gqlmin';
|
|
11
2
|
import { fetchFromApi } from './fetchFromApi';
|
|
12
3
|
const XP_ERROR_PATTERN = '/_/error/';
|
|
13
4
|
/** Guillotine-specialized fetch, using the generic fetch above */
|
|
14
|
-
export function fetchGuillotine(contentApiUrl, options) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
5
|
+
export async function fetchGuillotine(contentApiUrl, options) {
|
|
6
|
+
var _a;
|
|
7
|
+
const body = options === null || options === void 0 ? void 0 : options.body;
|
|
8
|
+
const path = (_a = body === null || body === void 0 ? void 0 : body.variables) === null || _a === void 0 ? void 0 : _a.path;
|
|
9
|
+
if (typeof body.query !== 'string' || !body.query.trim()) {
|
|
10
|
+
return {
|
|
11
|
+
error: {
|
|
12
|
+
code: '400',
|
|
13
|
+
message: `Invalid or missing query. JSON.stringify(query) = ${JSON.stringify(body.query)}`
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
// special case for not sending XP generated error paths to guillotine
|
|
19
|
+
const pathArr = path === null || path === void 0 ? void 0 : path.split(XP_ERROR_PATTERN);
|
|
20
|
+
if ((pathArr === null || pathArr === void 0 ? void 0 : pathArr.length) === 2) {
|
|
20
21
|
return {
|
|
21
22
|
error: {
|
|
22
|
-
code:
|
|
23
|
-
message: `
|
|
23
|
+
code: pathArr[1],
|
|
24
|
+
message: `XP error URL detected`
|
|
24
25
|
}
|
|
25
26
|
};
|
|
26
27
|
}
|
|
27
28
|
else {
|
|
28
|
-
//
|
|
29
|
-
|
|
30
|
-
if ((pathArr === null || pathArr === void 0 ? void 0 : pathArr.length) === 2) {
|
|
31
|
-
return {
|
|
32
|
-
error: {
|
|
33
|
-
code: pathArr[1],
|
|
34
|
-
message: `XP error URL detected`
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
// Minify the query to avoid hitting 200k space limit
|
|
40
|
-
body.query = gqlmin(body.query);
|
|
41
|
-
}
|
|
29
|
+
// Minify the query to avoid hitting 200k space limit
|
|
30
|
+
body.query = gqlmin(body.query);
|
|
42
31
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
console.error(`${errors.length} error(s) when fetching data from: ${contentApiUrl}`);
|
|
52
|
-
errors.forEach(error => {
|
|
53
|
-
console.error(error);
|
|
54
|
-
});
|
|
55
|
-
return {
|
|
56
|
-
error: {
|
|
57
|
-
code: '500',
|
|
58
|
-
message: `Server responded with ${errors.length} error(s), probably from guillotine - see log.`
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
return json.data;
|
|
63
|
-
})
|
|
64
|
-
.catch((err) => {
|
|
65
|
-
console.warn(`Client-side error when trying to fetch data ${pathMessage}`, err);
|
|
66
|
-
try {
|
|
67
|
-
return { error: JSON.parse(err.message) };
|
|
68
|
-
}
|
|
69
|
-
catch (e2) {
|
|
70
|
-
return { error: { code: 'Client-side error', message: err.message } };
|
|
32
|
+
}
|
|
33
|
+
const pathMessage = path ? JSON.stringify(path) : '';
|
|
34
|
+
return await fetchFromApi(contentApiUrl, options)
|
|
35
|
+
.then(json => {
|
|
36
|
+
let errors = json.errors; // fetchFromApi ensures json is an object
|
|
37
|
+
if (errors) {
|
|
38
|
+
if (!Array.isArray(errors)) {
|
|
39
|
+
errors = [errors];
|
|
71
40
|
}
|
|
72
|
-
|
|
41
|
+
console.error(`${errors.length} error(s) when fetching data from: ${contentApiUrl}`);
|
|
42
|
+
errors.forEach(error => {
|
|
43
|
+
console.error(error);
|
|
44
|
+
});
|
|
45
|
+
return {
|
|
46
|
+
error: {
|
|
47
|
+
code: '500',
|
|
48
|
+
message: `Server responded with ${errors.length} error(s), probably from guillotine - see log.`
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return json.data;
|
|
53
|
+
})
|
|
54
|
+
.catch((err) => {
|
|
55
|
+
console.warn(`Client-side error when trying to fetch data ${pathMessage}`, err);
|
|
56
|
+
try {
|
|
57
|
+
return { error: JSON.parse(err.message) };
|
|
58
|
+
}
|
|
59
|
+
catch (e2) {
|
|
60
|
+
return { error: { code: 'Client-side error', message: err.message } };
|
|
61
|
+
}
|
|
73
62
|
});
|
|
74
63
|
}
|
|
75
64
|
//# sourceMappingURL=fetchGuillotine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchGuillotine.js","sourceRoot":"","sources":["../../src/guillotine/fetchGuillotine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetchGuillotine.js","sourceRoot":"","sources":["../../src/guillotine/fetchGuillotine.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAErC,kEAAkE;AAClE,MAAM,CAAC,KAAK,UAAU,eAAe,CACjC,aAAqB,EACrB,OAAsB;;IAEtB,MAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,0CAAE,IAAI,CAAC;IAEnC,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QACvD,OAAO;YACH,KAAK,EAAE;gBACH,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,qDAAqD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;aAC7F;SACJ,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,sEAAsE;QACtE,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC9C,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,MAAK,CAAC,EAAE,CAAC;YACxB,OAAO;gBACH,KAAK,EAAE;oBACH,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;oBAChB,OAAO,EAAE,uBAAuB;iBACnC;aACJ,CAAA;QACL,CAAC;aAAM,CAAC;YACJ,qDAAqD;YACrD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,OAAO,MAAM,YAAY,CACrB,aAAa,EACb,OAAO,CACV;SACI,IAAI,CAAC,IAAI,CAAC,EAAE;QACT,IAAI,MAAM,GAAU,IAAI,CAAC,MAAM,CAAC,CAAC,yCAAyC;QAE1E,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzB,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,sCAAsC,aAAa,EAAE,CAAC,CAAC;YACrF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACnB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,OAAO;gBACH,KAAK,EAAE;oBACH,IAAI,EAAE,KAAK;oBACX,OAAO,EAAE,yBAAyB,MAAM,CAAC,MAAM,gDAAgD;iBAClG;aACJ,CAAC;QACN,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,OAAO,CAAC,IAAI,CAAC,+CAA+C,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;QAChF,IAAI,CAAC;YACD,OAAO,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACV,OAAO,EAAC,KAAK,EAAE,EAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAC,EAAC,CAAC;QACtE,CAAC;IACL,CAAC,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -1,15 +1,6 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { getMetaQuery, pageFragmentQuery } from './getMetaData';
|
|
11
2
|
import { fetchGuillotine } from './fetchGuillotine';
|
|
12
|
-
export const fetchMetaData = (contentApiUrl, contentPath, mapping, branch, headers) =>
|
|
3
|
+
export const fetchMetaData = async (contentApiUrl, contentPath, mapping, branch, headers) => {
|
|
13
4
|
var _a;
|
|
14
5
|
const body = {
|
|
15
6
|
query: getMetaQuery(pageFragmentQuery()),
|
|
@@ -20,7 +11,7 @@ export const fetchMetaData = (contentApiUrl, contentPath, mapping, branch, heade
|
|
|
20
11
|
branch
|
|
21
12
|
}
|
|
22
13
|
};
|
|
23
|
-
const metaResult =
|
|
14
|
+
const metaResult = await fetchGuillotine(contentApiUrl, {
|
|
24
15
|
body,
|
|
25
16
|
headers
|
|
26
17
|
});
|
|
@@ -32,5 +23,5 @@ export const fetchMetaData = (contentApiUrl, contentPath, mapping, branch, heade
|
|
|
32
23
|
meta: (_a = metaResult === null || metaResult === void 0 ? void 0 : metaResult.guillotine) === null || _a === void 0 ? void 0 : _a.get
|
|
33
24
|
};
|
|
34
25
|
}
|
|
35
|
-
}
|
|
26
|
+
};
|
|
36
27
|
//# sourceMappingURL=fetchMetaData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchMetaData.js","sourceRoot":"","sources":["../../src/guillotine/fetchMetaData.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetchMetaData.js","sourceRoot":"","sources":["../../src/guillotine/fetchMetaData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,YAAY,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAGlD,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAC9B,aAAqB,EACrB,WAAmB,EACnB,OAAsB,EACtB,MAAc,EACd,OAAkC,EACf,EAAE;;IACrB,MAAM,IAAI,GAAuB;QAC7B,KAAK,EAAE,YAAY,CAAC,iBAAiB,EAAE,CAAC;QACxC,SAAS,EAAE;YACP,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO,CAAC,IAAI;YACrB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM;SACT;KACJ,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,eAAe,CAAa,aAAa,EAAE;QAChE,IAAI;QACJ,OAAO;KACV,CAAC,CAAC;IACH,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,UAAU,CAAC;IACtB,CAAC;SAAM,CAAC;QACJ,OAAO;YACH,IAAI,EAAE,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,0CAAE,GAAG;SACpC,CAAC;IACN,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMetaData.js","sourceRoot":"","sources":["../../src/guillotine/getMetaData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAGvC,MAAM,eAAe,GAAG,GAAW,EAAE;IACjC,OAAO,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,GAAW,EAAE;IACnC,OAAO,WAAW,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,GAAW,EAAE;IACjC,OAAO,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AAGF;;GAEG;AACH,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC;;;;EAI5B,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;;;;;;;EAO5B,MAAM,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;;;EAG9B,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;;;;EAIjC,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"getMetaData.js","sourceRoot":"","sources":["../../src/guillotine/getMetaData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAGvC,MAAM,eAAe,GAAG,GAAW,EAAE;IACjC,OAAO,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,GAAW,EAAE;IACnC,OAAO,WAAW,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,GAAW,EAAE;IACjC,OAAO,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AAGF;;GAEG;AACH,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC;;;;EAI5B,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;;;;;;;EAO5B,MAAM,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;;;EAG9B,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;;;;EAIjC,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;;;;;;;;;EAS5B,CAAC;AAEH,+CAA+C;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC;;;;;EAKrC,MAAM,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC;;;;EAI7B,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;EAC5B,CAAC;AAEH,MAAM,UAAU,YAAY,CAAC,YAAqB;IAC9C,OAAO,uBAAuB,CAAC;;;;EAIjC,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC,CAAC;EAC7B,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,IAA6B;IACxE,MAAM,UAAU,GAAG,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1F,OAAO,4DAA4D,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;;kBAEnG,KAAK;;cAET,CAAC;AACf,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa,EAAE,IAA6B;IAChF,OAAO,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AACzE,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { ComponentRegistry } from '../../common/ComponentRegistry';
|
|
2
2
|
import { configQuery } from './configQuery';
|
|
3
3
|
import { indent } from '../../utils/indent';
|
|
4
|
+
import { imageUrlQuery, mediaUrlQuery, pageUrlQuery } from '../urlQueries';
|
|
4
5
|
const macroConfigQuery = () => {
|
|
5
6
|
return configQuery(ComponentRegistry.getMacros(), false, false);
|
|
6
7
|
};
|
|
7
8
|
export const richTextQuery = (fieldName) => {
|
|
8
|
-
return `${fieldName}(processHtml:{
|
|
9
|
+
return `${fieldName}(processHtml:{imageWidths:[400, 800, 1200], imageSizes:"(max-width: 400px) 400px, (max-width: 800px) 800px, 1200px"}) {
|
|
9
10
|
processedHtml
|
|
10
11
|
macros {
|
|
11
12
|
ref
|
|
@@ -19,12 +20,13 @@ export const richTextQuery = (fieldName) => {
|
|
|
19
20
|
content {
|
|
20
21
|
_path
|
|
21
22
|
_id
|
|
23
|
+
${pageUrlQuery()}
|
|
22
24
|
}
|
|
23
25
|
media {
|
|
24
26
|
content {
|
|
25
27
|
_id
|
|
26
28
|
... on media_Image {
|
|
27
|
-
|
|
29
|
+
${mediaUrlQuery()}
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
32
|
intent
|
|
@@ -35,7 +37,7 @@ export const richTextQuery = (fieldName) => {
|
|
|
35
37
|
image {
|
|
36
38
|
_id
|
|
37
39
|
... on media_Image {
|
|
38
|
-
|
|
40
|
+
${imageUrlQuery({ scale: 'width(768)' })}
|
|
39
41
|
}
|
|
40
42
|
}
|
|
41
43
|
style {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"richTextQuery.js","sourceRoot":"","sources":["../../../src/guillotine/metadata/richTextQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"richTextQuery.js","sourceRoot":"","sources":["../../../src/guillotine/metadata/richTextQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAGzE,MAAM,gBAAgB,GAAG,GAAW,EAAE;IAClC,OAAO,WAAW,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC/C,OAAO,GAAG,SAAS;;;;;;UAMb,MAAM,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;;;;;;;;cAQzB,YAAY,EAAE;;;;;;sBAMN,aAAa,EAAE;;;;;;;;;;;kBAWnB,aAAa,CAAC,EAAC,KAAK,EAAE,YAAY,EAAC,CAAC;;;;;;;;OAQ/C,CAAC;AACR,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ImageUrlArgs, MediaUrlArgs, PageUrlArgs } from '../types';
|
|
2
|
+
export declare const imageUrlQuery: (args: ImageUrlArgs) => string;
|
|
3
|
+
export declare const mediaUrlQuery: (args?: MediaUrlArgs) => string;
|
|
4
|
+
export declare const attachmentUrlQuery: (args?: MediaUrlArgs) => string;
|
|
5
|
+
export declare const pageUrlQuery: (args?: PageUrlArgs) => string;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Every field of the Guillotine 9 result types, so callers can build their own URLs from the parts
|
|
2
|
+
const IMAGE_URL_FIELDS = '{ url path queryString context id fingerprint scale name }';
|
|
3
|
+
const ATTACHMENT_URL_FIELDS = '{ url path queryString context id fingerprint name intent }';
|
|
4
|
+
const PAGE_URL_FIELDS = '{ url path queryString }';
|
|
5
|
+
export const imageUrlQuery = (args) => `imageUrl${toGraphqlArgs(args)} ${IMAGE_URL_FIELDS}`;
|
|
6
|
+
export const mediaUrlQuery = (args) => `mediaUrl${toGraphqlArgs(args)} ${ATTACHMENT_URL_FIELDS}`;
|
|
7
|
+
export const attachmentUrlQuery = (args) => `attachmentUrl${toGraphqlArgs(args)} ${ATTACHMENT_URL_FIELDS}`;
|
|
8
|
+
export const pageUrlQuery = (args) => `pageUrl${toGraphqlArgs(args)} ${PAGE_URL_FIELDS}`;
|
|
9
|
+
function toGraphqlArgs(args = {}) {
|
|
10
|
+
const entries = Object.entries(args).filter(([, value]) => value !== undefined && value !== null);
|
|
11
|
+
return entries.length ? `(${entries.map(([key, value]) => `${key}: ${toGraphqlLiteral(value)}`).join(', ')})` : '';
|
|
12
|
+
}
|
|
13
|
+
function toGraphqlLiteral(value) {
|
|
14
|
+
if (Array.isArray(value)) {
|
|
15
|
+
return `[${value.map(toGraphqlLiteral).join(', ')}]`;
|
|
16
|
+
}
|
|
17
|
+
if (value !== null && typeof value === 'object') {
|
|
18
|
+
// GraphQL object literals have unquoted keys, unlike JSON
|
|
19
|
+
return `{${Object.entries(value).map(([key, val]) => `${key}: ${toGraphqlLiteral(val)}`).join(', ')}}`;
|
|
20
|
+
}
|
|
21
|
+
return JSON.stringify(value);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=urlQueries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urlQueries.js","sourceRoot":"","sources":["../../src/guillotine/urlQueries.ts"],"names":[],"mappings":"AAEA,mGAAmG;AACnG,MAAM,gBAAgB,GAAG,4DAA4D,CAAC;AACtF,MAAM,qBAAqB,GAAG,6DAA6D,CAAC;AAC5F,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEnD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAkB,EAAU,EAAE,CAAC,WAAW,aAAa,CAAC,IAAI,CAAC,IAAI,gBAAgB,EAAE,CAAC;AAElH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAmB,EAAU,EAAE,CAAC,WAAW,aAAa,CAAC,IAAI,CAAC,IAAI,qBAAqB,EAAE,CAAC;AAExH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAmB,EAAU,EAAE,CAAC,gBAAgB,aAAa,CAAC,IAAI,CAAC,IAAI,qBAAqB,EAAE,CAAC;AAElI,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAkB,EAAU,EAAE,CAAC,UAAU,aAAa,CAAC,IAAI,CAAC,IAAI,eAAe,EAAE,CAAC;AAE/G,SAAS,aAAa,CAAC,OAAe,EAAE;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC;IAClG,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACvH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACzD,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9C,0DAA0D;QAC1D,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAC3G,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AttachmentUrl, ImageUrl, PageUrl, PageUrlMeta, UrlParts } from '../types';
|
|
2
|
+
export declare function imageUrl(data: UrlParts<ImageUrl>): string;
|
|
3
|
+
export declare function imageUrl(data?: UrlParts<ImageUrl> | null): string | undefined;
|
|
4
|
+
export declare function mediaUrl(data: UrlParts<AttachmentUrl>): string;
|
|
5
|
+
export declare function mediaUrl(data?: UrlParts<AttachmentUrl> | null): string | undefined;
|
|
6
|
+
export declare function attachmentUrl(data: UrlParts<AttachmentUrl>): string;
|
|
7
|
+
export declare function attachmentUrl(data?: UrlParts<AttachmentUrl> | null): string | undefined;
|
|
8
|
+
export declare function pageUrl(data: UrlParts<PageUrl>, meta: PageUrlMeta): string;
|
|
9
|
+
export declare function pageUrl(data: UrlParts<PageUrl> | null | undefined, meta: PageUrlMeta): string | undefined;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { getMediaUrl } from '../utils/getMediaUrl';
|
|
2
|
+
import { getPageUrl } from '../utils/getPageUrl';
|
|
3
|
+
export function imageUrl(data) {
|
|
4
|
+
return toMediaUrl(data);
|
|
5
|
+
}
|
|
6
|
+
export function mediaUrl(data) {
|
|
7
|
+
return toMediaUrl(data);
|
|
8
|
+
}
|
|
9
|
+
export function attachmentUrl(data) {
|
|
10
|
+
return toMediaUrl(data);
|
|
11
|
+
}
|
|
12
|
+
export function pageUrl(data, meta) {
|
|
13
|
+
return data ? getPageUrl(data.path + (data.queryString || ''), meta) : undefined;
|
|
14
|
+
}
|
|
15
|
+
function toMediaUrl(data) {
|
|
16
|
+
return data ? getMediaUrl(data.path + (data.queryString || '')) : undefined;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=urls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urls.js","sourceRoot":"","sources":["../../src/guillotine/urls.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAI/C,MAAM,UAAU,QAAQ,CAAC,IAAgC;IACrD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAID,MAAM,UAAU,QAAQ,CAAC,IAAqC;IAC1D,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAID,MAAM,UAAU,aAAa,CAAC,IAAqC;IAC/D,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAMD,MAAM,UAAU,OAAO,CAAC,IAA0C,EAAE,IAAiB;IACjF,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrF,CAAC;AAED,SAAS,UAAU,CAAC,IAAsC;IACtD,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChF,CAAC"}
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import { notFound, redirect, RedirectType } from 'next/navigation';
|
|
2
2
|
import { RENDER_MODE } from '../common/constants';
|
|
3
3
|
import { IS_DEV_MODE } from '../common/env';
|
|
4
|
-
import {
|
|
4
|
+
import { pageUrl } from './urls';
|
|
5
5
|
export function validateShortcut(props) {
|
|
6
6
|
var _a, _b;
|
|
7
7
|
const { data, meta, error } = props;
|
|
8
8
|
const dataObj = (_a = data === null || data === void 0 ? void 0 : data.get) === null || _a === void 0 ? void 0 : _a.data;
|
|
9
|
-
const targetPath = (_b = dataObj === null || dataObj === void 0 ? void 0 : dataObj.target) === null || _b === void 0 ? void 0 : _b._path;
|
|
10
9
|
const parameters = dataObj === null || dataObj === void 0 ? void 0 : dataObj.parameters;
|
|
11
|
-
|
|
10
|
+
let destination = pageUrl((_b = dataObj === null || dataObj === void 0 ? void 0 : dataObj.target) === null || _b === void 0 ? void 0 : _b.pageUrl, meta);
|
|
11
|
+
if (meta.type === 'base:shortcut' && destination) {
|
|
12
12
|
if (meta.renderMode !== RENDER_MODE.NEXT) {
|
|
13
13
|
// do not show shortcut targets in preview/edit mode
|
|
14
14
|
console.warn(404, `Shortcuts are not available in ${meta.renderMode} render mode`);
|
|
15
15
|
notFound();
|
|
16
16
|
}
|
|
17
|
-
let destination = UrlProcessor.process(targetPath, meta, true);
|
|
18
17
|
if (parameters) {
|
|
19
18
|
const searchParams = parameters.map(({ name, value }) => `${encodeURIComponent(name)}=${encodeURIComponent(value)}`).join('&');
|
|
20
19
|
destination += '?' + searchParams;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateShortcut.js","sourceRoot":"","sources":["../../src/guillotine/validateShortcut.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"validateShortcut.js","sourceRoot":"","sources":["../../src/guillotine/validateShortcut.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAG/B,MAAM,UAAU,gBAAgB,CAAC,KAAyB;;IACtD,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,GAAG,KAAK,CAAC;IAClC,MAAM,OAAO,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,0CAAE,IAAI,CAAC;IAChC,MAAM,UAAU,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC;IACvC,IAAI,WAAW,GAAG,OAAO,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,WAAW,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;YACvC,oDAAoD;YACpD,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,kCAAkC,IAAI,CAAC,UAAU,cAAc,CAAC,CAAC;YACnF,QAAQ,EAAE,CAAC;QACf,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7H,WAAW,IAAI,GAAG,GAAG,YAAY,CAAC;QACtC,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,IAAI,MAAM,EAAE,WAAW,CAAC,CAAC;QAC7E,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,uCAAuC;IACvC,kDAAkD;IAClD,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,IAAI,CAAC;IAErF,MAAM,sBAAsB,GAAG,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC;IAErG,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,YAAY,IAAI,sBAAsB,CAAC;IAE7F,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,8BAA8B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAC9D,QAAQ,EAAE,CAAC;IACf,CAAC;AACL,CAAC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
import React, { createContext, useContext, useEffect, useState } from 'react';
|
|
12
3
|
import { getPhrase, loadPhrases } from './i18n';
|
|
13
4
|
const LocaleContext = createContext({
|
|
@@ -21,7 +12,7 @@ export const LocaleContextProvider = ({ children, locale: localeProps = '' }) =>
|
|
|
21
12
|
const [currentLocale, setLocaleState] = useState(localeProps);
|
|
22
13
|
const [dictionary, setPhrasesState] = useState({});
|
|
23
14
|
const [isLoaded, setLoadedState] = useState(false);
|
|
24
|
-
const setLocale = (locale) =>
|
|
15
|
+
const setLocale = async (locale) => {
|
|
25
16
|
setLocaleState(locale);
|
|
26
17
|
setLoadedState(false);
|
|
27
18
|
return loadPhrases(locale).then((phrases) => {
|
|
@@ -29,7 +20,7 @@ export const LocaleContextProvider = ({ children, locale: localeProps = '' }) =>
|
|
|
29
20
|
setLoadedState(true);
|
|
30
21
|
return phrases;
|
|
31
22
|
});
|
|
32
|
-
}
|
|
23
|
+
};
|
|
33
24
|
useEffect(() => {
|
|
34
25
|
if (localeProps) {
|
|
35
26
|
void setLocale(localeProps); // void to avoid @typescript-eslint/no-floating-promises
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocaleContext.jsx","sourceRoot":"","sources":["../../src/i18n/LocaleContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"LocaleContext.jsx","sourceRoot":"","sources":["../../src/i18n/LocaleContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,KAAK,EAAE,EAAC,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,QAAQ,CAAC;AAG9C,MAAM,aAAa,GAAG,aAAa,CAAoB;IACnD,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,CAAC,GAAW,EAAE,GAAG,IAAW,EAAE,EAAE,CAAC,GAAG;IAC9C,SAAS,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;CACrD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAClC,QAAQ,EACR,MAAM,EAAE,WAAW,GAAG,EAAE,EAI3B,EAAE,EAAE;IACD,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAO,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG,KAAK,EAAE,MAAc,EAAiB,EAAE;QACtD,cAAc,CAAC,MAAM,CAAC,CAAC;QACvB,cAAc,CAAC,KAAK,CAAC,CAAC;QAEtB,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACxC,eAAe,CAAC,OAAO,CAAC,CAAC;YACzB,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,WAAW,EAAE,CAAC;YACd,KAAK,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,wDAAwD;QACzF,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,GAAG,IAAW,EAAE,EAAE;QAC7C,OAAO,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/E,CAAC,CAAC;IAEF,OAAO,CACH,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3B,SAAS;YACT,MAAM,EAAE,aAAa;YACrB,UAAU;YACV,QAAQ;SACX,CAAC,CACE;YAAA,CAAC,QAAQ,CACb;QAAA,EAAE,aAAa,CAAC,QAAQ,CAAC,CAC5B,CAAC;AACN,CAAC,CAAC"}
|
package/dist/i18n/i18n.js
CHANGED
|
@@ -1,22 +1,11 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
export class I18n {
|
|
11
|
-
static setLocale(locale) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
return phrases;
|
|
19
|
-
});
|
|
2
|
+
static async setLocale(locale) {
|
|
3
|
+
this.locale = locale;
|
|
4
|
+
this.isLoaded = false;
|
|
5
|
+
return loadPhrases(locale).then((phrases) => {
|
|
6
|
+
this.dictionary = phrases;
|
|
7
|
+
this.isLoaded = true;
|
|
8
|
+
return phrases;
|
|
20
9
|
});
|
|
21
10
|
}
|
|
22
11
|
static localize(key, ...args) {
|
|
@@ -32,14 +21,14 @@ export class I18n {
|
|
|
32
21
|
I18n.locale = '';
|
|
33
22
|
I18n.dictionary = {};
|
|
34
23
|
I18n.isLoaded = false;
|
|
35
|
-
export const loadPhrases = (locale) =>
|
|
24
|
+
export const loadPhrases = async (locale) => {
|
|
36
25
|
return import(`@phrases/${locale}.json`)
|
|
37
26
|
.then((module) => module.default)
|
|
38
27
|
.catch((e) => {
|
|
39
28
|
console.error(`Failed to load phrases for locale "${locale}"`, e);
|
|
40
29
|
return {};
|
|
41
30
|
});
|
|
42
|
-
}
|
|
31
|
+
};
|
|
43
32
|
export const getPhrase = (locale, dict, key, ...args) => {
|
|
44
33
|
const template = dict[key];
|
|
45
34
|
if (!template) {
|
package/dist/i18n/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/i18n/i18n.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/i18n/i18n.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,IAAI;IAKN,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAc;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACxC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,GAAW,EAAE,GAAG,IAAW;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,CAAC;IAEM,MAAM,CAAC,SAAS;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,aAAa;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;;AAzBc,WAAM,GAAG,EAAE,CAAC;AACZ,eAAU,GAAS,EAAE,CAAC;AACtB,aAAQ,GAAG,KAAK,CAAC;AA0BpC,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,MAAc,EAAiB,EAAE;IAC/D,OAAO,MAAM,CAAC,YAAY,MAAM,OAAO,CAAC;SACnC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;SAChC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,OAAO,CAAC,KAAK,CAAC,sCAAsC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,IAAU,EAAE,GAAW,EAAE,GAAG,IAAW,EAAE,EAAE;IACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,2CAA2C,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC;QAC7E,OAAO,IAAI,GAAG,GAAG,CAAC;IACtB,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;QACf,OAAO,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;;YAClD,KAAK,EAAE,CAAC;YACR,OAAO,MAAA,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,mCAAI,KAAK,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { APP_NAME, APP_NAME_DASHED, APP_NAME_UNDERSCORED, IS_DEV_MODE } from './common/env';
|
|
2
2
|
export type * from './types';
|
|
3
3
|
export { ComponentRegistry } from './common/ComponentRegistry';
|
|
4
|
-
export { CATCH_ALL, JSESSIONID_HEADER, PORTAL_COMPONENT_ATTRIBUTE, PORTAL_REGION_ATTRIBUTE, PROJECT_ID_HEADER, RENDER_MODE, RENDER_MODE_HEADER, XP_BASE_URL_HEADER, XP_COMPONENT_TYPE, XP_REQUEST_TYPE } from './common/constants';
|
|
4
|
+
export { CATCH_ALL, FROM_XP_PARAM, JSESSIONID_HEADER, PORTAL_COMPONENT_ATTRIBUTE, PORTAL_REGION_ATTRIBUTE, PROJECT_ID_HEADER, RENDER_MODE, RENDER_MODE_HEADER, XP_BASE_URL_HEADER, XP_COMPONENT_TYPE, XP_REQUEST_TYPE } from './common/constants';
|
|
5
5
|
export { richTextQuery } from './guillotine/metadata/richTextQuery';
|
|
6
6
|
export { validateData } from './guillotine/validateData';
|
|
7
7
|
export { I18n } from './i18n/i18n';
|
|
@@ -13,4 +13,6 @@ export { getRequestLocaleInfo } from './utils/getRequestLocaleInfo';
|
|
|
13
13
|
export { sanitizeGraphqlName } from './utils/sanitizeGraphqlName';
|
|
14
14
|
export { encryptParams } from './utils/encryptParams';
|
|
15
15
|
export { decryptParams } from './utils/decryptParams';
|
|
16
|
-
export {
|
|
16
|
+
export { attachmentUrlQuery, imageUrlQuery, mediaUrlQuery, pageUrlQuery } from './guillotine/urlQueries';
|
|
17
|
+
export { attachmentUrl, imageUrl, mediaUrl, pageUrl } from './guillotine/urls';
|
|
18
|
+
export { localizeMappings } from './utils/localizeMappings';
|