@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
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { APP_NAME, APP_NAME_DASHED, APP_NAME_UNDERSCORED, IS_DEV_MODE } from './common/env';
|
|
2
2
|
export { ComponentRegistry } from './common/ComponentRegistry';
|
|
3
|
-
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';
|
|
3
|
+
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';
|
|
4
4
|
export { richTextQuery } from './guillotine/metadata/richTextQuery';
|
|
5
5
|
export { validateData } from './guillotine/validateData';
|
|
6
6
|
export { I18n } from './i18n/i18n';
|
|
@@ -12,5 +12,7 @@ export { getRequestLocaleInfo } from './utils/getRequestLocaleInfo';
|
|
|
12
12
|
export { sanitizeGraphqlName } from './utils/sanitizeGraphqlName';
|
|
13
13
|
export { encryptParams } from './utils/encryptParams';
|
|
14
14
|
export { decryptParams } from './utils/decryptParams';
|
|
15
|
-
export {
|
|
15
|
+
export { attachmentUrlQuery, imageUrlQuery, mediaUrlQuery, pageUrlQuery } from './guillotine/urlQueries';
|
|
16
|
+
export { attachmentUrl, imageUrl, mediaUrl, pageUrl } from './guillotine/urls';
|
|
17
|
+
export { localizeMappings } from './utils/localizeMappings';
|
|
16
18
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,WAAW,EACd,MAAM,cAAc,CAAC;AAItB,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EACH,SAAS,EACT,iBAAiB,EACjB,0BAA0B,EAC1B,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAC,aAAa,EAAC,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAC,2BAA2B,EAAC,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAC,wBAAwB,EAAC,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEpD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,WAAW,EACd,MAAM,cAAc,CAAC;AAItB,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EACH,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,0BAA0B,EAC1B,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAC,aAAa,EAAC,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAC,2BAA2B,EAAC,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAC,wBAAwB,EAAC,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAC,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACvG,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC"}
|
package/dist/query/Shortcut.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { queryGuillotineWithPath } from '../guillotine/getMetaData';
|
|
2
|
+
import { pageUrlQuery } from '../guillotine/urlQueries';
|
|
2
3
|
export const getShortcutQuery = queryGuillotineWithPath(`get(key:$path) {
|
|
3
4
|
... on base_Shortcut {
|
|
4
5
|
data {
|
|
5
6
|
target {
|
|
6
|
-
|
|
7
|
+
${pageUrlQuery()}
|
|
7
8
|
}
|
|
8
9
|
parameters {
|
|
9
10
|
name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shortcut.js","sourceRoot":"","sources":["../../src/query/Shortcut.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"Shortcut.js","sourceRoot":"","sources":["../../src/query/Shortcut.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAEtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;;;;YAI5C,YAAY,EAAE;;;;;;;;IAQtB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function disableDraftMode(): Promise<void>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
'use server';
|
|
2
|
+
import { draftMode } from 'next/headers';
|
|
3
|
+
// Keep this file to async exports only: Next.js rejects anything else in a 'use server' module
|
|
4
|
+
export async function disableDraftMode() {
|
|
5
|
+
(await draftMode()).disable();
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=disableDraftMode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disableDraftMode.js","sourceRoot":"","sources":["../../src/server/disableDraftMode.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAEvC,+FAA+F;AAC/F,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAClC,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;AAClC,CAAC"}
|
|
@@ -84,6 +84,11 @@ export interface Component {
|
|
|
84
84
|
fragment?: FragmentComponentData | null;
|
|
85
85
|
}
|
|
86
86
|
type ComponentType = 'page' | 'layout' | 'image' | 'part' | 'text' | 'fragment';
|
|
87
|
+
export interface PageUrl {
|
|
88
|
+
url: string;
|
|
89
|
+
path: string;
|
|
90
|
+
queryString: string;
|
|
91
|
+
}
|
|
87
92
|
interface Content {
|
|
88
93
|
_id: string;
|
|
89
94
|
_name: string;
|
|
@@ -105,6 +110,7 @@ interface Content {
|
|
|
105
110
|
x?: ExtraData;
|
|
106
111
|
xAsJson?: JSON;
|
|
107
112
|
pageAsJson?: JSON;
|
|
113
|
+
pageUrl?: PageUrl;
|
|
108
114
|
pageTemplate?: Content;
|
|
109
115
|
components?: Component[];
|
|
110
116
|
attachments?: Attachment[];
|
|
@@ -225,9 +231,29 @@ interface Media {
|
|
|
225
231
|
intent: MediaIntentType;
|
|
226
232
|
}
|
|
227
233
|
type MediaIntentType = 'download' | 'inline';
|
|
234
|
+
export interface AttachmentUrl {
|
|
235
|
+
url: string;
|
|
236
|
+
path: string;
|
|
237
|
+
queryString: string;
|
|
238
|
+
context: string;
|
|
239
|
+
id: string;
|
|
240
|
+
fingerprint: string;
|
|
241
|
+
name: string;
|
|
242
|
+
intent: MediaIntentType;
|
|
243
|
+
}
|
|
244
|
+
export interface ImageUrl {
|
|
245
|
+
url: string;
|
|
246
|
+
path: string;
|
|
247
|
+
queryString: string;
|
|
248
|
+
context: string;
|
|
249
|
+
id: string;
|
|
250
|
+
fingerprint: string;
|
|
251
|
+
scale: string;
|
|
252
|
+
name: string;
|
|
253
|
+
}
|
|
228
254
|
interface media_Image extends Content {
|
|
229
|
-
mediaUrl:
|
|
230
|
-
imageUrl:
|
|
255
|
+
mediaUrl: AttachmentUrl;
|
|
256
|
+
imageUrl: ImageUrl;
|
|
231
257
|
data: media_Image_Data;
|
|
232
258
|
}
|
|
233
259
|
interface media_Image_Data {
|
package/dist/types/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export type * from './componentProps';
|
|
|
3
3
|
export type * from './guillotine';
|
|
4
4
|
export type * from './i18n';
|
|
5
5
|
export type * from './next';
|
|
6
|
+
export type * from './urls';
|
|
6
7
|
export type * from './util';
|
|
7
8
|
export interface ContentApiBaseBody {
|
|
8
9
|
query?: string;
|
|
@@ -45,3 +46,8 @@ export interface StaticContentProps extends Record<string, any> {
|
|
|
45
46
|
element?: string;
|
|
46
47
|
condition: boolean;
|
|
47
48
|
}
|
|
49
|
+
export interface DraftModeButtonProps {
|
|
50
|
+
action: () => Promise<void>;
|
|
51
|
+
label: string;
|
|
52
|
+
}
|
|
53
|
+
export type DraftModeIndicatorProps = Partial<Omit<DraftModeButtonProps, 'action'>>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { MetaData } from './componentProps';
|
|
2
|
+
import type { AttachmentUrl, ImageUrl, PageUrl } from './guillotine';
|
|
3
|
+
export type GraphqlJson = Record<string, unknown>;
|
|
4
|
+
export interface ImageUrlArgs {
|
|
5
|
+
scale: string;
|
|
6
|
+
quality?: number;
|
|
7
|
+
background?: string;
|
|
8
|
+
format?: string;
|
|
9
|
+
filter?: string;
|
|
10
|
+
params?: GraphqlJson;
|
|
11
|
+
}
|
|
12
|
+
export interface MediaUrlArgs {
|
|
13
|
+
download?: boolean;
|
|
14
|
+
params?: GraphqlJson;
|
|
15
|
+
}
|
|
16
|
+
export interface PageUrlArgs {
|
|
17
|
+
params?: GraphqlJson;
|
|
18
|
+
}
|
|
19
|
+
/** Object returned by imageUrlQuery(), mediaUrlQuery() and attachmentUrlQuery(): every field of the Guillotine URL type */
|
|
20
|
+
export type MediaUrlResult = ImageUrl | AttachmentUrl;
|
|
21
|
+
/** Object returned by pageUrlQuery() */
|
|
22
|
+
export type PageUrlResult = PageUrl;
|
|
23
|
+
/** Meta for pageUrl(): the locale prefix is omitted when `locale` equals `defaultLocale`; without `defaultLocale` it is always added */
|
|
24
|
+
export type PageUrlMeta = Pick<MetaData, 'locale'> & Partial<Pick<MetaData, 'defaultLocale'>>;
|
|
25
|
+
/** Minimal input for the *Url() functions: `path` is required, `queryString` optional */
|
|
26
|
+
export type UrlParts<T extends {
|
|
27
|
+
path: string;
|
|
28
|
+
queryString: string;
|
|
29
|
+
}> = Pick<T, 'path'> & Partial<Pick<T, 'queryString'>>;
|
|
30
|
+
export interface UrlMappingRule {
|
|
31
|
+
sources: string[];
|
|
32
|
+
target: string;
|
|
33
|
+
matchAny?: boolean;
|
|
34
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urls.js","sourceRoot":"","sources":["../../src/types/urls.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MEDIA_URL } from '../common/env';
|
|
2
|
+
const MEDIA_MARKER = '/media:';
|
|
3
|
+
/** Absolute media URL from a Guillotine `path` or any XP media `url` (server-side only, passthrough on the client) */
|
|
4
|
+
export function getMediaUrl(urlOrPath) {
|
|
5
|
+
const index = urlOrPath.indexOf(MEDIA_MARKER);
|
|
6
|
+
if (!MEDIA_URL || index < 0) {
|
|
7
|
+
return urlOrPath;
|
|
8
|
+
}
|
|
9
|
+
return MEDIA_URL + urlOrPath.slice(index);
|
|
10
|
+
}
|
|
11
|
+
export function getMediaSrcSet(srcSet) {
|
|
12
|
+
return srcSet.split(',').map((candidate) => {
|
|
13
|
+
const [url, ...descriptors] = candidate.trim().split(/\s+/);
|
|
14
|
+
return [getMediaUrl(url), ...descriptors].join(' ');
|
|
15
|
+
}).join(', ');
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=getMediaUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMediaUrl.js","sourceRoot":"","sources":["../../src/utils/getMediaUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAExC,MAAM,YAAY,GAAG,SAAS,CAAC;AAE/B,sHAAsH;AACtH,MAAM,UAAU,WAAW,CAAC,SAAiB;IACzC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9C,IAAI,CAAC,SAAS,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc;IACzC,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACvC,MAAM,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { stripOutsideSlashes } from './fixDoubleSlashes';
|
|
2
|
+
/** Relative URL for a site-relative content path, prefixed with the locale unless it is the default locale */
|
|
3
|
+
export function getPageUrl(path, meta) {
|
|
4
|
+
const relative = stripOutsideSlashes(path || '');
|
|
5
|
+
const prefix = meta.locale === meta.defaultLocale ? '' : `/${meta.locale}`;
|
|
6
|
+
return relative ? `${prefix}/${relative}` : prefix || '/';
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=getPageUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPageUrl.js","sourceRoot":"","sources":["../../src/utils/getPageUrl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAEvD,8GAA8G;AAC9G,MAAM,UAAU,UAAU,CAAC,IAA+B,EAAE,IAAiB;IACzE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3E,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC;AAC9D,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { LocaleMapping, UrlMappingRule } from '../types';
|
|
2
|
+
/** Prefixes mapping targets with the locale, except for the default locale whose URLs carry no prefix; sources stay site-relative */
|
|
3
|
+
export declare function localizeMappings(mappings: UrlMappingRule[], mapping: Pick<LocaleMapping, 'locale' | 'default'>): UrlMappingRule[];
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { stripLeadingSlashes } from './fixDoubleSlashes';
|
|
2
|
+
/** Prefixes mapping targets with the locale, except for the default locale whose URLs carry no prefix; sources stay site-relative */
|
|
3
|
+
export function localizeMappings(mappings, mapping) {
|
|
4
|
+
return mappings.map((rule) => (Object.assign(Object.assign({}, rule), { target: mapping.default ? rule.target : `/${mapping.locale}/${stripLeadingSlashes(rule.target)}` })));
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=localizeMappings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localizeMappings.js","sourceRoot":"","sources":["../../src/utils/localizeMappings.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAEvD,qIAAqI;AACrI,MAAM,UAAU,gBAAgB,CAAC,QAA0B,EAAE,OAAkD;IAC3G,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iCACvB,IAAI,KACP,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAClG,CAAC,CAAC;AACR,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { draftMode } from 'next/headers';
|
|
2
|
+
import DraftModeButton from '../client/DraftModeButton';
|
|
3
|
+
import { disableDraftMode } from '../server/disableDraftMode';
|
|
4
|
+
const DEFAULT_LABEL = 'Draft Mode';
|
|
5
|
+
export default async function DraftModeIndicator({ label }) {
|
|
6
|
+
const { isEnabled } = await draftMode();
|
|
7
|
+
if (!isEnabled) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
return <DraftModeButton action={disableDraftMode} label={label || DEFAULT_LABEL}/>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=DraftModeIndicator.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DraftModeIndicator.jsx","sourceRoot":"","sources":["../../src/views/DraftModeIndicator.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAE5D,MAAM,aAAa,GAAG,YAAY,CAAC;AAEnC,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,kBAAkB,CAAC,EAAC,KAAK,EAA0B;IAC7E,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,SAAS,EAAE,CAAC;IACtC,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,aAAa,CAAC,EAAE,CAAC;AACvF,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { getUrl, UrlProcessor } from '../common/UrlProcessor';
|
|
2
1
|
import BaseMacro from './BaseMacro';
|
|
3
2
|
import Link from 'next/link';
|
|
3
|
+
import { pageUrl } from '../guillotine/urls';
|
|
4
|
+
import { getMediaSrcSet, getMediaUrl } from '../utils/getMediaUrl';
|
|
4
5
|
import { useMemo } from 'react';
|
|
5
6
|
import { RichText } from '@enonic/react-components';
|
|
6
7
|
const RichTextView = (props) => {
|
|
@@ -45,13 +46,17 @@ function MacroAdapter(props) {
|
|
|
45
46
|
return <BaseMacro data={data} meta={nextMeta}>{children}</BaseMacro>;
|
|
46
47
|
}
|
|
47
48
|
function LinkAdapter(props) {
|
|
48
|
-
var _a;
|
|
49
|
-
|
|
49
|
+
var _a, _b;
|
|
50
|
+
const contentUrl = pageUrl((_a = props.content) === null || _a === void 0 ? void 0 : _a.pageUrl, props.nextMeta);
|
|
51
|
+
if (contentUrl) {
|
|
52
|
+
return <Link href={contentUrl} data-content-path={(_b = props.content) === null || _b === void 0 ? void 0 : _b._path}>{props.children}</Link>;
|
|
53
|
+
}
|
|
54
|
+
// media and external links keep the href from processedHtml, media ones get the media base URL
|
|
55
|
+
return <a href={getMediaUrl(props.href)} target={props.target} title={props.title}>{props.children}</a>;
|
|
50
56
|
}
|
|
51
57
|
function ImageAdapter(props) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return <img src={getUrl(props.src, props.nextMeta)} style={props.style} alt={props.alt} sizes={props.sizes} srcSet={srcSet}/>;
|
|
58
|
+
const srcSet = props.srcSet && getMediaSrcSet(props.srcSet);
|
|
59
|
+
return <img src={getMediaUrl(props.src)} style={props.style} alt={props.alt} sizes={props.sizes} srcSet={srcSet}/>;
|
|
55
60
|
}
|
|
56
61
|
function toRichTextMetaData(meta) {
|
|
57
62
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextView.jsx","sourceRoot":"","sources":["../../src/views/RichTextView.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"RichTextView.jsx","sourceRoot":"","sources":["../../src/views/RichTextView.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enonic/nextjs-adapter",
|
|
3
|
-
"version": "6.0.0-beta.
|
|
3
|
+
"version": "6.0.0-beta.4",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"author": "Pavel Milkevich <pmi@enonic.com>",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"access": "public"
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
|
-
"build": "tsc",
|
|
44
|
+
"build": "tsc && cpy '**/*.module.css' ../dist --cwd=src",
|
|
45
45
|
"clean": "del-cli dist/ enonic-nextjs-adapter-*.tgz",
|
|
46
46
|
"check:types": "tsc --noEmit",
|
|
47
47
|
"madge": "madge -i docs/madge.png -x '(constants|env)\\.ts' src/index.ts",
|
|
@@ -55,40 +55,40 @@
|
|
|
55
55
|
"test": "jest --no-cache --coverage"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@enonic/react-components": "^7.0.0
|
|
59
|
-
"@formatjs/intl-localematcher": "^0.8.
|
|
58
|
+
"@enonic/react-components": "^7.0.0",
|
|
59
|
+
"@formatjs/intl-localematcher": "^0.8.13",
|
|
60
60
|
"gqlmin": "^0.3.2",
|
|
61
|
-
"negotiator": "^1.
|
|
61
|
+
"negotiator": "^1.1.0",
|
|
62
62
|
"unescape": "^1.0.1"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
|
-
"@babel/core": "^7.29.
|
|
66
|
-
"@babel/preset-env": "^7.29.
|
|
65
|
+
"@babel/core": "^7.29.7",
|
|
66
|
+
"@babel/preset-env": "^7.29.7",
|
|
67
67
|
"@edge-runtime/jest-environment": "^4.0.0",
|
|
68
|
-
"@enonic-types/core": "^8.0.
|
|
68
|
+
"@enonic-types/core": "^8.0.4",
|
|
69
69
|
"@enonic/eslint-config": "^2.3.0",
|
|
70
70
|
"@testing-library/dom": "^10.4.1",
|
|
71
|
-
"@testing-library/jest-dom": "^
|
|
72
|
-
"@testing-library/react": "^16.3.
|
|
73
|
-
"@types/negotiator": "^0.6.
|
|
74
|
-
"@types/node": "^
|
|
71
|
+
"@testing-library/jest-dom": "^7.0.1",
|
|
72
|
+
"@testing-library/react": "^16.3.3",
|
|
73
|
+
"@types/negotiator": "^0.6.5",
|
|
74
|
+
"@types/node": "^26.5.1",
|
|
75
75
|
"@types/react": "^19",
|
|
76
76
|
"@types/react-dom": "^19",
|
|
77
|
-
"babel-jest": "^30.
|
|
78
|
-
"concurrently": "^
|
|
77
|
+
"babel-jest": "^30.5.1",
|
|
78
|
+
"concurrently": "^10.0.5",
|
|
79
79
|
"cpy-cli": "^7.0.0",
|
|
80
80
|
"del-cli": "^7.0.0",
|
|
81
81
|
"eslint": "^9.39.2",
|
|
82
82
|
"eslint-plugin-react": "^7.37.5",
|
|
83
83
|
"html-react-parser": "^5.2.6",
|
|
84
|
-
"jest": "^30.
|
|
85
|
-
"jest-environment-jsdom": "^30.
|
|
84
|
+
"jest": "^30.5.1",
|
|
85
|
+
"jest-environment-jsdom": "^30.5.1",
|
|
86
86
|
"madge": "^8.0.0",
|
|
87
87
|
"mkdirp": "^3.0.1",
|
|
88
|
-
"ts-jest": "^29.4.
|
|
88
|
+
"ts-jest": "^29.4.12",
|
|
89
89
|
"ts-node": "^10.9.2",
|
|
90
90
|
"typescript": "^5.9.3",
|
|
91
|
-
"typescript-eslint": "^8.
|
|
91
|
+
"typescript-eslint": "^8.70.0"
|
|
92
92
|
},
|
|
93
93
|
"types": "index.d.ts",
|
|
94
94
|
"peerDependencies": {
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { ImageData, LinkData, MetaData } from '../types';
|
|
2
|
-
export declare class UrlProcessor {
|
|
3
|
-
static IMG_TAG: string;
|
|
4
|
-
static LINK_TAG: string;
|
|
5
|
-
static MACRO_TAG: string;
|
|
6
|
-
static IMG_ATTR: string;
|
|
7
|
-
static LINK_ATTR: string;
|
|
8
|
-
static MACRO_ATTR: string;
|
|
9
|
-
private static IMG_ATMT_REGEXP;
|
|
10
|
-
static process(url: string, meta: MetaData, serverSide?: boolean, isResource?: boolean): string;
|
|
11
|
-
private static normalizeBaseUrl;
|
|
12
|
-
static isMediaLink(ref: string, linkData: LinkData[]): boolean;
|
|
13
|
-
static isContentImage(ref: string, imageData: ImageData[]): boolean;
|
|
14
|
-
static processSrcSet(srcset: string, meta: MetaData): string;
|
|
15
|
-
private static isAttachmentUrl;
|
|
16
|
-
private static startsWithHash;
|
|
17
|
-
private static isAbsolute;
|
|
18
|
-
}
|
|
19
|
-
export declare function getUrl(url: string, meta: MetaData): string;
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { RENDER_MODE } from './constants';
|
|
2
|
-
import { fixDoubleSlashes } from '../utils/fixDoubleSlashes';
|
|
3
|
-
import { addBasePath } from 'next/dist/client/add-base-path';
|
|
4
|
-
import { API_URL } from './env';
|
|
5
|
-
export class UrlProcessor {
|
|
6
|
-
static process(url, meta, serverSide = false, isResource = false) {
|
|
7
|
-
if (this.startsWithHash(url) || this.isAbsolute(url) || !meta) {
|
|
8
|
-
// do not process if:
|
|
9
|
-
// - url starts with #
|
|
10
|
-
// - url is absolute
|
|
11
|
-
// - meta is absent
|
|
12
|
-
return url;
|
|
13
|
-
}
|
|
14
|
-
if (this.isAttachmentUrl(url)) {
|
|
15
|
-
// XP resource, add api url host and base url
|
|
16
|
-
const apiUrl = new URL(API_URL);
|
|
17
|
-
return `${apiUrl.origin}${url}`;
|
|
18
|
-
}
|
|
19
|
-
let result = this.normalizeBaseUrl(url, meta, isResource);
|
|
20
|
-
if (!isResource && meta.locale !== meta.defaultLocale) {
|
|
21
|
-
// append locale if it's not the default one
|
|
22
|
-
// to avoid additional middleware redirection
|
|
23
|
-
// NB: don't add locale to resource urls
|
|
24
|
-
result = `/${meta.locale}${result}`;
|
|
25
|
-
}
|
|
26
|
-
// only add basePath and locale in next mode
|
|
27
|
-
if (meta.renderMode === RENDER_MODE.NEXT) {
|
|
28
|
-
if (!serverSide) {
|
|
29
|
-
// no need for baseurl and basepath on server
|
|
30
|
-
result = addBasePath(result);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return fixDoubleSlashes(result);
|
|
34
|
-
}
|
|
35
|
-
static normalizeBaseUrl(url, meta, isResource) {
|
|
36
|
-
if (isResource) {
|
|
37
|
-
return url;
|
|
38
|
-
}
|
|
39
|
-
let result = url;
|
|
40
|
-
if (result.charAt(0) !== '/') {
|
|
41
|
-
result = '/' + result;
|
|
42
|
-
}
|
|
43
|
-
// Drop the site-name prefix so urls are site-relative
|
|
44
|
-
// (e.g. /sitename/content/path -> /content/path)
|
|
45
|
-
if (meta.site && meta.site !== '/'
|
|
46
|
-
&& (result === meta.site || result.startsWith(`${meta.site}/`))) {
|
|
47
|
-
result = result.substring(meta.site.length) || '/';
|
|
48
|
-
}
|
|
49
|
-
return result;
|
|
50
|
-
}
|
|
51
|
-
static isMediaLink(ref, linkData) {
|
|
52
|
-
var _a;
|
|
53
|
-
// Assuming linkData can't contain more than one entry with the same ref
|
|
54
|
-
return Array.isArray(linkData) && !!((_a = linkData.find(data => (data === null || data === void 0 ? void 0 : data.ref) === ref)) === null || _a === void 0 ? void 0 : _a.media);
|
|
55
|
-
}
|
|
56
|
-
static isContentImage(ref, imageData) {
|
|
57
|
-
var _a;
|
|
58
|
-
// Assuming imageData can't contain more than one entry with the same ref
|
|
59
|
-
return Array.isArray(imageData) && !!((_a = imageData.find(data => data.ref === ref)) === null || _a === void 0 ? void 0 : _a.image);
|
|
60
|
-
}
|
|
61
|
-
static processSrcSet(srcset, meta) {
|
|
62
|
-
return srcset.split(/, */g).map(src => {
|
|
63
|
-
const srcParts = src.trim().split(' ');
|
|
64
|
-
switch (srcParts.length) {
|
|
65
|
-
case 1: // src only
|
|
66
|
-
return UrlProcessor.process(src, meta, false, true);
|
|
67
|
-
case 2: // width descriptor
|
|
68
|
-
return `${UrlProcessor.process(srcParts[0], meta, false, true)} ${srcParts[1]}`;
|
|
69
|
-
case 3: // pixel density descriptor
|
|
70
|
-
return `${UrlProcessor.process(srcParts[0], meta, false, true)} ${srcParts[1]} ${srcParts[2]}`;
|
|
71
|
-
default:
|
|
72
|
-
console.warn('Can not process image srcset: ' + src);
|
|
73
|
-
return src;
|
|
74
|
-
}
|
|
75
|
-
}).join(', ');
|
|
76
|
-
}
|
|
77
|
-
static isAttachmentUrl(url) {
|
|
78
|
-
return this.IMG_ATMT_REGEXP.test(url);
|
|
79
|
-
}
|
|
80
|
-
static startsWithHash(url) {
|
|
81
|
-
return (url === null || url === void 0 ? void 0 : url.charAt(0)) == '#';
|
|
82
|
-
}
|
|
83
|
-
static isAbsolute(url) {
|
|
84
|
-
return /^(?:ht|f)tps?:\/\/[^ :\r\n\t]+/.test(url);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
UrlProcessor.IMG_TAG = 'img';
|
|
88
|
-
UrlProcessor.LINK_TAG = 'a';
|
|
89
|
-
UrlProcessor.MACRO_TAG = 'editor-macro';
|
|
90
|
-
UrlProcessor.IMG_ATTR = 'data-image-ref';
|
|
91
|
-
UrlProcessor.LINK_ATTR = 'data-link-ref';
|
|
92
|
-
UrlProcessor.MACRO_ATTR = 'data-macro-ref';
|
|
93
|
-
UrlProcessor.IMG_ATMT_REGEXP = /\/_\/media:(image|attachment)\//;
|
|
94
|
-
export function getUrl(url, meta) {
|
|
95
|
-
return UrlProcessor.process(url, meta, false, false);
|
|
96
|
-
}
|
|
97
|
-
//# sourceMappingURL=UrlProcessor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UrlProcessor.js","sourceRoot":"","sources":["../../src/common/UrlProcessor.ts"],"names":[],"mappings":"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"}
|