@ndla/article-converter 6.0.41 → 6.0.43

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 (147) hide show
  1. package/es/extractEmbedMeta.js +8 -8
  2. package/es/index.js +2 -2
  3. package/es/plugins/anchorPlugin.js +3 -3
  4. package/es/plugins/asidePlugin.js +4 -4
  5. package/es/plugins/copyParagraphPlugin.js +4 -4
  6. package/es/plugins/ddPlugin.js +2 -2
  7. package/es/plugins/divPlugin.js +14 -14
  8. package/es/plugins/dtPlugin.js +2 -2
  9. package/es/plugins/embed/KeyFigureEmbedPlugin.js +5 -5
  10. package/es/plugins/embed/audioEmbedPlugin.js +3 -3
  11. package/es/plugins/embed/blogPostEmbedPlugin.js +5 -5
  12. package/es/plugins/embed/brightcoveEmbedPlugin.js +3 -3
  13. package/es/plugins/embed/campaignBlockPlugin.js +5 -5
  14. package/es/plugins/embed/codeEmbedPlugin.js +3 -3
  15. package/es/plugins/embed/conceptEmbedPlugin.js +3 -3
  16. package/es/plugins/embed/conceptListEmbedPlugin.js +3 -3
  17. package/es/plugins/embed/contactBlockEmbedPlugin.js +4 -4
  18. package/es/plugins/embed/contentLinkEmbedPlugin.js +3 -3
  19. package/es/plugins/embed/externalEmbedPlugin.js +3 -3
  20. package/es/plugins/embed/fileEmbedPlugin.js +5 -5
  21. package/es/plugins/embed/footnoteEmbedPlugin.js +3 -3
  22. package/es/plugins/embed/h5pEmbedPlugin.js +3 -3
  23. package/es/plugins/embed/iframeEmbedPlugin.js +3 -3
  24. package/es/plugins/embed/imageEmbedPlugin.js +4 -4
  25. package/es/plugins/embed/index.js +27 -27
  26. package/es/plugins/embed/linkBlockEmbedPlugin.js +3 -3
  27. package/es/plugins/embed/relatedContentEmbedPlugin.js +3 -3
  28. package/es/plugins/h3Plugin.js +1 -1
  29. package/es/plugins/index.js +15 -15
  30. package/es/plugins/mathPlugin.js +2 -2
  31. package/es/plugins/navPlugin.js +3 -3
  32. package/es/plugins/oembed/anchorPlugin.js +3 -3
  33. package/es/plugins/olPlugin.js +5 -5
  34. package/es/plugins/paragraphPlugin.js +3 -3
  35. package/es/plugins/spanPlugin.js +3 -3
  36. package/es/plugins/tablePlugin.js +2 -2
  37. package/es/plugins/ulPlugin.js +3 -3
  38. package/es/transform.js +9 -9
  39. package/lib/extractEmbedMeta.d.ts +1 -1
  40. package/lib/extractEmbedMeta.js +7 -7
  41. package/lib/index.d.ts +3 -3
  42. package/lib/plugins/anchorPlugin.d.ts +1 -1
  43. package/lib/plugins/asidePlugin.d.ts +1 -1
  44. package/lib/plugins/asidePlugin.js +2 -2
  45. package/lib/plugins/copyParagraphPlugin.d.ts +1 -1
  46. package/lib/plugins/copyParagraphPlugin.js +2 -2
  47. package/lib/plugins/ddPlugin.d.ts +1 -1
  48. package/lib/plugins/divPlugin.d.ts +1 -1
  49. package/lib/plugins/divPlugin.js +11 -11
  50. package/lib/plugins/dtPlugin.d.ts +1 -1
  51. package/lib/plugins/embed/KeyFigureEmbedPlugin.d.ts +1 -1
  52. package/lib/plugins/embed/KeyFigureEmbedPlugin.js +3 -3
  53. package/lib/plugins/embed/audioEmbedPlugin.d.ts +1 -1
  54. package/lib/plugins/embed/audioEmbedPlugin.js +1 -1
  55. package/lib/plugins/embed/blogPostEmbedPlugin.d.ts +1 -1
  56. package/lib/plugins/embed/blogPostEmbedPlugin.js +3 -3
  57. package/lib/plugins/embed/brightcoveEmbedPlugin.d.ts +1 -1
  58. package/lib/plugins/embed/brightcoveEmbedPlugin.js +1 -1
  59. package/lib/plugins/embed/campaignBlockPlugin.d.ts +1 -1
  60. package/lib/plugins/embed/campaignBlockPlugin.js +3 -3
  61. package/lib/plugins/embed/codeEmbedPlugin.d.ts +1 -1
  62. package/lib/plugins/embed/codeEmbedPlugin.js +1 -1
  63. package/lib/plugins/embed/conceptEmbedPlugin.d.ts +1 -1
  64. package/lib/plugins/embed/conceptEmbedPlugin.js +1 -1
  65. package/lib/plugins/embed/conceptListEmbedPlugin.d.ts +1 -1
  66. package/lib/plugins/embed/conceptListEmbedPlugin.js +1 -1
  67. package/lib/plugins/embed/contactBlockEmbedPlugin.d.ts +1 -1
  68. package/lib/plugins/embed/contactBlockEmbedPlugin.js +2 -2
  69. package/lib/plugins/embed/contentLinkEmbedPlugin.d.ts +1 -1
  70. package/lib/plugins/embed/contentLinkEmbedPlugin.js +1 -1
  71. package/lib/plugins/embed/externalEmbedPlugin.d.ts +1 -1
  72. package/lib/plugins/embed/externalEmbedPlugin.js +1 -1
  73. package/lib/plugins/embed/fileEmbedPlugin.d.ts +1 -1
  74. package/lib/plugins/embed/fileEmbedPlugin.js +3 -3
  75. package/lib/plugins/embed/footnoteEmbedPlugin.d.ts +1 -1
  76. package/lib/plugins/embed/footnoteEmbedPlugin.js +1 -1
  77. package/lib/plugins/embed/h5pEmbedPlugin.d.ts +1 -1
  78. package/lib/plugins/embed/h5pEmbedPlugin.js +1 -1
  79. package/lib/plugins/embed/iframeEmbedPlugin.d.ts +1 -1
  80. package/lib/plugins/embed/iframeEmbedPlugin.js +1 -1
  81. package/lib/plugins/embed/imageEmbedPlugin.d.ts +1 -1
  82. package/lib/plugins/embed/imageEmbedPlugin.js +2 -2
  83. package/lib/plugins/embed/index.d.ts +1 -1
  84. package/lib/plugins/embed/index.js +9 -9
  85. package/lib/plugins/embed/linkBlockEmbedPlugin.d.ts +1 -1
  86. package/lib/plugins/embed/linkBlockEmbedPlugin.js +1 -1
  87. package/lib/plugins/embed/relatedContentEmbedPlugin.d.ts +1 -1
  88. package/lib/plugins/embed/relatedContentEmbedPlugin.js +1 -1
  89. package/lib/plugins/h3Plugin.d.ts +1 -1
  90. package/lib/plugins/index.d.ts +1 -1
  91. package/lib/plugins/mathPlugin.d.ts +1 -1
  92. package/lib/plugins/mathPlugin.js +1 -1
  93. package/lib/plugins/navPlugin.d.ts +1 -1
  94. package/lib/plugins/navPlugin.js +1 -1
  95. package/lib/plugins/oembed/anchorPlugin.d.ts +1 -1
  96. package/lib/plugins/olPlugin.d.ts +1 -1
  97. package/lib/plugins/olPlugin.js +3 -3
  98. package/lib/plugins/paragraphPlugin.d.ts +1 -1
  99. package/lib/plugins/paragraphPlugin.js +2 -2
  100. package/lib/plugins/spanPlugin.d.ts +1 -1
  101. package/lib/plugins/spanPlugin.js +2 -2
  102. package/lib/plugins/tablePlugin.d.ts +1 -1
  103. package/lib/plugins/types.d.ts +2 -2
  104. package/lib/plugins/ulPlugin.d.ts +1 -1
  105. package/lib/plugins/ulPlugin.js +1 -1
  106. package/lib/transform.d.ts +1 -1
  107. package/lib/transform.js +5 -5
  108. package/package.json +5 -5
  109. package/src/extractEmbedMeta.ts +9 -9
  110. package/src/index.ts +3 -3
  111. package/src/plugins/anchorPlugin.tsx +4 -4
  112. package/src/plugins/asidePlugin.tsx +5 -5
  113. package/src/plugins/copyParagraphPlugin.tsx +5 -5
  114. package/src/plugins/ddPlugin.tsx +3 -3
  115. package/src/plugins/divPlugin.tsx +15 -15
  116. package/src/plugins/dtPlugin.tsx +3 -3
  117. package/src/plugins/embed/KeyFigureEmbedPlugin.tsx +7 -7
  118. package/src/plugins/embed/audioEmbedPlugin.tsx +5 -5
  119. package/src/plugins/embed/blogPostEmbedPlugin.tsx +7 -7
  120. package/src/plugins/embed/brightcoveEmbedPlugin.tsx +5 -5
  121. package/src/plugins/embed/campaignBlockPlugin.tsx +11 -8
  122. package/src/plugins/embed/codeEmbedPlugin.tsx +5 -5
  123. package/src/plugins/embed/conceptEmbedPlugin.tsx +5 -5
  124. package/src/plugins/embed/conceptListEmbedPlugin.tsx +5 -5
  125. package/src/plugins/embed/contactBlockEmbedPlugin.tsx +6 -6
  126. package/src/plugins/embed/contentLinkEmbedPlugin.tsx +5 -5
  127. package/src/plugins/embed/externalEmbedPlugin.tsx +5 -5
  128. package/src/plugins/embed/fileEmbedPlugin.tsx +7 -7
  129. package/src/plugins/embed/footnoteEmbedPlugin.tsx +5 -5
  130. package/src/plugins/embed/h5pEmbedPlugin.tsx +5 -5
  131. package/src/plugins/embed/iframeEmbedPlugin.tsx +5 -5
  132. package/src/plugins/embed/imageEmbedPlugin.tsx +6 -6
  133. package/src/plugins/embed/index.ts +28 -28
  134. package/src/plugins/embed/linkBlockEmbedPlugin.tsx +5 -5
  135. package/src/plugins/embed/relatedContentEmbedPlugin.tsx +5 -5
  136. package/src/plugins/h3Plugin.tsx +2 -2
  137. package/src/plugins/index.ts +16 -16
  138. package/src/plugins/mathPlugin.tsx +3 -3
  139. package/src/plugins/navPlugin.tsx +4 -4
  140. package/src/plugins/oembed/anchorPlugin.tsx +4 -4
  141. package/src/plugins/olPlugin.tsx +6 -6
  142. package/src/plugins/paragraphPlugin.tsx +4 -4
  143. package/src/plugins/spanPlugin.tsx +4 -4
  144. package/src/plugins/tablePlugin.tsx +3 -3
  145. package/src/plugins/types.ts +2 -2
  146. package/src/plugins/ulPlugin.tsx +5 -5
  147. package/src/transform.tsx +11 -11
