@airdraft/content 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/body.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  /**
2
- * Parse a Markdown string to sanitised HTML.
3
- * Safe for use with `dangerouslySetInnerHTML` in React.
2
+ * Parse a Markdown string to HTML.
3
+ * Safe for use with `dangerouslySetInnerHTML` in React — content is authored
4
+ * by authenticated CMS users, not arbitrary end-users.
4
5
  *
5
6
  * The underlying parser is `marked`. Configure a custom renderer via
6
7
  * the `render` prop on `<BodyField>` instead of tweaking this function.
@@ -1 +1 @@
1
- {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../src/body.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAMhD"}
1
+ {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../src/body.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAMhD"}
package/dist/body.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { marked } from 'marked';
2
- import DOMPurify from 'isomorphic-dompurify';
3
2
  /**
4
- * Parse a Markdown string to sanitised HTML.
5
- * Safe for use with `dangerouslySetInnerHTML` in React.
3
+ * Parse a Markdown string to HTML.
4
+ * Safe for use with `dangerouslySetInnerHTML` in React — content is authored
5
+ * by authenticated CMS users, not arbitrary end-users.
6
6
  *
7
7
  * The underlying parser is `marked`. Configure a custom renderer via
8
8
  * the `render` prop on `<BodyField>` instead of tweaking this function.
@@ -11,8 +11,7 @@ export function parseMarkdown(text) {
11
11
  if (!text)
12
12
  return '';
13
13
  // marked.parse is sync when not given async extensions
14
- const raw = marked.parse(text, { async: false });
15
- return DOMPurify.sanitize(raw);
14
+ return marked.parse(text, { async: false });
16
15
  }
17
16
  /**
18
17
  * Split a plain `text` field value into paragraphs.
package/dist/body.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"body.js","sourceRoot":"","sources":["../src/body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,SAAS,MAAM,sBAAsB,CAAA;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IACpB,uDAAuD;IACvD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAW,CAAA;IAC1D,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IACpB,OAAO,IAAI;SACR,KAAK,CAAC,QAAQ,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"body.js","sourceRoot":"","sources":["../src/body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IACpB,uDAAuD;IACvD,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAW,CAAA;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IACpB,OAAO,IAAI;SACR,KAAK,CAAC,QAAQ,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAA;AACpB,CAAC"}
package/dist/image.d.ts CHANGED
@@ -10,6 +10,23 @@
10
10
  * @param data - entry data object
11
11
  */
12
12
  export declare function resolveImageUrl(fieldName: string, data: Record<string, unknown>): string | undefined;
