@enonic/nextjs-adapter 6.0.0-beta.3 → 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.
Files changed (75) hide show
  1. package/README.md +65 -106
  2. package/dist/client/DraftModeButton.d.ts +2 -0
  3. package/dist/client/DraftModeButton.jsx +28 -0
  4. package/dist/client/DraftModeButton.jsx.map +1 -0
  5. package/dist/client/DraftModeButton.module.css +43 -0
  6. package/dist/client/replaceLocation.d.ts +1 -0
  7. package/dist/client/replaceLocation.js +5 -0
  8. package/dist/client/replaceLocation.js.map +1 -0
  9. package/dist/common/constants.d.ts +4 -0
  10. package/dist/common/constants.js +4 -0
  11. package/dist/common/constants.js.map +1 -1
  12. package/dist/common/env.d.ts +5 -1
  13. package/dist/common/env.js +8 -3
  14. package/dist/common/env.js.map +1 -1
  15. package/dist/guillotine/applyProcessors.js +18 -29
  16. package/dist/guillotine/applyProcessors.js.map +1 -1
  17. package/dist/guillotine/fetchContent.js +180 -191
  18. package/dist/guillotine/fetchContent.js.map +1 -1
  19. package/dist/guillotine/fetchContentData.js +3 -12
  20. package/dist/guillotine/fetchContentData.js.map +1 -1
  21. package/dist/guillotine/fetchContentPathsForAllLocales.js +4 -15
  22. package/dist/guillotine/fetchContentPathsForAllLocales.js.map +1 -1
  23. package/dist/guillotine/fetchContentPathsForLocale.js +25 -36
  24. package/dist/guillotine/fetchContentPathsForLocale.js.map +1 -1
  25. package/dist/guillotine/fetchFromApi.js +48 -59
  26. package/dist/guillotine/fetchFromApi.js.map +1 -1
  27. package/dist/guillotine/fetchGuillotine.js +49 -60
  28. package/dist/guillotine/fetchGuillotine.js.map +1 -1
  29. package/dist/guillotine/fetchMetaData.js +3 -12
  30. package/dist/guillotine/fetchMetaData.js.map +1 -1
  31. package/dist/guillotine/metadata/richTextQuery.js +4 -9
  32. package/dist/guillotine/metadata/richTextQuery.js.map +1 -1
  33. package/dist/guillotine/urlQueries.d.ts +5 -0
  34. package/dist/guillotine/urlQueries.js +23 -0
  35. package/dist/guillotine/urlQueries.js.map +1 -0
  36. package/dist/guillotine/urls.d.ts +9 -0
  37. package/dist/guillotine/urls.js +18 -0
  38. package/dist/guillotine/urls.js.map +1 -0
  39. package/dist/guillotine/validateShortcut.js +4 -5
  40. package/dist/guillotine/validateShortcut.js.map +1 -1
  41. package/dist/i18n/LocaleContext.jsx +2 -11
  42. package/dist/i18n/LocaleContext.jsx.map +1 -1
  43. package/dist/i18n/i18n.js +9 -20
  44. package/dist/i18n/i18n.js.map +1 -1
  45. package/dist/index.d.ts +4 -2
  46. package/dist/index.js +4 -2
  47. package/dist/index.js.map +1 -1
  48. package/dist/query/Shortcut.js +2 -3
  49. package/dist/query/Shortcut.js.map +1 -1
  50. package/dist/server/disableDraftMode.d.ts +1 -0
  51. package/dist/server/disableDraftMode.js +7 -0
  52. package/dist/server/disableDraftMode.js.map +1 -0
  53. package/dist/types/guillotine.d.ts +2 -2
  54. package/dist/types/index.d.ts +6 -0
  55. package/dist/types/urls.d.ts +34 -0
  56. package/dist/types/urls.js +2 -0
  57. package/dist/types/urls.js.map +1 -0
  58. package/dist/utils/getMediaUrl.d.ts +3 -0
  59. package/dist/utils/getMediaUrl.js +17 -0
  60. package/dist/utils/getMediaUrl.js.map +1 -0
  61. package/dist/utils/getPageUrl.d.ts +3 -0
  62. package/dist/utils/getPageUrl.js +8 -0
  63. package/dist/utils/getPageUrl.js.map +1 -0
  64. package/dist/utils/localizeMappings.d.ts +3 -0
  65. package/dist/utils/localizeMappings.js +6 -0
  66. package/dist/utils/localizeMappings.js.map +1 -0
  67. package/dist/views/DraftModeIndicator.d.ts +2 -0
  68. package/dist/views/DraftModeIndicator.jsx +12 -0
  69. package/dist/views/DraftModeIndicator.jsx.map +1 -0
  70. package/dist/views/RichTextView.jsx +10 -3
  71. package/dist/views/RichTextView.jsx.map +1 -1
  72. package/package.json +7 -7
  73. package/dist/common/UrlProcessor.d.ts +0 -17
  74. package/dist/common/UrlProcessor.js +0 -33
  75. package/dist/common/UrlProcessor.js.map +0 -1