@@ -6,22 +6,22 @@
6
6
  *
7
7
  */
8
8
 
9
- import { anchorPlugin } from './anchorPlugin';
10
- import { asidePlugin } from './asidePlugin';
11
- import { copyParagraphPlugin } from './copyParagraphPlugin';
12
- import { ddPlugin } from './ddPlugin';
13
- import { divPlugin } from './divPlugin';
14
- import { dtPlugin } from './dtPlugin';
15
- import { h3Plugin } from './h3Plugin';
16
- import { mathPlugin } from './mathPlugin';
17
- import { navPlugin } from './navPlugin';
18
- import { anchorPlugin as oembedAnchorPlugin } from './oembed/anchorPlugin';
19
- import { olPlugin } from './olPlugin';
20
- import { paragraphPlugin } from './paragraphPlugin';
21
- import { spanPlugin } from './spanPlugin';
22
- import { tablePlugin } from './tablePlugin';
23
- import { PluginType } from './types';
24
- import { ulPlugin } from './ulPlugin';
9
+ import { anchorPlugin } from "./anchorPlugin";
10
+ import { asidePlugin } from "./asidePlugin";
11
+ import { copyParagraphPlugin } from "./copyParagraphPlugin";
12
+ import { ddPlugin } from "./ddPlugin";
13
+ import { divPlugin } from "./divPlugin";
14
+ import { dtPlugin } from "./dtPlugin";
15
+ import { h3Plugin } from "./h3Plugin";
16
+ import { mathPlugin } from "./mathPlugin";
17
+ import { navPlugin } from "./navPlugin";
18
+ import { anchorPlugin as oembedAnchorPlugin } from "./oembed/anchorPlugin";
19
+ import { olPlugin } from "./olPlugin";
20
+ import { paragraphPlugin } from "./paragraphPlugin";
21
+ import { spanPlugin } from "./spanPlugin";
22
+ import { tablePlugin } from "./tablePlugin";
23
+ import { PluginType } from "./types";
24
+ import { ulPlugin } from "./ulPlugin";
25
25
 