13
+ /**
14
+ * Alias for {@link resolveImageUrl} — works for any single `media` field.
15
+ * Prefer `resolveMediaUrl` for new `media`-typed fields.
16
+ */
17
+ export declare const resolveMediaUrl: typeof resolveImageUrl;
18
+ /**
19
+ * Resolve all URLs for a `media` field with `multiple: true`.
20
+ *
21
+ * Resolution chain:
22
+ * 1. data[`${fieldName}_medias`] — injected array of MediaItem objects → extracts `.url`
23
+ * 2. data[`${fieldName}_urls`] — injected string array
24
+ * 3. data[fieldName] — raw value (string[] or JSON-encoded string[])
25
+ *
26
+ * @param fieldName - e.g. 'gallery', 'attachments'
27
+ * @param data - entry data object
28
+ */
29
+ export declare function resolveMediaUrls(fieldName: string, data: Record<string, unknown>): string[];
13
30
  /**
14
31
  * Resolve dimensions for an image field from the airdraft media object,
15
32
  * if available. Used by the Next.js `<AirdraftImage>` component to pass
@@ -1 +1 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,GAAG,SAAS,CAwBpB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAS/C"}
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,GAAG,SAAS,CAwBpB;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,wBAAkB,CAAA;AAE9C;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,EAAE,CA4CV;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAS/C"}
package/dist/image.js CHANGED
@@ -33,6 +33,69 @@ export function resolveImageUrl(fieldName, data) {
33
33
  }
34
34
  return undefined;
35
35
  }
36
+ /**
37
+ * Alias for {@link resolveImageUrl} — works for any single `media` field.
38
+ * Prefer `resolveMediaUrl` for new `media`-typed fields.
39
+ */
40
+ export const resolveMediaUrl = resolveImageUrl;
41
+ /**
42
+ * Resolve all URLs for a `media` field with `multiple: true`.
43
+ *
44
+ * Resolution chain:
45
+ * 1. data[`${fieldName}_medias`] — injected array of MediaItem objects → extracts `.url`
46
+ * 2. data[`${fieldName}_urls`] — injected string array
47
+ * 3. data[fieldName] — raw value (string[] or JSON-encoded string[])
48
+ *
49
+ * @param fieldName - e.g. 'gallery', 'attachments'
50
+ * @param data - entry data object
51
+ */
52
+ export function resolveMediaUrls(fieldName, data) {
53
+ // 1. Managed media objects array
54
+ const mediasRaw = data[`${fieldName}_medias`];
55
+ if (Array.isArray(mediasRaw)) {
56
+ const urls = [];
57
+ for (const item of mediasRaw) {
58
+ if (item && typeof item === 'object' && 'url' in item) {
59
+ const u = item['url'];
60
+ if (typeof u === 'string' && u)
61
+ urls.push(u);
62
+ }
63
+ }
64
+ if (urls.length > 0)
65
+ return urls;
66
+ }
67
+ // 2. Injected URL array
68
+ const urlsRaw = data[`${fieldName}_urls`];
69
+ if (Array.isArray(urlsRaw)) {
70
+ return urlsRaw.filter((u) => typeof u === 'string' && u.length > 0);
71
+ }
72
+ // 3. Raw field value — string[] or JSON-encoded string[]
73
+ const raw = data[fieldName];
74
+ if (Array.isArray(raw)) {
75
+ return raw.filter((k) => typeof k === 'string' && k.length > 0).map((k) => {
76
+ if (k.startsWith('http://') || k.startsWith('https://') || k.startsWith('/'))
77
+ return k;
78
+ return `/${k}`;
79
+ });
80
+ }
81
+ if (typeof raw === 'string' && raw) {
82
+ try {
83
+ const parsed = JSON.parse(raw);
84
+ if (Array.isArray(parsed)) {
85
+ return parsed.filter((k) => typeof k === 'string').map((k) => {
86
+ if (k.startsWith('http://') || k.startsWith('https://') || k.startsWith('/'))
87
+ return k;
88
+ return `/${k}`;
89
+ });
90
+ }
91
+ }
92
+ catch {
93
+ // not JSON — treat as single key
94
+ return [raw.startsWith('/') || raw.startsWith('http') ? raw : `/${raw}`];
95
+ }
96
+ }
97
+ return [];
98
+ }
36
99
  /**
37
100
  * Resolve dimensions for an image field from the airdraft media object,
38
101
  * if available. Used by the Next.js `<AirdraftImage>` component to pass
package/dist/image.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAC7B,SAAiB,EACjB,IAA6B;IAE7B,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,SAAS,QAAQ,CAAC,CAAA;IAC3C,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;QAClE,MAAM,GAAG,GAAI,QAAoC,CAAC,KAAK,CAAC,CAAA;QACxD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG;YAAE,OAAO,GAAG,CAAA;IAChD,CAAC;IAED,wBAAwB;IACxB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,SAAS,MAAM,CAAC,CAAA;IACvC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IAEvD,+CAA+C;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;IAC3B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE,CAAC;QACnC,iEAAiE;QACjE,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACnF,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,kDAAkD;QAClD,OAAO,IAAI,GAAG,EAAE,CAAA;IAClB,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,SAAiB,EACjB,IAA6B;IAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,SAAS,QAAQ,CAAC,CAAA;IAC3C,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,QAAmC,CAAA;QAC7C,IAAI,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;YACtE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnD,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { resolveImageUrl, resolveImageDimensions } from './image.js';
1
+ export { resolveImageUrl, resolveMediaUrl, resolveMediaUrls, resolveImageDimensions } from './image.js';
2
2
  export { parseMarkdown, parseText } from './body.js';
3
3
  export { resolveRelation, resolveRelations } from './relation.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACvG,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { resolveImageUrl, resolveImageDimensions } from './image.js';
1
+ export { resolveImageUrl, resolveMediaUrl, resolveMediaUrls, resolveImageDimensions } from './image.js';
2
2
  export { parseMarkdown, parseText } from './body.js';
3
3
  export { resolveRelation, resolveRelations } from './relation.js';
4
4
  //# 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,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACvG,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@airdraft/content",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Airdraft framework-agnostic content rendering utilities — URL resolution, Markdown parsing, relation helpers",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -26,12 +26,9 @@
26
26
  "publishConfig": { "access": "public" },
27
27
  "license": "MIT",
28
28
  "dependencies": {
29
- "dompurify": "^3.2.6",
30
- "isomorphic-dompurify": "^2.26.0",
31
29
  "marked": "^12.0.0"
32
30
  },
33
31
  "devDependencies": {
34
- "@types/dompurify": "^3.0.5",
35
32
  "typescript": "^5.7.2"
36
33
  }
37
34
  }