@@ -1,11 +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
- pageUrl {
7
- path
8
- }
7
+ ${pageUrlQuery()}
9
8
  }
10
9
  parameters {
11
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;AAElE,MAAM,CAAC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;;;;;;;;;;;;;;IAcpD,CAAC,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"}
@@ -231,7 +231,7 @@ interface Media {
231
231
  intent: MediaIntentType;
232
232
  }
233
233
  type MediaIntentType = 'download' | 'inline';
234
- interface AttachmentUrl {
234
+ export interface AttachmentUrl {
235
235
  url: string;
236
236
  path: string;
237
237
  queryString: string;
@@ -241,7 +241,7 @@ interface AttachmentUrl {
241
241
  name: string;
242
242
  intent: MediaIntentType;
243
243
  }
244
- interface ImageUrl {
244
+ export interface ImageUrl {
245
245
  url: string;
246
246
  path: string;
247
247
  queryString: string;
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=urls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urls.js","sourceRoot":"","sources":["../../src/types/urls.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ /** Absolute media URL from a Guillotine `path` or any XP media `url` (server-side only, passthrough on the client) */
2
+ export declare function getMediaUrl(urlOrPath: string): string;
3
+ export declare function getMediaSrcSet(srcSet: string): string;
@@ -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,3 @@
1
+ import type { PageUrlMeta } from '../types';
2
+ /** Relative URL for a site-relative content path, prefixed with the locale unless it is the default locale */
3
+ export declare function getPageUrl(path: string | null | undefined, meta: PageUrlMeta): string;
@@ -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,2 @@
1
+ import type { DraftModeIndicatorProps } from '../types';
2
+ export default function DraftModeIndicator({ label }: DraftModeIndicatorProps): Promise<import("react").JSX.Element>;
@@ -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,5 +1,7 @@
1
1
  import BaseMacro from './BaseMacro';
2
2
  import Link from 'next/link';
3
+ import { pageUrl } from '../guillotine/urls';
4
+ import { getMediaSrcSet, getMediaUrl } from '../utils/getMediaUrl';
3
5
  import { useMemo } from 'react';
4
6
  import { RichText } from '@enonic/react-components';
5
7
  const RichTextView = (props) => {
@@ -45,11 +47,16 @@ function MacroAdapter(props) {
45
47
  }
46
48
  function LinkAdapter(props) {
47
49
  var _a, _b;
48
- const pageUrl = (_a = props.content) === null || _a === void 0 ? void 0 : _a.pageUrl;
49
- return <Link href={(pageUrl === null || pageUrl === void 0 ? void 0 : pageUrl.path) || props.href} data-content-path={(_b = props.content) === null || _b === void 0 ? void 0 : _b._path}>{props.children}</Link>;
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
- return <img src={props.src} style={props.style} alt={props.alt} sizes={props.sizes} srcSet={props.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}/>;
53
60
  }
54
61
  function toRichTextMetaData(meta) {
55
62
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextView.jsx","sourceRoot":"","sources":["../../src/views/RichTextView.tsx"],"names":[],"mappings":"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"}
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",
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",
@@ -71,24 +71,24 @@
71
71
  "@testing-library/jest-dom": "^7.0.1",
72
72
  "@testing-library/react": "^16.3.3",
73
73
  "@types/negotiator": "^0.6.5",
74
- "@types/node": "^26.4.0",
74
+ "@types/node": "^26.5.1",
75
75
  "@types/react": "^19",
76
76
  "@types/react-dom": "^19",
77
- "babel-jest": "^30.4.1",
77
+ "babel-jest": "^30.5.1",
78
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.3.0",
85
- "jest-environment-jsdom": "^30.4.1",
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
88
  "ts-jest": "^29.4.12",
89
89
  "ts-node": "^10.9.2",
90
90
  "typescript": "^5.9.3",
91
- "typescript-eslint": "^8.68.0"
91
+ "typescript-eslint": "^8.70.0"
92
92
  },
93
93
  "types": "index.d.ts",
94
94
  "peerDependencies": {
@@ -1,17 +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
- /** * @deprecated No need to process urls anymore! */
10
- static process(url: string, meta: MetaData, serverSide?: boolean, isResource?: boolean): string;
11
- static isMediaLink(ref: string, linkData: LinkData[]): boolean;
12
- static isContentImage(ref: string, imageData: ImageData[]): boolean;
13
- /** * @deprecated No need to process urls anymore! */
14
- static processSrcSet(srcset: string, meta: MetaData): string;
15
- }
16
- /** * @deprecated No need to process urls anymore! */
17
- export declare function getUrl(url: string, meta: MetaData): string;
@@ -1,33 +0,0 @@
1
- export class UrlProcessor {
2
- /** * @deprecated No need to process urls anymore! */
3
- static process(url, meta, serverSide = false, isResource = false) {
4
- return url;
5
- }
6
- static isMediaLink(ref, linkData) {
7
- var _a;
8
- // Assuming linkData can't contain more than one entry with the same ref
9
- 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);
10
- }
11
- static isContentImage(ref, imageData) {
12
- var _a;
13
- // Assuming imageData can't contain more than one entry with the same ref
14
- return Array.isArray(imageData) && !!((_a = imageData.find(data => data.ref === ref)) === null || _a === void 0 ? void 0 : _a.image);
15
- }
16
- /** * @deprecated No need to process urls anymore! */
17
- static processSrcSet(srcset, meta) {
18
- console.warn('processSrcSet() is deprecated. No need to process urls anymore!');
19
- return srcset;
20
- }
21
- }
22
- UrlProcessor.IMG_TAG = 'img';
23
- UrlProcessor.LINK_TAG = 'a';
24
- UrlProcessor.MACRO_TAG = 'editor-macro';
25
- UrlProcessor.IMG_ATTR = 'data-image-ref';
26
- UrlProcessor.LINK_ATTR = 'data-link-ref';
27
- UrlProcessor.MACRO_ATTR = 'data-macro-ref';
28
- /** * @deprecated No need to process urls anymore! */
29
- export function getUrl(url, meta) {
30
- console.warn('getUrl() is deprecated. No need to process urls anymore!');
31
- return UrlProcessor.process(url, meta, false, false);
32
- }
33
- //# sourceMappingURL=UrlProcessor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UrlProcessor.js","sourceRoot":"","sources":["../../src/common/UrlProcessor.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,YAAY;IAUrB,qDAAqD;IAC9C,MAAM,CAAC,OAAO,CAAC,GAAW,EAAE,IAAc,EAAE,UAAU,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK;QACrF,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,GAAW,EAAE,QAAoB;;QACvD,wEAAwE;QACxE,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,MAAK,GAAG,CAAC,0CAAE,KAAK,CAAA,CAAC;IACxF,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,GAAW,EAAE,SAAsB;;QAC5D,yEAAyE;QACzE,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA,MAAA,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,0CAAE,KAAK,CAAA,CAAC;IACzF,CAAC;IAED,qDAAqD;IAC9C,MAAM,CAAC,aAAa,CAAC,MAAc,EAAE,IAAc;QACtD,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QAChF,OAAO,MAAM,CAAC;IAClB,CAAC;;AA3Ba,oBAAO,GAAG,KAAK,CAAC;AAChB,qBAAQ,GAAG,GAAG,CAAC;AACf,sBAAS,GAAG,cAAc,CAAC;AAE3B,qBAAQ,GAAG,gBAAgB,CAAC;AAC5B,sBAAS,GAAG,eAAe,CAAC;AAC5B,uBAAU,GAAG,gBAAgB,CAAC;AAwBhD,qDAAqD;AACrD,MAAM,UAAU,MAAM,CAAC,GAAW,EAAE,IAAc;IAC9C,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IACzE,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC"}