26
26
  export const basePlugins: Record<string, PluginType> = {
27
27
  h2: copyParagraphPlugin,
@@ -6,10 +6,10 @@
6
6
  *
7
7
  */
8
8
 
9
- import { attributesToProps } from 'html-react-parser';
10
- import { PluginType } from './types';
9
+ import { attributesToProps } from "html-react-parser";
10
+ import { PluginType } from "./types";
11
11
  export const mathPlugin: PluginType = (node) => {
12
- const { 'data-math': mathContent, ...props } = attributesToProps(node.attribs);
12
+ const { "data-math": mathContent, ...props } = attributesToProps(node.attribs);
13
13
  // @ts-ignore
14
14
  return <math {...props} dangerouslySetInnerHTML={{ __html: mathContent }} />;
15
15
  };
@@ -6,12 +6,12 @@
6
6
  *
7
7
  */
8
8
 
9
- import { attributesToProps, domToReact } from 'html-react-parser';
10
- import { LinkBlockSection } from '@ndla/ui';
11
- import { PluginType } from './types';
9
+ import { attributesToProps, domToReact } from "html-react-parser";
10
+ import { LinkBlockSection } from "@ndla/ui";
11
+ import { PluginType } from "./types";
12
12
 
13
13
  export const navPlugin: PluginType = (node, opts) => {
14
- if (node.attribs['data-type'] === 'link-block-list') {
14
+ if (node.attribs["data-type"] === "link-block-list") {
15
15
  const props = attributesToProps(node.attribs);
16
16
  return <LinkBlockSection {...props}>{domToReact(node.children, opts)}</LinkBlockSection>;
17
17
  }
@@ -6,10 +6,10 @@
6
6
  *
7
7
  */
8
8
 
9
- import { attributesToProps, domToReact } from 'html-react-parser';
10
- import SafeLink from '@ndla/safelink';
11
- import { getPossiblyRelativeUrl } from '@ndla/ui';
12
- import { PluginType } from '../types';
9
+ import { attributesToProps, domToReact } from "html-react-parser";
10
+ import SafeLink from "@ndla/safelink";
11
+ import { getPossiblyRelativeUrl } from "@ndla/ui";
12
+ import { PluginType } from "../types";
13
13
 
14
14
  export const anchorPlugin: PluginType = (node, options, { path }) => {
15
15
  const props = attributesToProps(node.attribs);
@@ -6,15 +6,15 @@
6
6
  *
7
7
  */
8
8
 
9
- import { attributesToProps, domToReact } from 'html-react-parser';
10
- import { OrderedList } from '@ndla/ui';
11
- import { PluginType } from './types';
9
+ import { attributesToProps, domToReact } from "html-react-parser";
10
+ import { OrderedList } from "@ndla/ui";
11
+ import { PluginType } from "./types";
12
12
  export const olPlugin: PluginType = (node, converterOpts, opts) => {
13
13
  const props = attributesToProps(node.attribs);
14
- const letterClass = node.attribs['data-type'] === 'letters' ? 'ol-list--roman' : false;
15
- const num = node.attribs['start'];
14
+ const letterClass = node.attribs["data-type"] === "letters" ? "ol-list--roman" : false;
15
+ const num = node.attribs["start"];
16
16
  const numClass = num ? `ol-reset-${num}` : false;
17
- const classes = [node.attribs.class ?? false, letterClass, numClass].filter((c): c is string => !!c).join(' ');
17
+ const classes = [node.attribs.class ?? false, letterClass, numClass].filter((c): c is string => !!c).join(" ");
18
18
 
19
19
  return (
20
20
  <OrderedList {...props} className={classes.length ? classes : undefined} lang={opts.articleLanguage}>
@@ -6,12 +6,12 @@
6
6
  *
7
7
  */
8
8
 
9
- import { attributesToProps, domToReact } from 'html-react-parser';
10
- import { PluginType } from './types';
9
+ import { attributesToProps, domToReact } from "html-react-parser";
10
+ import { PluginType } from "./types";
11
11
  export const paragraphPlugin: PluginType = (node, converterOpts, opts) => {
12
12
  const props = attributesToProps(node.attribs);
13
- if (node.attribs['data-align'] === 'center') {
14
- const classes = [node.attribs.class ?? '', 'u-text-center'].filter((c) => !!c).join(' ');
13
+ if (node.attribs["data-align"] === "center") {
14
+ const classes = [node.attribs.class ?? "", "u-text-center"].filter((c) => !!c).join(" ");
15
15
  return (
16
16
  <p {...props} lang={opts.articleLanguage} data-align={undefined} className={classes}>
17
17
  {domToReact(node.children, converterOpts)}
@@ -6,13 +6,13 @@
6
6
  *
7
7
  */
8
8
 
9
- import { attributesToProps, domToReact } from 'html-react-parser';
10
- import { PluginType } from './types';
9
+ import { attributesToProps, domToReact } from "html-react-parser";
10
+ import { PluginType } from "./types";
11
11
  export const spanPlugin: PluginType = (node, opts) => {
12
- if (node.attribs['data-size'] === 'large') {
12
+ if (node.attribs["data-size"] === "large") {
13
13
  const props = attributesToProps(node.attribs);
14
14
  return (
15
- <span {...props} data-size={undefined} className={`${node.attribs.class ?? ''} u-large-body-text`}>
15
+ <span {...props} data-size={undefined} className={`${node.attribs.class ?? ""} u-large-body-text`}>
16
16
  {domToReact(node.children, opts)}
17
17
  </span>
18
18
  );
@@ -6,9 +6,9 @@
6
6
  *
7
7
  */
8
8
 
9
- import { attributesToProps, domToReact } from 'html-react-parser';
10
- import { Table } from '@ndla/ui';
11
- import { PluginType } from './types';
9
+ import { attributesToProps, domToReact } from "html-react-parser";
10
+ import { Table } from "@ndla/ui";
11
+ import { PluginType } from "./types";
12
12
  export const tablePlugin: PluginType = (node, converterOpts, opts) => {
13
13
  const props = attributesToProps(node.attribs);
14
14
  return (
@@ -6,8 +6,8 @@
6
6
  *
7
7
  */
8
8
 
9
- import { Element, HTMLReactParserOptions } from 'html-react-parser';
10
- import { HeartButtonType, RenderContext, CanonicalUrlFuncs } from '@ndla/ui';
9
+ import { Element, HTMLReactParserOptions } from "html-react-parser";
10
+ import { HeartButtonType, RenderContext, CanonicalUrlFuncs } from "@ndla/ui";
11
11
 
12
12
  export interface DynamicComponents {
13
13
  heartButton?: HeartButtonType;
@@ -6,14 +6,14 @@
6
6
  *
7
7
  */
8
8
 
9
- import { attributesToProps, domToReact } from 'html-react-parser';
10
- import { UnOrderedList } from '@ndla/ui';
11
- import { PluginType } from './types';
9
+ import { attributesToProps, domToReact } from "html-react-parser";
10
+ import { UnOrderedList } from "@ndla/ui";
11
+ import { PluginType } from "./types";
12
12
  export const ulPlugin: PluginType = (node, converterOpts, opts) => {
13
13
  const props = attributesToProps(node.attribs);
14
- const classes = [node.attribs.class ?? '', node.attribs['data-type'] === 'two-column' ? 'o-list--two-columns' : '']
14
+ const classes = [node.attribs.class ?? "", node.attribs["data-type"] === "two-column" ? "o-list--two-columns" : ""]
15
15
  .filter((c) => !!c)
16
- .join(' ');
16
+ .join(" ");
17
17
  return (
18
18
  <UnOrderedList {...props} className={classes} lang={opts.articleLanguage}>
19
19
  {domToReact(node.children, converterOpts)}
package/src/transform.tsx CHANGED
@@ -6,28 +6,28 @@
6
6
  *
7
7
  */
8
8
 
9
- import parse, { HTMLReactParserOptions } from 'html-react-parser';
10
- import { MetaData } from '@ndla/types-embed';
11
- import { UnknownEmbed } from '@ndla/ui';
12
- import { basePlugins, oembedPlugins } from './plugins';
13
- import { embedPlugins } from './plugins/embed';
14
- import { TransformOptions } from './plugins/types';
9
+ import parse, { HTMLReactParserOptions } from "html-react-parser";
10
+ import { MetaData } from "@ndla/types-embed";
11
+ import { UnknownEmbed } from "@ndla/ui";
12
+ import { basePlugins, oembedPlugins } from "./plugins";
13
+ import { embedPlugins } from "./plugins/embed";
14
+ import { TransformOptions } from "./plugins/types";
15
15
 
16
16
  const transform = (content: string, opts: TransformOptions) => {
17
17
  const plugins = opts?.isOembed ? oembedPlugins : basePlugins;
18
18
  const options: HTMLReactParserOptions = {
19
19
  replace: (node) => {
20
- if (!('attribs' in node)) {
20
+ if (!("attribs" in node)) {
21
21
  return;
22
22
  }
23
23
  if (plugins[node.name]) {
24
24
  return plugins[node.name](node, options, opts);
25
25
  }
26
- if (node.name === 'ndlaembed') {
27
- if (embedPlugins[node.attribs['data-resource']]) {
28
- return embedPlugins[node.attribs['data-resource']](node, options, opts);
26
+ if (node.name === "ndlaembed") {
27
+ if (embedPlugins[node.attribs["data-resource"]]) {
28
+ return embedPlugins[node.attribs["data-resource"]](node, options, opts);
29
29
  } else {
30
- const embed = JSON.parse(node.attribs['data-json']) as MetaData<any, any>;
30
+ const embed = JSON.parse(node.attribs["data-json"]) as MetaData<any, any>;
31
31
  return <UnknownEmbed embed={embed} />;
32
32
  }
33
33
  }